Developer ToolsFree generatorPDF, Excel, Word export

WhatsApp Template Message Builder for the Cloud API

A WhatsApp Business message that starts a conversation outside the 24 hour customer service window must use a pre-approved template. This builder produces the two JSON payloads you need: one to submit the template for review and one to send it once approved.

Fill in

Used in the creation URL, found in Meta Business settings.

Used in the send URL. This is not the phone number itself.

Lowercase letters, digits and underscores only.

Use {{1}}, {{2}} style variables. They must be numbered in order with no gaps.

Generated code
Download:

1. Create the template (POST https://graph.facebook.com/v21.0/123456789012345/message_templates)

{
  "name": "po_shipment_update",
  "language": "en_US",
  "category": "UTILITY",
  "components": [
    { "type": "HEADER", "format": "TEXT", "text": "Shipment update" },
    {
      "type": "BODY",
      "text": "Hello {{1}}, purchase order {{2}} has shipped and is due on {{3}}. Reply below if the date does not work for you.",
      "example": { "body_text": [["Priya", "PO-48213", "12 Nov 2026"]] }
    },
    { "type": "FOOTER", "text": "Acme Precision Ltd purchasing" },
    { "type": "BUTTONS", "buttons": [ { "type": "QUICK_REPLY", "text": "Request new date" } ] }
  ]
}

2. Send the approved template (POST https://graph.facebook.com/v21.0/109876543210987/messages)

{
  "messaging_product": "whatsapp",
  "to": "919812345678",
  "type": "template",
  "template": {
    "name": "po_shipment_update",
    "language": { "code": "en_US" },
    "components": [
      {
        "type": "body",
        "parameters": [
          { "type": "text", "text": "Priya" },
          { "type": "text", "text": "PO-48213" },
          { "type": "text", "text": "12 Nov 2026" }
        ]
      }
    ]
  }
}

Check the current Graph API version and the latest template rules in Meta's WhatsApp Business documentation before going live. Header and button components are optional, delete them from the output if you do not use them. Send the access token in an Authorization: Bearer header, never inside the JSON.

Wire WhatsApp templates to your ERP events

Optional: we can review your notification list and show which ERP events are safe to automate over WhatsApp.

Optional. The tool and every export work without this. No spam.

How to use the builder

Fill in your template name, category, language and body text with numbered variables. Add one realistic example value per variable, because Meta reviewers use the examples to judge what the message will look like. Copy block 1 into a POST to your WhatsApp Business Account's message_templates edge and wait for approval, which is often quick for utility templates but can take longer for marketing. After approval, copy block 2 into your integration code and replace the example values with live data from your ERP, such as the purchase order number and due date.

Choosing the right category

Category drives both approval and price. Utility templates confirm or update something the customer already asked for or is part of, such as an order, a delivery or an appointment. Marketing templates promote or invite. Authentication templates carry one-time codes. Meta can reclassify a template whose content looks promotional, so keep utility templates transactional and free of upsell wording.

  • Order and shipment updates: utility
  • Payment due reminders on an existing invoice: utility
  • New product announcements and offers: marketing
  • Login and verification codes: authentication

Common mistakes

The most frequent rejection reasons are variables at the very start or end of the body, variables placed next to each other with no words between them, missing or unrealistic examples, and vague content like "Your update is here {{1}}". Keep a sensible ratio of fixed text to variables, avoid line breaks and tabs inside a variable value, and never put sensitive data such as full bank account numbers in a template. Template names cannot be reused with a different language by mistake, so keep a naming convention.

Frequently Asked Questions

Do I need a template for every WhatsApp message?

No. Inside the 24 hour customer service window opened by a customer message you can send free-form replies. A template is required to start a conversation or to message after that window has closed.

How long does template approval take?

It varies. Many utility templates are reviewed within minutes to hours, while rejected or flagged ones need edits and resubmission. Plan for a day in your project schedule and have backup wording ready.

Can one template carry a PDF or image?

Yes, a template can have a header of type image, video or document. This builder generates a text header only, so add a media header component if you need to attach an invoice or delivery note.

Which Graph API version should I use?

Use a version Meta currently supports. The v21.0 shown is an example, so replace it with the version your app is configured for and check Meta's changelog for deprecations.

If you want order, shipment or quality events from your ERP to trigger approved WhatsApp templates automatically, Netray can build that integration with human approval on any write-back.