Skip to main content

Design a Reusable Message Template

What it is

Message templates are pre-defined, reusable message formats that you create once and deploy across campaigns, workflows, and chatbot responses. Each template can include dynamic variables (placeholders that get replaced with real contact data at send time), interactive buttons, and quick reply options. Templates ensure that every outbound message follows a consistent structure, maintains brand voice, and complies with channel-specific formatting requirements.

For the WhatsApp Business API, templates serve a critical compliance role. Meta requires that any business-initiated message sent outside the 24-hour customer service window must use a pre-approved template. This means you need to design, submit, and receive approval for your WhatsApp templates before you can use them in outbound campaigns. SMS and email templates, by contrast, do not require external approval and can be used immediately after creation.

BotBat stores all templates in a centralized library, organized by channel type and approval status. This library acts as a single source of truth for your messaging content. Team members with the appropriate permissions can browse, duplicate, edit, and archive templates, making it easy to maintain a growing collection of approved messages without losing track of versions or approval states.

When to use

  • WhatsApp outbound messaging: The WhatsApp Business API mandates pre-approved templates for initiating conversations outside the 24-hour service window. Before launching any WhatsApp campaign, you must create and submit templates for Meta review. Plan to do this at least 24 hours before your intended send date to allow time for the approval process.
  • Consistent branding across teams: When multiple team members or departments send customer-facing messages, templates guarantee that every message follows the same structure, tone, and branding guidelines. Rather than letting each person compose messages from scratch, you define approved templates that everyone selects from.
  • Recurring transactional messages: For messages you send repeatedly, such as order confirmations, appointment reminders, shipping notifications, and promotional offers, templates eliminate the need to rewrite the same content each time. You create the template once, map the dynamic fields to your contact data, and reuse it across as many campaigns or workflows as needed.

Steps

1. Open the Templates page

Navigate to the sidebar and click Templates. The templates list page displays all existing templates, organized by channel and approval status. From here you can search, filter, and sort templates to find specific ones quickly. The list shows each template's name, channel, category, approval status, and the date it was last modified.

Templates list page showing templates grouped by channel and status

2. Start a new template

Click the Create Template button at the top of the templates list. This opens the template editor, where you will configure every aspect of your new template. If you are creating a template that is similar to an existing one, consider duplicating an existing template first and then editing the copy, which can save time on repeated structures.

3. Select the channel type

Choose the channel this template targets: WhatsApp, SMS, or Email. Each channel has distinct content rules, character limits, and supported features. Selecting the channel first ensures that the editor shows only the fields and options relevant to that channel. For example, WhatsApp templates support headers with media attachments and interactive buttons, while SMS templates focus on plain text within segment limits.

Template editor channel selection showing WhatsApp, SMS, and Email options

4. Choose a category (WhatsApp only)

For WhatsApp templates, select the appropriate category. The category you choose affects how Meta reviews your template and how it appears to recipients. Selecting the wrong category is one of the most common reasons for template rejection.

CategoryPurposeExamples
MarketingPromotional content and product updatesDiscount offers, new product launches, seasonal sales
UtilityTransactional and service messagesOrder confirmations, shipping updates, appointment reminders
AuthenticationVerification and security codesOne-time passwords, two-factor authentication, account verification
Category selection for WhatsApp templates showing Marketing, Utility, and Authentication options

Meta applies stricter review criteria to marketing templates than to utility or authentication templates. If your message is primarily informational or transactional, choose Utility to improve your approval chances and avoid being flagged as promotional content.

Build your template content across three sections. The body is the only required section; the header and footer are optional but recommended for WhatsApp templates.

SectionRequiredSupported ContentNotes
HeaderNoText, image, video, or documentGrabs attention; images display prominently on WhatsApp
BodyYesText with variablesMain message content; 1024-character limit for WhatsApp
FooterNoPlain text onlyTypically used for disclaimers, opt-out instructions, or legal notes

Write clear, concise body text that communicates the essential information without unnecessary filler. Use line breaks to separate logical sections within the body. For promotional templates, lead with the value proposition and include a clear call to action.

6. Insert dynamic variables

Add variables to personalize each message with recipient-specific data. WhatsApp uses a numbered syntax ({{1}}, {{2}}, {{3}}), while SMS and email templates use named variables ({{first_name}}, {{order_id}}). Variables are replaced with actual contact data when the message is sent.

Body editor showing template text with variable placeholders and sample values

For every variable you insert, you must provide a sample value. WhatsApp requires realistic sample values during the approval process. Use values that represent actual data, such as "Sarah" for a name variable or "ORD-29451" for an order ID. Generic samples like "text" or "123" frequently cause Meta to reject the template.

7. Configure buttons or quick replies

Enhance your template with interactive elements that drive recipient engagement. Buttons and quick replies make it easy for recipients to take action directly from the message, improving response rates and reducing friction.

Button TypeBehaviorLimit (WhatsApp)
Call-to-action (URL)Opens a web link in the recipient's browserUp to 2 CTA buttons
Call-to-action (Phone)Initiates a phone call to a specified numberUp to 2 CTA buttons
Quick replySends a predefined text response back to your businessUp to 3 quick reply buttons
Button configuration panel showing quick reply and call-to-action button setup

You cannot mix call-to-action buttons and quick reply buttons in the same WhatsApp template. Choose one type per template. If your use case requires both a link and quick reply options, consider creating separate templates for each scenario.

8. Submit for approval (WhatsApp) or save directly

For WhatsApp templates, click Submit for Approval to send the template to Meta for review. Meta typically processes template reviews within minutes, though some reviews can take up to 24 hours. You can monitor the approval status on the Templates list page, where each template displays its current state: Pending, Approved, or Rejected.

Template approval status showing pending and approved states on the templates list

For SMS and email templates, no external approval is required. Click Save and the template becomes immediately available for use in campaigns, workflows, and chatbot configurations.

9. Use the template in campaigns and workflows

Once a template is approved (WhatsApp) or saved (SMS/email), it appears in the template selector throughout BotBat. You can select it when building a campaign, configuring a workflow action, or setting up a chatbot response. Each time the template is used, the system maps the defined variables to the appropriate contact fields from your audience data.

Common pitfalls

PitfallWhy it happensHow to avoid it
WhatsApp rejection due to vague samplesMeta requires realistic sample values for each variable. Generic placeholders like "text" or "value" trigger automatic rejection.Use realistic, representative data for every sample value. Provide names, order numbers, dates, and amounts that look like real-world data.
Exceeding character limitsWhatsApp body text has a 1024-character limit. SMS messages are limited to 160 characters per segment; longer messages are split into multiple segments, increasing cost.Check your character count in the editor before submitting. For SMS, aim for single-segment messages when possible to control costs.
Broken variable mappingA template uses variables like {{1}} and {{2}}, but the campaign or workflow only maps one variable, leaving the second as a blank or literal placeholder in the sent message.Always verify that every variable in the template has a corresponding field mapping in the campaign or workflow configuration. Test with a small audience first.
Wrong category selectionChoosing "Marketing" for a transactional message, or "Utility" for a promotional message, causes Meta to reject the template for category mismatch.Read Meta's category guidelines carefully. If the message primarily drives a sale or promotion, use Marketing. If it confirms an action the user already took, use Utility.
tip

Establish a naming convention for your templates early. A pattern like channel_category_description (for example, wa_utility_order_confirmation or sms_marketing_flash_sale) makes it easy to search and filter your template library as it grows. Include the language code if you operate in multiple languages, such as wa_utility_order_confirmation_en and wa_utility_order_confirmation_es.

  • Templates List
  • Template Editor
  • Channel Selection
  • Category Selection
  • Body Editor
  • Button Configuration
  • Approval Status