Skip to main content

WhatsApp Flows

WhatsApp Flows are native forms that open inside the WhatsApp chat. A contact taps a button, fills in one or more screens (text fields, dropdowns, date pickers, checkboxes, opt-ins) and submits. SendSeven receives the answers, writes them to the contact, and hands them to your systems.

Beta

WhatsApp Flows is in beta. During the beta, completed flows and AI-builder generations are free. Every flow you send counts as one message from your plan's message pool, like any other WhatsApp message. Additional charges per completed flow will apply once WhatsApp Flows becomes generally available; we will announce them in advance.

With SendSeven you can:

  • Build a flow in the visual builder, from one of 13 templates, by AI, or by sending a JSON document to the API.
  • Publish it to one or more WhatsApp Business Accounts with one call.
  • Send it from the inbox, an automation, or the API.
  • Receive the answers: they are written to contact fields, custom fields, tags and lists, delivered to your webhooks, and available to automations.
  • Load live data into screens from SendSeven or from your own backend (dynamic flows).
  • Measure sends, opens and completions per screen (analytics).

How it fits together​

 Builder doc (JSON)  ──validate──►  Version (immutable)  ──push──►  Meta draft  ──publish──►  Live flow
│
Inbox / automation / API ──send──► Session (flow_token) ──contact submits──► Completion
│
Contact write-back · webhook · automation trigger
ConceptWhat it is
FlowYour form. It has a name, categories, a kind (static or dynamic) and a list of versions.
Builder docThe SendSeven JSON format a flow is written in. SendSeven compiles it to Meta's Flow JSON for you. See Build via API.
VersionAn immutable snapshot of the builder doc. Every save creates one; saving unchanged content does not.
PublicationThe flow on one WhatsApp Business Account (WABA). One flow can be published to many WABAs. See Publishing.
SessionOne send of a flow to one contact. It carries a unique token, tracks opens and completion, and stores the answers.
Data sourceWhere a dynamic flow loads live data from: SendSeven itself or your own HTTPS webhook.

Plans​

CapabilityPlans
Flow builder, templates, publishing, sending, answers, write-back, webhooks, analyticsEvery plan that includes WhatsApp
AI generation and refinementProfessional and higher
Dynamic flows and webhook data sourcesScale and higher

Billing. Every flow you send (from the inbox, an automation, a campaign or the API) is one WhatsApp message, or one template message outside the 24-hour window, and counts as one message from your plan's message pool, like any other outbound WhatsApp message. Only messages that were actually sent count; failed sends are not billed. The contact's submission is an incoming message and is free. During the beta, completed flows and AI-builder generations cost nothing. See Sending: Billing.

Authentication and scopes​

All endpoints live under https://api.sendseven.com/api/v1 and use your API token (see Authentication).

ScopeGrants
whatsapp_flows:readList and read flows, versions, publications, templates, publish targets, sessions and analytics; validate and compile builder docs.
whatsapp_flows:writeCreate, edit, archive, clone and import flows; save versions; push, publish, deprecate; manage data sources; all AI endpoints.
messages:create and whatsapp_flows:readSend a flow to a contact (POST /whatsapp-flows/{id}/send). Both scopes are required.

The automation scopes (flows:*) do not cover WhatsApp Flows. "Flows" in SendSeven automations and "WhatsApp Flows" are two different products; the Send WhatsApp Flow node connects them.

Error format​

Errors use the standard SendSeven shape with a stable code:

{
"detail": {
"code": "flow_not_published",
"message": "This flow is not published on the WhatsApp Business Account of this channel.",
"details": { "channel_id": "8c1d0f5e-…" }
}
}

An invalid builder doc returns 422 with code: "invalid_builder_doc" and an issues list (see Validation).

Where to go next​

  1. Build via API — the builder doc, versions, validation and templates.
  2. Static vs dynamic — when you need a data endpoint.
  3. Field mapping — write answers to contacts, tags and lists.
  4. Publishing and Sending.
  5. Responses and webhooks.
  6. Recipes — complete end-to-end examples.