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

# Flow Builder Overview

> Learn how the visual Flow Builder works — the drag-and-drop automation canvas that powers every fan engagement workflow in Fanaura.

The Flow Builder is where your marketing strategy comes to life. It is a visual, drag-and-drop canvas where you design automation workflows that execute actions when fans trigger specific events. Think of it as a blueprint for every interaction between you and your fans — drawn out step by step, then set to run automatically.

***

## What Are Flows?

A **flow** is an automation workflow. It starts with a trigger (something a fan does), followed by a sequence of actions (things you do in response), connected by delays and conditions.

Here is a simple example:

```
Fan presaves your single
  |
Wait 1 minute
  |
Send email: "Thanks for presaving! Here's an exclusive snippet."
  |
Wait 3 days
  |
Check: Did they stream the song?
  |-- Yes -> Send SMS: "You're amazing. Share it with a friend?"
  |-- No  -> Send email: "Hey, the track just dropped. Give it a listen!"
```

That entire sequence runs automatically once you build it and toggle the flow on. No manual work, no remembering to send follow-ups, no fans slipping through the cracks.

<Tip>Start with a simple flow — a trigger, one delay, and one action. You can always add complexity later once you see how fans respond.</Tip>

***

## Explore the Flow Builder

<CardGroup cols={3}>
  <Card title="Creating a Flow" icon="plus" href="/flow-builder/creating-a-flow">Step-by-step guide to building your first automation.</Card>
  <Card title="Triggers" icon="bolt" href="/flow-builder/triggers">25+ trigger types that start your flows.</Card>
  <Card title="Actions" icon="play" href="/flow-builder/actions">Send emails, SMS, DMs, and more.</Card>
</CardGroup>

### Building Blocks

<CardGroup cols={3}>
  <Card title="Conditions" icon="code-branch" href="/flow-builder/conditions">Yes/No branching logic for personalized journeys.</Card>
  <Card title="Delays" icon="clock" href="/flow-builder/delays">Time-based, fan-action, and date-based pauses.</Card>
  <Card title="Merge Tags" icon="tags" href="/flow-builder/merge-tags">80+ dynamic placeholders for personalization.</Card>
</CardGroup>

### Channels

<CardGroup cols={3}>
  <Card title="Send Email" icon="envelope" href="/flow-builder/send-email">Rich HTML emails with drag-and-drop design.</Card>
  <Card title="Send SMS" icon="comment-sms" href="/flow-builder/send-sms">Text messages with 98% open rates.</Card>
  <Card title="Send Instagram DM" icon="message" href="/flow-builder/send-instagram-dm">Personal direct messages on Instagram.</Card>
</CardGroup>

### Management

<CardGroup cols={3}>
  <Card title="Settings" icon="gear" href="/flow-builder/settings">Enrollment rules, timezones, and time windows.</Card>
  <Card title="Enrollment" icon="users" href="/flow-builder/enrollment">Track every fan moving through your flows.</Card>
  <Card title="Execution Logs" icon="scroll" href="/flow-builder/execution-logs">Debug with detailed action-by-action logs.</Card>
</CardGroup>

<CardGroup cols={1}>
  <Card title="Toggling Flows" icon="toggle-on" href="/flow-builder/toggling">Activate, deactivate, and manage flow states safely.</Card>
</CardGroup>

***

## The Visual Canvas

The Flow Builder uses a **ReactFlow-powered** drag-and-drop canvas. Each step in your flow appears as a node on the canvas, connected by lines (edges) that show the order of execution.

### Node Types

| Node          | Shape                     | Purpose                                       |
| ------------- | ------------------------- | --------------------------------------------- |
| **Trigger**   | Rounded rectangle         | The event that starts the flow                |
| **Action**    | Rectangle                 | Something you do (send email, send SMS, etc.) |
| **Delay**     | Rectangle with clock icon | A pause before the next step                  |
| **Condition** | Diamond                   | A Yes/No branch based on criteria             |

### Canvas Controls

* **Zoom**: Scroll to zoom in and out, or use the zoom controls in the bottom-left corner
* **Pan**: Click and drag on empty canvas space to move around
* **Select**: Click any node to select it and view its settings
* **Connect**: Drag from a node's output handle to create a new connection
* **Delete**: Select a node or edge and press Delete/Backspace
* **Undo/Redo**: Standard keyboard shortcuts work on the canvas

***

## Flow Structure

Every flow follows a consistent structure:

<Steps>
  <Step title="Trigger (Required)">
    The trigger is always the first node. It defines what fan action starts this flow. Examples include a fan presaving your music, sending an Instagram DM, replying to an SMS, purchasing merch, and more.

    A flow can have **one trigger** or **no trigger** (triggerless flows are entered only via Go-to-Flow from another flow).
  </Step>

  <Step title="Actions">
    Actions are the things that happen in response to the trigger. Send an email, send an SMS, send an Instagram DM, add the fan to a list, tag their profile, or redirect them to another flow.

    Actions execute in sequence — one after the other, top to bottom.
  </Step>

  <Step title="Delays">
    Delays create pauses between actions. Wait 2 hours before the follow-up. Wait until release day. Wait for the fan to open your email.

    Delays are crucial for building natural-feeling sequences that do not bombard fans with everything at once.
  </Step>

  <Step title="Conditions">
    Conditions create **branches** — Yes/No splits based on criteria. "Did the fan presave?" "Is the fan a VIP?" "Did they open the last email?"

    Each branch can continue with its own actions, delays, and even more conditions. This is where flows get powerful — you can create different experiences for different fan behaviors.
  </Step>
</Steps>

***

## Where Flows Live

Flows belong to **launches** and are assigned to a specific **cycle stage** (Pre-Release, Release, or Post-Release). On the launch detail page, you will see flows organized under their respective stage sections.

<Info>Quick Automations — standalone flows not tied to a launch — live under the Automations tab on the Launches page.</Info>

***

## Flow Chaining with Go-to-Flow

Flows do not have to be standalone. The **Go-to-Flow** action lets you redirect a fan from one flow into another. This is incredibly useful for:

* **Modular design**: Build reusable flows (like a "welcome sequence") that multiple triggers can feed into
* **Complex journeys**: Split a long sequence into manageable chunks
* **Cross-stage transitions**: Move a fan from a Pre-Release flow into a Release flow when the time comes

***

## Real-Time Execution

When a fan triggers a flow, Fanaura executes it in real time using a **reliable message queue**. This means:

* **Guaranteed delivery**: Messages are queued and retried if delivery fails
* **Scalable**: Thousands of fans can trigger flows simultaneously without bottlenecks
* **Reliable delays**: Time-based delays are handled by the message queue, so they fire exactly when scheduled — even if Fanaura is processing other tasks

***

## The Three Tabs

Every flow detail page has three tabs:

<Tabs>
  <Tab title="Canvas">
    This is the visual builder where you design your flow. Add triggers, actions, delays, and conditions. Connect them together. This is where you spend most of your time.
  </Tab>

  <Tab title="Settings">
    Configure flow behavior: enrollment rules, timezone settings, time windows for sending, communication defaults. See [Flow Settings](/flow-builder/settings) for details.
  </Tab>

  <Tab title="Enrollment">
    View every fan who has entered this flow, their current status, and where they are in the journey. See [Enrollment History](/flow-builder/enrollment) for details.
  </Tab>

  <Tab title="Execution Logs">
    Debug your flows by viewing every action that has executed, success/failure status, and error details. See [Execution Logs](/flow-builder/execution-logs) for details.
  </Tab>
</Tabs>

***

## A Simple Flow, Start to Finish

Here is what building a flow looks like in practice:

<Steps>
  <Step title="Navigate to Your Launch">
    Go to the Launches page and click on your launch. Click **"Add Flow"** under the Pre-Release stage.
  </Step>

  <Step title="Name Your Flow">
    Name it something descriptive: "Presave Thank You Sequence"
  </Step>

  <Step title="Add a Trigger">
    The canvas opens with an empty workspace. Click the add button to add a **trigger**: "Fan pre-saves your music"
  </Step>

  <Step title="Add a Delay">
    Click the add button below the trigger to add a **delay**: "Wait 1 minute"
  </Step>

  <Step title="Add an Action">
    Add a **Send Email** action with your thank-you message.
  </Step>

  <Step title="Add Another Delay">
    Add a **delay**: "Wait 3 days"
  </Step>

  <Step title="Add a Condition">
    Add a **condition**: "Fan has streamed the song"
  </Step>

  <Step title="Build Both Branches">
    Build out the Yes and No branches with different follow-up actions.
  </Step>

  <Step title="Toggle Active">
    Toggle the flow **active** when you are ready.
  </Step>
</Steps>

That is it. Fans who presave will automatically receive your thank-you email, and three days later, they will get a personalized follow-up based on whether they have actually listened.

***

## Tips and Best Practices

<AccordionGroup>
  <Accordion title="Start simple">
    Your first flow should be a trigger, a delay, and one action. Build complexity from there.
  </Accordion>

  <Accordion title="Test before activating">
    Use the "Send test" feature in email and SMS actions to verify your messages look right.
  </Accordion>

  <Accordion title="Name flows descriptively">
    "IG DM Presave Responder" is better than "Flow 1."
  </Accordion>

  <Accordion title="Use delays generously">
    Fans appreciate breathing room between messages. A 1-day delay often outperforms a 1-hour delay.
  </Accordion>

  <Accordion title="Check your conditions">
    A misconfig in a condition node can send fans down the wrong branch — always double-check the logic.
  </Accordion>

  <Accordion title="Monitor Execution Logs">
    After activating a flow, check the logs within the first few hours to make sure everything is firing correctly.
  </Accordion>
</AccordionGroup>

***

## What Happens Next

Ready to build? Start with [Creating a Flow](/flow-builder/creating-a-flow) to set up your first automation.
