Skip to main content

Documentation Index

Fetch the complete documentation index at: https://howto.paigeme.dev/llms.txt

Use this file to discover all available pages before exploring further.

WhatsApp Flows let you embed rich, multi-screen interactive experiences directly inside a WhatsApp conversation. Instead of redirecting a user to a website, your bot can present a form — with dropdowns, date pickers, text inputs, and more — that the user completes without leaving WhatsApp. When the user submits, the results are sent back to your bot as a structured message.

What you can build with Flows

Appointment booking

Let customers pick a service, choose a date and time, and confirm a booking — all within WhatsApp.

Lead capture

Collect names, contact details, and preferences from new contacts in a structured, guided form.

Surveys and feedback

Gather structured responses through rating scales, dropdowns, and open text fields.

Order forms

Take orders or service requests with validated inputs, reducing back-and-forth messages.

Flow lifecycle

A Flow moves through three statuses from creation to retirement:
Draft → Published → Deprecated
StatusDescription
DraftThe Flow is being built or edited. It can be tested via the preview simulator but cannot be sent to real users.
PublishedThe Flow is live and can be sent to users in bot messages. A published Flow cannot be edited; it must be deprecated first or a new version created.
DeprecatedThe Flow has been retired and can no longer be sent. Existing conversations already in a Flow are not interrupted.
When you update a published Flow’s JSON on Meta, it is automatically returned to Draft status. You need to republish it before sending it to users again.

How Flows are synced to Meta

Paige manages the sync between your Flow definition and Meta’s WhatsApp Business API automatically. When you create or update a Flow, Paige uploads the Flow JSON to Meta as a Draft. From there you can publish it directly from the Paige dashboard. Each Flow is identified by a Meta Flow ID that is stored in your project. Your bot code uses this ID when sending a Flow to a contact.
1

Generate a Flow

Describe the Flow you want to the AI agent in the bot code chat. For example: “Create a 3-screen appointment booking flow with a service dropdown, date picker, and confirmation screen.” The agent uses the generate_flow tool to produce the Flow JSON and automatically uploads it to Meta as a Draft.
2

Preview and validate

Use the Flow preview simulator in the Paige dashboard to step through the Flow screens. The agent can also run check_flow to surface any Meta validation errors.
3

Publish the Flow

Once you are satisfied, publish the Flow from the dashboard or ask the AI agent to publish it. After publishing, the Flow can be sent to users.
4

Embed in your bot code

Reference the Flow by its ID in your bot code to send it to a contact at the right moment in the conversation. The submission payload arrives as a structured message that your webhook handler processes.

Flow JSON format

Flows are defined in JSON format (version 6.0). Each Flow contains one or more screens, and each screen contains a layout of components. Paige’s AI agent generates and edits this JSON for you — you rarely need to edit it by hand. Common Flow components include:
ComponentDescription
TextHeadingA heading displayed at the top of a screen
TextBodyBody copy or instructions on a screen
TextInputA free-text input field
DropdownA single-select dropdown
DatePickerA date selection widget
FooterA button at the bottom of a screen that advances to the next screen or submits the form
Use the generate_flow tool for new Flows and the update_flow tool for changes to existing ones. The agent preserves the existing Meta Flow ID when updating, so your bot code references remain valid.

Managing Flows from the dashboard

From the Flows section of your project you can:
  • View all Flows and their current status
  • Open the preview simulator for any Flow
  • Sync a Flow to Meta manually
  • Publish or deprecate a Flow
  • Delete a Draft Flow
Only Draft Flows can be deleted. To remove a Published Flow, deprecate it first.