conduyt_send_sms
Send an SMS message to a contact with a phone number who has not opted out, supporting messages up to 1,600 characters.
Instructions
Send an SMS message to a contact. Contact must have a phone number and not have opted out. Max 1600 characters.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Message text (max 1600 characters). Required unless a WhatsApp template is sent (transport whatsapp + whatsappContentSid): then the template Twilio renders is the text, and a media-only template has none. | |
| contactId | Yes | Contact UUID — must have a phone number on file | |
| transport | No | 'project_blue' sends from the acting user's own Project Blue iPhone line (iMessage when the lead is on Apple, SMS otherwise; the user must have a line assigned in Settings → Project Blue). 'whatsapp' sends from the account's WhatsApp sender (Settings → WhatsApp): free-form text only within 24 hours of the contact's last WhatsApp message (422 whatsapp_window_closed otherwise), or an approved template via whatsappContentSid. 'fromk' sends through the account's FromK.ai workspace (Settings → FromK.ai) from fromkPhoneNumberId, else the workspace's single send-ready line (422 fromk_line_required with several). Default: Twilio. | |
| fromNumber | No | Sender phone number (defaults to account's primary number) | |
| idempotencyKey | No | Operation key for at-most-once sends: reuse the SAME key when retrying a send whose outcome you did not see; a settled key answers with the original message and never sends twice. | |
| fromkPhoneNumberId | No | transport fromk: the FromK.ai line to send from (a send-ready phoneNumberId from conduyt_fromk_status / conduyt_sms_transports fromk.lines); omit when the workspace has one send-ready line | |
| whatsappContentSid | No | transport whatsapp: an APPROVED WhatsApp template (Twilio Content SID from conduyt_whatsapp_templates); Conduyt reads the template from Twilio at send time, records its text with the variables in place, and refuses an unlisted (whatsapp_template_invalid) or unapproved (whatsapp_template_not_approved) one. body is still required but the template's text is what is sent and recorded. | |
| whatsappContentVariables | No | transport whatsapp with a template: placeholder number → value, e.g. { "1": "Alex" } |