Skip to main content

Run and step statuses explained

Look up every workflow run and step status, what each one means, and the exact next action to take.

A run has one status. Each step inside a run has its own. The two vocabularies overlap but are not identical: a step can be skipped or waiting, a run cannot. Use this page to look up what a status means and what to do next.

This page covers the statuses you see on the runs list and the run detail timeline. For the workflow's own published-or-not lifecycle (Draft, Published, Paused (safety)), see versioning. For why a run stopped short, see why a run paused.

Run statuses

A run status describes the whole execution. There are six values.

StatusBadgeWhat it meansYour next action
pendingGray, clockRun accepted but no step has started yet.Wait. If it stays pending, confirm the workflow is published and the version is active. See no data coming in.
runningBlue, playSteps are executing now, or a step is waiting on a delay, form, event, sub-workflow, or agent.Watch the step timeline. You can Pause or Cancel from the run detail page.
pausedYellow, pauseAn operator paused the run, or it is parked on an approval (the runs list shows Waiting for approval).Click Resume on the run detail page. For an approval, an approver opens the run and decides on the waiting step instead.
completedGreen, checkEvery step finished successfully. Terminal.Nothing. Start a new run if you need to run it again.
failedRed, xA step errored and the run stopped. Terminal.Open the first failed step and read its error. See read a failed run.
cancelledOutline, squareAn operator cancelled the run. Terminal.Start a new run if you want to run it again.

completed, failed, and cancelled are terminal: the run will not change status on its own.

Filtering the runs list by status

The Status dropdown on the runs list offers Any status, Pending, Running, Waiting for approval, Paused, Completed, Failed, and Cancelled. Waiting for approval lists the paused runs parked on an approval, and Paused lists the other paused runs. A run whose step waits on a delay, form, event, sub-workflow, or agent reads running, so open the run to see the waiting step.

Step statuses

A step status describes one node inside a run. It shares the six run values and adds two more: waiting, for a step parked on a wait, and skipped, for control-flow paths that were not taken. There are eight values.

StatusWhat it meansYour next action
pendingThe step has not started; the run has not reached it yet.None. It runs when the run reaches it.
runningThe step is executing now.Wait.
waitingThe step is parked on a wait. The step carries waiting metadata (such as a scheduled time or the wait type).Resolve the wait. See why a run paused.
completedThe step finished successfully.None.
failedThe step errored. The step carries a structured error you can read in its detail panel.Read the error, decide whether it is retryable, fix the cause, then retry.
skippedThe step was bypassed, for example a branch path that was not taken.None. This is expected on control-flow paths the run did not follow.
pausedThe step halted as part of a run-level pause.Resume the run.
cancelledThe step was cancelled because the run was cancelled.None.

A failing step may briefly show as retrying between attempts before it lands on completed or failed. Retrying is a transient state, not a stored step status, so you will not see it as a final value in the timeline.

Completed, not succeeded

The success status for both runs and steps is completed. You will not see succeeded anywhere in the run detail timeline.

Agent run states

Runs that use the agent runtime show one extra pill in the run detail header, on top of the run status. An ordinary workflow run shows the pill only while a tool call from one of its AI agent steps is waiting for a decision, and there it always reads Awaiting approval. There are six states.

StateLabel you seeWhat it means
pendingPendingThe agent run was accepted but has not started.
runningRunningThe agent is working.
awaiting-callbackAwaiting callbackWaiting on an asynchronous tool callback.
awaiting-humanAwaiting approvalA tool call is waiting for a human approval decision.
completedCompletedThe agent run finished.
failedFailedThe agent run errored.

When the pill reads Awaiting approval, it is a link to the agent's step, where each tool call waiting for approval has its own Approve and Reject buttons. The run itself stays running and the runs list shows it under Waiting for approval.

Why a step is waiting

A step enters waiting for one of these reasons. The wait type is recorded on the step. The run around it reads running, except for an approval, where it reads paused and shows Waiting for approval in the runs list.

Wait reasonWhat is happeningHow it clears
DelayA delay step is holding the run until a scheduled time.The timer fires automatically.
ApprovalA gated action is waiting on a human decision.An approver opens the run and decides on the waiting step. For an AI agent's tool call, that is the agent's step.
Form submissionThe run is waiting for a published form to be submitted.Someone submits the form.
Wait for eventThe run is holding for a correlated external event.The matching event arrives, or the timeout fires.
Connection requestThe run is waiting for a client to authorize a connection.The client authorizes the requested app. See requesting client credentials.
Sub-workflow or parallel barrierThe run is waiting for a sub-workflow or parallel/loop branches to finish.The child work completes.

Reading a failed step's error

When a step is failed, its detail panel shows a structured error. These are the fields you read.

FieldTypeAlways presentDescription
codestringYesMachine-readable error constant. The panel shows the literal word "Error" when the code is the generic UNKNOWN_ERROR; integration steps surface an app-specific or HTTP-derived code.
messagestringYesHuman-readable summary of what went wrong.
detailstringNoLonger detail, shown in an expandable block as Code: <code>.
providerStatusnumberNoHTTP status from the upstream provider, rendered as "Provider status: NNN".
retryablebooleanNoWhether re-running the step is likely to succeed. When true, the panel appends "(retryable)" to the provider status.

If retryable is true or the failure looks transient, retry the run. If the error points to a configuration or authentication problem, fix the cause first, then retry. See read a failed run.

Example: an authentication failure

A Slack action fails partway through a run. The run status is failed; the Slack step shows failed and the rest of the steps show pending because the run stopped. The step detail panel renders the error like this:

Step: Send Slack message       failed
  The Slack connection could not be authenticated.
  Provider status: 401

A 401 with no "(retryable)" tag means the connection needs attention rather than a simple retry. Reconnect the integration, then retry the run. See reconnect an integration.

What you cannot do

  • You cannot resume a terminal run. Once a run is completed, failed, or cancelled, Resume is not available. For a failed run, a retry starts a new run instead.
  • You cannot retry a run that did not fail. Retry is offered only for failed runs. A completed or cancelled run has no retry, and neither does a run that is still in progress.
  • You cannot filter the runs list by a waiting step. waiting is a step status, not a run status, so a run parked on a delay or an event is listed as running. Only approval waits have their own Status option.
Was this helpful?