SMS templates¶
SMS templates define reusable text messages that the agent can send during a conversation, such as confirmations, links, or verification codes.
Templates support dynamic content through variables stored in conversation state.
Location¶
SMS templates are defined in:
Templates are listed under the sms_templates key.
What an SMS template contains¶
Each template can include the following fields:
| Field | Description |
|---|---|
name |
Identifier for the template. Referenced in prompts as {{twilio_sms:template_name}}. |
text |
Message body. Supports {{vrbl:variable_name}} placeholders from conv.state. |
env_phone_numbers |
Optional sender phone numbers for different environments. |
Environment-specific sender numbers¶
If needed, you can define different sender numbers for different environments:
| Environment | Description |
|---|---|
sandbox |
Sender number for sandbox use |
pre_release |
Sender number for pre-release use |
live |
Sender number for production use |
Example¶
sms_templates:
- name: booking_confirmation
text: "Hi {{vrbl:customer_name}}, your booking for {{vrbl:booking_date}} is confirmed. Reference: {{vrbl:booking_ref}}"
env_phone_numbers:
sandbox: "+15551234567"
live: "+15559876543"
- name: verification_code
text: "Your verification code is {{vrbl:verification_code}}. It expires in 10 minutes."
How SMS templates are used¶
-
In rules, topics, and flows
Use
{{twilio_sms:template_name}}to tell the agent which SMS should be sent. -
In code
Call a function that triggers the SMS through
convor the platform API. -
With variables
Use
{{vrbl:...}}placeholders to insert values from conversation state.
In prompts and instructions¶
SMS templates can be referenced in rules, topics, and related instructions using:
This lets the model refer to the correct SMS template by name, rather than embedding the message body directly into prompt text.
Using variables¶
Template text can include placeholders drawn from conv.state, for example:
Before the SMS is sent, the corresponding state variables should already be set in code.
For example:
conv.state.customer_name = "Alice"
conv.state.booking_date = "12 March"
conv.state.booking_ref = "ABC123"
Best practices¶
- set required state variables before the SMS is triggered
- use separate templates for different purposes such as confirmation, verification, and follow-up
- keep templates short and clear
- configure
env_phone_numberswhen sender numbers differ between environments - prefer template references over hard-coded SMS text in prompts
Treat templates as reusable resources
SMS templates are easier to manage when each template has one clear purpose and a stable name.
Related pages¶
-
Variables
Learn how values are stored in
conv.stateand referenced with{{vrbl:...}}. Open variables -
Functions
See how deterministic code can set variables and trigger SMS sending. Open functions