News

GoHighLevel WhatsApp templates now send each contact their own image or document

On October 15, 2026 HighLevel rebuilt its WhatsApp template builder with a live phone preview, and media headers can now read a custom field. One approved template can send every contact their own invoice, ticket or image. This note covers setup, why a send fails, and what to check first.

Key takeaways

  • Released October 15, 2026: one rebuilt builder with a live phone preview.
  • Media headers accept a custom field, so each contact gets their own file from one approved template.
  • Works in workflows, Conversations, bulk actions, calendars, review requests and missed call text back.
  • The link must be public: private Drive links, logins and empty fields fail.

What changed in the GoHighLevel WhatsApp template builder?

On October 15, 2026 HighLevel replaced its WhatsApp template builder with a rebuilt one that has a live phone preview, and media headers can now point at a custom field instead of one fixed URL. That means a single approved template can send each contact their own image, video or document.

The source is the HighLevel changelog entry A rebuilt WhatsApp template builder, plus per-contact media, first published October 15, 2026. It covers three things:

  • One builder. Category, type, name, body, media, buttons and variables sit on one screen. The AI template writer and the WhatsApp builder opened from Reputation now use the same builder.
  • Live phone preview. The preview updates as you edit the header, body, media and buttons, so you can catch a layout problem before the template goes to Meta.
  • Dynamic media URLs. The media header accepts custom fields and dynamic values. At send time the value resolves for that contact, and Meta receives a normal URL for that one message.

How do I create a WhatsApp template in GoHighLevel now?

In the sub-account, go to Settings, then WhatsApp, then Templates, and click Create. Pick the category and type, write the body with variables, add a media header and buttons if you need them, check the phone preview, and submit the template to Meta for approval.

  1. Open Settings → WhatsApp → Templates → Create (or Edit on an existing template).
  2. Choose the category (Marketing, Utility or Authentication) and the template type.
  3. Write the body. Use variables for anything that changes per contact, such as the first name or appointment time.
  4. For a media header, either paste one public URL or map it to a custom field (see the next section).
  5. Add buttons, then read the phone preview line by line.
  6. Submit for Meta approval. Approval is Meta's decision, and HighLevel does not change that step.

Two other places open the same builder: Reputation → Settings → WhatsApp Requests → Open WhatsApp Template Builder, and Settings → Phone System → Voice → Voicemail & Missed Call TextBack → Missed Call Text Back → Customize.

Can a WhatsApp template send a different image or document to each contact?

Yes. Store a public HTTPS link on a contact custom field, then map the template's media header to that field. When the message sends, each contact's own link is used. You get one approved template instead of one template per file.

One template, a different file for each contact

Dynamic media pathFlow: a public file link is stored on a contact custom field, the template media header is mapped to that field, Meta approves the template once, at send time the field resolves per contact, and each contact receives their own file; an empty or private link fails.Public link on a custom fieldInvoice, ticket, PDF or imageMap the media header to itSettings > WhatsApp > TemplatesMeta approves the template onceNo new approval per fileLink resolves at send timePer contact, per messageEach contact gets their fileEmpty or private link: send fails
Source: HighLevel changelog, October 15, 2026.

Before this release, a different image or document meant a different template, and every new template went back to Meta for approval. Now the approved template stays the same and only the resolved URL changes. Uses that make sense for the businesses we work with:

  • A clinic sends each patient their own intake form or care instructions PDF after booking.
  • A home services company sends each customer their own quote or invoice from the job record.
  • An event or class business sends each attendee a ticket with their name and seat.

In our dental clinic case study, WhatsApp confirmations ran beside SMS reminders and email follow-up. Per-patient documents are the kind of step this release makes simpler to add to a flow like that.

HighLevel's example pairs dynamic media with an image personalization service (it names NiftyImages): you design one image with a name placeholder, and each contact's URL renders their own version. We have not tested that service, so treat it as HighLevel's example.

Where can I send templates with dynamic media?

HighLevel lists six places: workflows and automations, Conversations, bulk actions, calendar appointment messages, Reputation review requests, and missed call text back. That covers most of the places a service business already sends WhatsApp messages from.

Where you send fromDynamic media supportedTypical use
Workflows and automationsYesSend the right document when a stage or form changes
ConversationsYesOne-off send from the inbox
Bulk actionsYesPersonalized image to a list
Calendar appointmentsYesConfirmation with a location map or prep sheet
Reputation review requestsYesReview request with a branded image
Missed call text backYesReply with a price list or booking card

Source: HighLevel changelog, October 15, 2026. For how replies and opt-outs behave once these messages go out, see what happens when a contact replies STOP.

Why did my dynamic media WhatsApp message fail?

The most likely reason is that the custom field did not hold a public link Meta could download. HighLevel says a private Drive link, a URL behind a login, or an empty field will fail, and that the failure shows clearly instead of sending the wrong file.

SymptomLikely causeFix
Message fails for some contacts, sends for othersThe custom field is empty for the failed contactsAdd a workflow condition: only send when the field is not empty
Fails for every contactThe link points to a private Google Drive or Dropbox fileUse a public HTTPS link that opens without a login
Fails after a link worked beforeThe link expired or now needs a loginRegenerate a permanent public link and update the field
Contact receives the wrong fileThe field was copied from another contact or a merge went wrongCheck the field value on the contact record before resending

To confirm the fix, send the template to a test contact whose field holds a working link, then open the message on a phone. The first, third and fourth rows are our reading of how custom fields go wrong in practice. HighLevel's entry only states the public-URL rule and the empty-field failure.

What should I check before switching my templates?

Check that every contact you plan to message has the custom field filled with a public link, that your workflows stop when the field is empty, and that the template still reads well in the phone preview. Then test on one contact before any bulk send.

  1. List the templates you cloned only to change an image or file. Those are the ones to replace with one dynamic template.
  2. Create or pick the custom field that will hold the link, and decide which system fills it (a form, an integration or a workflow).
  3. Add an "if field is empty" branch in each workflow that sends the template.
  4. Check the workflow cannot fire twice for the same contact. Our guide to GoHighLevel workflows sending duplicate messages covers the usual causes.
  5. Submit the new template and wait for approval before deleting old ones, so no automation points at a missing template.
  6. Send to yourself first, then a small group, then the full list.

If WhatsApp is part of a larger follow-up system, our GoHighLevel automation service builds and tests these flows, and the missed call recovery setup now can include a WhatsApp template with media.

What is still unknown?

HighLevel does not list file size limits, supported file types or what a failed send costs. It also does not say whether existing templates move to the new builder automatically, so check your template list after the change.

On October 19, HighLevel also announced a deadline to move WhatsApp marketing sends to MM Lite; see the MM Lite notice. Per-message prices by country are in WhatsApp message prices by country.

  • File limits: the entry does not state size or type limits for dynamic media. Meta's own media limits apply, and HighLevel does not restate them.
  • Billing on failure: the entry does not say whether a failed send is charged.
  • Existing templates: the entry says creating and editing happen in the rebuilt builder. It does not say anything about re-approval of existing templates, and we found nothing suggesting one is needed.

The same day HighLevel also added a countdown offer template type. We cover it separately in WhatsApp limited time offer templates in HighLevel.

Frequently asked questions

Do I need Meta approval again when the image in my WhatsApp template changes?

Not if the template uses a dynamic media header. The approved template stays the same, and only the link in the contact's custom field changes at send time. If you change the template itself, such as the body text or buttons, that is a new submission and goes through Meta approval again.

Can I use a Google Drive link as the WhatsApp media header?

Only if the link is fully public and downloads the file directly. HighLevel says private Drive links and URLs behind a login will fail. A safer choice is a public HTTPS link to a file you host yourself. Test it by opening the link in a private browser window: if the file appears without a login, Meta can usually fetch it too.

Does missed call text back support WhatsApp templates with media?

Yes. HighLevel lists missed call text back as one of the places that supports dynamic media headers. You set it under Settings, Phone System, Voice, Voicemail and Missed Call TextBack, then Customize. A missed caller could receive a booking card or price list by WhatsApp, as long as they have WhatsApp and the template is approved.

Is the new WhatsApp template builder available in every sub-account?

The changelog entry describes the builder as the way templates are now created and edited, and it does not mention a rollout stage or plan limit. WhatsApp itself must already be connected in the sub-account. If you do not see the new layout, refresh and check again before contacting HighLevel support.

Sources

Want WhatsApp follow-up built into your account?

Book a free 30-minute call. We map which templates you need, build the workflows and test every send before it reaches a customer.

Get in touch

Tell us what you want to automate or build.

Tell us a little about your business and what is not working, then pick a time for a free 30-minute call. No waiting for a reply.

  • Free 30-minute strategy call, no obligation
  • Written plan with scope and price before any build
  • Six months of maintenance included on every build
Alpit Patel
Alpit PatelFounder, Autoesta · HighLevel Certified Admin
  1. Details
  2. Time
  3. Confirmed

Takes under a minute. Free, no obligation, no spam. Privacy policy

Book a Free Strategy Call