Skip to main content
Channels let your agent hold conversations over WhatsApp and SMS. You initiate the thread with an opening message; from then on, the user’s replies flow to the agent and the agent’s replies flow back on the same channel — no polling or webhooks needed on your side.

Start a channel thread

Send the opening message on a channel and bind the recipient’s phone number to a conversation thread.
cURL

POST /messaging/v1/channels/{channel}/threads

channel
string
required
whatsapp or sms.

Request body

phone_number
string
required
Recipient phone number in E.164 format (e.g. +14155551234).
thread_id
string
Continue an existing thread instead of starting a new one. Omitted, a new thread is created and its id returned.
user_id
string
Your identifier for the user on a new thread. Defaults to the phone number’s digits.
text
string
Opening message body for SMS. WhatsApp ignores it — the opener uses your approved WhatsApp template.
agent_display_name
string
WhatsApp only: the agent name substituted into the template’s first variable.

Response

thread_id
string
The conversation thread the opener landed on — new or continued.
message_sid
string
The provider’s message id for the sent opener, for delivery tracking.

How the conversation continues

Once the thread exists:
  1. The recipient replies on WhatsApp/SMS.
  2. The reply is routed to your agent on the bound thread.
  3. The agent’s answer is delivered back on the same channel.
The thread is a regular conversation thread — read its transcript with GET /messaging/v1/threads/{threadId}/messages and inspect its reasoning with traces.
WhatsApp requires the opening message of a business-initiated conversation to use a pre-approved template; text applies to SMS only. Channel configuration (phone numbers, templates) is set up with your AUI contact.