Overview
Message templates are essential for:- Transactional Notifications - Order confirmations, shipping updates, appointment reminders
- Marketing Messages - Promotions, announcements, newsletters
- Authentication - One-time passwords, verification codes
All message templates must be submitted to Meta for review and approval before use. This typically takes 24-48 hours.
Template Categories
WhatsApp templates are categorized by their intended use:| Category | Description | Use Cases |
|---|---|---|
| UTILITY | Transactional updates | Order status, shipping, receipts |
| MARKETING | Promotional content | Sales, announcements, newsletters |
| AUTHENTICATION | Security codes | OTPs, verification, password resets |
Template Components
Templates consist of multiple components:Header (Optional)
The top section of the template. Supports:- Text - Plain text header (max 60 characters)
- Image - JPG or PNG image
- Video - MP4 video (max 16MB)
- Document - PDF document
Body (Required)
The main message content with support for:- Plain text (max 1024 characters)
- Variables - Dynamic placeholders like
{{1}},{{2}},{{name}} - Basic formatting (bold, italic, strikethrough)
Footer (Optional)
A small text line at the bottom (max 60 characters).Buttons (Optional)
Interactive elements:- Quick Reply - Pre-defined response buttons
- URL - Link to a website
- Phone Number - Click-to-call button
- Copy Code - Copy a code to clipboard
Creating Templates
Via Dashboard
- Go to WhatsApp > Templates or Settings > WhatsApp Accounts > [Account] > Templates
- Click Create Template
- Fill in the template details:
- Name (lowercase, underscores allowed)
- Language
- Category
- Components
Via API
Create Template
Variable Samples (Examples)
Meta requires example values for template variables during review. These help Meta understand how your template will be used.Variable Examples
Template Status
Templates go through several status stages:| Status | Description |
|---|---|
| PENDING | Submitted for review |
| APPROVED | Ready to use |
| REJECTED | Failed review (see rejection reason) |
| PAUSED | Temporarily disabled by Meta |
| DISABLED | Permanently disabled |
Handling Rejected Templates
If a template is rejected:- Review the rejection reason in the dashboard or API response
- Modify the template to address the issue
- Submit a new template with a different name
- Misleading content or category mismatch
- Missing required components
- Prohibited content (violence, discrimination, etc.)
- Poor example values
Syncing Templates
If you created templates directly in Meta Business Manager, sync them to Chirp:Sync Templates
Sync Response
Updating Templates
Update an existing template’s components:Update Template
Linking Templates to Apps
Templates are organization-level resources that can be linked to specific apps for webhook delivery:Link Template to App
- Template lifecycle webhooks (approved, rejected, paused) are sent to that app
- Multiple apps can be linked to the same template
Template Webhooks
Configure webhooks to receive template lifecycle events:| Event | Description |
|---|---|
templates.whatsapp.created | Template created |
templates.whatsapp.updated | Template updated |
templates.whatsapp.submitted | Template submitted for review |
templates.whatsapp.approved | Template approved by Meta |
templates.whatsapp.rejected | Template rejected by Meta |
templates.whatsapp.paused | Template paused by Meta |
templates.whatsapp.quality_changed | Template quality score changed |
Sending Template Messages
Once approved, send template messages via the API:Send Template Message
Quality Score
Meta assigns quality scores to templates based on user feedback:| Score | Description |
|---|---|
| GREEN | High quality - low block rate |
| YELLOW | Medium quality - some users blocking |
| RED | Low quality - high block rate, may be paused |
Best Practices
- Be Clear and Concise - Keep messages focused and easy to understand
- Use Appropriate Categories - Match template category to actual use
- Provide Good Examples - Include realistic variable examples for review
- Respect User Preferences - Include opt-out instructions where appropriate
- Monitor Quality - Track quality scores and adjust messaging if needed
- Test First - Use test numbers to verify template rendering before production use