Home/Docs/Running & approvals
📊Workflows

Running, monitoring & approvals

Once a workflow is published it runs on its own. This page covers watching those runs — the runs list, logs, per-node inputs and outputs, step-through debugging, time-travel re-runs — and approving steps that need a human in the loop.

TriggeredEvent fires the run
⏯️ExecutingNode by node
ApprovalPause if needed
🏁CompletedLogged with I/O
A run's lifecycle — fired by a trigger, executed node by node, paused for approval if needed, then completed

The runs list

Every execution is recorded in the Runs tab of the Automate hub. The list shows each run's workflow, status, start time, and duration, so you can see at a glance what's running, what succeeded, and what failed.

Logs and per-node I/O

Open any run to inspect exactly what happened. For each run you can see:

  • Start and end time, total duration, and final status.
  • The trigger inputs that started the run.
  • Per-node input and output data — the exact payload each node received and produced, plus any error messages.
  • Token usage and cost for AI nodes.

Opening a run replays it on the canvas with each node's result shown inline, so you can follow the data as it moved through the graph.

Step-through debugging and test runs

While building, you don't have to publish to test. Use the step-through debugger to run the workflow against sample data and watch each node light up as it executes. It's the fastest way to confirm your wiring and prompts behave before the workflow goes live.

Per-node time-travel re-runs

The builder captures per-node I/O samples — a snapshot of each node's inputs and outputs from a run. Those samples power time-travel re-runs: you can re-run a single node from a past point using its captured inputs, without re-running the whole flow. That lets you iterate on one prompt or one transformation in seconds instead of replaying every upstream step.

💡
Iterate on one node at a time

Tweak an AI node's prompt, re-run just that node against the same captured input, and compare the output. The samples also feed the {{ }} context picker, so you can wire downstream fields with confidence.

Approvals — human-in-the-loop

Some processes need a person to weigh in before they continue. Add a Human Approval node to pause a run and wait for a decision.

  1. The run reaches the approval node

    Execution pauses natively at that point. The workflow's state is preserved exactly as it was.

  2. A request appears in the Approvals tab

    The assignee sees the pending step, along with the context gathered so far, and approves or rejects it.

  3. The run resumes — or branches

    On approval the workflow continues from exactly where it paused. On rejection it can follow an alternative path you wired.

ℹ️
Native pause and resume

Approvals use the runtime's native pause/resume (a LangGraph interrupt) — the run genuinely suspends and later resumes with full state intact, rather than polling or timing out. There's no external workflow engine involved.

💡
Approvals gate the paths you choose

Write actions invoked by a person or an agent in chat require confirmation by default. Inside a workflow, the deterministic wiring you built is treated as implicit consent — the steps you connected run without an extra prompt, except where you explicitly add a Human Approval node.

Keeping runs within budget

AI nodes and integration actions consume metered budget on every run. Admins set per-service and per-workflow caps in Settings; when a budget is exhausted the relevant capability auto-disables and affected runs stop cleanly. Every numeric cap has a hard minimum — 0 means disabled, never unlimited.

ℹ️
Next: reuse and share

Found a pattern worth reusing? Continue to Templates & forms to learn how to start from templates, publish your own, and turn workflows into fillable forms. Templates & forms