How Do WhatsApp Templates Work in GoHighLevel?
How to create, categorize, and get Meta approval for WhatsApp templates in GoHighLevel, plus the October 2026 rebuilt builder, per-contact media headers, and Limited Time Offer templates.
DRGHL
GoHighLevel developer

Short answer: WhatsApp templates in GoHighLevel are messages Meta has approved in advance. They're the only way to message a contact outside WhatsApp's 24-hour customer service window. You build them under Settings → WhatsApp → Templates, choose a category (Marketing, Utility, or Authentication), add numbered variables with sample values, and submit them for Meta review. Once approved, you can send them from workflows, bulk actions, conversations, and calendar sends. In October 2026 HighLevel rebuilt the template builder with a live phone preview, added media headers that can change per contact, and launched Limited Time Offer templates with a live countdown.
WhatsApp is now a primary channel for many HighLevel agencies, especially outside the US, and templates are where most setups get stuck: rejections, the wrong category, variables that break, or messages that can't send because the 24-hour window has closed. This guide covers how the system works and what changed this month.
Why do you need templates to send WhatsApp messages?
WhatsApp separates two kinds of conversations:
- Inside the 24-hour window. After a contact messages you, you can reply with free-form text for 24 hours.
- Outside the window. Any message your business starts, such as a reminder, a follow-up, or a promotion, has to use an approved template.
When a contact replies to one of your messages, HighLevel notes that a free-entry-point conversation can stay open for up to 72 hours at no extra cost. Even so, every automated, business-started message in a workflow needs an approved template behind it. That's why template design matters more on WhatsApp than on SMS or email.
Which template category should you choose?
| Category | Use it for | Key restrictions |
|---|---|---|
| Marketing | Promotions, offers, announcements, re-engagement | Most flexible. Any template mixing content types ends up here. |
| Utility | Order confirmations, appointment reminders, account alerts, surveys tied to a real transaction | Must relate to a specific action or account. No upsells. |
| Authentication | One-time passcodes for login or verification | Fixed format, OTP button, no URLs, media, or emojis |
You pick the category, but WhatsApp decides the final one based on the content. If it disagrees with your choice, the template is rejected and you have to resubmit it in the right category. The most common mistake we see is an appointment reminder that ends with "…and book a facial for 20% off!" That one line makes the whole template Marketing.
How do you create a WhatsApp template in GHL?
- Confirm the sub-account has an active WhatsApp subscription and has completed onboarding.
- Go to Settings → WhatsApp → Templates → Create Template.
- Name it in lowercase with underscores, for example
appt_reminder_24h. - Choose the category and language.
- Add an optional header: text, an image, a video, a document, or (new) a dynamic media value.
- Write the body and insert variables as numbered placeholders:
{{1}},{{2}}, and so on. - Add a realistic sample value for every variable so Meta's reviewer sees a real-looking message.
- Add an optional footer and buttons: Quick Reply, Visit Website, Call Phone Number, Copy Offer Code, or Marketing Opt-Out.
- Check the live phone preview, fix any inline validation errors, and click Create.
- Track the status on the Templates list until it's approved and active.
To reuse a template's structure, use Clone from the three-dot menu instead of building a near-duplicate from scratch. Meta rejects templates whose body and footer are substantially the same as one you already have.
What changed in the October 2026 template update?
A single rebuilt builder with live preview. Category, type, name, body, media, buttons, and variables now all sit in one interface, and a phone mockup updates as you edit. The AI template generator and the WhatsApp builder in Reputation use the same builder.
Per-contact media headers. Media headers used to need one fixed public URL. Now the header can map to a contact custom field or another dynamic value, and HighLevel fills in a separate URL for each contact at send time. A single approved template can therefore send each contact their own invoice, contract, or personalized image without another round of Meta approval. This works in workflows, bulk actions, conversations, calendar sends, Reputation review requests, and Missed Call Text Back.
Limited Time Offer templates. This is a new Marketing template type. WhatsApp shows a live countdown in the chat, with a copy-code button and a URL button, and both buttons are required. You set the expiry each time you send, so one approved template can run many promotions. The countdown turns red in the final hour. Messages sent with an expiry that has already passed still go out, but they show as expired, so double-check the date before any bulk send.
How do per-contact media headers work in practice?
The pattern is simple: put a public HTTPS URL in a contact custom field, then map the template's media header to that field.
The hard part is getting the right URL into that field reliably. For one-off documents, a workflow can set it. For documents generated outside HighLevel, such as PDFs from a billing or document system, the usual approach is a small integration. It creates the file, stores it at a public URL, writes the URL to the contact through HighLevel API v2 with OAuth 2.0, and then triggers the workflow that sends the template. We used a similar pattern when building an automated insurance consent PDF app.
The URL has to be one Meta can download directly. Private Google Drive links, files behind a login, and empty fields all fail with an error.
What are the most common rejection and send failures?
- Body starts or ends with a variable. Always put text before and after each placeholder.
- Malformed placeholders. Unbalanced braces, non-sequential numbers, or tokens like
{{1$}}are caught either by HighLevel's inline checks or by Meta. - Too many variables for too little text. Meta treats a template that is mostly placeholders as a risk.
- Wrong category. Promotional wording in a Utility template gets it rejected.
- Missing or fake-looking samples. Give real-looking examples, such as a realistic first name or "March 14, 10:30 AM", not "test".
- Duplicate templates. Clone and change the content meaningfully instead of resubmitting near-copies.
- Quality drops after approval. Templates can move from High to Medium to Low quality, and then be Paused if recipients block or report them. Watch the status column, especially after big bulk sends.
- Dynamic media that resolves to nothing. Filter out contacts with an empty custom field before you send.
FAQ
How long does WhatsApp template approval take in GoHighLevel?
HighLevel doesn't give a fixed timeline because Meta does the review. While it's being checked, the template shows as In Review.
Can I edit an approved WhatsApp template?
Rejected templates can be edited and resubmitted, or appealed, from the three-dot menu. For an approved template you want to change significantly, cloning it into a new template is usually the cleaner route.
Can I send free-form WhatsApp messages from a workflow?
Only inside the 24-hour customer service window after the contact has messaged you. Business-started messages outside that window need an approved template.
Do Limited Time Offer templates need re-approval for each campaign?
No. The expiry is set when you send, so one approved template can be reused across promotions.
Need WhatsApp automations built properly in GHL?
DRGHL designs WhatsApp template libraries, workflow logic, and API v2 integrations that send per-contact documents and data into HighLevel, for agencies running WhatsApp across many sub-accounts. Book a discovery call and we'll map out your setup.
Related questions
- What does a GoHighLevel developer do?
- How do you set up call tracking number pools in GoHighLevel?
- Ask AI vs Conversation AI vs Managed Agents in GoHighLevel
Sources: How to Create a WhatsApp Template · WhatsApp Template Statuses and Best Practice · Template Categorisation Guidelines · Workflow Action – WhatsApp · Changelog: rebuilt WhatsApp template builder · Changelog: Limited Time Offer templates
Comments
Topics

