Templates Overview
What it is
Templates are pre-approved, reusable message formats that you use to send outbound messages to contacts across all supported channels. Every time your business initiates a conversation with a contact, whether through a campaign, workflow automation, or a one-off send, the message is built from a template. Templates provide a consistent structure that ensures brand compliance, regulatory adherence, and personalization at scale. By defining the message once and reusing it across sends, you eliminate the risk of ad-hoc copy mistakes and maintain a unified tone across every touchpoint.
BotBat supports three distinct template types. WhatsApp templates are structured messages composed of a header (text, image, video, or document), a body with variable placeholders, an optional footer, and interactive buttons. These must be submitted to Meta for approval before they can be used. SMS templates are plain-text messages with variable placeholders such as {{1}} and {{2}}, and they do not require any external approval. Email templates support rich HTML content with dynamic variables, embedded images, and advanced formatting. Like SMS, email templates are available for use immediately after creation.
All template types share the concept of variable placeholders. You insert tokens like {{1}}, {{2}}, and {{3}} wherever personalized data should appear. At send time, BotBat replaces each placeholder with contact-specific data such as the recipient's name, order number, appointment date, or any custom attribute you have stored. This system lets you write a single template that produces a uniquely personalized message for every recipient.

When to use
- WhatsApp outbound messaging: WhatsApp requires an approved template for every business-initiated conversation. If a contact has not messaged you within the last 24 hours, you cannot reach them without a template. Creating and submitting templates ahead of time is essential for any WhatsApp communication strategy. Plan to have your templates submitted and approved before you begin building the campaign that will use them.
- Consistent brand messaging: Templates act as a single source of truth for your outbound copy. Whether a support agent triggers a message from a workflow or a marketing manager launches a campaign, every recipient sees the same professionally crafted content. This eliminates discrepancies that arise when team members compose messages manually. Templates also simplify compliance audits, since every outbound message is traceable to a specific, versioned template.
- Campaign sends: Campaigns require a template as their message payload. Each recipient receives the same structural format, but with their own personalized variable values filled in. Without a template, you cannot create or launch a campaign. The campaign builder prompts you to select a template as the first step of configuration.
- Transactional notifications: Order confirmations, appointment reminders, OTP codes, shipping updates, and payment receipts are best handled through utility templates. These messages follow a predictable format and benefit from the reusability that templates provide. Using templates for transactional messages also ensures that critical information is never accidentally omitted.
- Multi-language communication: You can create the same template in multiple languages. When sending, BotBat selects the correct language variant based on the recipient's locale preference, ensuring every contact receives the message in a language they understand.
- Workflow automation: Automated workflows often include "send message" nodes. These nodes require a pre-defined template so that the automated message is consistent every time the workflow fires. Without templates, each workflow execution would need manually composed content, which is impractical at scale.
Template types
BotBat organizes templates by channel. Each channel has its own structure, capabilities, and constraints. The table below summarizes the key differences.
| Feature | SMS | ||
|---|---|---|---|
| Approval required | Yes (Meta review) | No | No |
| Media support | Header image, video, document | None | Inline images, attachments |
| Interactive buttons | Up to 3 (URL, phone, quick reply) | None | Links in HTML body |
| Character limit | 1024 (body) | 160 per segment | No hard limit |
| Variable syntax | {{1}}, {{2}}, etc. | {{1}}, {{2}}, etc. | {{1}}, {{2}}, etc. |
| Rich formatting | Limited (bold, italic, monospace) | None | Full HTML/CSS |
| Typical approval time | 24 to 48 hours | Instant | Instant |

Template categories
Templates are classified into categories that affect delivery behavior, pricing, and approval criteria. Choosing the correct category is critical for both compliance and cost management.
| Category | Purpose | Examples | WhatsApp pricing tier |
|---|---|---|---|
| Marketing | Promotional content aimed at driving engagement or sales | Product announcements, seasonal offers, re-engagement messages, loyalty rewards | Highest |
| Utility | Transactional or informational messages the recipient expects | Order confirmations, shipping notifications, appointment reminders, account alerts | Medium |
| Authentication | One-time passwords and verification codes | Login OTPs, two-factor authentication codes, email verification tokens | Lowest |
Misclassifying a template has consequences. If you submit promotional content under the utility category, Meta will reject it. If you use a marketing template for what should be a utility message, you pay a higher per-message fee unnecessarily. Always select the category that accurately reflects the message content. When in doubt, review Meta's category guidelines or consult the examples column in the table above.

Working with variables
Variable placeholders are the mechanism for personalization. They follow a strict sequential numbering scheme starting from {{1}}. You cannot skip numbers; if you use {{1}} and {{3}}, you must also include {{2}}. When you create a template with variables, you also provide sample values that demonstrate what kind of data each placeholder represents. These sample values help Meta reviewers understand the template context during the approval process.
At send time, you map each variable to a data source. This can be a contact attribute (such as first name, phone number, or email), a campaign-specific field (like a coupon code or event date), or a static value. The mapping is configured either in the campaign builder or workflow node, depending on how you are sending the message.

Previewing templates
The preview panel lets you see exactly how the template will render on the target channel before you submit or send it. For WhatsApp templates, the preview mimics the WhatsApp chat bubble layout, complete with the header, body, footer, and buttons. For SMS, it displays a simple text bubble. For email, it renders the full HTML in a simulated inbox view. Sample values are automatically populated into the variable placeholders so you can verify that the message reads naturally with real-looking data.
Previewing is especially important for WhatsApp templates because the approval process can take 24 to 48 hours. Catching formatting issues, awkward variable placement, or truncated text before submission saves you the round-trip time of a rejection and resubmission. For SMS templates, the preview also shows the segment count so you can see whether your message will be split into multiple segments by the carrier, which affects delivery cost.

Template lifecycle
Templates move through a defined lifecycle from creation to retirement. Understanding this lifecycle helps you manage your template library effectively.
- Draft: The template has been started but not yet submitted. You can continue editing all fields freely.
- Pending (WhatsApp only): The template has been submitted to Meta for review. No edits are possible while the review is in progress.
- Approved/Active: The template is available for use in campaigns and workflows. WhatsApp templates enter this state after Meta approval. SMS and email templates enter this state immediately upon creation.
- Rejected (WhatsApp only): Meta declined the template. You must review the rejection reason, correct the issue, and resubmit.
- Paused (WhatsApp only): Meta has temporarily disabled the template due to low quality ratings or policy violations. You cannot send messages with a paused template until the issue is resolved.
- Retired: You have manually deactivated the template. It remains in your library for reference but cannot be used for new sends.
Keeping your template library clean is important as it grows. Regularly review templates that are no longer in active use and retire them. This reduces clutter in the template selector when building campaigns and makes it easier for team members to find the right template quickly.
You can filter the template list by status to quickly identify templates that are pending review, have been rejected, or need attention due to quality issues.
Steps
- Navigate to Templates: Click "Templates" in the main navigation sidebar to view all your templates. The list displays each template's name, channel, category, language, and current status.
- Review template types: Identify which channel and category best fits your use case. WhatsApp templates require advance planning due to the approval process, while SMS and email templates can be created and used immediately.
- Understand variable rules: Variables must be numbered sequentially starting from
{{1}}. Every variable must have a corresponding sample value at submission time. - Preview before submitting: Always use the preview panel to verify formatting, variable placement, and overall readability before submitting a template for approval or use.
- Track approval status (WhatsApp): WhatsApp templates display their approval status as Pending, Approved, or Rejected. Only templates with an Approved status can be used for sending. Check back after 24 to 48 hours if a template is still pending.
- Organize with naming conventions: Adopt a consistent naming pattern early. A recommended format is
channel_category_purpose_language, for examplewa_utility_order-confirmation_en. This makes templates easy to search and filter as your library grows.
Common pitfalls
- Using marketing templates for transactional messages: Misclassifying templates leads to higher costs on WhatsApp (marketing templates have a higher per-message fee) and can trigger approval rejections. Always choose the category that matches the actual message content.
- Variable numbering gaps: Variables must be sequential starting from
{{1}}. If you skip a number, such as using{{1}}and{{3}}without{{2}}, the template submission will fail with a validation error. - Exceeding character limits: WhatsApp body text has a 1024-character limit. SMS templates should account for carrier segment limits of 160 characters per segment. Going over these limits causes message truncation or split delivery, increasing costs.
- Ignoring rejection reasons: When Meta rejects a WhatsApp template, a specific reason is provided. Read the reason carefully and address the exact issue before resubmitting. Blind resubmission wastes time and can flag your account for repeated violations.
- Not planning for approval delays: WhatsApp template approval can take 24 to 48 hours, and occasionally longer. Always submit templates several business days before you plan to use them in a campaign.
Create a naming convention for your templates early on, such as channel_category_purpose_language (for example, wa_utility_order-confirmation_en). This makes templates easy to find and filter as your library grows to dozens or hundreds of entries.
- Templates Overview
- Template List
- Template Types
- Template Categories
- Variable Placeholders