
A WhatsApp Form only reaches customers once something invites them to open it. The usual invitation is a message template carrying an Open Form button — the customer taps it and your form opens inside the same WhatsApp chat, with no link to click and no website to visit.
This article covers that connection: adding the Open Form button to a template and pointing it at the right form. For the form itself see How to Create a WhatsApp Form, and for everything else a template can do see Create & Manage WhatsApp Message Templates.
A template with one extra button under the message. On the customer’s phone it looks like a normal call-to-action, but instead of opening a browser it opens your form as a WhatsApp screen.

The live preview. The button under the message carries a small form icon — that icon is how customers tell a form button apart from a link.
Two things in that preview are worth noticing. The small document icon to the left of the button text is added by WhatsApp for form buttons and is not something you configure. And the button sits below the message body, always — button placement is fixed by WhatsApp, so you cannot move it inline.
Go to Marketing → Templates and click Create New Template, top right.

The Templates page. Create New Template is top right; the two tabs below it separate prebuilt library templates from your own saved ones.
The two tabs matter here. Library (Prebuilt) holds ready-made templates you can copy; My Templates (Saved) holds the ones your team has built. A template you create in this article lands in My Templates (Saved), and that is also where you come back to check whether Meta has approved it.
The top of the builder is the same for every template, form button or not.

The template basics. Module and Template name are the two marked required, and the helper text under Sending number is the one to read twice.
Reading down that screenshot:
| Field | What to know |
|---|---|
| Sending number | Which WhatsApp number the template belongs to. The note underneath — “Locked once approved” — is literal: after Meta approves the template you cannot move it to another number. |
| Module * | Defaults to Contacts. It decides which shortcodes are available, because “all shortcodes start with this module”. |
| Template name * | Lowercase letters, numbers and underscores only. This is Meta’s rule, not ours — spaces and capitals are rejected. |
| Category | Marketing, Utility or Authentication. Note the warning: “Meta may reclassify your template based on content review.” |
| Language | English, English (US), Spanish, Hindi, French, German, Italian, Portuguese (BR) or Arabic. |
Below these, pick Standard as the template type and write your Message body (up to 1,024 characters). The body is what appears above the button, so it should give the customer a reason to tap.
Scroll to the bottom of the form column. Buttons is off by default; switch it on.

The Buttons block once enabled. Two separate rows appear, each with its own Add button — the one you want is Call to action.
Enabling it reveals two independent rows, and picking the wrong one is the most common mis-step here:
Click Add button on the Call to action row. A card appears, and it does not start as a form button.

A fresh button card. It defaults to Visit Website, which is why the fields you see are URL type and URL — not a form picker.
Every new button starts as Visit Website, pre-filled with the text Visit us and a placeholder URL. That is why the card shows URL type and URL at this point. Notice that URL type is greyed out and stuck on Dynamic — that is deliberate and applies to link buttons only. Ignore all of it; the next step replaces these fields entirely.
The ✕ in the card’s top-right corner deletes the button if you add one by mistake.
Open the Type of action selector on the left of the card.

The three action types. Open Form is the third and last option — it is the only one that connects a WhatsApp Form.
Three options, and only one is relevant here:
| Type of action | What the button does |
|---|---|
| Visit Website | Opens a URL in the phone’s browser — takes the customer out of WhatsApp. |
| Call Phone | Dials a number you specify. |
| Open Form | Opens your WhatsApp Form inside the chat. This is the one. |
Choosing Open Form rebuilds the card. Compare it with Step 4:

The same card after switching to Open Form. URL type and URL are gone, replaced by a single Form selector; the button text has been reset to “Open form”.
Three things happened at once:
The selector reads Select an approved form and nothing is chosen yet. That placeholder text is a status indicator — it tells you what the CRM found:
| Placeholder | Meaning |
|---|---|
| Loading forms… | Still fetching. Wait a moment. |
| Select an approved form | Approved forms were found — open the list and pick one. |
| No approved forms available | None found. The selector is disabled, with the hint “Create and approve a WhatsApp Form first (WhatsApp → Forms).” |
Open the Form selector.

The form picker. Every entry here is an approved form — drafts and forms still in review are filtered out before the list is built.
This list is the whole point of the approval requirement. It is built from your approved forms only, so if a form you expect is missing, its status — not the template — is the problem. Check it on Marketing → WhatsApp Forms: anything showing Draft, In review, Rejected or Disabled is excluded.
Now — and only now — replace the default Open form wording with something that fits your message.

A finished form button. All three parts are set: the action is Open Form, the button says “Sign me up”, and a specific approved form is attached.
That screenshot is what a correctly configured form button looks like — if yours matches, you are done with this card. Two constraints on the wording:
Three buttons sit in the page header.

The header actions. Save as draft keeps the template private to your CRM; Save and ask for approval is what sends it to Meta.
| Button | What it does |
|---|---|
| Discard | Abandons the template. Nothing is saved. |
| Save as draft | Keeps your work in the CRM without involving Meta. Nothing is sent, and the template cannot be used yet. |
| Save and ask for approval | Saves, then submits to Meta for review. This is the one that makes the template usable. |
After a successful submit you are returned to the templates list, where the new template appears with its review status.
Once approved, the template can be used in campaigns and sent from contact records like any other — the button carries the form with it.
One thing changes permanently at approval: the form selector locks, showing “Form cannot be changed after Meta approval.” The form’s identity is baked into what Meta approved, so swapping it would invalidate that approval. To point at a different form, duplicate the template and attach the other form to the copy.
Almost always because it is not Approved. Open Marketing → WhatsApp Forms and check the status column — only Approved forms are offered. If it is still Draft, use Submit for approval from the row’s ⋮ menu; if it is In review, use Refresh status to re-check Meta’s verdict.
Two possibilities. If it reads “No approved forms available”, you have no approved forms yet. If it shows a form but will not open, and the note says “Form cannot be changed after Meta approval”, the template itself is already approved — duplicate it to attach a different form.
You can add up to three call-to-action buttons in total and set more than one to Open Form, each pointing at a different form. Give every button distinct text or the template will not submit. In practice one form button and one link or call button is easier for the customer to act on than three competing choices.
You are typing it before changing the action type. Switching Type of action resets the button text to that type’s default, which wipes anything you had written. Set the action type first, then the form, then the wording — in that order.
To the form, not the template. Everything a customer submits appears under the form’s Submissions and Report views, and — if the form has Create or update Contact switched on — is written to the matching Contact. The template is only the invitation.
OpenAI Engage and apply what you just learned to your own workspace.
Open AI Engage CRM