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

# Flow Builder

> Design conversation flows visually with a drag-and-drop editor — no coding required.

Flow Builder is a visual, drag-and-drop conversation editor that lets you design AI assistant scripts without writing code. You build multi-step conversation flows by connecting nodes that represent different actions and decision points.

## When to use Flow Builder

<CardGroup cols={2}>
  <Card title="Use Flow Builder for" icon="check">
    * Structured conversation scripts
    * Multi-path decision trees
    * Complex call flows with branching logic
    * Visual thinkers who prefer diagrams over text
  </Card>

  <Card title="Use the classic editor for" icon="pen">
    * Simple, linear conversations
    * Highly dynamic AI responses
    * Quick prompt iterations
    * Text-focused editing
  </Card>
</CardGroup>

## Getting started

<Steps>
  <Step title="Open your assistant">
    Navigate to **Assistants** and click on the assistant you want to edit.
  </Step>

  <Step title="Find Flow Builder">
    Scroll to the **System Prompt** section and click the **Flow Builder** tab.
  </Step>

  <Step title="Launch the editor">
    Click **Launch Flow Builder**. A full-screen editor opens.
  </Step>

  <Step title="Choose how to start">
    * **Continue with existing** — edit your current flow.
    * **Start from scratch** — begin with just a Start node.
    * **Start with template** — load a pre-built conversation template.
  </Step>
</Steps>

## Interface overview

### Canvas (centre)

The main workspace where you build your flow:

* **Nodes** — drag to reposition anywhere on the canvas.
* **Connections** — lines showing the flow between nodes.
* **Zoom controls** — zoom in/out and fit to view.
* **Pan** — click and drag on empty space to move around.

### Bottom toolbar

| Button         | Action                                  |
| -------------- | --------------------------------------- |
| Auto Layout    | Automatically arranges nodes neatly     |
| Duplicate      | Copies the selected node                |
| Delete         | Removes the selected node or connection |
| **+ Add Node** | Adds a new node to the canvas           |

### Settings panel (right side)

Configure your assistant's personality and conversation behaviour:

* **Agent name** — the name your AI uses to introduce itself.
* **Agent type** — Sales, Support, Survey, etc.
* **Language** — spoken language for calls.
* **Assertiveness** — how persistent the AI should be (Low / Medium / High).
* **Humor** — level of humour in responses (Off / Low / Medium / High).
* **Variables** — pre-call data fields available in messages.
* **Post-call fields** — data to extract from the conversation after the call ends.

## Node types

Flow Builder has five node types, each with a specific purpose.

<CardGroup cols={1}>
  <Card title="Start node (green)" icon="play">
    The entry point of every conversation. Every flow must have exactly one Start node.

    **Properties:**

    * **Greeting** — the initial message when the call begins.

    Example: `"Hi, this is Sarah from Acme Insurance. How are you today?"`
  </Card>

  <Card title="Speak node (blue)" icon="volume-high">
    Delivers a pre-written message exactly as specified. Use this when you need precise wording.

    **Properties:**

    * **Text** — the exact message to speak.
    * **Outcomes** — different paths based on the customer's response.

    Example: `"We're offering a limited-time 20% discount on all plans. Would you like to hear more?"`
  </Card>

  <Card title="Prompt node (purple)" icon="message">
    Gives the AI instructions on how to respond. More flexible than Speak nodes — the AI generates contextual responses.

    **Properties:**

    * **Prompt** — instructions for the AI.
    * **Outcomes** — different paths based on response categories.

    Example prompt: `"Ask the customer about their current insurance coverage. Be conversational and empathetic."`
  </Card>

  <Card title="Action node (orange)" icon="bolt">
    Executes special actions during the call.

    **Action types:**

    * **Call forward** — transfer to another number.
    * **Book appointment** — schedule using a connected calendar.
    * **Custom action** — trigger a custom mid-call tool.
  </Card>

  <Card title="End node (red)" icon="phone-slash">
    Terminates the call or transfers to another destination.

    **End types:**

    * **End call** — hang up with a closing message.
    * **Forward call** — transfer to a phone number.
    * **Transfer agent** — hand off to another assistant.
  </Card>
</CardGroup>

## Working with nodes

### Adding nodes

1. Click **+ Add Node** in the bottom toolbar.
2. Select the node type from the dropdown.
3. Drag the new node to your desired position.

### Connecting nodes

1. Hover over a node's bottom edge to reveal the **output handle** (small circle).
2. Click and drag from the output handle to another node's **input handle** (top edge).
3. Release to create the connection.

### Editing nodes

1. Click on any node to select it.
2. The node's properties appear in a side panel.
3. Edit the text, prompt, or settings.

### Deleting nodes

Select a node and press the **Delete** key, or click the delete button in the bottom toolbar.

<Warning>
  The Start node cannot be deleted. Every flow must have exactly one Start node.
</Warning>

## Branching with outcomes

Speak and Prompt nodes can have multiple **outcomes** — different paths based on how the customer responds.

**Adding outcomes:**

1. Select a Speak or Prompt node.
2. In the properties panel, find **Outcomes** and click **Add Outcome**.
3. Name the outcome (e.g., "Interested", "Not interested", "Wants callback").

**Connecting outcomes:**

Each outcome appears as a coloured dot at the bottom of the node. Connect each outcome to a different destination node to create branching logic.

```
[Start] → [Prompt: "Ask if interested"]
                  ↓
      ┌───────────┼───────────┐
      ↓           ↓           ↓
 [Interested]  [Maybe]  [Not interested]
      ↓           ↓           ↓
 [Book demo]  [Send info]  [Thank & end]
```

## Variables

Add pre-call data that can be referenced in your messages:

1. Click **Add Variable** in the Settings panel.
2. Enter a **Name** (e.g., `customer_name`).
3. Set a **Default Value**.

Reference variables in messages with curly braces: `{variable_name}`

Example: `"Hi {customer_name}, I see you were interested in our {product_interest}."`

## Post-call fields

Define data to extract from the conversation:

1. Click **Add Field** in the Settings panel.
2. Enter a **Name**, **Type**, and **Description**.
3. The AI will attempt to fill these fields based on what was discussed.

Supported types: `string`, `number`, `boolean`

## Import and export

<Tabs>
  <Tab title="Export">
    1. Open the Settings panel.
    2. Scroll to the bottom.
    3. Click **Export JSON** and save the file.
  </Tab>

  <Tab title="Import">
    1. Click **Import JSON** in the Settings panel.
    2. Select your `.json` file.
    3. The flow loads on the canvas.
  </Tab>
</Tabs>

<Tip>
  Export your flows regularly as backups. You can also share flows with team members by sending the JSON file.
</Tip>

## Voicemail settings

Configure what happens when voicemail is detected during outbound calls:

* **Voicemail message** — the message to leave if voicemail answers.
* **End call on voicemail** — toggle to automatically hang up instead of leaving a message.

## Saving your flow

Click **Save** in the top-right corner to save your flow to the assistant.

<Note>
  The flow is stored as JSON in your assistant's system prompt field. If you switch to the classic editor, you'll see the raw JSON data.
</Note>

## Best practices

<CardGroup cols={2}>
  <Card title="Start simple" icon="seedling">
    Begin with a basic flow and add complexity gradually. Test at each stage before adding more branches.
  </Card>

  <Card title="Use Prompt nodes for flexibility" icon="brain">
    Prompt nodes give the AI room to respond naturally. Reserve Speak nodes for moments that require exact wording.
  </Card>

  <Card title="Plan your outcomes first" icon="diagram-project">
    Sketch the main paths — positive, negative, and neutral responses — before building the flow.
  </Card>

  <Card title="Test every path" icon="vial">
    Make test calls covering all outcomes. Verify each path leads to the right destination node.
  </Card>
</CardGroup>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Nodes won't connect">
    * Ensure you're dragging from an **output handle** (bottom) to an **input handle** (top).
    * Check that you're not creating a circular connection.
    * The Start node only has an output; End nodes only have an input.
  </Accordion>

  <Accordion title="Flow not saving">
    * Check your internet connection.
    * Ensure you have at least one node besides the Start node.
    * Look for validation errors in the Settings panel.
  </Accordion>

  <Accordion title="AI not following the flow">
    * Use Speak nodes when exact wording is required.
    * Make Prompt node instructions more specific.
    * Check that outcomes are clearly defined and connected.
  </Accordion>
</AccordionGroup>
