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

# Switch a workflow on, and read its runs

> Resolve the errors, set it live, and check what happened each time it fired.

A new workflow starts **inactive** and does nothing until you set it live. Before you can, every step has to be configured.

<Frame caption="A workflow that isn't ready. Three steps carry errors, so Set live is greyed out.">
  <img src="https://mintcdn.com/ocoya/AXU_TbAvrsHP8A-m/images/screenshots/workflow-builder.png?fit=max&auto=format&n=AXU_TbAvrsHP8A-m&q=85&s=42101cd6eab6270ade1c0b95209c8a01" alt="Ocoya workflow builder showing a workflow named RSS poster marked Inactive, a red badge reading 3, a greyed-out Set live button, a View runs button, and three steps — New RSS item, Use AI agent and Create social post — each with a red error icon" width="2880" height="1800" data-path="images/screenshots/workflow-builder.png" />
</Frame>

## Clear the errors first

The red number in the header is how many steps still need something. Each unfinished step carries a red marker, so you can see which.

Typical ones: an RSS trigger with no feed URL (*RSS url missing*), a schedule with no interval (*Schedule missing*), an AI agent step with no agent picked, a WooCommerce trigger with no store (*Store missing*).

**Set live stays disabled while any error remains.** Hovering it says so:

> All errors must be resolved before toggling the workflow on or off

Work down the chain from the trigger, selecting each step and filling it in. The error count falls as you go.

## Set it live

With the count at zero, **Set live** switches the workflow on and the badge changes from Inactive to Live.

**Pause** switches it off again. A paused workflow keeps its configuration and its run history — pausing isn't deleting, and setting it live again picks up from then on. It won't replay anything it missed while paused.

<Note>
  Pausing is the right move when a workflow is behaving unexpectedly. It stops the runs — and the credits — immediately, and gives you time to look at what it did without deleting the evidence.
</Note>

## Reading the runs

Along the bottom of the builder are four counters, and **View runs** opens the full list.

| Outcome         | Means                                                  |
| --------------- | ------------------------------------------------------ |
| **In progress** | Running now                                            |
| **Succeeded**   | Finished, no error                                     |
| **Failed**      | Stopped on an error                                    |
| **Exited**      | Stopped deliberately — a Filter's condition wasn't met |

**Exited is not a failure.** A Comment-to-DM workflow filtering for one keyword exits on every comment that doesn't contain it, which is the filter doing its job. A workflow with far more exits than successes usually means the filter is too narrow, not that something is broken.

Each run records when it was triggered, when it finished, how long it took, its status, and — if it failed — the error. Exited runs show the reason instead.

A workflow that has never fired shows *No runs yet*.

## Runs cost credits

Every run costs 1 credit, including runs that fail and runs that exit at a filter. A workflow that triggers often spends accordingly.

If your balance runs out, runs fail with:

> You've exceeded the credit limit. Upgrade to get more.

The workflow stays live — it starts working again when your credits reset or you upgrade. See [What are credits?](/help/credits)

## Related

<Columns cols={2}>
  <Card title="A workflow didn't run" icon="triangle-alert" href="/help/workflow-didnt-run">
    Working out why nothing happened.
  </Card>

  <Card title="Triggers and actions" icon="list-tree" href="/help/workflow-steps">
    Configuring the steps that are showing errors.
  </Card>
</Columns>
