A WhatsApp template is a pre-written, pre-approved message you can send to customers β for order confirmations, shipping updates, promotions, one-time passcodes, and more. WhatsApp requires templates for any message you start (outside a 24-hour reply window), and every template must be approved by Meta before you can use it. This is the complete reference to building them in eGrow: every component, every option, and every field. Manage templates at https://v2.egrow.com/inbox/templates and create one at https://v2.egrow.com/inbox/templates/create.
Note: templates are how you start conversations. Once a customer replies, you have a 24-hour window to message freely; outside it, you must use an approved template. See messaging pricing for how template categories affect cost.
The templates list
The main page lists all your templates. For each one you see its name, category, language, and status. From here you can:
- Search by name, and filter by category, language, and status.
- Create a new template.
- Delete one, or select several and bulk-delete.
Template statuses (Meta approval)
- Pending (amber) β submitted to Meta and awaiting review. You can't edit or use it while pending.
- Approved (green) β reviewed and ready to send.
- Rejected (red) β Meta declined it (usually a policy or category mismatch). Fix the issue and resubmit.
Approval usually takes minutes to a few hours. eGrow syncs the status from Meta automatically.
Creating a template, component by component
Click Create and build the template top to bottom. Below is every part.
Step 1: Name & language
- Template name (required) β up to 512 characters. Use a clear, lowercase, underscore-style name (e.g.
order_confirmation). This is an internal identifier, not shown to customers. - Language β the language the template is written in. A template is per-language: to reach customers in Arabic and French, you create the same template in each language.
Step 2: Category
Every template has a category, which tells Meta its purpose and determines pricing and rules:
- Marketing β promotions, offers, announcements, product news. The most flexible, but the most heavily reviewed and the most expensive to send.
- Utility β transactional messages tied to a specific action: order confirmations, shipping updates, appointment reminders, receipts. Cheaper than marketing.
- Authentication β one-time passcodes (OTP) for login/verification. Has its own special format (covered below).
There's also a Request calling permission option, which asks the customer to allow WhatsApp voice calls from your business.
Important: pick the category honestly. Meta rejects (or re-categorizes) templates whose content doesn't match their category β for example, a promotional message submitted as Utility. When in doubt, marketing content = Marketing.
Step 3: Header (optional)
The header sits at the top of the message. You choose a format:
- None β no header, or a short text header of up to 60 characters. A text header may contain one variable (e.g. a customer name).
- Image β upload a header image. You provide a sample image so Meta can review it.
- Video β a header video, with a sample.
- Document β a PDF or similar file header, with a sample.
- Location β a map location header.
Media headers make a message stand out (great for marketing), while a text header keeps utility messages clean. The sample you upload is only used for review β the real image/video/document is chosen when you actually send.
Step 4: Body (required)
The body is the main text of your message β up to 1024 characters. This is the one component every template must have.
Formatting
WhatsApp supports light formatting, available as toolbar buttons:
- Bold β wraps text in
*asterisks*. - Italic β
_underscores_. - Strikethrough β
~tildes~. - Monospace β three backticks.
Variables (personalization)
Variables are placeholders you fill in per message β a name, an order number, a total. Click Add variable and eGrow inserts the next token: {{1}}, {{2}}, and so on, at your cursor. When you send the template (from a campaign, an automation, or the inbox), each variable is replaced with real data. eGrow renumbers variables automatically if you add or remove one, so they always run {{1}}, {{2}}, {{3}} in order.
Step 5: Footer (optional)
A small line of text at the very bottom β up to 60 characters, with no variables. Typically used for things like "Reply STOP to unsubscribe" or your business name.
Step 6: Buttons (optional)
Buttons make a template interactive. Click Add button and pick a type. The main types:
- Quick reply β a tappable button that sends a canned reply back to you (e.g. "Confirm", "Cancel"). Button text is up to 25 characters. Great for confirmations. You can attach a pre-configured response so eGrow reacts automatically.
- Visit website (URL) β opens a link. Two modes:
- Static β the same fixed URL for everyone.
- Dynamic β a URL with a variable at the end (e.g. an order-tracking link unique per customer); you provide a sample value for review.
- Call phone number β dials a number you set. Button text up to 25 characters.
- Copy code β shows a code the customer can copy in one tap (e.g. a coupon code). You provide an example code.
Depending on the template kind you can also add Flow, Catalog, and marketing opt-out buttons. WhatsApp limits how many buttons a template can have and mixes of types, so eGrow only offers valid combinations. Buttons can be reordered by dragging.
Step 7: Sample values
Because Meta reviews templates with real-looking content, you must provide a sample value for every variable β in the header, the body, and any dynamic URL. Fill in a realistic example for each (e.g. {{1}} β "Ahmed", {{2}} β "#10432"). The live phone preview updates so you can see exactly how the message will look.
Step 8: Submit for approval
Click submit and eGrow sends the template to Meta. It appears in your list as Pending, then flips to Approved or Rejected. Approved templates are immediately usable everywhere in eGrow.
Special template kinds
Beyond a standard text template, eGrow supports WhatsApp's richer formats. When you choose one, the form adapts:
- Authentication (OTP) β for one-time passcodes. You choose how the code is delivered:
- Copy code β the customer taps to copy the code.
- One-tap β the customer taps a button and the code auto-fills in your app.
- Zero-tap β the code is delivered automatically with no tap (requires accepting Meta's zero-tap terms).
- Carousel β a swipeable set of cards, each with its own media, text, and buttons β ideal for showcasing several products.
- Product card carousel / Single product message β pull items straight from your WhatsApp catalogue so customers can browse and buy in chat.
- Catalogue β links the whole catalogue to the message.
- Limited-time offer β a promo with a countdown/expiry and a fixed set of buttons.
- Order details β a structured order summary; its buttons are fixed by the format.
- Call permission request β asks the customer to allow WhatsApp voice calls.
Using an approved template
Once approved, a template can be used across eGrow:
- In a campaign to message many customers at once.
- In an automation to send automatically on an event (e.g. order confirmed).
- From the inbox to start a conversation with one customer.
- By the AI Agent.
In each case, you fill the variables with the actual customer's data at send time.
Best practices & getting approved
- Match content to category. The #1 cause of rejection is a promotional message submitted as Utility. Marketing content β Marketing.
- Keep variables meaningful and never leave one empty at send time β a blank variable can get a template paused.
- Don't be spammy or misleading in body or buttons β no fake urgency, no misleading links.
- Provide realistic sample values so Meta sees the true intent.
- Create one template per language rather than mixing languages in one.
- Reuse approved templates β build a small library of solid utility and marketing templates instead of a new one for every send.
What's next
Send your approved templates at scale in a WhatsApp campaign, wire them into events with automations, and understand the cost of each category in messaging pricing: utility vs marketing.