Create a Template
This guide walks you through creating a WhatsApp message template in Waflow. Templates are the foundation of your WhatsApp campaigns, so taking time to craft them properly will improve your approval rates and campaign effectiveness.
Before You Begin
Before creating a template, make sure you have:
- A Waflow workspace with an active WhatsApp connection
- A clear understanding of your message purpose
- Sample content for any variables you plan to use
- Media files ready (if using image, video, or document headers)
Accessing the Template Builder
- Navigate to your workspace in Waflow
- Click Templates in the left sidebar
- Click the Create Template button in the top right corner
The template builder opens with a form on the left and a live preview on the right.
Step 1: Basic Information
Template Name
Enter a unique name for your template. This name is:
- Used internally to identify the template
- Visible to WhatsApp reviewers
- Cannot be changed after submission
Naming conventions:
- Use lowercase letters, numbers, and underscores only
- No spaces or special characters
- Maximum 512 characters
- Be descriptive:
order_confirmation_v2is better thantemplate1
Examples:
welcome_messageorder_shipped_notificationappointment_reminder_24hrpromo_summer_sale_2024
Language
Select the language for your template. WhatsApp supports 70+ languages including:
- English (en)
- Hindi (hi)
- Spanish (es)
- Portuguese (pt_BR)
- French (fr)
- And many more
Tip: Create separate templates for each language you want to support. You can duplicate templates and translate the content.
Category
Choose the appropriate category for your message:
| Category | Use For | Example |
|---|---|---|
| Marketing | Promotions, offers, announcements | Sale notifications, newsletters |
| Utility | Transaction updates, confirmations | Order status, appointment reminders |
| Authentication | OTP and verification codes | Login codes, password resets |
Warning: Selecting the wrong category is a common reason for template rejection. Choose based on the actual content and purpose of your message.
Step 2: Configure the Header (Optional)
Headers add visual appeal and context to your messages. You can choose from four header types:
Text Header
A short text line at the top of your message.
- Maximum 60 characters
- Supports one variable
{{1}} - Displays in bold
Example: "Order Update for {{1}}"
Image Header
Add an image to make your message more engaging.
Requirements:
- Format: JPEG or PNG
- Recommended size: 800 x 418 pixels (1.91:1 ratio)
- Maximum file size: 5MB
Best for: Product images, promotional banners, event graphics
Video Header
Include a video in your template.
Requirements:
- Format: MP4
- Maximum duration: 30 seconds recommended
- Maximum file size: 16MB
Best for: Product demos, tutorials, announcements
Document Header
Attach a PDF document to your message.
Requirements:
- Format: PDF only
- Maximum file size: 100MB
- Document name is visible to recipients
Best for: Invoices, tickets, contracts, brochures
Note: Media headers (image, video, document) must be uploaded when creating a campaign. You can set a placeholder during template creation and provide the actual file when sending.
Step 3: Write the Body (Required)
The body is the main content of your template. This is where your message lives.
Character Limits
- Minimum: 1 character
- Maximum: 1024 characters
- Variables count toward the limit based on sample values
Adding Variables
Variables are placeholders for dynamic content. Use the format {{1}}, {{2}}, {{3}}, etc.
To add a variable:
- Click the Add Variable button or type
{{in the text area - The next sequential number is automatically inserted
- Enter a sample value for the variable
Example body text:
Hi {{1}},
Your order #{{2}} has been confirmed!
Order summary:
- Items: {{3}}
- Total: {{4}}
Expected delivery: {{5}}
Thank you for shopping with us!
Text Formatting
WhatsApp supports basic formatting in template bodies:
| Format | Syntax | Example |
|---|---|---|
| Bold | *text* |
Important |
| Italic | _text_ |
Note |
| Strikethrough | ~text~ |
|
| Monospace | `text` |
Code |
Example:
Hi {{1}},
Your *exclusive* offer is here!
Use code: `SAVE20` for _20% off_ your next order.
~Regular price: $100~ *Sale price: $80*
Body Writing Tips
- Start with a greeting: "Hi {{1}}" makes messages personal
- State the purpose early: Users should know why they received the message
- Keep it concise: Shorter messages have higher read rates
- Use paragraphs: Break up text for readability
- End with a CTA: Tell users what to do next
Step 4: Add a Footer (Optional)
Footers appear at the bottom of your message in smaller, gray text.
Footer Guidelines
- Maximum 60 characters
- No variables allowed
- Static text only
Common Footer Uses
- Opt-out instructions: "Reply STOP to unsubscribe"
- Company name: "From Acme Corporation"
- Disclaimer: "Terms and conditions apply"
- Contact info: "Questions? Call 1800-XXX-XXXX"
Tip: Including opt-out instructions in the footer helps with compliance and can improve approval rates.
Step 5: Configure Buttons (Optional)
Buttons make your templates interactive. WhatsApp supports two types of buttons:
Call-to-Action (CTA) Buttons
CTA buttons trigger an action when tapped.
Phone Number Button:
- Opens the dialer with a pre-filled number
- Button text: Up to 25 characters
- Enter the complete phone number with country code
Website URL Button:
- Opens a URL in the browser
- Button text: Up to 25 characters
- Static URL or dynamic URL with one variable
Dynamic URL Example:
- URL:
https://example.com/track/{{1}} - The
{{1}}variable is replaced with tracking data when sending
Limits: Maximum 2 CTA buttons per template
Quick Reply Buttons
Quick reply buttons let users respond with pre-defined text.
- Each button sends its text as a reply when tapped
- Button text: Up to 25 characters each
- Maximum 3 quick reply buttons
Example quick replies:
- "Yes, I'm interested"
- "No, thanks"
- "Tell me more"
Note: You can use either CTA buttons OR quick reply buttons, but not both in the same template.
Button Configuration Tips
- Keep text short: "Shop Now" is better than "Click here to shop"
- Use action verbs: Start with verbs like "Buy," "Learn," "Track"
- Match user intent: Align buttons with what users want to do
- Test URLs: Ensure all links work before submission
Step 6: Add Sample Values
Before submitting your template, you must provide sample values for all variables. These help WhatsApp reviewers understand how your template will be used.
Sample Value Guidelines
- Be realistic: Use values that represent actual usage
- Be appropriate: Avoid placeholder text like "XXXX" or "test"
- Match the context: If
{{1}}is a name, use a real name
Example samples:
| Variable | Sample Value |
|---|---|
{{1}} |
John |
{{2}} |
ORD-12345 |
{{3}} |
2 items |
{{4}} |
$150.00 |
{{5}} |
December 25, 2024 |
Step 7: Preview and Submit
Preview Your Template
The right side of the template builder shows a live preview. Review:
- Overall appearance and layout
- Variable placement and formatting
- Button text and configuration
- Header media placeholder
Submit for Approval
- Review all template details
- Click Save as Draft to save without submitting
- Click Submit for Approval to send to WhatsApp
After submission:
- Template status changes to "Pending"
- Review typically takes 24-48 hours
- You'll receive a notification when the status changes
Common Template Examples
Order Confirmation (Utility)
Name: order_confirmation
Category: Utility
Language: English
Header: Text - "Order Confirmed! #{{1}}"
Body:
Hi {{2}},
Thank you for your order!
Order Details:
- Items: {{3}}
- Subtotal: {{4}}
- Shipping: {{5}}
- Total: {{6}}
Track your order: {{7}}
Footer: Questions? Reply to this message
Button: [Track Order] ā https://shop.com/track/{{1}}
Appointment Reminder (Utility)
Name: appointment_reminder
Category: Utility
Language: English
Body:
Hi {{1}},
This is a reminder for your upcoming appointment:
š
Date: {{2}}
ā° Time: {{3}}
š Location: {{4}}
Please arrive 10 minutes early.
Need to reschedule? Reply to this message or call us.
Footer: From HealthCare Clinic
Buttons:
- [Confirm] Quick Reply
- [Reschedule] Quick Reply
Promotional Offer (Marketing)
Name: summer_sale_promo
Category: Marketing
Language: English
Header: Image (promotional banner)
Body:
Hi {{1}},
āļø *Summer Sale is HERE!* āļø
Get up to {{2}}% off on {{3}}.
Use code: *{{4}}* at checkout
Offer valid until {{5}}.
Don't miss out!
Footer: Reply STOP to opt out
Button: [Shop Now] ā https://shop.com/sale
Next Steps
After creating your template:
- Wait for approval: Check the Approval Process for details
- Set up variables: Learn more in Template Variables
- Create a campaign: Use your template in a Campaign