Skip to content
TriedDocs
Conversation flow

SMS node

Text the caller at a fixed step of a flow, with fixed or agent-written content and separate SMS sent and SMS failed edges.

The Send SMS node (type: "sms", node list label In-Call SMS) sends a text message to the caller when the flow reaches it, then follows SMS sent or SMS failed. Needs keys Real delivery needs a Telnyx key; without it the mock provider records the message.

Configure#

  1. Add an In-Call SMS node.
  2. Optional Instruction: what to say before sending ("I've just texted you the link.").
  3. SMS content: Fixed text (with {{variables}}) or Written by the agent (describe what the message should say).
  4. Connect SMS sent and SMS failed.

How it runs#

  1. The instruction, if any, is spoken.
  2. For Written by the agent, one LLM call writes the message from your description and the conversation.
  3. The message is sent from the agent's number on the call to the caller's number.
  4. The variable sms_status is set to sent or failed.
  5. The flow follows SMS sent or SMS failed. If that edge is not connected, the flow stays in the node.

The sent message appears in transcript_with_tool_calls as an sms item.

Fields#

Field Type Description
type "sms"
sms_content {type: "predefined", content}, {type: "inferred", prompt} or {type: "info_collection", intro?, fields} Message content
instruction {type, text} Optional
success_edge edge SMS sent
failure_edge edge SMS failed

The info_collection content type (a short form whose reply is extracted into variables) is available through the API on the node. The dashboard offers it on the Send SMS function.

{
  "id": "node_sms_link",
  "type": "sms",
  "name": "Text booking link",
  "instruction": { "type": "static_text", "text": "I'll text you a link to confirm." },
  "sms_content": { "type": "predefined", "content": "Hi {{first_name}}, confirm your booking here: https://example.com/b/{{booking_id}}" },
  "success_edge": { "id": "edge_sent", "destination_node_id": "node_wrap_up", "transition_condition": { "type": "prompt", "prompt": "Sent" } },
  "failure_edge": { "id": "edge_failed", "destination_node_id": "node_read_link", "transition_condition": { "type": "prompt", "prompt": "Failed" } }
}

Gotchas#

  • SMS needs a phone call with both an agent number and a caller number. Web calls take SMS failed.
  • Use the failure path to read the information out instead, or to confirm a different number.