Skip to main content
WhatsApp forms are multi-screen questionnaires that customers complete inside WhatsApp. You build them in Chatarmin, publish them to your WhatsApp Business account, and open them with an Open form button on a message template.
WhatsApp forms are not the same as Chatarmin Flows. Flows automate conversations in Chatarmin; WhatsApp forms are Meta-native forms opened from a template button.Meta calls this feature WhatsApp Flows in its own documentation — see WhatsApp Flows on Meta’s developer site for background on what the platform supports. Chatarmin names them forms to keep them apart from Chatarmin Flows.
Forms can only be sent from a flow, using a Send template step. Templates with an Open form button do not appear in the template list on Send Campaign or A/B testing.This is because answers are only recorded while a flow is waiting on the form it sent. A form sent from a campaign would be delivered and filled in, but the answers could not be used to branch in a flow.

When to use it

Use WhatsApp forms when you want structured answers without leaving WhatsApp—for example surveys, lead capture, sign-ups, appointment requests, or support intake.

Set it up

1

Open WhatsApp forms

In the dashboard, go to Templates → WhatsApp forms, or open WhatsApp forms.
2

Create a form

Click New form, enter a name (each form needs a unique name on your WhatsApp account), and click Create.
3

Build screens

Add one or more screens. For each screen, set a screen name, add content blocks, and set the footer button label (for example Continue).You can add:
  • Text — heading, subheading, paragraph, small note
  • Media — image (PNG or JPEG, up to 300 KB, max 3 per screen) or embedded link
  • Text answer — short answer, long answer, or date
  • Selection — dropdown, single choice, multiple choice, or consent (opt-in)
WhatsApp embeds form images in the form itself rather than loading them from a URL, so Meta caps them tightly. Images above 300 KB are rejected when you save, with the message “image is too large (max 300 KB)”. Resize or compress the image before uploading it.Meta documents these limits — and every block type a form can contain — in its Flow JSON components reference.
Drag screens and fields to reorder them. Answer fields need a label, an answer name (lowercase, no spaces, unique across the whole form), and you can mark whether the customer must answer.
4

Save and publish

Click Save. Fix any validation messages shown at the top of the editor. When the form is valid, click Publish so customers can open it.Use WhatsApp preview (after save) to see the form as customers see it on WhatsApp.
5

Add the form to a template

When creating or editing a template, add a button and choose Open form. Set the button text (up to 25 characters) and select a published form from the list.Submit the template for Meta approval as usual. The form must stay Published for the button to work.
6

Send the template from a flow

Add a Send template step to a flow and choose the template with the Open form button. On that step you can:
  • Prefill the form — fill fields with fixed text or values from contact fields (first screen only)
  • Save answers to the contact — map each form answer to a contact field, or leave a field unmapped if you only use the answer for branching
Leave a mapping empty if the answer should only drive the next step in the flow and not update the contact profile.

Branch on the answers

After the Send template step, the flow waits for the customer to submit the form. Add an If/Else node next to route contacts by what they answered.
1

Add the condition

In the If/Else node, pick Form answer from the condition list.
2

Choose the question

The second field lists the questions of the forms sent earlier in this flow, shown as question (screen). Pick the one to check.If the list is empty, the node shows “No form step before this condition”: there is no form step before this point in the flow.
3

Choose what to compare

  • Answer equals — the answer matches the value you type
  • Answer does not equal — the answer is something else
  • Answer was given — the customer answered at all (no value needed)
Set Match any / all at the top of the node to combine several questions in one condition — useful when a long form should route on more than one answer. There is no limit on how many conditions you add, so every question in the form can be checked.
Comparisons are exact. For multiple-choice answers the selected options are joined with commas, so Answer equals has to match the whole selection. To match a single option out of several, map that answer to a contact field with Save answers to the contact and branch on Properties instead, which offers more comparison options.A condition reads the most recent form the contact submitted in the flow. If a flow sends two different forms, conditions after the second one cannot read answers from the first.

Send the answers to your own system

Every form submission also fires the form/submitted webhook topic, so you can forward answers to a CRM, data warehouse, or any endpoint of yours — no flow step required. Create the webhook with the Chatarmin API and subscribe it to form/submitted. Each delivery contains:
The webhook fires for every submission of the form, whichever flow sent it, and it carries the full answer set — so it is the way to collect answers outside Chatarmin without adding steps to a flow.

Manage forms on the list page

Each row shows Sent, Submitted, Completed (completion rate when sent > 0), Screens, and last updated time. Use the ⋯ menu on a form: Filter with Search forms and All Status (Draft, Published, Deprecated).

Categories

Each form has a category (Survey, Contact us, Customer support, Appointment, Lead, Sign up, Sign in, Other). Meta uses this for labeling only—it does not change how the form looks or behaves.

After publish

  • Draft forms are fully editable. Published and Deprecated forms are read-only in the builder.
  • To change a published form, Duplicate it, edit the copy, and publish the new version. Deprecate the old form if you no longer need it.
  • You can rename a published form in Chatarmin; that does not change the name on WhatsApp.

Best practices

  • Give every answer field a clear label and a unique answer name before you publish. Labels are what you pick from in the Form answer condition, so write them so you recognise the question later.
  • Keep images small (300 KB or less) and test with WhatsApp preview before linking the form in a live template.
  • Export answers periodically if you need offline reporting.
  • Deprecate old forms instead of deleting them while a template still references them—update the template to a new published form first.

Troubleshooting

Save or Publish shows errors
Read the red messages at the top of the editor. Common fixes: fill required fields, fix duplicate answer names, or upload a valid image (PNG/JPEG, max 300 KB, max 3 per screen).
The image does not appear in the form on the phone
Re-save the form. If the image was added to a form that is already Published, duplicate the form, save the copy, and publish that — a published form’s content cannot be changed on WhatsApp.
Publish is disabled
Save first and clear all validation errors.
No forms in the template dropdown
Only Published forms appear. Publish the form before editing the template.
The form template is missing on Send Campaign
That is intended: forms can only be sent from a flow. Use a Send template step in a flow instead.
The Form answer condition has no questions to pick
The If/Else node only lists questions from form steps that come before it in the flow. Move the condition after the Send template step that sends the form.
Customers cannot open the form
Confirm the form is Published, the template is approved, and the form was not Deprecated or deleted.
I need to edit a live form
Duplicate the form, publish the duplicate, update your template button to the new form, then deprecate the old one.