Skip to Content
AgentsAgent Flows

Agent Flows

Multi-screen WhatsApp forms an AI agent can hand to a customer mid-conversation. The agent decides when to ask for structured information — name, dates, an uploaded ID photo, a multi-step questionnaire — and your customer fills it in with a native WhatsApp form rather than a long back-and-forth chat.

Agent Flows currently runs on WhatsApp only. Web widget, Telegram, and Messenger renderers are on the roadmap.

When to use Agent Flows

Reach for a flow when chat alone is the wrong shape for the question:

  • Lead capture — name + email + business size + meeting preference, all in one screen the customer fills in once
  • Appointment booking — pick a date, pick a time slot, confirm
  • Document or photo upload — collect an ID, a receipt, a damaged-product photo
  • Multi-step intake — symptom checklists, application forms, surveys
  • Conditional questions — only ask “what kind of pet?” if they said yes to “do you have a pet?”

The agent recommends a flow when its system prompt + the conversation context match. You set up the flow once in the admin panel; the agent reuses it across every conversation.

Building a flow

Flows live under Agent Flows in the customer admin panel. Each flow has:

  • A name and description the agent reads to decide when to use it
  • One or more screens, each containing components (fields)
  • Optional screen logic (branch to different screens based on what the customer picks)
  • Optional A/B variants (Plan 3 — split traffic between two versions)
  • Per-locale publications to WhatsApp (translate once, publish per language)

Component library — 23 variants

The composer’s Add field menu groups all 23 components into seven categories. Pick the right shape for the data you need.

Display (chrome, no input)

These render text or images on the screen without asking the customer for input.

ComponentUse it for
Text HeadingA large title at the top of a screen (≤ 80 characters)
Text SubheadingA secondary title under the heading (≤ 80 characters)
Text BodyA paragraph of explanatory copy. Supports bold and strikethrough (≤ 4096 characters)
Text CaptionSmall supporting copy; markdown allowed (≤ 4096 characters)
Rich TextA markdown block — useful for terms, disclaimers, formatted instructions
ImageA single image (≤ 100 KB)
Image CarouselUp to 10 swipeable images with captions — product galleries, before/after, instructions

Inputs (single-line and multi-line text)

ComponentUse it for
Text InputA single-line text box — name, email, short answers
Text AreaA multi-line text box — comments, descriptions, longer answers (≤ 600 characters)
Embedded LinkAn inline tap-to-open link with custom text (≤ 25 characters)

Choices (pick from a set)

ComponentUse it for
DropdownPick one from a long list (10+ options)
Radio ButtonsPick one from a short list (≤ 5 options), all visible at once
CheckboxesPick any number from a list, with optional minimum and maximum
Chips SelectorPick from up to 20 tag-style chips — interests, categories, multi-select with a tight footprint

Date & time

ComponentUse it for
Date PickerA single date — booking date, date of birth
Calendar PickerA calendar surface with optional date range, min/max bounds, and unavailable dates greyed out — appointment booking, hotel stays

Both Date Picker and Calendar Picker are kept as distinct components. Use the Date Picker for a quick single date; use the Calendar Picker when you need a visible month grid, a range, or to grey out specific dates.

Media uploads

ComponentUse it for
Photo PickerCustomer uploads photos from the camera or gallery (up to 30 per submission)
Document PickerCustomer uploads documents — PDF, DOC, etc. (up to 10 per submission)

Mutex: A single screen can hold either a Photo Picker or a Document Picker, but not both. Put them on separate screens if your flow needs both kinds of upload.

Layout

ComponentUse it for
Navigation ListUp to 20 tappable rows with chevrons — choose a category, choose a product, choose a destination screen
Opt-InA consent checkbox — terms of service, marketing opt-in, GDPR consent
FooterThe submit affordance on the last screen of the flow

Logic (conditional rendering)

ComponentUse it for
IfRender some components only when a condition is true (then) — optionally with an alternative (else)
SwitchRender different components based on a value the customer picked earlier (multiple cases + optional default)

If and Switch support up to 3 levels of nesting. If you find yourself nesting deeper than that, split the logic across multiple screens with screen-level routing instead.

Multi-screen flows and routing

A flow can have up to 10 screens. Each screen ends with a Footer that either submits the flow or moves to the next screen. Use the screen logic editor to route the customer to a different next screen based on what they picked — for example, customers who select “Refund” go to a refund-specific second screen; everyone else goes to the generic follow-up screen.

For component-level conditional rendering inside a single screen, use If / Switch instead.

Localisation

Flows publish per language. Translate the flow once, pick the locales you ship in (the platform supports en, es, pt-BR, fr, ru, ar today), and each customer sees the version that matches their WhatsApp language. If a customer’s language isn’t published, the integration’s default locale is used as a fallback.

A/B testing

If you want to test two versions of a flow against each other, configure them as variants in the Variants tab. Customers are split deterministically (same customer always sees the same variant); the Submissions view shows which variant each submission came from, and the Field Heatmap lets you compare drop-off and completion rates side by side.

AI generation

If you have a higher-tier plan, the composer offers AI form generation: write a one-line prompt (“a hotel booking form with date-range and photo upload”), or upload a PDF / image of an existing form, and the assistant drafts the flow for you. The draft is fully editable — every field is round-trippable in the composer (no opaque AI snapshots).

Submissions and analytics

Once a flow is published, every submission lands in the Submissions view for that flow. Each row shows:

  • Who submitted, when, and through which agent
  • The full field values from the form
  • An AI score (0–100) the assistant assigned to the submission — high-value leads bubble to the top
  • The chat turns from the conversation right before the form was opened (the conversation-context join — see why the agent decided to ask for this submission)

Aggregate analytics include a KPI strip (started / completed / drop-off rate), a Field-Level Heatmap showing where customers abandon, and a Narrative Diagnostic chat — an AI analyst you can ask “why are people dropping off on screen 2?” and it’ll trace the answer through the heatmap, submissions, and conversation context.

Tier limits

TierPublished flowsLocales per flowAI generation
Trial11
Starter11
ProfessionalUnlimitedUnlimited
BusinessUnlimitedUnlimited

All 23 component types are available on every tier that supports Agent Flows — there is no per-component tier-gating.

Last updated on