> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dialtu.com/llms.txt
> Use this file to discover all available pages before exploring further.

# The Send SMS tool

> Let the agent text the customer or a third party mid-conversation

The **Send SMS Tool** lets the agent send a text in the middle of a conversation — to the
customer it's talking to, or to someone else entirely: a teammate, a driver, a delivery
contact.

It always leaves from **the agent's own number**. There's no "Sent from" field on SMS.

In the builder, the centre pane is **SMS Message** — *"Who receives the text and how its body
is produced"*.

<Frame caption="A fixed recipient with a prompt-written body — the classic notify-a-teammate setup">
  <img src="https://mintcdn.com/dialtu-0be120d3/GIBR8K1e58Uj8RP_/images/en/sms-agents/send-sms-tool-recipient.png?fit=max&auto=format&n=GIBR8K1e58Uj8RP_&q=85&s=06740096bcbb80ebd6e8507572ddce86" alt="Send SMS tool builder for notify_ops_team: Recipient set to Fixed number with a target phone number, Message set to Prompt with an instruction to summarise the delivery problem, and the Summary panel listing the recipient and message mode" width="2000" height="1070" data-path="images/en/sms-agents/send-sms-tool-recipient.png" />
</Frame>

## Recipient

| Option           | What it means                                                                                    |
| ---------------- | ------------------------------------------------------------------------------------------------ |
| **Fixed number** | A number you type, in strict international format. The model never sees it and can't override it |
| **AI decides**   | The model passes the number when it runs the tool                                                |

With **AI decides**, say in the trigger prompt where that number comes from — for example
*"ask the customer for the delivery contact"*. National numbers are parsed in the country of
the agent's own number.

## Message

| Mode            | What goes out                                                                                                                                                                               |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Static text** | Exactly what you wrote, every time the tool runs                                                                                                                                            |
| **Prompt**      | The AI composes the message at send time from the conversation, its context and what it remembers about the customer — up to 300 tokens                                                     |
| **Template**    | Fixed wording with `{{placeholder}}`s. Each placeholder becomes a required input the AI fills; describe them in the variables strip. Client variables such as `{{client_name}}` resolve too |

<Frame caption="AI decides who receives it, and a template body with two placeholders">
  <img src="https://mintcdn.com/dialtu-0be120d3/GIBR8K1e58Uj8RP_/images/en/sms-agents/send-sms-tool-template.png?fit=max&auto=format&n=GIBR8K1e58Uj8RP_&q=85&s=b451b7bfb99bcb21d42eeafa6c7b37e1" alt="Send SMS tool pane for forward_order_details: Recipient set to AI decides with its hint banner, Message set to Template reading Order update from client_name colon order_details, the variables strip listing phone_number, client_name and order_details, and the Summary panel showing Recipient AI-provided and Placeholders 2" width="1660" height="974" data-path="images/en/sms-agents/send-sms-tool-template.png" />
</Frame>

<Tip>
  **Fixed number** plus **Prompt** is the classic "notify a teammate" setup: the AI summarises
  the request and what was agreed, and a person picks it up.
</Tip>

## Where the message ends up

| Recipient                       | What happens                                                                                                                                                                                                                                                                                                                   |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **The conversation's customer** | Appears in the thread, is part of the AI's history, and is billed like a reply                                                                                                                                                                                                                                                 |
| **Anyone else**                 | Leaves the agent's number. The thread shows a system note — `SMS sent to <number>: <body>` or `SMS to <number> was NOT sent (<error>): <body>`. With a **Fixed number** the note reads *"SMS sent to the configured number: …"* instead — the number is never shown to the model. Not billed, and not part of the AI's history |

## Limits and refusals

* At most **3 real sends per turn**.
* The body is at most **1600 characters**.
* The tool refuses **invalid numbers**, **premium numbers**, **any Dialtu platform number** and
  **opted-out recipients**. See [Compliance](/en/sms-agents/compliance).

## In the test panel

The send is **simulated**: the tool bubble reads *"Test chat: no real SMS was sent."* Nothing
leaves the platform.

<Frame caption="Testing the draft: the Send SMS tool runs as a simulated bubble">
  <img src="https://mintcdn.com/dialtu-0be120d3/GIBR8K1e58Uj8RP_/images/en/sms-agents/test-panel.png?fit=max&auto=format&n=GIBR8K1e58Uj8RP_&q=85&s=344bdcf244a35108e3440e441c6def8a" alt="Test tab reading Testing against your current draft, the two amber notices about real tools and credits, the Test as contact row, a customer message, a simulated Send SMS tool bubble and the agent's reply" width="360" height="932" data-path="images/en/sms-agents/test-panel.png" />
</Frame>

## What doesn't exist

* **Attachments** — text only.
* **Scheduling** a send from the tool.
* Running on another engine — only **Lumina** agents execute this tool.

## Next step

<Card title="Atlas, testing and going live" icon="flask" href="/en/sms-agents/test-and-go-live">
  Try it before anyone else does.
</Card>
