WhatsApp & Outreach
The Copilot can generate the structured forms customers complete inside WhatsApp, draft outbound templates for order updates, promotions, and reminders, and wire up what happens when a customer replies. WhatsApp Flow generation is a dedicated Copilot capability, separate from broadcast templates and AI conversation flows.
WhatsApp Flows
Ask the Copilot to create or update a WhatsApp Flow: a structured, multi-screen form that opens inside WhatsApp. It generates an editable draft for you to review; it does not publish the Flow automatically.
"Create a WhatsApp Flow for appointment booking." "Generate a form from the warranty registration task." "Build a two-screen flow where the customer picks a date and then an available time slot." "Add phone verification by sending and validating an OTP."
Generate a Flow from a task
Name an existing task when its objectives should define what the form collects. The Copilot uses the task's objective parameters as the form field names, so submitted answers map back to the task. It leaves computed objectives out of the form because the task calculates those values after submission. A Flow may collect only the customer inputs it needs; the task can continue resolving its remaining objectives and run its configured actions afterward.
For the best result, include the task name and any desired grouping or order:
"Using the
installation_registrationtask, create a WhatsApp Flow that collects the product, purchase details, address, and preferred installation date. Put the address on its own screen."
What it can generate
- One or more screens with headings and explanatory text.
- Text, long-text, number, email, phone, password, passcode, date, and opt-in inputs.
- Dropdowns, radio buttons, and checkboxes with fixed options.
- Conditional fields, such as showing different purchase-detail fields for online and offline purchases.
- Dynamic choices powered by an existing option data point, such as products, orders, dates, or time slots.
- Search-and-select journeys in which a customer enters a search term and chooses a result on the next screen.
- Immediate validation or actions powered by an existing data point or execute action, such as sending an OTP, validating an OTP, or checking availability.
The Copilot only uses data points and execute actions that already exist. If the requested Flow needs a missing lookup or action, ask the Copilot to create that workflow-library capability first, or include both requests together so it can order the work before generating the Flow.
After reviewing and saving the draft, publish it through the normal WhatsApp Flow workflow. To open it from an AI task, select the published Flow on the relevant ask-customer objective and use the WhatsApp Flow button option.
Attach a published Flow to an objective
Creating the WhatsApp Flow and presenting it during an AI conversation are separate configuration steps. After the Flow is published, create or update a reusable Flow form objective, then add that objective to the task that should present it.
"Create a reusable Flow form objective named
customer_details_formusing the publishedCustomer detailsWhatsApp Flow. Ask the customer to complete the attached form."
"In the
address_changetask, make thecustomer_details_formobjective present the publishedCustomer detailsWhatsApp Flow."
New Flow form objectives are WhatsApp-only and use the objective's ask instruction to frame the message. Existing objectives that predate these settings continue to use their saved Flow metadata instruction on WhatsApp. See Flow form channel and message behavior for the compatibility rules.
An unsupported channel does not receive a plain-text replacement form. The objective is skipped for that invocation and the task continues to its next eligible objective. Manual ticket creation also omits channel-scoped Flow form fields, even when WhatsApp is selected as the ticket source.
Prefill a Flow from task values
Ask for field-level mappings when a value already collected by the task should appear in the form. Name the task, form objective, source objective param, target screen, and target field whenever possible.
"In the
address_changetask, prefillcustomer_details_formfieldCONTACT.phone_numberfrom thecustomerPhoneobjective andCONTACT.emailfromcustomerEmail. Preserve the existing Flow and all other mappings."
The source objective must have a valid value before the form is sent. A missing, inactive, null, or blank source leaves that field empty without preventing the form from opening. Values are copied as-is, so put normalization or validation on the source objective rather than expecting the prefill mapping to transform it.
The Flow definition must also expose the target field as prefill-ready. If it does not, first ask the Copilot to enable prefilling on the Flow, review the non-destructive Flow update, and republish it:
"Enable prefilling for the phone and email fields in the published
Customer detailsWhatsApp Flow without changing its visible fields or copy."
Changing only the task mapping does not require editing the Flow when the field is already prefill-ready. For the complete runtime behavior and troubleshooting checklist, see Prefilling form fields.
Reuse a form with its supporting objectives
Use a single library objective when only the form objective should be copied into another task. Use an objective collection when the form, customerPhone, customerEmail, conditions, or other supporting objectives must remain live-linked as one reusable block.
All objective params referenced by a collection's Flow prefill mappings must be members of that collection. Prepare the self-contained block with Copilot, then create and link the collection from the Library and flow-editor controls.
WhatsApp templates
Create or update a broadcast template draft — name, category, body, variables, header, footer, and buttons.
"Create a WhatsApp template for order delivered." "Make this template pass as utility instead of marketing." "Add a Track order button and a
{{1}}variable for the customer's name." "Draft a reminder template for an abandoned cart with a quick-reply Yes/No."
A couple of things that affect approval and cost:
- Category matters. WhatsApp classifies templates as utility (transactional — order updates, alerts) or marketing (promotional). The category affects both whether the template is approved and how it's priced, so ask for the one that matches the message's actual purpose. If a draft reads as promotional, WhatsApp will treat it as marketing regardless of the label.
- Variables are placeholders (
{{1}},{{2}}) filled in per recipient at send time. Name what each one is for so the template body reads correctly. - Templates you draft here are the same ones sent from Broadcasts and picked in Settings → Message Templates.
Template reply hooks
Configure what happens when a customer replies to a template — either by tapping a button or sending a text reply. This is what turns a one-way notification into an interaction: a reply can run an action, start a flow, or stop the AI from taking over.
"When the user clicks Yes on
order_confirmation, run the create-shipment action." "Stop the AI flow when the customer clicks Cancel on the cancel-order template." "When someone replies to the feedback template, start the CSAT flow."
When you set up a hook, name three things:
- The template it attaches to.
- The trigger — which button, or a text reply.
- The response — run an execute action, start a specific flow, or stop automation so a human takes it.
Related
- Broadcasts — WhatsApp templates, events, and campaigns.
- Flows — task objectives and the WhatsApp Flow ask-customer option.
- Data Points — reusable lookups and actions that can power dynamic forms.
- Settings → Message Templates — choosing which approved templates agents can send.
- Copilot overview