Request Body
| Field | Type | Required | Description |
|---|---|---|---|
template | string | Yes | Template string to preview |
variables | object | No | Sample variable values |
Template Syntax
Templates use Jinja2-style syntax:| Syntax | Description |
|---|---|
{{variable}} | Insert variable value |
{{variable|filter}} | Apply filter to variable |
{{variable|default('fallback')}} | Use fallback if missing |
Available Filters
| Filter | Description | Example |
|---|---|---|
phone_format | Format phone number | (555) 123-4567 |
title_case | Capitalize words | John Smith |
upper | UPPERCASE | JOHN SMITH |
lower | lowercase | john smith |
default(value) | Fallback value | Use if variable missing |
System Variables
These are always available:| Variable | Default Value |
|---|---|
assistant_name | "your assistant" |
company | "our company" |
name | "there" |
Example Request
Request Body
Response
Response
Example with Missing Variables
Request with missingappointment_date:
Request Body
Response
Example Code
cURL
Python
JavaScript
Template Examples
Welcome message:Error Handling
If template has syntax errors:Response (Error)
Best Practices
- Always test templates before starting campaigns
- Use default filters for optional variables
- Keep templates concise - especially for SMS
- Use title_case for names to handle different input formats
- Test with empty variables to ensure fallbacks work