Message Templates
Message Templates are pre-approved SMS message bodies with variable placeholders that get resolved from CRM data at send time. Templates give administrators control over what agents can send, support compliance requirements (opt-in/opt-out), and ensure consistent messaging.
When a messaging channel has Require Templates enabled, agents can only send messages using approved templates - freeform messaging is not allowed on that channel.
Template Grid
The grid displays all templates for the current tenant with columns for name, channel type, category, status, and variable count.
Create/Edit Template
Basic Fields
| Field | Description |
|---|---|
| Name | Unique template name within the tenant (required) |
| Channel Type | The messaging protocol: currently SMS |
| Category | Organizational category: Marketing, Support, Billing, Reminders, Alerts, Transactional, Onboarding, Notifications, Surveys, or General |
| Status | Active or Inactive. Only active templates are available to agents |
Message Body
The Body field contains the message text with {{source.field}} placeholders for dynamic content. You can add a default value after a pipe character: {{source.field|default}}. If the field is empty at send time, the default is used instead. For example:
Hi {{contact.first_name|Customer}}, thank you for contacting {{company.name}}.Your appointment is confirmed for {{system.date}}. Call us at {{company.phone}}.Reply STOP to unsubscribe.Insert Variable
To add a variable placeholder to the message body, use the Source dropdown and Field list below it:
- Select a Source type to filter the available fields
- Click a field in the list to insert it as
{{source.field}}into the body text
Available Sources
Contact - CRM contact fields:
first_name, last_name, email, phone, mobile, title, department
Account - fields from the contact’s linked account:
name, industry, website, phone, email, address_line1, city, state, postal_code, country
Lead - lead-specific fields:
first_name, last_name, email, phone, company, source, status
Custom Fields - any tenant-defined Custom Fields (inserted as {{contact.cf.field_name}} or {{account.cf.field_name}})
Company - your organization’s identity (from tenant settings):
| Variable | Description | Example |
|---|---|---|
company.name | Company display name | Acme Corp |
company.phone | Company phone number | +15551234567 |
company.url | Company website URL | https://acme.com |
System - runtime context (date and time use your tenant’s configured timezone):
| Variable | Description | Example |
|---|---|---|
system.agent_name | The user sending the message | John Smith |
system.date | Current date in your timezone | Mar 7, 2026 |
system.time | Current time in your timezone (12-hour) | 2:45 PM |
Default Values
Add a pipe and fallback text after any variable to handle empty fields:
{{contact.first_name|Customer}}- uses “Customer” if first name is blank{{company.phone|our office}}- uses “our office” if no phone is set
If no default is specified and the field is empty, the placeholder resolves to an empty string.
Compliance Options
| Field | Description |
|---|---|
| Require Opt-In | When enabled, the system checks the contact’s opt-in status before sending. Messages are blocked if the contact has not opted in for the channel type |
| Include Opt-Out | When enabled, the opt-out text is automatically appended to the message |
| Opt-Out Text | The opt-out instruction appended to messages (default: “Reply STOP to unsubscribe.”). Only shown when Include Opt-Out is enabled |
Notes
Free-text field for internal notes about the template’s purpose, approval status, or usage guidelines.
Default Templates
New tenants are created with 8 starter templates covering common use cases:
- Appointment Reminder - appointment confirmation with callback number
- Welcome New Customer - onboarding greeting with company name
- Order Confirmation - order and delivery details
- Payment Reminder - invoice and payment link
- Support Follow-up - ticket status check-in
- Promotion Announcement - marketing offer with expiry
- Service Outage Notification - disruption alert
- Feedback Request - post-interaction rating
These templates demonstrate the variable and default value syntax and can be customized or removed as needed.
Related
- Messaging Channels - assign templates to channels and configure the Require Templates policy
- CRM Contacts - contact data used for variable resolution
- Custom Fields - define additional fields available as template variables