WhatsApp Flows - Static 2-way

Introduction:

The new WhatsApp Flows - Static feature enhances our platform's capabilities by enabling two-way messaging triggered from the JB WhatsApp Flow node. With this feature, you can seamlessly initiate WhatsApp Flows at any point during a conversation, ensuring dynamic interaction and real-time engagement.

Ref: Meta Documentation

Ref: Meta Documentation


Key aspects of this feature include:

  • Triggering WhatsApp Flows: Initiate WhatsApp Flows at any time during a two-way conversation using the WhatsApp Flows Node, enhancing the flexibility and responsiveness of your messaging strategy.

  • Handling Responses: Efficiently manage responses from WhatsApp Form submissions within the WhatsApp Flows Journey, ensuring that collected information is processed and utilized effectively.

  • Information Passing: Pass required information to different journeys for diverse use case handling, enabling complex workflows and comprehensive user interaction scenarios.

This feature is designed to optimize your communication strategies, allowing for more personalized and timely interactions with your users through WhatsApp.


Use Cases:

WhatsApp Flows can significantly enhance business communication and operational efficiency across various industries. Here are several use cases that demonstrate the potential applications of WhatsApp Flows:


1. Customer Support and Service:

Scenario: A customer contacts support for help with a product issue.
WhatsApp Flow: Trigger a diagnostic form to gather detailed information about the issue.
Benefit: Streamlines the support process, enabling quicker resolution.

Scenario: Post-resolution feedback collection.
WhatsApp Flow: Send a feedback form to the customer after resolving their issue.
Benefit: Gathers valuable customer feedback, improving service quality.


2. Sales and Marketing

Scenario: Lead qualification.
WhatsApp Flow: Trigger a questionnaire to qualify leads during initial contact.
Benefit: Automates lead qualification, ensuring sales teams focus on high-potential leads.

Scenario: Promotional campaign engagement.
WhatsApp Flow: Send promotional offers or surveys to engage customers during a campaign.
Benefit: Enhances customer engagement and drives conversions.


3. Appointment Scheduling

Scenario: Medical or service appointments.
WhatsApp Flow: Send an appointment scheduling form when a user requests a booking.
Benefit: Simplifies the booking process, reducing administrative overhead.

Scenario: Appointment reminders and confirmations.
WhatsApp Flow: Send reminders and allow users to confirm or reschedule their appointments.
Benefit: Reduces no-show rates and improves operational efficiency.


πŸ“˜

Pre-Checks:

  • WhatsApp Flow Node is a Beta Feature and is available only in Developer Access for Gupshup Developers
  • Ensure the WABA is hosted on Cloud API of WhatsApp
  • Ensure the Console Project is using V3 version of WhatsApp Service
  • Get the Project whitelisted from the Journey Builder Product Team to enable WhatsApp Flows for your project
  • Ensure you have access to WhatsApp Business Manager to create the Flow JSON and get it Published.


For External Bot Designers/Clients: Please reach out to console support to enable WhatsApp Flows on your project

🚧

What's supported in current phase?

  • Only Static WhatsApp Flows are Supported. That means the flow screen can have information that must be populated during Flow creation time.
  • Developers have to create the Flow JSON/Flow Screens using the Meta Business Manager only and ensure that the runtime information which are required are properly mapped during Flow creation time
  • You can create Simple Flows using the Flow Template creation UI of Meta Business Manager and use the Flow ID without the template as well during a 2-way conversation.

🚧

What's not supported?

  • Dynamic Flows are not supported
  • API calls, Logical screen routing, Dynamic data flow are not supported yet.
  • Flow creation on Console, Importing of existing flows are not supported
  • Flow Templates are not supported


Functional Elements of the Feature:

  1. WhatsApp Flow Message Node
  2. WhatsApp Flow Journey
  3. Flow Starting Node
  4. Flow Terminal Nodes

1. WhatsApp Flow Message Node:

The WhatsApp Flow Node is now available in the JB Canvas list of Message Nodes. This feature allows you to send a pre-approved Flow on WhatsApp. You can create the Flow in Meta Business Manager and then use the Flow ID to trigger the WhatsApp Flow Message.


Copy the Flow ID generated in Business Manager once the Flow is published, and paste it into the WhatsApp Flow Node's Flow ID field to initiate the Flow during the bot conversation.


Fields Available in the WhatsApp Flow Node:

  • Flow ID: This is generated in the Business Manager after drafting a WhatsApp Flow.
  • Message: You can send a free-form message along with the Flow CTA Button to inform the user about the Flow.
  • Footer: An optional footer message can be added if required.
  • Button Title: The name of the CTA Button that will be displayed on the WhatsApp application after clicking the Form.
  • First Screen: This is the ID of the screen that needs to be shown as the first screen to the user. Businesses can render different first screens for different end users based on their requirements.
  • Additional Data: WhatsApp Flows also allow the passing of additional information on the first screen, which can be defined during the flow creation. Flow JSON designers can create the keys for which values can be passed during the flow sending time. Bot designers can pass JSON key-value pairs in the Additional Data field of the WhatsApp Flow Node to leverage this feature.

More Details on Meta Doc: https://developers.facebook.com/docs/whatsapp/flows/gettingstarted/sendingaflow



Note:
The WhatsApp Flow Node is a non-continuity enabled node on JB Canvas, meaning bot designers cannot connect any node after it. This is because the response of the WhatsApp Flow requires handling in a separate Flows Journey. To manage the response of WhatsApp Flows, bot designers need to configure the WhatsApp Flow Journey by navigating to Bot Studio > WhatsApp Flows.


2. WhatsApp Flows Journey:


The WhatsApp Flows Journey is an integral part of the WhatsApp Flow runtime process. Designers must create a WhatsApp Flow Journey corresponding to each Flow ID used in the User Journeys to receive and handle the Flow Responses.


Bot designers must enter the Flow ID generated at Meta’s end before creating the Flow Journey. Flow Journeys ensure that the Flow ID used is sent to the user, and once the flow is submitted, the Flow Journey containing the respective Flow ID to which the user has responded will receive the Flow Response payload. This payload will be saved as a JSON in the system variable system_var.message_meta

This journey receives the Flow Response JSON, which contains the parameters filled in by the end user on the Flows form. The bot designer can parse this JSON to fetch the values entered by the user and call APIs to transfer the data to other systems if required.


3. Flow Starting Node

Flow Starting Node is a default node on Flow Journey and the Flow ID entered while creating the Flow Journey will be prefilled on the Flow Starting Node. The Flow Starting Node is non-editable.

Currently, there is provision for using the API, Code, and Modify Variable nodes in the Flows Journey to parse and use the Flow Response before reaching the Terminal Node to pass on the context to a different journey


4. Flow Terminal Node

The Terminal Node is the final node for any Flow Journey. Bot designers must ensure that every Flow Journey ends with a Terminal Node for proper handling of the Flow submission. Multiple Terminal Nodes can be used based on the conditions under which designers want to continue the journey after Flow submission.


Terminal Node consists of optional parameters that can be configured to handle the post flow submission action.

Trigger Journey:

Bot designers can configure to trigger a User Journey by passing the Flow Variables to a different journey and continue the conversation with the same context.

There is also a provision to map the variables of the User Journey to those of the Flow Journey to pass the Flow response values .

Terminal Message:

Designers can choose to just send an acknowledgement message to the end user and post submission of the form using the optional Terminal Message. This allows bot designers to complete the Flow within the Flow Journey if the data is already sent to client CRM or other Databases using the API and Code node.