New Flow JSON version - 4.0
We are introducing a new Flow JSON version which contains several enhancements (described in detail below). You can now create new Flows with this version to leverage the new functionality.
Upgrading Flows to version 4.0 from 3.1: Version 4.0 introduces two minor backwards incompatible changes, which means you may need to make some tweaks after cloning an existing version 3.1 Flow. Specifically:
All CheckboxGroup and RadioButtonsGroup components now require a label property (previously optional)
The name property for all input and selection components cannot be empty. Previously values such as “”, “ “, “\n”, “\t”, “\n” were accepted; with version 4.0 these are no longer valid.
No additional changes are required to port your version 3.1 Flow to version 4.0, which will unlock your access to the following new functionality:
[Component] Image and Document upload
New PhotoPicker and DocumentPicker components. These components allow users to share images and documents, respectively, within a Flow, leveraging the existing and familiar WhatsApp UX.
[Component] Group components label improvements
The CheckboxGroup and RadioButtonsGroup components now support a higher character limit for the label property, and additionally support a new description property, which can be used to provide more information to users about the selection options.
[Comoponents] Conditional Component Rendering
You can now show/hide components, based on user input or Business data, without the need to trigger a data_exchange to your Flows Endpoint, by leveraging the If and Switch Components within the Flow JSON.
[Flow JSON Capabilities] Global Dynamic Data Access
You can now reference Form and dynamic data from any screen in the Flow JSON using global accessor syntax. This means you no longer need to explicitly propagate data from screen-to-screen.
[Flow JSON Capabilities] Optional Form
The use of the Form component is now optional. This means that you can access user-entered data without the need to wrap your components inside a Form component.
We are introducing several improvements to help developers onboard and use Flows.
[Developer Tools] Improved Flows Preview in the WhatsApp Manager Builder, and in Developer Docs
Better/snappier preview loading and saving performance.
Ability to simulate iOS and dark theme modes.
Mobile-like bottom sheet experience within the Flows Builder editor, which displays Flow JSON error(s).
[Developer Tools] Update Application linked to a Flow through the Flows API
Added an optional application ID parameter to the Update Flow API request.
[Developer Tools] Send-Time validation of the screen name in "navigate" action
Added validation of the screen parameter in the message payload at Flow message send time if the action is navigate: invalid screens (i.e. screens that are no defined in the Flow JSON, or screens which cannot act as a first screen) will be rejected, and an API error will be returned.
Improved Flows experience for users
We are releasing several improvements to the UX of Flows. These changes are not tied to a Flow JSON version; that is, they will apply to any Flows being actively sent.
Progress Indicator
We have introduced a new feature to visually inform users about how much progress is left to complete the Flow. This is applicable for any Flows with more than one screen.
Text Truncation improvements
Optimized the character limit strategy for components to maximize the amount of content displayed based on device resolution.
Stopping WhatsApp Flows Support on Android OS 5.x.x
As announced in
May, we have now stopped support for Flows on Android devices running OS 5.x.x and older. This means that Flow messages sent to users on such devices will not be delivered, and you will receive a
webhook containing a “Message Undeliverable” error. For more details on this error, please refer to the
error codes documentation.