# Flows

What Flows is, how a flow moves each contact along its own path, and where to start building one.

**Language:** en
**Audience:** platform
**TLDR:** Flows (Beta) is Instasent's visual automation builder: a contact enters a flow when an event happens, and the flow waits, sends SMS or RCS, checks what the contact did and routes each one along its own path until a goal, an exit event or the end. Build it in Marketing › Flows from a blank canvas or a template; nothing is sent until a person publishes it.
**Translation key:** platform.automations.flows
**Search keywords:** journey, customer journey, journey builder, workflow, branching automation, marketing automation, event-driven automation, automated messages, flow builder
**Related pages:** /platform/es/automations/flows, /platform/en/automations, /platform/en/automations/flows/building-a-flow, /platform/en/automations/flows/templates, /platform-api/product-api/flows/overview
**Docs index (every page):** https://docs.instasent.com/llms.txt
**This zone's index:** https://docs.instasent.com/platform/en/llms.txt
**This page:** https://docs.instasent.com/platform/en/automations/flows/ (HTML) · https://docs.instasent.com/platform/en/automations/flows.md (Markdown)
**Other language (es):** https://docs.instasent.com/platform/es/automations/flows.md

Flows (Beta) lets you draw an automation on a
**visual canvas** and have each contact follow **their own path** through it. A
contact enters a flow when something happens, such as a checkout that wasn't
completed or a new sign-up. From there the flow waits for the right moment, sends
a message, checks what the contact did and routes them accordingly, until they
reach the goal, leave on an exit event or come to the end. Because the flow decides
for each person, two customers who enter at the same time can receive different
messages at different times, or none at all.

Flows sits in the side menu under **Marketing › Flows**, marked **Beta**.

> **Note**: **Flows is in beta.** It is available in the dashboard to everyone with access to
> automations; building, publishing and pausing flows needs the **Owner**, **Full access**
> or **Marketing** role (see
> [Who can do what](/platform/en/automations/flows/managing-flows#who-can-do-what)). It
> keeps improving: some screens and options may change as it
> evolves.

> **Note**: **Flows is not the same as Sequences or a campaign.** Which tool fits which need is
> explained on the [Automations](/platform/en/automations) overview.

## How a flow works

A flow has the shape of a tree drawn from top to bottom. Each part has a name that
the rest of these pages use:

- **Trigger** — the card at the top. It sets the event that brings a contact into
  the flow (for example **Checkout started**), who may enter and how often. Each time
  the event happens for a contact who qualifies, that contact enters. Who is let in,
  and when, is explained in [The trigger](/platform/en/automations/flows/triggers-and-entry).
- **Step** — each card below the trigger. A step sends a message, waits, splits the
  flow, updates the contact, records the goal or ends the flow; the panel groups them
  as **Send**, **Wait**, **Split the flow**, **Update the contact**, **Goal** and
  **End the flow**. The full catalogue is in [Building a flow](/platform/en/automations/flows/building-a-flow).
- **Branch** — one of the paths that leave a step with several outputs: a split by
  tag, segment, consent or any other condition, an A/B split, or a wait that ends
  differently depending on what the contact did. Each contact takes exactly one
  branch, and when that branch runs out of steps the contact carries on with whatever
  sits below the split. Nobody draws the paths back together: they rejoin on their
  own.
- **Run** — one pass of one contact through the flow, from the moment they enter
  until their path ends. A contact who enters again later starts a new run, so the
  same person can have several runs of the same flow, within the re-entry limits you
  set on the trigger.

A run normally ends in one of three ways. The contact reaches the end of their path, which
the canvas marks as **Flow completed**. An **exit event** happens, such as the order
that makes a reminder pointless, and the run stops wherever the contact is, even in
the middle of a wait. Or the contact reaches an **Exit flow** step that you placed on
purpose. Along the way, the flow can record that the contact met its **goal**: that
is what the flow's goal rate measures. All of this, and the less common ways a run
ends, is explained in [Goals and exits](/platform/en/automations/flows/goals-and-exits).

Here is an abandoned-cart flow. A shopper who starts a checkout and doesn't finish
it receives a reminder at the best moment for them; if they don't tap the link
within a day, a coupon follows a day later. The order is set as an exit event and
as the flow's goal, so whoever buys stops receiving messages.

```mermaid
flowchart TD
    T["Trigger: Checkout started"] --> D["Smart delay: best moment, 5 min to 8 h"]
    D -->|Wait complete| S1["Send SMS: reminder with the cart link"]
    D -->|Unable to wait| F["Flow completed"]
    S1 --> W["Wait for activity: up to 1 day"]
    W -->|Tapped a specific element: the link| F
    W -->|No interaction| FD["Fixed delay: 1 day"]
    FD --> S2["Send SMS: 10% coupon"]
    S2 --> F
    X["Exit event: Order created, used as the goal"] -.->|at any point| E["The run ends, no more messages"]
    class F success
    class E success
```

![The Live tab of an abandoned-cart flow: trigger, smart delay, message and a wait for activity with two branches](/platform/en/automations/images/flows--1-canvas.png)
*A published flow on its canvas.*

Four shoppers abandon a checkout on the same afternoon, and each one goes a
different way:

- **Laura** places the order ten minutes later, while the Smart delay is still
  waiting for her best moment. The order is an exit event, so her run ends there and
  she receives nothing.
- **David** receives the reminder in the evening and taps the link. He takes the
  **Tapped a specific element** branch, which has no steps, so his run reaches
  **Flow completed**.
- **Marta** receives the reminder and doesn't tap it. After a day without
  interaction she waits one more day and receives the coupon.
- **Javier** receives the reminder and buys the next morning, while the flow is
  waiting to see whether he taps. The order cuts his run: no coupon.

Which of these purchases count towards the flow's goal is explained in
[Goals and exits](/platform/en/automations/flows/goals-and-exits), and how to follow
each person's path, step by step, in
[Monitoring a flow](/platform/en/automations/flows/monitoring-a-flow).

A contact who doesn't qualify when the event happens (outside the audience, over a
re-entry limit, or someone who had already bought by the time they were due to
enter) simply doesn't enter that time. The
flow's **Activity** lists them with the reason, as described in
[Monitoring a flow](/platform/en/automations/flows/monitoring-a-flow).

### Draft and published version

The changes you make and save on the canvas form the flow's **draft**, in the
**Build** tab. Apart from a one-contact test, nobody runs a draft: contacts run the
**published version**, shown in the **Live** tab. Publishing the draft to everyone turns it into the new Live
version, and from then on new entrants follow it, while contacts already inside finish the version they
entered on. This is what lets you edit a flow that is running without touching the
people in it; the detail is in
[Testing, publishing and versions](/platform/en/automations/flows/versions-and-publishing).

There is no charge for the flow itself or for each run: waits, branches, contact
updates and goals cost nothing. Each message a flow sends is billed like any other
SMS or RCS message, as explained in
[Sending messages](/platform/en/automations/flows/sending-messages).

## What you can build

A few of the journeys flows are made for, each with the page that explains the
piece that makes it work:

- **Welcome new contacts** — greet each contact once, at a good moment after they
  join your audience. Available as a ready-made flow in
  [Flow templates](/platform/en/automations/flows/templates).
- **Abandoned cart or checkout** — remind the shopper at their best moment and stop
  as soon as they buy. The stopping part is in
  [Goals and exits](/platform/en/automations/flows/goals-and-exits).
- **Thank you for your order** and **Ask for a review** — a message right after the
  order, or a few days after delivery at a good time for each customer. The timing
  options are in [Waits](/platform/en/automations/flows/waits).
- **Win back customers** — write to customers some time after their last order, with
  each new order restarting the count. See
  [Goals and exits](/platform/en/automations/flows/goals-and-exits).
- **A different message per country or for your VIPs** — split by a contact field or
  a tag and send each group its own text. See
  [Branches](/platform/en/automations/flows/branches).
- **Opt-in by reply** — ask after delivery whether the customer wants offers by SMS,
  and when they reply yes, subscribe them and add them to a list. See
  [Updating the contact](/platform/en/automations/flows/contact-updates).

To start, select **New flow** in **Marketing › Flows**. You can start from a blank
canvas, as described in
[Building a flow](/platform/en/automations/flows/building-a-flow), or from a template
built around the events your project receives, as described in
[Flow templates](/platform/en/automations/flows/templates). Either way, the result is
a draft: nothing is sent until someone publishes it.

## Publishing your first flow

A short checklist for each side of publishing; each point links to the page with the
detail.

### Before you publish

- **Who enters, and how often** — check the trigger's audience and re-entry limits:
  [The trigger](/platform/en/automations/flows/triggers-and-entry).
- **Who receives each message** — check the consent policy of every message step:
  [Sending messages](/platform/en/automations/flows/sending-messages).
- **What stops a reminder** — add the exit event, usually the purchase, that ends the
  run when the customer has already done what you wanted:
  [Goals and exits](/platform/en/automations/flows/goals-and-exits).
- **A test with one contact** — run the saved draft for a single contact before
  publishing it to everyone:
  [Testing, publishing and versions](/platform/en/automations/flows/versions-and-publishing#test-with-one-contact).

### After you publish

- **Who entered and who didn't** — the flow's **Activity** lists each entry, and each
  contact who didn't enter with the reason:
  [Monitoring a flow](/platform/en/automations/flows/monitoring-a-flow).
- **What pausing does** — **Pause enrollment** (the same action as **Disable** in the
  flows list) stops new entries, not the contacts already inside:
  [Managing flows](/platform/en/automations/flows/managing-flows#pause-and-enable-enrollment).
- **What a fix reaches** — publishing a corrected draft changes the path for new
  entrants; contacts already inside finish the version they entered on:
  [Testing, publishing and versions](/platform/en/automations/flows/versions-and-publishing#contacts-already-inside-keep-their-version).
- **Stopping a version that is sending something wrong** — pause enrollment, then cancel
  the executions of every version that still has people inside; publishing a fix doesn't
  stop them: [Managing flows](/platform/en/automations/flows/managing-flows#cancel-executions).
- **How it's performing** — goal rate, conversions, revenue and cost:
  [Flow analytics](/platform/en/automations/flows/flow-analytics).

## Explore Flows

- [Building a flow](/platform/en/automations/flows/building-a-flow) - Create a flow and work on its canvas: add, move and rename steps, save the draft and fix what blocks publishing.
- [Flow templates](/platform/en/automations/flows/templates) - Ready-made flows for the events your project receives, and what each one sets up for you.
- [The trigger: who enters and when](/platform/en/automations/flows/triggers-and-entry) - The event, its conditions, the audience, re-entry limits, the Enrollment pace settings and processing mode.
- [Sending messages](/platform/en/automations/flows/sending-messages) - Channel, sender, the consent policy of each message and what happens when it can't be sent.
- [Waits](/platform/en/automations/flows/waits) - The five wait steps, what each one waits for, its range and the exits it can take.
- [Branches](/platform/en/automations/flows/branches) - Route each contact by tag, list, segment, contact field, event, consent, reachability or an A/B split.
- [Updating the contact](/platform/en/automations/flows/contact-updates) - Add or remove tags and lists and change a contact's subscription from a flow.
- [Goals and exits](/platform/en/automations/flows/goals-and-exits) - Define what success means, when a goal counts and how a contact leaves before the end.
- [Testing, publishing and versions](/platform/en/automations/flows/versions-and-publishing) - Test with one contact, publish to everyone or a small group, and work with versions.
- [Managing flows](/platform/en/automations/flows/managing-flows) - The flows list, pausing enrollment, duplicating, archiving, stopping contacts inside and your plan's limit.
- [Monitoring a flow](/platform/en/automations/flows/monitoring-a-flow) - Who entered, who didn't and why, and each contact's journey step by step.
- [Flow analytics](/platform/en/automations/flows/flow-analytics) - Activations, contacted runs, goal rate, conversions, revenue, cost and the flow report.
- [Limits and safeguards](/platform/en/automations/flows/limits-and-safeguards) - Duration, size, plan ceilings, low balance and the events that don't start a flow.

## Related

- [Automations](/platform/en/automations) - The automations collection, and which tool fits which need.
- [Compliance policies](/platform/en/campaigns/compliance-policies) - The consent policies a message can require, and who each one reaches.
- [Flows in the Product API](/platform-api/product-api/flows/overview) - For developers: create and edit flow drafts through the API.

---

This is one page of the Instasent documentation. For the complete machine-readable index of every guide and API reference, fetch https://docs.instasent.com/llms.txt — start there for full context.
