On this page

An approved WhatsApp template can be sent from four places outside the inbox itself: a chatbot flow's Send Template node, a drip sequence step, a flow that starts the moment a new lead arrives, and the inbox's own send-template option for replying outside the open conversation window. All four ultimately use the same tracked send path, so the same safety checks apply regardless of which one triggered the message.
Before you start
- The template must already be Approved; a Pending, Rejected, Paused or Disabled template does not appear in any of these pickers.
- You need the relevant permission for whichever automation you are editing (flows:edit for a flow node, sequences access for a sequence step).
- Variable mapping at this stage uses contact data, not the sample values entered while building the template; those samples are for Meta's review only.
Steps
- From a flow: add a Send Template node. In the flow builder, drag a Send Template node onto the canvas. Select the approved template and its language, then map each
{{n}}variable to a value, typically an interpolated contact field like the contact's name or a custom field.

Carousel templates are handled automatically. If the chosen template is a carousel, the flow executor detects this at send time and builds the full multi-card payload, including each card's header image or video, without any extra configuration on the node.
From a sequence: add a template step. In a drip sequence, add a step and set its type to Template, then pick the approved template. Internally, VGraple CRM converts this step into the exact same Send Template flow node used above, so a sequence step behaves identically to a flow node with the same template selected.
From a new lead: a flow with the New lead arrives trigger. In the flow builder, set the trigger to New lead arrives, narrow it by source, campaign, form, pipeline or chat widget, and make a Send Template node the first step. The lead's fields (
{{name}},{{email}},{{campaign_name}}, every form answer) are available as variables. A lead with a phone number gets a WhatsApp contact created at once; one without waits until that person messages you. See flow triggers.From the inbox, for a conversation outside the open window. When the 24-hour customer service window has closed, the inbox's compose box switches to templates only; see sending a template from the inbox for that specific flow.
Every path uses the same tracked send. Whichever automation triggers it, the send resolves (or creates) the contact, checks opt-out and blocked status before sending, records the message in the conversation history with its rendered body (variables substituted with the values actually used, not the sample values), and publishes it live to the inbox and any connected mobile session.
What you will see
A template sent from a flow or sequence appears in the contact's conversation in the inbox exactly like a manually sent template, with the rendered body showing the actual values used rather than the raw {{n}} placeholders. The conversation this creates lands as resolved rather than open, since it was system-initiated, so automated sends do not pile up in your team's open queue waiting for someone to act on a message the customer has not replied to yet.
Settings and options
| Automation | Where to set it | What it sends |
|---|---|---|
| Send Template flow node | Flow builder canvas | Any approved template, including carousels, with variables mapped from contact and flow data |
| Sequence template step | Drip sequence editor, step type "Template" | The same as a flow node; built on the identical execution path internally |
| New lead arrives flow | Flow builder, trigger set to New lead arrives | A Send Template node as the first step, sent the moment a matching lead is created |
| Inbox template send | Conversation compose box, outside the 24-hour window | Any approved template, for a specific contact, sent manually by an agent |
Meta rules this protects against
This check only applies to Marketing-category templates; Utility and Authentication templates are exempt from Meta's marketing frequency cap and are unaffected by it.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Flow node shows no templates to pick | No templates are Approved yet, or the flow's channel differs from the template's WhatsApp Business Account | Check the Templates page for Approved status; confirm the flow and template are on the same channel |
Template sent from a flow shows raw {{1}} instead of a real value | The variable mapping references a contact field that was empty for this specific contact | Check the field mapping; consider a fallback value where the flow supports one |
| "Skipped: Meta is limiting marketing messages to this recipient" | The recipient recently triggered error 131049 (frequency cap) and the 24-hour suppression window has not passed | Wait for the window to clear, or use a Utility-category template for the transactional parts of the message instead |
| "Skipped: this recipient stopped marketing messages from this business" | The recipient tapped Stop on a previous marketing message from you (error 131050) | Do not resend Marketing content to this contact; a Utility-category template for genuinely transactional alerts is still allowed |
| Automation rule's template never sends | The rule has no phone number to reach, usually a lead with no phone field filled in | Confirm the lead or contact actually has a phone number before the rule fires |
| Carousel template sent from a flow arrives with a blank card image | The carousel's card was synced from Meta and only carries the review handle, not a hosted URL a send can fetch | Re-upload the card's media through the builder so a hosted link is stored alongside the review handle |
Related reading
For the underlying template itself, start with building the header, body, footer and buttons, and for building the flow that sends it, see building your first chatbot flow.