> For the complete documentation index, see [llms.txt](https://docs.omnichat.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.omnichat.ai/en/features/marketing/chatbot-2.0/whatsapp-flow-card-whatsapp-only/whatsapp-flow.md).

# WhatsApp Flow

{% hint style="info" %}
WhatsApp Flow is a form tool developed by Meta. Businesses can use Omnichat to integrate Flow into their marketing tools and send it to customers. Flow is a highly flexible interactive form that allows you to design multi-step processes and various fields (such as dropdown menus and text boxes) to enhance the user experience.

Additionally, Omnichat supports webhook integration, enabling real-time transmission of user-submitted data to the backend for processing. It also allows for data storage using custom attributes and can be combined with journey settings to automate subsequent workflows, achieving more comprehensive operational integration and personalized interactions.
{% endhint %}

## Key Features & Setup Steps

### Step 1: Go to the WhatsApp Flow builder to set up your Flow [![](https://static.xx.fbcdn.net/rsrc.php/y5/r/m4nf26cLQxS.ico)Developer Platform](https://developers.facebook.com/documentation/business-messaging/whatsapp/flows/playground)

### ​​Screens

* Users can view the title of each Flow Screen to understand the form’s purpose
* A Flow can have up to 8 screens

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FXltkmgB31m1uXtV8asy7%2Fimage.png?alt=media&amp;token=b0ff6032-f0ed-4868-96ab-10503b44358e" alt=""><figcaption></figcaption></figure>

### ​​Edit Content

* Each screen can contain up to 8 pieces of content

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FBMwGvl8nu0aGfFmv9YqP%2Fimage.png?alt=media&amp;token=f1a9caff-ed0c-4155-a3fa-756ac9a51fa0" alt=""><figcaption><p>Add content</p></figcaption></figure>

### Content type

{% hint style="info" %}
Text - Suitable for use as a title, form instructions, etc.
{% endhint %}

* **Large Heading**
  * Maximum 80 characters
* **Small Heading**
  * Maximum 80 characters
* **Body**
  * Maximum 4096 characters
* **Caption**
  * Maximum 4096 characters

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FK8r0N3HCL79TelvRusFv%2Fimage.png?alt=media&amp;token=15fa798e-d952-4ac1-af9a-67c9ef092a1a" alt=""><figcaption></figcaption></figure>

***

#### Media

{% hint style="info" %}
Suitable for form icon descriptions and company logos.
{% endhint %}

* **Image**
  * Maximum file size: 300 KB
  * Acceptable file types: JPEG, PNG

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FiDlE4Qfet9UhnFh9DLYw%2Fimage.png?alt=media&amp;token=f2aaa5dc-256e-4659-b60b-c16da01bdfc3" alt=""><figcaption></figcaption></figure>

#### Text Answer

{% hint style="info" %}
An important element in form design used to collect customer responses to questions.
{% endhint %}

* Short Answer
  * You can control the type of content you want customers to enter. The options are as follows:
    * Text
    * Password
    * Email
    * Number
    * Passcode
    * Phone
  * Label
    * Maximum 20 characters
    * Used as the field title; this field will be returned by Omnichat
  * Instructions
    * Optional
    * Maximum 80 characters
  * Required toggle
    * Default as required

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FWbv6yx7BVFDXFltrZREN%2Fimage.png?alt=media&amp;token=091dfbbb-0247-49e8-a432-57fdff093318" alt=""><figcaption><p>Short Answer</p></figcaption></figure>

* Paragraph
  * Label
    * Maximum 20 characters
    * Used as the field title; this field will be returned by Omnichat
  * Instructions
    * Optional
    * Maximum 80 characters
  * Required toggle
    * Default: Required
  * Customer can enter up to 600 characters

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FA5HgD2iU4pFqConWOoTd%2Fimage.png?alt=media&amp;token=403a2382-9ce1-4302-9319-f95869322a8d" alt=""><figcaption><p>Paragraph</p></figcaption></figure>

* Date Picker
  * Label
    * Maximum 20 characters
    * Used as the field title; this field will be returned by Omnichat
  * Instructions
    * Optional
    * Maximum 80 characters
  * Required toggle
    * Default: Required
  * Cannot set a range

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2F99WjhZVIzB78khKPP6Ri%2Fimage.png?alt=media&amp;token=a3acf6f6-34ba-40cb-ae79-4ee591bc0ce3" alt=""><figcaption><p>Date Picker</p></figcaption></figure>

***

#### Selection

{% hint style="info" %}
An important element in form design used to collect customer responses to questions.
{% endhint %}

* Single Choice
  * Label
    * Maximum 30 characters
    * Used as the field title; this field will be returned to Omnichat
  * Options
    * Maximum 30 characters per option.
    * Maximum 10 options
    * Items provided for customer selection (single selection)
  * Required toggle
    * Default as required

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FqNghyNARKwQYfaeLcUBM%2Fimage.png?alt=media&amp;token=62785cd2-b2c0-448f-b694-6f66956a3c2a" alt=""><figcaption><p>Single Choice</p></figcaption></figure>

* Multiple Choice
  * Label
    * Maximum 30 characters
    * Used as the field title; this field will be returned by Omnichat
  * Options
    * Maximum 30 characters per option.
    * Maximum 10 options
    * Items provided for customer selection (multiple selections allowed)
  * Required toggle
    * Set as required by default
* Dropdown
  * Label
    * Maximum 20 characters
    * Used as the field title; this field will be returned by Omnichat
  * Options
    * Maximum 80 characters per option.
    * Maximum 30 options
    * Items provided for customer selection (multiple selections allowed)
  * Required toggle
    * Default as required

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2Fs50K7P0y2ZsAtygveNlQ%2Fimage.png?alt=media&amp;token=c0d66087-942d-459a-96d3-b3852bb24d5b" alt=""><figcaption><p>Dropdown</p></figcaption></figure>

* Opt-In
  * Label
    * Maximum 300 characters
    * Used as the field title; this field will be returned by Omnichat
  * Read more link
    * Used to manage the company's T\&Cs & Privacy
    * Optional
    * You can add the following formats:
      * Large Heading
      * Small Heading
      * Body
      * Caption
      * Image

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FlzQuKXaX2Ou0hpxxB9kb%2Fimage.png?alt=media&amp;token=7e903acd-6047-454c-818a-69f52b544b63" alt=""><figcaption><p>Opt-In</p></figcaption></figure>

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2Fcvr8e7LnhOg4IEPiWR4P%2Fimage.png?alt=media&amp;token=45f7af80-6b08-4c87-a591-3932acea8f3a" alt=""><figcaption><p>Read more</p></figcaption></figure>

* Required toggle
  * Default as required

***

#### Button

{% hint style="info" %}
Flow button Used to trigger an interactive flow, guiding users to fill out information or complete a specific action.
{% endhint %}

* Button
  * Maximum 30 characters

### Step 2: Copy JSON to [WhatsApp Manager](https://business.facebook.com/wa/manage/)

### Settings path⁠

* Meta Business Suite > Settings > WhatsApp Accounts > WhatsApp Manager

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FaBmM8tQ9wJ2tFAVbMlFA%2Fimage.png?alt=media&amp;token=868964fb-20e5-43c8-aeb9-289894595c49" alt=""><figcaption></figcaption></figure>

* WhatsApp Manager > Flows > Create Flow

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FU7X3PGGLyDjTIQUipvxj%2Fimage.png?alt=media&amp;token=e56de299-ae1f-42f9-9804-4d6e87add51e" alt=""><figcaption></figcaption></figure>

* Enter the following flow details and add
  * Name
  * Categories

    * The following category options are supported and will be synchronized to Omnichat for updates

    <div align="left"><figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FSAYmLvqMe4mVXA9ZhbQc%2Fimage.png?alt=media&amp;token=9b0b8d5d-6718-4c25-b73a-3873800d2fc8" alt="" width="150"><figcaption></figcaption></figure></div>
* Without Endpoint
  * By default, this option
  * Simply set the category to "Default"
  * Data for this category will not be synced to Omnichat
* With Endpoint
  * This item is not supported

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FKCiT6q93FKrNEb4snIbo%2Fimage.png?alt=media&amp;token=f4b8dd65-5207-4fe6-8ad2-3a2cae9944f5" alt=""><figcaption></figcaption></figure>

* Paste the Flow JSON

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FSR2vct8BcUpJUo64tizb%2Fimage.png?alt=media&amp;token=d83c214f-aeb1-4489-ba26-e30ee2931354" alt=""><figcaption></figcaption></figure>

### &#x20;Step 3: Format the JSON

* Copy the created Flow JSON

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FWwAbswGuCSeSS3YPr5u2%2Fimage.png?alt=media&amp;token=80abb898-b62e-4712-ac26-47462c9f125f" alt=""><figcaption></figcaption></figure>

* First, format the copied JSON and paste it into the WhatsApp Manager Flow Builder. You can use AI [or online tools](https://jsonformatter.org/) to format the JSON; otherwise, it will be difficult to organize and read

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FBa9yxFxk3Qf8XXC6oleC%2Fimage.png?alt=media&amp;token=df80bd8c-3fef-481e-a273-9c1edafd29a6" alt=""><figcaption></figcaption></figure>

* The component `name` must match the key in Footer > on-click-action > payload

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FeDk4O2G0aRG5UT8TUKYT%2Fimage.png?alt=media&amp;token=f7943e11-015d-425c-be7f-34d5a2d3e221" alt=""><figcaption></figcaption></figure>

* `The` component’s `data-source > id` must match the `title`

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2F6jcp0pMM1iyT3x7lRHLi%2Fimage.png?alt=media&amp;token=68b40a11-cecf-4394-a273-b5b218dfa4ee" alt=""><figcaption></figcaption></figure>

* Demo Setup

{% embed url="<https://drive.google.com/file/d/103kj1n6Lc89dCkyxj5Au0q8Y-CfX81sB/view?usp=drive_link>" %}
