Skip to main content
WhatsApp Flows can operate in two modes: static and dynamic.

Static flows

All content is defined in the Flow JSON. No server calls during user interaction. Use when:
  • Content doesn’t change between users
  • No real-time data needed
  • Simple forms with fixed options
Example: A feedback survey with predefined questions and answer choices.

Dynamic flows

Meta calls your data endpoint to fetch content at runtime. You provide a function that returns screen data. Use when:
  • Content varies per user (personalization)
  • Real-time data needed (available slots, inventory)
  • Options depend on previous answers
  • External API integration required
Example: An appointment booking flow that shows available time slots from your calendar API.

How Kapso determines the mode

A flow is dynamic when it has a data endpoint function attached. In the dashboard, you’ll see a badge:
  • Static - No data endpoint, Flow JSON only
  • Dynamic - Data endpoint function configured

Setting up dynamic flows

  1. Open your flow in the dashboard
  2. Go to the Data Endpoint tab in the editor
  3. Follow the setup wizard:
    • Enable flows encryption (one-time per phone number)
    • Create or select a function
    • Deploy and test

Data endpoint reference

Request format, response structure, and timeout limits