Free Tool

WhatsApp Template Message Builder

Build, preview, and export WhatsApp Business API message templates. Configure header, body, footer, and buttons — then copy the JSON for API submission.

Use {{1}}, {{2}}, etc. for variables

0/1024
0/60

No buttons added yet. Click “Add Button” to include quick replies, URLs, or phone buttons.

Live Preview

Business

online

Message body will appear here...

11:39 AM

Type a message

API JSON Output

{
  "name": "template_name",
  "category": "MARKETING",
  "language": "en",
  "components": [
    {
      "type": "BODY",
      "text": ""
    }
  ]
}

What Are WhatsApp Message Templates?

WhatsApp message templates are pre-approved message formats required by the WhatsApp Business API for sending outbound notifications to customers. Unlike regular messages, templates must be submitted to Meta for review before you can use them. They support dynamic variables, media headers, interactive buttons, and footers.

Templates are essential for sending order confirmations, shipping updates, appointment reminders, OTP codes, marketing promotions, and any other business-initiated conversation on WhatsApp.

Template Categories Explained

Marketing

Promotional messages, special offers, product launches, and re-engagement campaigns. These templates are subject to stricter review and opt-in requirements from Meta. Use them to drive sales and customer engagement.

Utility

Transactional messages like order confirmations, shipping updates, payment receipts, and account notifications. These have higher approval rates and are expected by customers as part of their transaction journey.

Authentication

One-time password (OTP) and verification code messages. These are time-sensitive and follow a specific format with a single variable for the verification code. Meta prioritizes delivery speed for auth templates.

Template Components

1

Header (Optional)

Add a text header, image, video, or document to the top of your template. Text headers are limited to 60 characters. Media headers require a sample URL for template submission and the actual media is provided at send time.

2

Body (Required)

The main message content. Supports up to 1,024 characters and variables in the format {{1}}, {{2}}, etc. Variables are replaced with actual values when you send the message through the API.

3

Footer (Optional)

A small text line below the body, limited to 60 characters. Commonly used for disclaimers, unsubscribe instructions, or company taglines.

4

Buttons (Optional)

Up to 3 interactive buttons. Quick Reply buttons let users respond with a tap. URL buttons open a webpage. Phone Number buttons initiate a phone call. Buttons significantly improve engagement rates.

Template Approval Best Practices

Be Specific

Clearly state the purpose of your message. Vague templates like 'Hi {{1}}' are likely to be rejected by Meta's review team.

Avoid Prohibited Content

Don't include threats, intimidation, or content that violates WhatsApp's commerce policy. No gambling, alcohol, or adult content.

Use Variables Wisely

Variables should personalize the message, not form the entire content. The template must make sense even without variable values.

Include Opt-Out

For marketing templates, include an unsubscribe option in the footer (e.g., 'Reply STOP to unsubscribe') to comply with regulations.

Match Category

Select the correct category for your template. Misclassified templates are automatically rejected or reclassified by Meta.

Provide Examples

When your template has variables or media, include realistic sample values. This helps Meta's reviewers understand the context.

WhatsApp Template JSON Format

The WhatsApp Business API accepts templates as a JSON payload via the /message_templates endpoint. Our builder generates the exact JSON structure expected by the API, including components array with header, body, footer, and buttons. Simply copy the output and submit it to the API directly or through your BSP (Business Solution Provider).

// POST /v18.0/{WABA_ID}/message_templates
{
  "name": "order_confirmation",
  "category": "UTILITY",
  "language": "en",
  "components": [...]
}