Home/Help Center/Form not delivered

Troubleshooting

WhatsApp Form Was Not Delivered

You sent a WhatsApp form and the customer never saw it, or a flow step sent nothing. The five reasons it happens, in the order to check them, and what to do about each.

By Chirag Darji · Updated 20 Oct 2026 · 6 min read

On this page
  1. Start in the conversation
  2. It never left
  3. Meta refused it
  4. The same form keeps arriving
  5. What the delivery states mean here
  6. Two numbers, one workspace
  7. Before you send to a list

A WhatsApp form (Meta calls it a WhatsApp Flow) goes out as a message. So when a customer never sees one, there are only two possibilities: it never left, or Meta refused it. The Inbox tells you which, and that answer narrows the cause to one of five.

Start in the conversation

Open the contact's conversation in the Inbox and look for the form message.

  • No form message in the thread. It never left. Go to "It never left" below.
  • The form message is there with a failure line under it. Meta refused it. The line says why, in plain words. Go to "Meta refused it".
  • The form message is there and delivered. It arrived. If the customer says otherwise, check that they are looking at the same number you sent from, and that they have not got an older thread open with your other number.

It never left

The form is still a draft. Meta only serves a published form to a customer. Open Settings, WhatsApp, Forms. If the status reads Draft, publish it. A draft is a real version at Meta, which is why it looks complete everywhere except to the customer.

The form belongs to a different number. A form is stored at Meta against the WhatsApp number it was created on. If your workspace has more than one number, the second one is a separate account at Meta and cannot open the first one's form. Sending is refused with the names of both numbers, so the message says which number owns the form. Create the form again on the number that will send it.

A retired form behaves the same way: once deprecated, WhatsApp stops serving it, and a flow step still pointing at it sends nothing. Point the step at a published form.

Meta refused it

The 24 hour window is closed. A form is an ordinary message, not a template, so it can only go to someone whose own message opened the 24 hour window. After that window closes, Meta refuses it. Send an approved template first, and send the form once the customer replies. Inside a flow, put the form step after a step that the customer has just answered.

The number cannot start conversations. If Meta has blocked or limited the number, messages your business starts are refused while replies still work, so a form sent from a flow can fail while the rest of the conversation looks healthy. Settings, WhatsApp, Numbers shows the number's state and what Meta says about it. Only you can clear it, in your own Meta account.

The contact has no phone number. A contact created from a WhatsApp username has no number until they message you. There is nothing to send to, and the result says so.

The same form keeps arriving

A form does not resend itself. Something is starting the flow again, and it is almost always one of these:

  • a keyword trigger that matches the customer's replies as well as their first message, so every reply starts the flow again;
  • two flows whose triggers both match the same message;
  • the customer tapping the button on an older form message in the thread, which starts a new submission.

Open the flow, look at what starts it, and make the trigger narrower. A keyword matches whole words and the most specific flow wins, so "book" and "book a table" can both be live without clashing.

What the delivery states mean here

A form message carries the same four states as any other message, and they answer different questions:

  • Sent means Meta accepted it. It says nothing about the customer's phone yet.
  • Delivered means it reached the device. From here on, a customer who cannot see it is looking in the wrong thread or has the chat archived.
  • Read means they opened the conversation, not that they opened the form. A form that was delivered and read but never submitted is a form the customer chose not to fill in, which is a content question rather than a delivery one.
  • Failed carries Meta's reason in the line underneath, which is the one place worth reading before changing anything.

A form that was accepted and then failed at the device is rare and is almost always a WhatsApp version too old to open flows. There is nothing to configure for that: the customer updates WhatsApp, or you collect the same answers with a web form link instead.

Two numbers, one workspace

Most of the confusion in this area comes from a workspace with two WhatsApp numbers. Forms, templates and quality ratings all belong to a number, not to the workspace, because that is how Meta stores them. A form built on the first number is invisible to the second, a template approved on one is not approved on the other, and a block on one number leaves the other sending normally. If you run a second number for a second branch or brand, expect to build each form twice, and name them so the copies are easy to tell apart.

Before you send to a list

Send the form to yourself first, from the forms list. That proves three things at once: the form is published, the number that owns it is the number sending, and the fields read the way you expect on a phone. It costs one message.

Frequently asked questions

I pressed Send on a form and nothing arrived. Where do I look first?
The conversation in the Inbox. A form goes out as a message like any other, so if it left, it is in the thread with a delivery state under it. If there is no message in the thread at all, it never left, and the reason is one of the first two below. If the message is there with a failure under it, the reason is in that line.
Can I send a form to someone who has not messaged me?
Not as a form on its own. A form is sent as an ordinary message, so it needs an open 24 hour window, which the customer's own message opens. Outside the window, send an approved template first and send the form once they reply.
Why does a form built on one number refuse to send from another?
A form belongs to the WhatsApp number it was created on, because that is where Meta stores it. A second number is a separate account at Meta and cannot see it. Create the form again on the number that will send it.
My draft form looks finished. Why will it not send?
Meta only serves a published form. A draft exists in your workspace and at Meta as an unpublished version, and WhatsApp will not open it for a customer until you publish it. The form's status is on the forms list.
The same form keeps arriving for one customer. What causes that?
Something is starting the flow again: most often a keyword that matches each time the customer replies, or two flows whose triggers both match. Check which flow sent it and what starts that flow, then narrow the trigger.
Does a form that was never delivered cost anything?
No. Meta charges delivered messages. A form that never left, or that Meta refused, is not billed.

Run your WhatsApp on VGraple CRM

Free forever plan, official Meta WhatsApp Business API, set up in 15 minutes. No card needed.