# Running & Monitoring Workflows

Once you have built a workflow, you can:

- **Test it in the builder** using the changes currently on the canvas.
- **Run it manually** from a [Manual](/documentation/flowcrafter/nodes/triggers/manual/) trigger.
- **Activate it** so Form, [Schedule](/documentation/flowcrafter/nodes/triggers/schedule/), and [Webhook](/documentation/flowcrafter/nodes/triggers/webhook-trigger/) triggers can start runs automatically.

A **run** is one execution of a workflow. Every run is recorded, so you can follow its progress and return later to see what happened.

## Turn automatic runs on or off

New workflows are **Inactive**. While a workflow is inactive, Form, Schedule, and Webhook triggers do not start runs.

To begin accepting automatic triggers, click on the **Inactive** status beside the workflow name and activate the workflow.

If you have unsaved changes, Flowcrafter asks whether you want to:

- Activate the last saved version; or
- **Save & activate** the changes currently on the canvas.

Flowcrafter will not activate a workflow until it has a trigger and is free of validation errors.

| Workflow status | Automatic triggers | Manual runs | Tests in Builder |
|---|---|---|---|
| **Inactive** | Do not start runs | Available | Available |
| **Active** | Start runs normally | Available | Available |

Activation takes effect immediately. You do not need to select **Save** again.

![The activation prompt for a workflow with unsaved changes](/documentation/flowcrafter/screenshots/workflow-activation-unsaved-changes.png)

To stop new automatic runs, select the **Active** status and confirm that you want to deactivate the workflow. Runs that have already started will continue using the version of the workflow they started with.

---

## Start a workflow manually

Workflows with a Manual trigger can be started whenever you need them.

1. Save the workflow.
2. Select the Manual trigger.
3. Select **Run** on the trigger card.

![A selected Manual trigger with its Run action visible](/documentation/flowcrafter/screenshots/manual-trigger-run-action.png)

The workflow does not need to be active, but Manual runs always use **the last saved version**. Unsaved changes on the canvas are not included in the run.

After the run starts, Flowcrafter opens it in **Runs** so you can follow its progress.

---

## View a workflow's runs

Switch from **Builder** to **Runs** in the toolbar. Flowcrafter opens the newest run and displays **Run history** on the left.

![Runs mode showing a completed workflow and its run history](/documentation/flowcrafter/screenshots/editor-runs-mode.png)

Run history shows each run's:

- Status-colored dot;
- Run number;
- Time since it started; and
- **Test** label, when the run came from testing in the builder.

Select any run to inspect it. The list updates while it is open, so you can follow new and in-progress runs without leaving the page.

Flowcrafter shows 50 runs at a time. Select **Show older runs** to load more. You can also collapse Run history when you need more room for the canvas.

To see runs from all workflows, go to *Forms › Workflows › Activity*.

---

## Follow a run's progress

The canvas in **Runs** shows the route the workflow took and the current state of each node.

| What you see | What it means |
|---|---|
| Green connection | The run followed this route |
| Checkmark and duration | The node completed successfully |
| Red node and error message | The node failed |
| Faded, dashed node | The run did not reach this node |
| Waiting or running label | The node is paused or still working |

Runs are read-only. You can pan, zoom, and inspect nodes, but you cannot change the workflow. Switch back to **Builder** when you want to edit it. Any unsaved canvas changes from before you opened Runs will still be there.

Branches that were not selected appear skipped. They do not prevent a shared node later in the workflow from continuing.

---

## See more information about a run

The status area on the right side of the toolbar shows the selected run's status, entry, start time, and duration.

Use **‹** and **›** to move between runs, or open **Details** to see additional information, including:

- The exact start time and total duration;
- How many nodes have completed;
- Where the run is waiting or why it failed;
- [For Each](/documentation/flowcrafter/nodes/flow/for-each/) progress;
- Available actions, such as **Run now** or **Cancel this run**; and
- **Open in Action Scheduler** for the underlying background jobs.

You can also share or bookmark a specific run. A URL containing `&run=` opens that run directly.

<details><summary><strong>⚙️ Inspect a run from WP-CLI</strong></summary>

For a detailed terminal report, run:

```bash
wp flowcrafter run inspect <run-id>
```

The report includes node states, logs, For Each iterations, queued work, and pending background actions.

</details>

---

## Inspect the data used by a node

Select a node in **Runs** to see what it received and what it produced.

- **Input** shows the values the node received from earlier nodes.
- **Output** shows the node's result, status, duration, and any error.
- **Settings** shows how the node was configured when the run started.
- **Raw** shows the complete data structure instead of the formatted preview.

Some nodes provide richer previews. For example, a [Confirmation](/documentation/flowcrafter/nodes/actions/confirmation/) node shows the confirmation as the visitor saw it, while nodes inside a For Each branch let you inspect one item at a time.

![A completed run's Send Email node with real Input and Output and read-only Settings](/documentation/flowcrafter/screenshots/editor-run-node-output.png)

### Entry data is refreshed when a node runs

Nodes that work with an entry use upstream data to identify it, then reload it from Gravity Forms when they execute.

This matters when a workflow waits before continuing. If an entry is updated during a [Delay](/documentation/flowcrafter/nodes/flow/delay/), for example, later [conditions](/documentation/flowcrafter/nodes/logic/condition-entry/), notifications, feeds, and entry actions use the newly saved values.

When Gravity Forms starts permanently deleting a run's original entry, Flowcrafter cancels the active run, pending node actions, and unsent dispatches. Completed actions are not undone, and work already executing may finish. Moving an entry to Trash does not cancel the run.

The run deliberately executing [Delete Entry](/documentation/flowcrafter/nodes/actions/delete-entry/) may continue after its own deletion; other runs for that entry still stop. Cancellation relies on Gravity Forms' deletion hook, not a failed entry lookup.

---

## Recover from a failed run

Flowcrafter automatically retries temporary failures, waiting longer between attempts. Errors that cannot be retried fail immediately.

When no retries remain:

1. Open the failed run.
2. Select the failed node.
3. Open **Details**.
4. Select **Run this step again**.

Depending on changes made since the run started, Flowcrafter may offer to:

- Retry the step using compatible changes from the saved workflow;
- Retry it exactly as it ran originally; or
- Start a new run from the trigger.

Retry the failed step when its earlier inputs are still correct. Start a new run when the trigger or earlier steps also need to run again.

---

## Related pages

- [A Tour of the Builder](/documentation/flowcrafter/getting-started/editor-tour/)
- [Testing Before You Go Live](/documentation/flowcrafter/building/testing-workflows/)
- [Run & Node Statuses](/documentation/flowcrafter/reference/workflow-statuses/)
- [Troubleshooting](/documentation/flowcrafter/reference/troubleshooting/)
