Overview
Templates are required for:- Starting new conversations with users
- Re-engaging users after the 24-hour window expires
- Sending transactional notifications (order updates, appointments, etc.)
Template Structure
A WhatsApp template consists of:| Component | Required | Description |
|---|---|---|
| Name | Yes | Unique identifier (lowercase, underscores only) |
| Language | Yes | Language code (e.g., en, es, pt) |
| Category | Yes | UTILITY, MARKETING, or AUTHENTICATION |
| Body | Yes | Main message content with variables |
| Header | No | Text, image, video, or document |
| Footer | No | Short footer text |
| Buttons | No | Quick reply or URL buttons (max 3) |
Creating a Template
Via Dashboard
- Navigate to Senders in your dashboard
- Select the sender you want to create templates for
- Go to the Templates tab
- Click Create Template
- Fill in the template details and submit
Via API
Template Variables
Use numbered placeholders for dynamic content:Template Categories
UTILITY
For transactional messages with specific, agreed-upon information. Examples:- Order confirmations
- Shipping updates
- Appointment reminders
- Account notifications
MARKETING
For promotional content and offers. Examples:- Sales announcements
- Product recommendations
- Newsletter content
- Promotional offers
AUTHENTICATION
For one-time passwords and verification codes. Examples:- Login verification
- Two-factor authentication
- Account verification
Adding Headers
Add a header to make your template more engaging:Header Types
| Type | Description |
|---|---|
text | Plain text header |
image | Image header (provide URL) |
video | Video header (provide URL) |
document | PDF or document header |
Adding Buttons
Templates can include up to 3 buttons:Button Types
| Type | Description |
|---|---|
quick_reply | Sends predefined response |
url | Opens a URL (can include variables) |
phone | Initiates a phone call |
Best Practices
Keep it concise
Templates have character limits. Body text should be under 1024 characters.
Use clear variables
Name your variables descriptively in the documentation for easier maintenance.
Choose the right category
Incorrect categorization may lead to rejection or higher costs.
Test before production
Always test templates with your own number first.
Naming Conventions
Template names must:- Be unique within your account
- Use only lowercase letters, numbers, and underscores
- Not exceed 512 characters
- Not start with a number
order_confirmation_v2appointment_remindershipping_update_en
Order Confirmation(spaces not allowed)2fa_code(starts with number)ORDER_CONFIRMATION(uppercase not allowed)