Skip to main content

Using WhatsApp Templates in Workflows

Pick a WhatsApp template, map HubSpot properties into its variables, and send it automatically whenever a HubSpot workflow fires.

Written by Tarek Khalil

Which templates you can use

The Send WhatsApp Template Message workflow action only lists templates that are:

  • Approved by Meta — templates in “Pending” or “Rejected” states never appear.

  • Active — templates that have been paused or removed are hidden.

  • Owned by the WhatsApp Business Number you selected in the action.

If a template doesn’t appear in the dropdown, check its status in the WhatsApp template manager — it’s almost always because the template has not yet been approved.

Choose a template

  1. Inside the workflow action configuration, pick a value in WhatsApp Business Number first. Changing this refreshes the template list.

  2. Open the Message Template dropdown and pick the template you want to send.

Each option in the dropdown shows:

  • The template’s name and language code, for example order_confirmation (en).

  • A short preview of the body text.

  • A Buttons list if the template has buttons.

  • A Requirements line summarizing which variables and attachments are needed, for example “2 body variables, 1 header variable”.

Once selected, only the fields that template actually uses appear in the panel — you won’t be asked to fill in variables the template doesn’t contain.

Variable types

WhatsApp templates can have up to four kinds of placeholders, and the workflow action exposes a field for each one that the selected template uses.

Body variables (up to 8): the fields Body Variable 1 through Body Variable 8 map to body placeholders in the order they appear in the template. If a template only uses two body variables, only Body Variable 1 and Body Variable 2 are required.

Header variable: if the template has a text header with a placeholder, fill in Header Variable.

Header media URL: if the template has a media header (image, video, or document), provide a publicly-reachable URL in Header Media URL. The file is fetched and attached when the message is sent.

Button URL or OTP: if the template has a URL button with a dynamic suffix, or it’s an authentication template with a one-time password, fill in Button URL or OTP.

Mapping HubSpot properties to variables

Every variable field supports HubSpot’s property picker. Click into a field and:

  • Type a static value to send the same text every time the workflow fires.

  • Use the token picker to pull a value from the workflow’s contact, deal, or other associated record — the contact’s first name, a deal’s amount, an appointment date, and so on.

Tip: Personalizing with properties turns a generic template into a tailored message. For example, an order_confirmation template can pull the contact’s first name and the order number from a deal property.

Preview before you activate

Although the configuration panel doesn’t render a full visual preview, the template’s dropdown description acts as the source of truth:

  • Check the preview text to confirm the variable ordering matches your expectations.

  • Check the requirements to confirm how many variables you need to fill in.

  • Check the buttons list to understand what interactions the template offers.

If anything looks wrong, fix it in the template itself before activating the workflow — the workflow action always reflects the template’s current state.

Common errors and how to fix them

  • Template not found — the template was paused, deleted, or rejected after you added it to the workflow. Re-open the action and choose a different approved template.

  • Missing body variables — the template requires more body variables than you’ve filled in. Add a value to each required field.

  • Missing header variable — a text header placeholder has no value. Fill in Header Variable.

  • Missing header attachment — a media header template has no Header Media URL. Provide a valid public URL to an image, video, or document.

Keeping templates workflow-ready

  • Don’t edit a template’s body once it’s used in a live workflow unless you re-test the action. Editing requires re-approval and will temporarily take the template out of the dropdown.

  • If you retire a template, remove it from the workflow action before archiving it in WhatsApp — otherwise the workflow will start failing.

  • Workflow actions follow the live template, so small fixes like typos are picked up automatically once Meta re-approves.


What’s next

Did this answer your question?