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

# Flow builder

> Describe the automation you want and build it with Doris, step by step, on the canvas.

The flow builder is how you create a flow. You describe what you want in plain language, Doris proposes the steps, and you refine them in conversation until the flow does what you meant. Nothing runs until you test it and activate it.

## When to use the flow builder

* You want Doris to do something repeatable that you currently do by hand
* You want an alert when a specific thing happens on a deal
* You want a report or digest on a cadence
* You want to keep your CRM current without typing into it

## Build a flow

<Steps>
  <Step title="Describe it">
    Open **Flows** from the sidebar. Type what you want in the composer, in your own words. "When a deal moves to negotiation, check we have an economic buyer and tell me if we don't."
  </Step>

  <Step title="Set when it starts">
    Above the composer, **Starts** picks the [trigger](/features/triggers). Leave it on **Let Doris choose** and Doris picks the closest match from your description.
  </Step>

  <Step title="Choose who it runs for">
    Admins also see a **for** control: **Just me** builds a personal flow, **Whole company** builds one that runs for everyone. Members always build personal flows.
  </Step>

  <Step title="Build it with Doris">
    Submitting opens the canvas: the flow diagram on the left, Doris on the right. Doris proposes steps, and you apply, revise, or discard each proposal. Keep talking until the diagram matches what you want.
  </Step>

  <Step title="Review it">
    Choose **Review flow**. Doris checks the flow and shows you who it runs for, when it starts, what it does, and every effect it has outside Doris.
  </Step>

  <Step title="Test it">
    Choose **Test flow**. Pick a real recent event and Doris runs the saved flow against it. Nothing is written and nobody is notified. You see exactly what each step produced.
  </Step>

  <Step title="Activate it">
    **Activate for me** or **Activate for workspace** turns the flow on. It starts running on the next matching trigger.
  </Step>
</Steps>

## The canvas

The canvas has two halves. The left shows the flow as a diagram: the trigger at the top, then each step in order. Select a step to read what it is configured to do.

The right is the conversation with Doris. It is the editor. You do not drag steps around or fill in configuration forms; you say what you want changed and Doris proposes the change.

When Doris proposes something, you get three choices:

* **Apply** — Save it to the draft
* **Revise** — Say what is wrong and get a new proposal
* **Discard** — Throw the proposal away and keep the current draft

Your draft is saved as you go. You can close the canvas and come back to it.

## What a step can do

Doris builds flows from a reviewed set of steps. Each one does a single job.

<CardGroup cols={2}>
  <Card title="Read" icon="magnifying-glass">
    **Find record** loads one deal, person, or meeting with the related context you ask for. **List records** and **Count and group records** work across many. **Reads a connected account** fetches data from an external tool.
  </Card>

  <Card title="Reason" icon="brain">
    **Compose text** writes from the context the flow has already gathered. **Analyse records** investigates further using read-only access to your Doris data.
  </Card>

  <Card title="Decide" icon="code-branch">
    **Continue if** stops the flow when a condition is not met, or routes it down one of two named paths.
  </Card>

  <Card title="Write and notify" icon="paper-plane">
    Write CRM fields, notes, and objects. Save briefs and cards inside Doris. **Notify person** alerts someone in Doris, by email, and in a connected Slack or Teams channel.
  </Card>
</CardGroup>

## Connections

Some steps reach outside Doris. Above the composer on the Flows page, the connections control opens a sheet where you can:

* **Connect an external account** so flows can read from it or act in it
* **Add a chat channel** by pasting an incoming webhook URL from Slack or Teams

Both are one-time setup. Once connected, any flow can use them. If you ask Doris to notify a channel you have not connected yet, it offers to connect one without leaving the conversation.

## The approval boundary

Anything that writes outside Doris sits behind an approval boundary. Doris prepares the change and a person approves it before it is written. The review screen tells you when a flow has steps like this.

There is one rule that no flow can be built around: **no flow sends anything to your buyer.** Alerts, briefs, and drafts all end with a person on your side deciding what to do next.

## Testing

**Test flow** runs the saved flow for real, with a safety boundary around it:

* Steps that read data run properly, against real records
* Steps that write, notify, or act on an external account are simulated, and tell you what they would have done
* Nothing is committed, and nobody receives anything

For an event-triggered flow, you pick a recent real event to test against. For a scheduled flow, it tests as you, using today's context.

If a step fails during the test, you can send it straight back to the conversation with its error attached and Doris fixes it.

## Permissions and scope

* **Personal flows** run for you, over your records. Any member can build and activate one.
* **Company flows** run across the workspace. Admins build and activate these.

A company flow covering the same ground as your personal one takes precedence. Your personal version is kept but stops running, and Doris tells you when that happens.

## After it is live

Once a flow is active you can rename it, turn it off, roll back to an earlier version, and see every run it has made. See [Flows](/features/flows) for managing what is already running.

<Tip>Build the smallest version first. One trigger, two or three steps, one notification. Test it, activate it, then add to it once you have seen it run on real deals.</Tip>
