Skip to main content
SMS Templates let you author and reuse SMS messages instead of having the agent write the whole body on every call. You define a template once — with placeholders that resolve to live call context — and point an agent’s Send SMS function at it. At send time the template is rendered server-side with real values and delivered. Templates are managed in the SMS Templates area of the Dashboard (Customers → SMS Templates) and the Connect app. They pair with the Send SMS function.

Creating a template

  1. Open SMS Templates and click + Create Template.
  2. Choose a Message Type — Standard SMS or MMS (this can’t be changed after creation).
  3. Give it a Name (unique within the organization) and click Create to open the editor.

Authoring the message

The editor gives you a plain-text body with live feedback:
  • Character & segment counter — shows GSM-7 (160 chars/segment) vs Unicode (70 chars/segment) and the current segment count.
  • Placeholders — insert tokens from the Parameters panel; recognized tokens are highlighted in the body.
  • Segment estimate — a worst-case estimate accounting for placeholder expansion.

Placeholders

Tokens are written as {{token_name}} and resolved at send time. Categories:
Not every listed token is wired to a data source. In the current release {{caller_number}}, {{call_id}}, {{call_direction}}, {{agent_name}}, the date/time tokens, {{caller_name}} (when the agent learns it on the call), the Business / Account tokens (see below), and your own Agent Collected custom parameters resolve to a value. Three are not available and resolve to an empty string unless you give them a fallback: {{called_number}} — there is no reliable per-call source for it, since the SIP attributes carry only caller-side numbers — and {{call_duration}} and {{call_start_time}}, which are not yet read from the live call at send time. The editor’s Parameters panel labels each token so you can see which will fill.
The Business / Account tokens resolve from your organization’s Template Variables, set in the Dashboard under Customers → Manage → Template Variables. They are shared with email templates, so filling them in once covers both. A field left blank leaves its token empty (or renders its fallback, if one is given), so {{business_name|Acme Dental}} is still worth writing for templates that may be used before the values are set.SMS has no equivalent of email’s {{business_email}}: that token is the reply-to address for outbound mail, and a text message replies to the sending number instead.The editor’s preview shows illustrative sample values (Your Business, +15550001111) rather than your saved ones — sample data is there to show length and layout, not to predict the delivered message. A real send always uses your Template Variables.
Use a fallback with {{token|fallback text}} — e.g. Hi {{caller_name|there}}, resolves to the caller’s name, or “there” when it’s unknown. Unrecognized tokens (and tokens with no data source) resolve to an empty string.
Don’t use templates to send payment or checkout links. Stripe checkout links are generated per call — a unique, per-amount Checkout Session created on the merchant’s connected account — and are sent automatically by the agent’s Card Payments function, never through an SMS template. A per-call checkout link can’t be stored in a reusable template, and the agent is explicitly instructed never to text a payment link by any other tool. Templates are for reusable message content (confirmations, reminders, directions); let the payment function handle payment links.

MMS attachments

MMS templates support a media attachment (JPEG, PNG, GIF, MP4, PDF, or vCard, max 5 MB). Media is stored privately and delivered via a short-lived signed URL at send time — the raw file URL is never exposed. You can also use a placeholder for a dynamic media URL the agent supplies at send time.

Compliance

Each template can carry compliance settings, enforced at send time:
  • First Contact — flags templates that may be the first SMS to a recipient; on Save & Activate the body must contain opt-out language (e.g. “Reply STOP to opt out”).
  • Allowed Regions — restrict sending to specific countries (ISO 3166-1 alpha-2, e.g. US, CA); a send to a country outside the list is blocked.
  • Quiet Hours — an allowed send window (start/end, timezone) that is enforced only on the days you select. On a selected day, a send outside the window is blocked and returns a suggested retry time. On any day you do not select there is no restriction at all, and sends go out at any hour. Selecting Mon–Fri therefore means “apply this window on weekdays”, not “only send on weekdays” — leave every day selected if you want the window to apply all week. The window may wrap midnight (e.g. 20:00–08:00).

Preview & test

Use Sample Data to preview the resolved message and segment count, then Send Test to deliver a real SMS via a Twilio-enabled agent in the template’s own organization.
Send Test does not apply your compliance settings. Allowed regions and quiet hours are enforced when the agent sends during a call, not on a test send — so a test still goes out to a blocked region, or outside your quiet-hours window. This is deliberate, so you can verify wording and media at any time of day, but it means a successful test does not prove the compliance configuration is right.Test sends are also rate-limited to roughly one every ten seconds per user, and each one is a real, billable message.

Using a template in an agent

In the agent’s Send SMS function settings, pick a template from the Template dropdown (only Active templates are selectable) and map each custom placeholder to the agent context key that fills it. At call time the agent renders that template and sends it.

Sender number (From Number)

A template can optionally set a From Number to override the From Number on the agent’s Send SMS function — for example, sending appointment reminders from a dedicated line. It accepts a phone number, short code, or alphanumeric sender ID. A phone number is only valid for one Twilio account. Twilio credentials belong to the organization — see Twilio — so a template’s From Number must be an SMS-capable number on the organization’s Twilio account. (Agents connected before the move may still carry their own credentials, which continue to work.) Because a template can be shared across agents, its From Number is verified when you assign the template to an agent, not when you author it. If the number is not on that account, the Send SMS settings show a warning, and a send would otherwise be rejected by the carrier with error 21606. Short codes and alphanumeric sender IDs are not phone numbers and are not account-checked. Leave the field empty to use the agent’s own From Number, set on its Send SMS function.

Status & lifecycle

  • Draft — work in progress; not selectable by agents.
  • Active — available to agents.
  • Archived — hidden from agent selection but kept for reference; can be unarchived or deleted (delete is allowed only on archived templates that no agent references).
Archiving a template, or moving it back to Draft, breaks every agent already bound to it. Only selection is hidden — existing bindings are left in place, and from the next call those agents’ Send SMS fails with template_not_found instead of sending.The archive confirmation says the template “will no longer be available to agents”, which reads as though only future selection is affected; it is not a warning about the agents already using it, and the API gives no warning at all. Note also that deleting a template is refused while any agent references it, but archiving is not — so an in-use template can be archived without resistance. Re-point the agents that use it first.

History

Every change is recorded — who changed what, when, and where it was saved from (Dashboard, Connect, or the API) — with a field-level diff and one-click Restore This Version.

Managing templates via the API

Templates can also be managed programmatically. See the SMS Templates API reference for list, create, get, update, and delete endpoints.

Availability

SMS Template Manager can be enabled or disabled per organization, reseller, or partner through Feature Administration. When disabled for an organization, its SMS Templates page is hidden, new or edited templates can’t be saved, reactivating an archived template is blocked, and no new template can be bound to an agent’s Send SMS tool — but agents already sending with a bound template are unaffected, and an existing template can still be archived or deleted.