## Overview

The **Flow Builder** is the ConversaLabs visual builder for conversational flows. Instead of writing
code, you assemble the dialogue by connecting **nodes** on a canvas: a message leads to an option
menu, which leads to a condition, which can call an API and take different paths based on the
contact's reply.

It's the right tool when automation needs **multiple steps and interaction** — menu self-service, lead
qualification, scheduling, data capture, and integrations — beyond what a simple rule can do.

## Prerequisites

- The **Flow Builder** module enabled for your account (an optional capability, enabled by plan/flag).
  If it isn't in the menu, talk to an administrator.
- Admin permission to create and publish flows.
- An inbox (for example, WhatsApp) where the flow will be triggered.
- For nodes that depend on other modules (Payments, Follow-ups, CRM, Contracts), the matching module
  must be active.

## Step by step

1. Open the **Flow Builder** and create a new flow (you can start from a gallery template).
2. Configure the flow **trigger** (the event that starts it) in the start node.
3. Drag **nodes** from the palette onto the canvas and connect them to draw the conversation path.
4. Configure each node in the side panel (message text, menu options, condition rule, request URL, etc.).
5. Use **variables** to store and reuse the contact's replies and integration data.
6. **Test** the flow (there are request-testing and session-trace tools) and **publish** it.

## Settings & options

Most-used node types:

| Node | What it's for |
| --- | --- |
| Text message | Sends text to the contact. |
| Option menu | Presents buttons or a list for the contact to choose from. |
| Media | Sends an image, video, audio, or document. |
| Condition | Takes different paths based on a rule/variable. |
| HTTP request | Calls an external API and uses the response in the flow. |
| A/B variation | Splits traffic across paths to test messages. |
| Payment | Creates/sends a charge and waits for payment (Payments module). |
| Follow-up | Enrolls or cancels the contact in a sequence (Follow-ups module). |
| Contract | Sends a contract for signature (Contracts module). |

- **Variables**: capture replies and API data and reuse them in messages and conditions.
- **Template gallery**: start from a ready-made flow and adapt it.
- **Testing and session trace**: validate behavior before publishing.

## Use cases

- **Menu self-service**: the contact picks a topic and is routed to the right team.
- **Lead qualification**: a sequence of questions that store answers in variables and the CRM.
- **Scheduling and billing**: collect data, create a charge, and confirm after payment.
- **Integration**: look up an order via an HTTP request and reply with the status to the customer.

## Tips, limits & best practices

- Sketch the flow on paper before building — map the paths and exit points.
- Always offer a path to **talk to a human**; not everything should stay automated.
- Test every path, including unexpected replies from the contact.
- Watch out for loops and excessive messages (WhatsApp anti-ban best practices).
- Keep flows short and focused — split very large flows into reusable parts.

## Troubleshooting

- **I don't see the Flow Builder**: the module may not be enabled for the account or your role.
- **The flow doesn't start**: check the trigger and that the flow is published and bound to the right
  inbox.
- **The flow stops midway**: a node likely has no exit path for the reply received — cover every option
  and add a default path.
- **The HTTP request failed**: use the request tester to check the URL, headers, and response.

## See also

- [Automation & Flows overview](/hc/ajuda/articles/automation-flows-overview-en)
- [Automation rules: triggers, conditions, and actions](/hc/ajuda/articles/automation-flows-regras-de-automacao-en)
- [Bots and Captain (support AI)](/hc/ajuda/articles/automation-flows-bots-e-captain-en)
- [Smart Routing](/hc/ajuda/articles/automation-flows-smart-routing-en)