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

# Overview

> Flows let you automate work in your store, triggering actions when something happens.

<Note>
  Flows is in **beta** and is enabled per store. Contact Marzipan to switch it on for your account.
</Note>

Flows let you automate work in your store. Each flow is built as a **graph**: a **trigger** starts the flow, **conditions** decide whether it continues, and **actions** do the work.

## Triggers

A trigger is the event that starts a flow. There are currently two:

* `order.paid` - an order is marked paid
* `cms.page_updated` - a CMS page is updated

## Actions

Actions are the steps a flow runs. You can:

* Send a webhook
* Send an email
* Update an order's status

Integrations can add their own actions too, for example **Fulfil order via LCB** ([London City Bond](/integrations/london-city-bond)) and **ScrubBill**.

## Building a flow

Add a step from a node's own handle to append it to the end of a branch. To put a step **in the middle** of a flow, hover the line between two nodes and click the **+** at its midpoint, then choose an action or a condition. The new step is spliced in, both sides are rewired, and the layout tidies itself up.

## POS orders

Flows on the `order.paid` trigger **skip point-of-sale orders by default**. A till sale uses the shared walk-in customer, carries no delivery address, and closes as soon as it's paid, so a delivery-shaped flow would otherwise email a placeholder record or push a counter sale to a third-party logistics provider.

Turn on **Include POS orders** next to **Active** in the flow editor for flows that genuinely want every sale, such as an accounting webhook or a sales dashboard.

<Note>
  An order placed on **hold** (because it oversold, for example) doesn't run its `order.paid` flows straight away. It runs them once, when the hold is released.
</Note>

## Conditions

Conditions let a flow decide whether to continue. For example, you can check:

* Order total
* Order type
* Order market
* Order shipping country
* Number of items
* Case-only
* Contains a product type
* Customer type

## Versions and executions

Every edit you make to a flow is **versioned**, so you always have a history of how it has changed.

You can also view the **execution history** for a flow, including each run's status, result and timing. If an execution didn't complete as expected, you can **retry** it.
