> For the complete documentation index, see [llms.txt](https://help.1msg.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.1msg.io/docs/api-1msg/whatsapp-flow.md).

# WhatsApp Flow

## What is WhatsApp Flow

**WhatsApp Flow** is an interactive multi-step form within WhatsApp chat that allows users to perform actions without navigating to an external website.

You can **book appointments, browse products, collect customer feedback, generate new leads**, or do anything else where structured communication is more natural or comfortable for your customers..

{% columns %}
{% column %}

<div align="left"><figure><img src="/files/cPB9geMHJXiMyV7HJssQ" alt="" width="300"><figcaption></figcaption></figure></div>
{% endcolumn %}

{% column %}
WhatsApp Flow <mark style="background-color:green;">works as a unified interface with screens, rather than a sequence of separate messages</mark> unlike a regular bot in the message feed.

**Advantages:**

* Unified interface instead of a "wall of text" messages;
* High conversion rate;
* Improved UX;
* Structured data;
* Works with real data from your backend server.

  .

{% endcolumn %}
{% endcolumns %}

***

## Advantages of Flow compared to a regular bot

#### —  Unified interface instead of a "wall of text" messages

{% columns %}
{% column %}
Regular bot:

❌ Long conversation thread, inconvenient.

<figure><img src="/files/InCTXy2yItnK4Pr1xS87" alt="" width="533"><figcaption></figcaption></figure>
{% endcolumn %}

{% column %}
&#x20;   WhatsApp Flow:

&#x20;   ✅ Less chaos in the conversation.

<figure><img src="/files/N85TZrAvYOgE688Ey5lc" alt="" width="300"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

***

#### —  Structured data

{% columns %}
{% column %}
Regular bot:

❌ User can write text in free form, data is incorrect

<figure><img src="/files/rUAMtqKN8ON5M54CgQmM" alt="" width="375"><figcaption></figcaption></figure>
{% endcolumn %}

{% column %}
WhatsApp Flow:

✅ Fields are validated, data comes structured, fewer errors

<figure><img src="/files/2VC6eQnEgtT8iTB3mE1Q" alt="" width="313"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

***

#### —  Dynamic capabilities&#x20;

WhatsApp Flow can replace a full-featured web application.

{% columns %}
{% column width="50%" %}
❌ Regular bot in the feed most often does not update data in real time
{% endcolumn %}

{% column width="50%" %}
✅ WhatsApp Flow can update data in real time (check inventory, pull appointment slots, etc.).
{% endcolumn %}
{% endcolumns %}

***

Also:&#x20;

{% columns %}
{% column width="50%" %}

#### Higher conversion rate

User completes the scenario faster and gets "lost" less often.

✔️ Keeps attention in one interface

✔️ No need to scroll through chat

✔️ Doesn't break the process into 10 messages
{% endcolumn %}

{% column width="50%" %}

#### Improved UX

Reduces friction and increases scenario completion.

✔️  Looks like a built-in application

✔️  No need to navigate to a website

✔️ Doesn't open a browser

✔️ Works directly inside WhatsApp
{% endcolumn %}
{% endcolumns %}

***

## Types of WhatsApp Flow

There are two types of WhatsApp Flow: static and dynamic.

#### Static WhatsApp Flow

Static Flows are simple forms designed to collect structured data (e.g., lead generation, contact collection, service booking, event registration, or product interest).

Features of static Flows:

* **Predetermined structure:** all steps (screens, actions, transitions) are fixed in advance; do not require backend server connection;
* **User path is limited:** cannot dynamically change the next screen or transition logic based on data received during the process.
* **Data is sent at the end** (e.g., form result), but data transfer between screens is limited.
* **Used for:** simple surveys, questionnaires, instructions with fixed steps.
* **Support** all components (forms, selections, buttons), except images.

Example:

1. Screen A → Screen B → Screen C
2. Results are collected at the end and sent to the server.

Between A and B you cannot change the next screen based on entered data — the route is fixed in advance.

#### Dynamic WhatsApp Flow

Dynamic Flows are suitable for more complex scenarios, such as appointment booking, order creation directly in CRM, product reservation, showing personalized offers, checking order status, and much more.

Features of dynamic Flows:

* **Flexible structure:** user path can change on the fly depending on data entered or server events. Real-time interaction;\
  data exchange with backend server.
* **Data transfer between screens:** full-featured, can use intermediate values for calculations and determining next steps.
* **Used for:** personalized scenarios, complex logic, for example:
  * If user selected "Yes" → next screen X
  * If "No" → next screen Y
* **Data can be sent at any time**, not only at the end, and new flow branches are built based on it.
* **Support** all components (forms, selections, buttons), including images.

Example:

1. Screen A → user enters a number
2. Screen B → if number > 10 → Screen C, otherwise → Screen D
3. Screen C/D → result is sent to the server

***

## Examples of WhatsApp Flow

{% tabs %}
{% tab title="Registration" %}
**Registration**

<figure><img src="/files/Z5GxYD6PYxOminjlTIOH" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Booking" %}
**Booking**

<figure><img src="/files/1CiIUfo85x1kHdJ2NIx6" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Feedback " %}
**Feedback collection**

<figure><img src="/files/M57morqEZOYwdONk1nL1" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Survey" %}
**Survey**

<figure><img src="/files/27azyug3lo3VnpFwMHzw" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Customer response" %}
Users always have access to their selected answers and entered data directly in the conversation history with you.

<figure><img src="/files/9k8pITGCcTlCXIAJol1b" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

***

## Limitations

{% hint style="warning" %}
WhatsApp Flow is not supported in WhatsApp Web and WhatsApp Desktop (Windows / Mac)
{% endhint %}

Flow limitations:

* Up to 8 screens per WhatsApp Flow
* Up to 30 components per screen

***

## How to get started with WhatsApp Flow

{% stepper %}
{% step %}

### Creating WhatsApp Flow

The structure of screens is created and fields and transition logic are configured.\
You can create WhatsApp Flow through the Meta interface or through the 1MSG API.

More details in the article:

{% content-ref url="/pages/UrIajVZBgghjwvvrbla6" %}
[Creating WhatsApp Flows](/docs/api-1msg/whatsapp-flow/creating-whatsapp-flows.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Publishing WhatsApp Flow

WhatsApp Flow goes through publication and becomes available for use..
{% endstep %}

{% step %}

### Binding to a template

WhatsApp Flow is attached to a template message through which it will be launched to the user.&#x20;

You can also send it **as a service (free) message.**

More details in the article - Sending WhatsApp Flow message
{% endstep %}

{% step %}

### Отправка клиенту

WhatsApp Flow is sent through the 1MSG API.

{% content-ref url="/pages/zU1WuBZAyWdd2K0wPikn" %}
[Sending WhatsApp Flow](/docs/api-1msg/whatsapp-flow/sending-whatsapp-flow.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Receiving data

After completion:

* data is transmitted via webhook
* or processed by backend server (for dynamic Flows)
  {% endstep %}
  {% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.1msg.io/docs/api-1msg/whatsapp-flow.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
