Skip to content

Templates

Templates

WhatsApp Message Templates are pre-approved message formats that allow businesses to send notifications and updates to customers. Whatomate makes it easy to manage, sync, and use templates across your organization.

The templates page displays all your synced templates from Meta’s WhatsApp Business API, including:

  • Template name and status
  • Category (Marketing, Utility, Authentication)
  • Language
  • Last updated date

Click the Sync from Meta button to fetch the latest templates from your WhatsApp Business Account. This ensures your local templates are always up to date with what’s approved in Meta.

Template Editor

View and manage template details:

  • Header - Optional header with text, image, video, or document
  • Body - Main message content with variable placeholders
  • Footer - Optional footer text
  • Buttons - Call-to-action or quick reply buttons

Templates with an IMAGE, VIDEO, or DOCUMENT header require a sample media file that Meta will review along with the template text. Without this sample, Meta will reject the template — and Whatomate enforces the same check before submission, so a template with a media header can’t be saved or published until you’ve uploaded one.

  1. Pick the WhatsApp account in the Details card. The upload calls Meta’s API and needs to know which account it belongs to.
  2. In the Header card, change Header Type to Image, Video, or Document.
  3. Pick a file using the file selector that appears.
  4. Click Upload. The button stays disabled until you’ve selected a file. On success a green “Media uploaded” pill appears with a truncated handle (4::aW1hZ2Uv…) — that’s the reference Meta will use when reviewing.
  5. Click Save. The handle is only persisted on save — leaving the page after upload but before saving will lose the handle and you’ll have to re-upload.
  6. Click Publish (or Republish if you’re updating an approved template) to send the template + sample to Meta for approval.
Header typeAccepted formatsMax size
IMAGEJPEG, PNG5 MB
VIDEOMP416 MB
DOCUMENTPDF100 MB

The lifecycle of a template is Draft → Pending → Approved (or Rejected):

  1. Create — fill in the editor and click Save. The template lands in your local DB as DRAFT. It is not visible to Meta yet, and cannot be used to send messages.
  2. Publish — click Publish. Whatomate submits the template (including any media handle) to Meta and the status becomes PENDING.
  3. Meta reviews — typically minutes to 24 hours. The status updates to APPROVED or REJECTED on the next sync.
  4. Republish — only DRAFT and REJECTED templates can be edited and republished. Approved templates are locked except for the body of MARKETING and UTILITY categories (Meta limits which fields are editable post-approval).

If publish fails with “Template has IMAGE header but no media file has been uploaded”, the upload either wasn’t completed or wasn’t saved — go back to step 4 of Uploading a sample.

Templates support dynamic variables that are replaced with actual values when sending messages.

The traditional format uses numbered placeholders {{1}}, {{2}}, etc.:

Hello {{1}}, your order #{{2}} has been shipped!

When sending, you provide values in order:

  • {{1}} → Customer Name
  • {{2}} → Order ID

Templates also support named parameters for better readability and maintainability:

Hello {{customer_name}}, your order #{{order_id}} has been shipped!

Named parameters make templates easier to understand and less error-prone when dealing with multiple variables. When creating templates with named parameters:

  • Use descriptive names like {{customer_name}}, {{order_id}}, {{delivery_date}}
  • Parameter names can contain letters, numbers, and underscores
  • Whatomate automatically detects whether your template uses positional or named parameters

Marketing

Promotional content, offers, and announcements

Utility

Order updates, confirmations, and notifications

Authentication

One-time passwords and verification codes

StatusDescription
ApprovedTemplate is ready to use
PendingAwaiting Meta approval
RejectedTemplate was rejected by Meta
DisabledTemplate has been disabled

Templates can include URL buttons with dynamic variables. For example, a “Track Order” button with URL https://example.com/track/{{1}} will prompt you to enter the dynamic URL value when sending the template from the chat view.

When sending via the API, provide button values using the button_params field. See the API reference for details.

Templates can be used in:

  • Direct Messages - Send template to individual contacts
  • Campaigns - Bulk send to multiple contacts
  • Chatbot Flows - Automated template responses
  • API - Programmatically via REST API