Email templates in Run a Call use {{variable}} interpolation to personalize the copy. The variable set depends on the template trigger — different events expose different variables.
How interpolation works
Anywhere you see double-curly-braces in a template, the platform substitutes the literal value at send time:
Hi {{customer_first_name}},
{{business_name}} confirmed your appointment for tomorrow.
Renders as:
Hi Sarah,
Acme Heating confirmed your appointment for tomorrow.
If a variable doesn't resolve (e.g. customer has no first name), the substitution falls back to a safe default or skips the section.
Common variables by context
Customer-facing communications
| Variable | What it resolves to |
|---|---|
{{customer_first_name}} | First name |
{{customer_last_name}} | Last name |
{{org_name}} | Your business name |
{{business_name}} | Same; alias used in some templates |
{{app_url}} | Base URL for any links back into the platform |
AI Receptionist call context
These are available in voice-related templates:
| Variable | What it resolves to |
|---|---|
{{agent_name}} | The AI's name (defaults to org name + "Receptionist") |
{{business_name}} | Your business name |
{{service_areas}} | Comma-separated list of service areas |
{{current_time}} | Current time in the org's timezone |
{{business_hours_today}} | Today's open/close hours |
{{caller_id}} | Incoming caller's phone number |
What's NOT editable
[!IMPORTANT]
- The templates themselves — they're deployed by the platform team, not editable from a settings page.
- Custom variables you define — you can't introduce new
{{my_variable}}definitions. - Conditional logic in templates ("if VIP customer, say X; else Y") — not supported.
What is editable
The Business FAQ in the AI Receptionist settings is the closest thing to user-editable template content — see Adding business facts to the AI prompt. Your FAQ entries are inserted into the AI's instructions wholesale and become part of the AI's knowledge base for handling calls.
For SMS templates (status changes, reminders), wording is hard-coded today; user-editable templates are on the roadmap.
When a template misfires
If you see a template rendering with an unsubstituted {{variable}} literal in the customer's message:
- Confirm the variable is one of the supported ones for that template type.
- Check that the underlying field is populated (e.g.
customer_first_namerequires the customer record to have a first name). - If both are correct and the variable is still raw, contact support — it's a bug.