Templates
Templates are reusable message formats for sending structured messages across WhatsApp, SMS, Telegram, Instagram, and Email. They are especially important for WhatsApp, which requires template approval for business-initiated conversations.Why Templates?
Templates solve three key problems:- WhatsApp Compliance: Meta requires businesses to use approved templates when initiating conversations outside the 24-hour window
- Consistency: Ensure your transactional messages follow a consistent format
- Multi-Channel Delivery: Define one template with channel-specific bodies, then send it on any channel
Template Structure
A template consists of:Fields
Template Variables
Templates support dynamic content through variables. Two formats are supported:Numbered Variables (WhatsApp Native)
Use{{1}}, {{2}}, {{3}} for WhatsApp compatibility:
Named Variables
Use{{name}} for better readability:
{{1}}, {{2}}) at the moment it is submitted to
Meta. The template is therefore approved as positional at Meta, even though
Zavu keeps the readable named body for display.
Templates imported from an existing WhatsApp Business Account keep whatever
format Meta has on file — these can be named ({{customer_name}}) or
positional ({{1}}). Zavu detects the format per template and sends the
correct payload either way.
Whichever format a template uses, you always pass values the same way through
templateVariables — keyed by name ({ "customer_name": "John" }) or by
position ({ "1": "John" }). Zavu maps them to the format Meta expects. See
Sending templates for
details.Contact Variables
Use{{contact.*}} variables to auto-resolve values from the recipient’s contact metadata:
WhatsApp Categories
WhatsApp requires every template to be categorized:Authentication Templates
Authentication templates are used for sending verification codes (OTPs) to users. These templates have special requirements and behavior.Requirements
How Authentication Templates Work
Unlike regular templates, authentication templates have a pre-defined message format controlled by Meta. When you create an authentication template:- The message body is automatically generated by Meta
- The format is:
{{1}} is your verification code. - You cannot customize the body text
OTP Button Types
Authentication templates support two types of OTP buttons:ONE_TAP Button Requirements
For ONE_TAP buttons (Android autofill), you must provide:Optional Security Features
Authentication templates can include:Creating an Authentication Template
The
body field should be empty or omitted for authentication templates. Meta will automatically generate the message body.WhatsApp Approval Workflow
WhatsApp templates must be approved by Meta before use:Template Statuses
Creating Templates
Via API
Response
Rich Template Components
WhatsApp templates can include rich components:Header
Add a header with text, image, video, or document:Footer
Add a footer text:Buttons
Add interactive buttons:Sending Template Messages
To send a template message, specify the template ID and variables:Templates with Dynamic URL Buttons
If your template has a URL button with a{{1}} placeholder (e.g., https://example.com/orders/{{1}}), pass the value through templateButtonVariables. Keys are the button index (0-based) in the template’s buttons array.
Multi-Channel Templates
Templates support channel-specific bodies. When a message is sent, Zavu uses the channel-specific body if available, falling back to the defaultbody.
Sending Templates on Different Channels
WhatsApp templates require Meta approval before use. Templates on SMS, Telegram, and Instagram do not require external approval.
Managing Templates
List Templates
Get Template
Delete Template
Best Practices
Keep It Short
WhatsApp has character limits. Keep your templates concise and actionable.
Use UTILITY Category
For transactional messages, always use UTILITY to improve approval chances.
Test Before Launch
Create templates early in development. Approval can take 24-48 hours.
Handle Rejections
If rejected, review Meta’s guidelines, fix the issue, and resubmit.
Common Rejection Reasons
Next Steps
WhatsApp Templates
Deep dive into WhatsApp template features
Senders
Learn how templates work with senders
API Reference
Manage templates programmatically:- List templates — fetch all templates for your project
- Get a template — retrieve template details by ID
- Delete a template — remove an unapproved template
