---
title: WhatsApp Flow
slug: whatsapp-flow
createdAt: 2025-02-27T12:06:17.598Z
---

We recognize that entering information via WhatsApp chats may be challenging and time-consuming for users, potentially leading to a drop in engagement. 

To make things smoother, you can use WhatsApp Flows to schedule appointments, and reservations, book a service, or schedule a consultation within WhatsApp or any other form-based use case where structured interactions are more relevant for your business.



![](https://api.archbee.com/api/optimize/OU5UdaMPxQUGPsWA2FL92/ADIaHzEltbN0IOeYUH2YT_image.png)

##

Ensure that your bot is deployed on WhatsApp using 360dialog as the provider by following these steps: Navigate to Configure > Deployment > WhatsApp > Provider, and select 360Dialog.

To locate the node, go to **Bot Builder > Add Node > Data Input Nodes > WhatsApp Flows**

![](https://api.archbee.com/api/optimize/FEqjvWZnyymr_PEhXLLlG/BMKNVlOaZVACcTLbVrfgV_screenshot-2024-02-06-at-120608-pm.png)

##

To display your flows on the 'WhatsApp Flows' node, it is essential to initially create these flows on [Facebook Business Manager (FBM)](https://business.facebook.com/wa/manage/).

##

1. Select WhatsApp manager from FBM & select the business account that we need to manage & select the flows option

![](https://api.archbee.com/api/optimize/OU5UdaMPxQUGPsWA2FL92/VSIAb1hNBYBjqRr2SG4mS_image.png)

2\. Select the flows option & this will display a list of the flows

![](https://api.archbee.com/api/optimize/OU5UdaMPxQUGPsWA2FL92/q5X1SqP_5hwmumUz8NlxX_image.png)

3\. Click on Create New Flow. Fill in the flow name & categories for which flow is being used

![](https://api.archbee.com/api/optimize/OU5UdaMPxQUGPsWA2FL92/zkgMZdcNgtpb8tmWQbPlh_image.png)

![](https://api.archbee.com/api/optimize/OU5UdaMPxQUGPsWA2FL92/GZMEGPg4fEB2fVTSla5v0_image.png)

4\. Once the new flow is created, it is created with the default script. We can update the script accordingly to create different flows with multiple screens.

![](https://api.archbee.com/api/optimize/OU5UdaMPxQUGPsWA2FL92/oJ5g1Tk85Y0H1yv-e8-0i_image.png)

5\. Once the flow is created, publish the flow.

![](https://api.archbee.com/api/optimize/OU5UdaMPxQUGPsWA2FL92/phqcMRkYJ3bhFu3Kz5ibD_image.png)

6\. You can also refer to the Meta’s official documentation on WhatsApp Flows - [https://developers.facebook.com/docs/whatsapp/flows/gettingstarted/creatingaflow](https://developers.facebook.com/docs/whatsapp/flows/gettingstarted/creatingaflow)

##

![](https://api.archbee.com/api/optimize/OU5UdaMPxQUGPsWA2FL92/snSTkNOPFqPg6daObZH3E_image.png)



1. **ect an existing flow -&#x20;**&#x43;hoose the appropriate flow from the dropdown menu set up in your Facebook Business Manager (FBM).
2. **Message -&#x20;**&#x43;ompose an initial message that introduces and outlines the purpose of your flow.
3. **Button Label -&#x20;**&#x53;pecify a name for your action button that will activate your flow.
4. **Choose the path -** Choose the appropriate path from your current bot using the dropdown menu. This path will be activated after interacting with the mentioned button.
5. **Attribute Values for Dynamic Fields -&#x20;**&#x53;pecify attributes for this field to retrieve a dynamic value according to your specific use case.

##

### 1.Multiple Screens (Login)

:::BlockQuote
\{
&#x20; "version": "3.0",
&#x20; "screens": \[
&#x20;   \{
&#x20;     "id": "LOGIN",
&#x20;     "layout": \{
&#x20;       "type": "SingleColumnLayout",
&#x20;       "children": \[
&#x20;         \{
&#x20;           "type": "Form",
&#x20;           "name": "flow\_path",
&#x20;           "init-values": \{
&#x20;             "path": "happy-find-ap"
&#x20;           },
&#x20;           "children": \[
&#x20;             \{
&#x20;               "type": "TextInput",
&#x20;               "name": "name",
&#x20;               "required": true,
&#x20;               "input-type": "text",
&#x20;               "label": "Name"
&#x20;             },
&#x20;             \{
&#x20;               "type": "TextInput",
&#x20;               "name": "email",
&#x20;               "required": true,
&#x20;               "input-type": "text",
&#x20;               "label": "email"
&#x20;             },
&#x20;             \{
&#x20;               "type": "Footer",
&#x20;               "label": "Continue",
&#x20;               "on-click-action": \{
&#x20;                 "name": "navigate",
&#x20;                 "next": \{
&#x20;                   "type": "screen",
&#x20;                   "name": "CONFIRMATION"
&#x20;                 },
&#x20;                 "payload": \{
&#x20;                   "name": "$&#x7B;form.name}",
&#x20;                   "email": "$&#x7B;form.email}"
&#x20;                 }
&#x20;               }
&#x20;             }
&#x20;           ]
&#x20;         }
&#x20;       ]
&#x20;     },
&#x20;     "title": "Login",
&#x20;     "data": \{}
&#x20;   },
&#x20;   \{
&#x20;     "terminal": true,
&#x20;     "data": \{
&#x20;       "name": \{
&#x20;         "type": "string",
&#x20;         "\_\_example\_\_": "John"
&#x20;       },
&#x20;       "second\_name": \{
&#x20;         "type": "string",
&#x20;         "\_\_example\_\_": "Kane"
&#x20;       }
&#x20;     },
&#x20;     "id": "CONFIRMATION",
&#x20;     "title": "Confirmation",
&#x20;     "layout": \{
&#x20;       "type": "SingleColumnLayout",
&#x20;       "children": \[
&#x20;         \{
&#x20;           "type": "TextHeading",
&#x20;           "text": "Confirm details"
&#x20;         },
&#x20;         \{
&#x20;           "type": "TextSubheading",
&#x20;           "text": "Name"
&#x20;         },
&#x20;         \{
&#x20;           "type": "TextBody",
&#x20;           "text": "$&#x7B;data.name}"
&#x20;         },
&#x20;         \{
&#x20;           "type": "TextSubheading",
&#x20;           "text": "email"
&#x20;         },
&#x20;         \{
&#x20;           "type": "TextSubheading",
&#x20;           "text": "$&#x7B;data.email}"
&#x20;         },
&#x20;         \{
&#x20;           "type": "Footer",
&#x20;           "label": "Continue",
&#x20;           "on-click-action": \{
&#x20;             "name": "complete",
&#x20;             "payload": \{
&#x20;               "name": "$&#x7B;data.name}",
&#x20;               "second\_name": "$&#x7B;data.email}"
&#x20;             }
&#x20;           }
&#x20;         }
&#x20;       ]
&#x20;     }
&#x20;   }
&#x20; ]
}
:::

### 2. Ticket Booking

:::BlockQuote
\{
&#x20;"version": "3.1",
&#x20;"screens": \[
&#x20;  \{
&#x20;    "id": "SIGN\_UP",
&#x20;    "title": "Finish Sign Up",
&#x20;    "data": \{},
&#x20;    "terminal": true,
&#x20;    "success": true,
&#x20;    "layout": \{
&#x20;      "type": "SingleColumnLayout",
&#x20;      "children": \[
&#x20;        \{
&#x20;          "type": "Form",
&#x20;          "name": "form",
&#x20;          "children": \[
&#x20;            \{
&#x20;              "type": "TextInput",
&#x20;              "name": "firstName",
&#x20;              "label": "First Name",
&#x20;              "input-type": "text",
&#x20;              "required": true
&#x20;            },
&#x20;            \{
&#x20;              "type": "TextInput",
&#x20;              "label": "Last Name",
&#x20;              "name": "lastName",
&#x20;              "input-type": "text",
&#x20;              "required": true
&#x20;            },
&#x20;            \{
&#x20;              "type": "TextInput",
&#x20;              "label": "Email Address",
&#x20;              "name": "email",
&#x20;              "input-type": "email",
&#x20;              "required": true
&#x20;            },
&#x20;            \{
&#x20;              "type": "Footer",
&#x20;              "label": "Done",
&#x20;              "on-click-action": \{
&#x20;                "name": "complete",
&#x20;                "payload": \{
&#x20;                  "firstName": "$&#x7B;form.firstName}",
&#x20;                  "lastName": "$&#x7B;form.lastName}",
&#x20;                  "email": "$&#x7B;form.email}"
&#x20;                }
&#x20;              }
&#x20;            }
&#x20;          ]
&#x20;        }
&#x20;      ]
&#x20;    }
&#x20;  }
&#x20;]
}
:::

