> 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.md).

# WhatsApp Flow Card (WhatsApp only)

Supported Platform: WhatsApp

WhatsApp Flows is a feature introduced by Meta that enables users to design and deploy interactive forms directly within WhatsApp. It streamlines customer interactions by allowing tasks to be completed without switching to external apps or websites, ensuring that the entire process remains contained within WhatsApp.

With WhatsApp Flows, you can design step by step journeys where customers can:

* Share feedback quickly and easily
* Fill out and submit forms
* Sign up for events or promotions
* Choose and send specific support requests to your team
* Complete surveys
* Book appointments
* Log in to their accounts
* Get details about your services, like pricing or terms

Beyond these examples, WhatsApp Flows provides additional capabilities, enabling organizations to manage a broad range of customer interactions directly within WhatsApp.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FzJlOnlh60mqM5HPmALwT%2Fimage.png?alt=media&amp;token=7ca8e6af-4670-44ba-bee8-5543a3ab17a5" alt=""><figcaption><p>What are WhatsApp Flows?</p></figcaption></figure>

In the following sections, we’ll look at how to set up and manage WhatsApp Flows, connect a Flow with a Bot Builder Card to send it seamlessly to customers, and identify which roles have access to manage WhatsApp Flows.

* [**Roles with Access to WhatsApp Flows**](#roles-with-access-to-whatsapp-flows)
* [**Set Up and Manage WhatsApp Flows**](#set-up-and-manage-whatsapp-flows)
  * [Step 1: Set Up WhatsApp Flow Form](#step-1-set-up-whatsapp-flow-form)
  * [Step 2: View Flow List on Omnichat Platform](#step-2-view-flow-list-on-omnichat-platform)
  * [Step 3: Set Up Actions upon Receiving the Response and Response Storage Settings](#step-3-set-up-actions-upon-receiving-the-response-and-response-storage-settings)
  * [Step 4: Share WhatsApp Flow via Chatbot or WhatsApp Message Template](#step-4-share-whatsapp-flow-to-customers-via-chatbot-and-whatsapp-message-template)
  * [Step 5: View or Export Response Records](#step-5-view-or-export-response-records)

### Roles with Access to WhatsApp Flows

Here are the different roles and WhatsApp Flow permissions:

<table><thead><tr><th width="152">Role / Action</th><th>View Flow</th><th>Edit Flow</th><th>View Response Log</th><th>Export CSV</th></tr></thead><tbody><tr><td>Administrator</td><td>✔️</td><td>✔️</td><td>✔️</td><td>✔️</td></tr><tr><td>Manager</td><td>✔️</td><td>✔️</td><td>✔️</td><td>✔️</td></tr><tr><td>Marketing Staff</td><td>✔️</td><td>✔️</td><td>✔️</td><td>✔️</td></tr><tr><td>Customer Service Manager</td><td>✔️</td><td>✔️</td><td>✔️</td><td>✔️</td></tr><tr><td>Customer Service Staff</td><td>✔️</td><td>Ｘ</td><td>✔️</td><td>Ｘ</td></tr><tr><td>Sales Manager</td><td>Ｘ</td><td>Ｘ</td><td>Ｘ</td><td>Ｘ</td></tr><tr><td>Sales Staff</td><td>Ｘ</td><td>Ｘ</td><td>Ｘ</td><td>Ｘ</td></tr><tr><td>Marketing &#x26; Customer Service Staff</td><td>✔️</td><td>✔️</td><td>✔️</td><td>✔️</td></tr></tbody></table>

### Set Up and Manage WhatsApp Flows

### Step 1: Set up WhatsApp Flow form

Please refer to [this guide](/en/features/marketing/chatbot-2.0/whatsapp-flow-card-whatsapp-only/whatsapp-flow.md) to set up your Flow form.

{% hint style="info" %}
If your WhatsApp Flow form includes sections, please allow additional working days for our team to complete the setup.
{% endhint %}

### Step 2: View Flow List on Omnichat Platform

Once the flow is published in WhatsApp Manager, it will appear in the Omnichat platform under Channels > WhatsApp Flows. You can then set up the response flow and interaction content.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2F5x1H09aUopxdUh1CnpWJ%2Fimage.png?alt=media&amp;token=5a5f0625-90a6-4fd0-ac48-dca191a50aed" alt=""><figcaption></figcaption></figure>

* The list is updated hourly via the [WhatsApp Flow API](https://developers.facebook.com/docs/whatsapp/flows/reference/flowsapi) (at 5 minutes past the hour, e.g., 12:05, 13:05, etc.).
* The information you can view on the list:
  * Name: Not duplicated, maximum 200 characters. The name is not displayed to the customer.
  * Flow ID: Used to identify each Flow.
  * Category: Used to identify the type of Flow. A Flow can have multiple categories, including the following:
    * Sign up
    * Sign in
    * Appointment booking
    * Lead generation
    * Contact us
    * Customer support
    * Survey
    * Other
  * Status:
    * **Draft:** Flow content can be edited. Flows at this stage cannot be sent to users.
    * **Published:** Flow content cannot be edited.
    * **Deprecated:** Deprecated Flows cannot be deleted, sent, or reverted to the published state. Messages sent out cannot be reopened.
    * **Paused:** Detected abnormalities by WhatsApp Flow, so the status is changed to paused. In this state, sending or opening is not allowed.
    * **Restricted:** Detected abnormalities by WhatsApp Flow, so the status is changed to restricted. In this state, sending or opening is allowed, but it is limited to 10 Flow messages per hour.
  * Total Responses: The total number of responses for each flow
  * Action
    * Edit: Navigate to edit the flow responses
    * Response Record: View customer response logs and content

Available actions vary depending on flow's status:

| Status/Action | Edit Flow | Delete Flow | Send Flow        | Open Flow |
| ------------- | --------- | ----------- | ---------------- | --------- |
| Draft         | ✔️        | ✔️          | Ｘ                | Ｘ         |
| Published     | Ｘ         | Ｘ           | ✔️               | ✔️        |
| Deprecated    | Ｘ         | Ｘ           | Ｘ                | Ｘ         |
| Paused        | Ｘ         | Ｘ           | Ｘ                | Ｘ         |
| Restricted    | Ｘ         | Ｘ           | ✔️ (10 per hour) | ✔️        |

### **Step 3:** Set Up Actions upon Receiving the Response and Response Storage Settings

Click "Edit" under "Action" to open this page.

#### 1. Actions upon Receiving the Response

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2Fi5EDfGRsXSfs5OyrAuNw%2FActions%20upon%20Receiving%20the%20Response.png?alt=media&amp;token=7724bdc3-4bbf-43b1-92bc-e380c02a5c02" alt=""><figcaption><p>Set Up WhatsApp Flow Submission Response</p></figcaption></figure>

1. **Success Message**

* When a customer completes the flow, the system replies with a default message: "Thank you for completing the response form!"
* You can also customize it to include emojis and contact names.

2. **Attached Message**

* Do not send (default setting)
* Text
* Chatbot Block (WhatsApp chatbot only)

3. **Tags**

* Applying tags when the customer completes filling out the flow.

#### 2. Response Storage Settings

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FEyinxRRCa1XIRMEHyCWP%2FResponse%20Storage%20Settings.png?alt=media&amp;token=f55ed06d-b794-43cd-9384-48c7210e1e19" alt=""><figcaption></figcaption></figure>

By clicking "Select Fields" at the bottom of the page, you can choose what to store in Omnichat.

Responses can be saved as custom attributes or as system default fields such as name and email.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2Fqy4mdPfj4tOmNpd9rkhJ%2Fimage.png?alt=media&amp;token=2d81a982-a010-4c4b-a754-37dd5e7e2c31" alt="" width="563"><figcaption></figcaption></figure>

### **Step 4:** Share WhatsApp Flow to Customers via [Chatbot](#chatbot) & [**WhatsApp Message Template**](#whatsapp-message-template)

#### Chatbot

WhatsApp Flow Card can only be used on WhatsApp.

There are four editable sections in the card:

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FYs55E3PyRuct19ZPkBdm%2Fwhatsapp%20flow%20card1.png?alt=media&amp;token=d93f5259-813b-499a-a9cc-f7dd4faaa4c8" alt="" width="375"><figcaption><p>WhatsApp Flow Card</p></figcaption></figure>

1. **Title**

* None
* Text: Up to 80 characters
* Media:
  * **Image:** Accepted formats are .jpg, .jpeg, and .png, up to 5 MB. Files over 5 MB will be automatically compressed.
  * **Video:** Accepted format is .mp4, up to 10 MB.

2. **Body**

* This section is required and supports up to 550 characters. You can include emojis and variables.

3. **Footer**

* This section is optional and supports up to 60 characters. Emojis and variables are not supported.

4. **Button**

<div align="left"><figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FHzmy9PCjwtNoWgfaB8yY%2Fwhatsapp%20flow%20card%20button%20name.png?alt=media&amp;token=cf094d5c-4c56-4804-8b01-f702968b3547" alt="" width="307"><figcaption><p>Button Setup</p></figcaption></figure></div>

* **Button Name:** Required, up to 20 characters (emojis are not supported).
* **Flow ID:** Required, select from flows with a status of "Draft", "Published", or "Restricted".
* **Screen ID:** Defaults to the first screen in the flow and cannot be changed.
* Only one button can be added.

#### **Adding WhatsApp Flows in a WhatsApp Message Template**

You can add the WhatsApp flow inside your Omnichat WhatsApp Message Template as a CTA button.

We have added a new CTA button type called "Flow" where you can link your button to open a flow for the customer upon clicking on it.

* Each template supports only one Flow button, which cannot coexist with other CTAs.
* New Flow type for WhatsApp Flow CTA buttons:
  * Button Name (Required): Limited to 20 characters (each Chinese character is considered as 3 characters).
  * Flow ID: Only available for flows in the Published or Restricted status.
  * Screen ID: Defaults to the first set of Screens and cannot be changed.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FWVfeaq2VJ2T9RRHDdWsG%2Fimage.png?alt=media&amp;token=3b7f95ca-0d73-46ba-9aeb-f311a5adb56f" alt=""><figcaption><p>WhatsApp Message Template</p></figcaption></figure>

You can share these WhatsApp Message Templates or Chatbot Blocks with customers in your one-on-one conversations, Broadcasts, Mass Messages (OMO plan), and Journeys.

{% hint style="warning" %}
When using templates with **CTA buttons set to “Flow”** for broadcasts, click-through metrics such as **click rate** and **clicks** will not be available in the broadcast details.

This is a **Meta-side limitation**—the related data is not returned to third-party platforms.\
If click-through tracking is required, we recommend using **Quick Reply buttons** instead and triggering the **Chatbot module** (with the WhatsApp Flow configured within the bot). This setup allows click metrics to be properly tracked.
{% endhint %}

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FXl5IT1VI70fW2AxVizfC%2Fimage.png?alt=media&amp;token=690da5bb-c5d9-48b1-bc26-ef91b8a5999f" alt=""><figcaption></figcaption></figure>

### Step 5: View or Export Response Records

To view all responses submitted through a particular Flow, go to Action > Response Records.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FoX7hbA1t8mlJSn9NVsDz%2Fimage.png?alt=media&amp;token=bab12adb-9681-491b-9511-8d4e7a8b1cbd" alt=""><figcaption><p>Response Record</p></figcaption></figure>

**View Response Records**

* Search and Filter
  * Search: Supports searching by name or phone number.
  * Filter: Supports filtering by specified date range, with no limit on the length of the date.
* List Fields:
  * Name: Customer's name on WhatsApp.
  * Phone: Customer's WhatsApp phone number.
  * Response Time: the time when the customer completed the Flow form, format: yyyy-MM-dd HH:mm:ss.
* List Display and Sorting: Displays response data for all dates, sorted from newest to oldest based on response time.
* List Actions
  * View Response Content
    * Label: Represents the title, which is the field set in the Flow (on WhatsApp manager backend) as the label.
    * Response Content: Content of the customer's response.
  * Delete Response

**Exporting the responses**

You can export responses to a CSV file by selecting a time period, or by searching and filtering a list of responses, then clicking the *Export Response Record* button in the top-right corner.

By default, the export includes all response data of the Flow.

* If a time filter is applied, the export will include only responses within the specified time range.
* If a search filter is applied, the export will include only responses that match the search criteria.
* Exported file name: Flow name
* Exported CSV fields:
  * customer\_name: Customer's name, default field.
  * customer\_phone: Customer's phone number, default field.
  * customer\_response\_time: Time of customer's response, default field.
  * Other fields will be displayed based on the Flow settings.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FceA0C6u38vEgUfcBVkHZ%2FScreenshot%202024-05-23%20at%203.59.46%E2%80%AFPM.png?alt=media&amp;token=0b5a886d-151a-45e4-8d35-0a49917b29f8" alt=""><figcaption></figcaption></figure>

In some WhatsApp Flows, customers may be required to provide images, videos, or files. These responses can be viewed, exported, or sent to a third-party backend through the Omnichat Webhook.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FtHVKNaDqH5YCbQ37PCK4%2Fflow1.png?alt=media&amp;token=25ba49a4-854b-4943-9a91-99174d790b67" alt="" width="563"><figcaption></figcaption></figure>

The related features include:

1. **Displaying files:** Images and files uploaded by customers can be viewed directly within the WhatsApp Flow > Response Records section in Omnichat console.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FHPYtjh9VLwWw3eGbAdqY%2Fflow2.avif?alt=media&amp;token=8440f281-4dc0-465e-9771-6671c516c629" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2Fswgd8qg5nyZKxHeeiOtR%2Fflow3.avif?alt=media&amp;token=1e05d274-7856-4e44-8168-b49e9ac28d58" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2Fcadjc9UykBmDXtGa8AhN%2Fflow4.avif?alt=media&amp;token=ae362cb6-69f8-4b05-ac9a-d42a8288116b" alt="" width="563"><figcaption></figcaption></figure>

2. **Exporting records:** Go to *WhatsApp Flow > Response Records > Export Response Records* to generate a CSV file that includes any images, files, or videos submitted by customers when completing the Flow.
3. **Webhook file support:** WhatsApp Flow Webhook supports the transfer of images, files, and videos to your own third-party platform.

   * This feature requires integration by your Engineering team, and is recommended only if technical support is available.
   * **Webhook Setting:** You can create a new webhook and select the newly added topic `whatsapp_flow/flow_create` on the "Webhook" page.
   * **Trigger Timing:** When a customer completes the Flow, the data is stored in the Omnichat system and simultaneously sent to the specified Endpoint URL through the webhook.

   <figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FWxxB60IkU1sAWS68A3Gi%2Fwebhook%20setting.avif?alt=media&amp;token=a0a085da-aa9d-42c4-946b-95416ffb905c" alt="" width="563"><figcaption></figcaption></figure>

   * Response Format:

```
{
   "customer_name": "Ruby Wang",
   "customer_phone": "886900000000",
   "customer_response_time": "2024-07-31T12:00:37.206+08:00",
   "flow_response": {
      "name": "Wang",
      "company_name": "Omnichat",
      "job_title": "Sales",
      "company_address": "No. 123456, Section 4, Zhongxiao East Road, Da’an District, Taipei City",
      "mobile_phone": "0900000000",
      "email": "Omnichat@mail.com",
      "selected_plans": [
         "Appointment Service",
         "Opinion Survey",
         "Promotion Registration",
      ],
      "interest_level": "★★★★ Interested",
      "appointment_date": "2024-08-01",
      "appointment_time": "09:00-12:00",
   },
}
```

For further instructions on setting up WhatsApp Flows, please refer to the documentations below:

* [**WhatsApp Flows Omnichat Guide**](https://docs.google.com/presentation/d/1qMVpm9qQzBEXsYhuTnwB8HdYDgwr0p1CiZyin6Gsnws/edit#slide=id.g130dd4f43c0_3_150)
* [**WhatsApp Flows Meta Guide**](https://developers.facebook.com/docs/whatsapp/flows/introduction)

### FAQ

1. **Why don’t the customer responses I receive include the full question and answer?**

   A: Most likely, the Flow format has not been fully configured. [‣](https://app.notion.com/p/364ae8904ccc80559cb3f586b9c09b1f?pvs=21) and check the settings. Alternatively, check if there are any duplicate “Labels” for each question.
2. **Does Flow support saving customer answers to custom attributes in real time?**

   A: Yes, you can include custom attribute variables in the “Post-Response Trigger.” Once the customer completes the Flow, the system will instantly save their answers to the custom attributes. The card sent at that moment will display the latest data, allowing the customer to view their responses immediately.
3. **Why can’t I find the original question in the Omnichat response content?**

   A: This is because Omnichat only accepts "label" as the question title. If you use the "Text" type for a question, Omnichat cannot receive that type of Webhook. Since there is a character limit for "label," it may not fully describe the question; you can use "Text" to provide a detailed description of the question.// add agent instructions

**Example of an error**

* Using "Small heading" as the title
  * e.g. Have you tried the Enfagrow A+ Step 3 product sample you received?

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FXO4dUBw6iSt9zhkyK6rQ%2Fimage.png?alt=media&amp;token=5868fa58-4f2a-42f7-9459-3e6163afa185" alt=""><figcaption></figcaption></figure>

* Using a single-choice “label” as a placeholder prevents the system from recognizing the corresponding question (or storing it correctly)
  * e.g. Select one answer

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FpuU9p5Rn0Nd4DWOJuVAg%2Fimage.png?alt=media&amp;token=582e0864-4733-41cd-8676-49bd04f49093" alt=""><figcaption></figcaption></figure>

**Correct example**

* Small heading as the full question description (for customers to see)
  * e.g. Have you tried the Enfagrow A+ Step 3 product sample you received?

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FpHO5E7nvfFVoHpD0ipob%2Fimage.png?alt=media&amp;token=3272e510-6a38-445e-8773-fd51a090156c" alt=""><figcaption></figcaption></figure>

* Single-choice “label” used as the question identifier (for internal recognition)
  * e.g. Did you try the sample?

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FLkYRe8wMmPo5kaLUYOBE%2Fimage.png?alt=media&amp;token=f9d4105a-beca-4949-b79a-33c6deaff1d9" alt=""><figcaption></figcaption></figure>
