Approval Workflow
Submitting for Approval
Via Dashboard
- Go to Senders > Select sender > Templates tab
- Find the template with “Draft” status
- Click the … menu and select Submit for Approval
- The status will change to “Pending”
Via API
Template Status
| Status | Description | Can Send? |
|---|---|---|
draft | Not yet submitted to Meta | No |
pending | Submitted, awaiting Meta review | No |
approved | Approved by Meta | Yes |
rejected | Rejected by Meta | No |
Approval Timeline
- Typical review time: 24-48 hours
- Complex templates: Up to 72 hours
- Peak periods: May take longer during high volume
Meta reviews templates for compliance with their Business Messaging Policy. Ensure your templates follow these guidelines before submitting.
Tracking Status Changes
Webhooks
Configure webhooks to receive real-time notifications when template status changes:- Go to Senders > Select sender > Webhooks tab
- Add
template.status_changedto your webhook events
Polling
Check template status via API:Common Rejection Reasons
Content Policy Violations
Formatting Issues
| Issue | Solution |
|---|---|
| Invalid variable format | Use {{1}}, {{2}} format |
| Too many variables | Limit to 10 variables per component |
| Variable in wrong position | Variables can’t be at start of template |
| Button URL without variable | Dynamic URLs must include variables |
Category Mismatch
Templates may be rejected if the category doesn’t match the content:- UTILITY templates shouldn’t contain promotional content
- MARKETING templates need clear opt-out language
- AUTHENTICATION templates should only contain OTP/verification content
Language Issues
- Template body must match the declared language
- Special characters may cause issues in some languages
- Emojis should be used sparingly
Fixing Rejected Templates
When a template is rejected:- Check the rejection reason in the dashboard or API response
- Edit the template to fix the issues
- Resubmit for approval
Editing an approved template will reset its status to “draft” and require re-approval.
Best Practices for Approval
Be Clear and Specific
Vague templates are more likely to be rejected. Be specific about the purpose.
Match Category to Content
Ensure your template category accurately reflects the message type.
Avoid Promotional Language in UTILITY
UTILITY templates should be purely transactional without marketing content.
Include Opt-Out for MARKETING
Marketing templates should include clear unsubscribe instructions.
Template Examples
Good UTILITY Template
Good MARKETING Template
Good AUTHENTICATION Template
Rate Limits
| Action | Limit |
|---|---|
| Submit templates | 100/minute |
| Templates per WABA | 250 total |