Skip to main content
Flow JSON defines the screens, components, and navigation of your WhatsApp Flow.

Structure

{
  "version": "7.0",
  "data_api_version": "3.0",
  "routing_model": {
    "SCREEN_ONE": ["SCREEN_TWO"],
    "SCREEN_TWO": []
  },
  "screens": [
    {
      "id": "SCREEN_ONE",
      "title": "Welcome",
      "layout": {
        "type": "SingleColumnLayout",
        "children": []
      }
    }
  ]
}

Key fields

FieldDescription
versionFlow JSON schema version (e.g., 7.0)
data_api_versionData API version for dynamic flows (e.g., 3.0)
routing_modelDefines allowed screen transitions
screensArray of screen definitions

Screen components

Screens contain layouts with children components. Common ones include:
  • TextHeading - Section headers
  • TextBody - Paragraph text
  • TextInput - Single-line input
  • TextArea - Multi-line input
  • Dropdown - Select from options
  • RadioButtonsGroup - Single selection
  • CheckboxGroup - Multiple selection
  • DatePicker - Date selection
  • Footer - Action buttons
Additional components like Image, EmbeddedLink, OptIn, and more are available. See Meta’s components reference for the full list.

Meta documentation

For the complete Flow JSON reference, component properties, and validation rules:

Meta Flow JSON reference

Official documentation from Meta