> ## Documentation Index
> Fetch the complete documentation index at: https://docs.polymorfa.com/llms.txt
> Use this file to discover all available pages before exploring further.

# WhatsApp Flow builder

> Create, import, validate, and preview project-scoped WhatsApp Flows in the Polymorfa Console.

Use **Flows** in a project to author a multi-screen WhatsApp experience. Flow drafts are shared project resources, so Cloud API and linked-device projects use the same editor and Flow identifier.

The Flows table lists each draft's name, screen count, version, and last update.
Open a column heading to sort or filter by that property. Drag a heading edge
to resize the column. Right-click a row to open the same actions shown under
**More**.

## Create a Flow

1. Open a project and select **Flows**.
2. Select **Create Flow**.
3. Rename the draft, add screens, and add components to each screen.
4. Select a screen in the structure rail to edit it or inspect its destinations.

The Console saves a new draft as soon as the editor opens. Later edits save after a short delay. **Saved** confirms that the displayed revision reached Polymorfa. A **Conflict** status means another editor saved a newer revision; export your JSON before reloading if you need to retain local changes.

Drafts accept incomplete Flow documents. The structure indicator reports duplicate screen IDs, missing route destinations, duplicate field names, terminal screens that navigate, and resource-limit failures before upload.

## Use the recipient preview

The preview renders the selected Flow screen inside a WhatsApp conversation. You can fill fields, select choices, follow local screen navigation, and test completion actions. Preview interactions remain in your browser and do not send messages, open embedded links, or persist submitted form data.

<Warning>
  **Local preview** is an authoring aid. Meta validates the complete Flow schema
  and provides its own expiring hosted preview after a Flow is uploaded to a
  compatible Cloud API number. Use that hosted preview as the final rendering
  check before publication.
</Warning>

The local preview renders headings, body text, captions, text inputs, text areas, dropdowns, radio and checkbox groups, date pickers, opt-ins, embedded links, forms, and footer actions. A newer or unsupported component appears as a diagnostic card and remains unchanged in the saved JSON.

## Edit or move Flow JSON

Select **JSON** to edit the complete document. Invalid JSON remains in the editor and is not applied to the visual preview. Polymorfa preserves unknown fields and component objects instead of removing data it does not understand.

Use **Import** to replace the working document with a `.json` file. Use **Export** before a large edit, when resolving a revision conflict, or when moving a draft between systems.

Flow drafts have these authoring limits:

| Limit              | Value |
| ------------------ | ----: |
| JSON document      |  2 MB |
| Screens            |    50 |
| Components         | 1,000 |
| JSON nesting depth |    32 |

The Flow version remains an editable string. Polymorfa does not rewrite an imported document to a presumed latest Meta version.

## Cloud API and linked-device projects

Authoring, draft storage, import, export, validation, and local preview behave the same for both connection types.

A Cloud API number can link the project draft to a Meta Flow asset for hosted preview and lifecycle operations. Linked-device connections can send an already published Flow through the Messaging API, but the linked-device protocol does not provide Meta Flow asset upload or publication. The Console labels unavailable lifecycle actions instead of treating a local draft as published.

To send a published Flow, see [Send a message](/guides/communicate/api/send-message?playground=open).
