Testing, monitoring and troubleshooting workflow runs

Each time a workflow starts, it records a run: what started it, what each step did, how long it took and whether it worked. Runs are how you test a new workflow, spot failures and find out what went wrong.

Before you start

Test a workflow with Run now

Run now starts the workflow straight away, without waiting for its trigger.
  1. Open the workflow.
  2. Click the Runs tab.
  3. Click Run now.
  4. Check the Trigger data (JSON).
  5. Click Run now.
Run now works only when the workflow is Enabled. For event triggers, the Trigger data (JSON) holds sample values. Change them to test your own case. For example, set "rating": -1 to test what happens after a bad rating.

Important: Run now starts a real run. Every step runs, and every change is real: the workflow really sends emails, posts to Slack and creates tickets and tasks. Test with your own email address or a test contact where you can.

If the test fails with workflow_trigger_record_unavailable

Some workflows need a real record, for example a real conversation, and the test data has only sample values. The run stops before any step runs, so nothing changed. This happens with some triggers, for example Omnichannel Inbox events.

To test these workflows, make the event happen for real, then check the Runs tab.

Read a run

The Runs tab lists every run, newest first. Click a run to open it.
Each run shows:
  • Status: where the run is now, or how it ended. See the table below.
  • Trigger: what started it: Manual (Run now), Schedule, Webhook, Event or Agent. Agent means that your AI agent started it. See Letting your AI agent run workflows.
  • Source: where it came from, for example a webhook or Agent test.
  • Started, Finished and how long it took.
  • Tokens: how much AI the run used. Runs without AI show 0 tokens.
  • Output: the result of the run.
  • Step trace: each step that ran, in order, with its result and time. A Condition step shows which branch the run took.
  • Error: for a failed run, what went wrong and how to fix it.

Run statuses

StatusMeaning
PendingThe run is about to start.
RunningThe run is in progress.
WaitingThe run is paused at a Wait step. It shows what it waits for, and until when.
SucceededAll the steps it needed are done.
FailedA step failed, and the run stopped at that step.
Timed outThe run took too long, or a Wait for an event step ended as timed out.
CancelledSomeone canceled the run before it finished.
SkippedThe run did not start. For example, the workflow reached its limit of 60 event runs each minute.

Find failed runs

  • On the Workflows page, a red label such as 3 failed (7d) shows how many runs failed in the last 7 days. Click it to see those runs.
  • In the Runs tab, change All runs to Failed runs.

Get an email when a run fails

  1. Open the workflow's Settings tab.
  2. Under Failure alerts, keep Email property admins when a run fails selected.
This option is on by default. Admins get at most one email per workflow each hour, with a link to the failed runs.

Send run results somewhere else

Under Output in Settings, you can send the result of each successful run to another place:
  • Post run output to Slack posts the output to a Slack channel.
  • Send run output to a webhook sends the output as a signed JSON POST to your URL. Add a Signing secret of 16 to 256 characters, so that your system can check that the request came from tawk.to.

Cancel a run

You can stop a run that has not finished, for example one that is paused at a long Wait step.
  1. Open the run.
  2. Click Cancel run.
  3. Confirm.
The run stops before its next step. Steps that already ran are not undone.

Fix a failed run

Open the failed run. The Error says which step failed, why and what to do.
These are the most common errors:
The error saysWhat to do
workflow_trigger_record_unavailable (after Run now)The test needs a real record. See If the test fails with workflow_trigger_record_unavailable above.
…called a URL that answered with HTTP 404 (or another code)Check the step's URL, method, headers and body, and check that the service accepts them. To handle the failure in a later step, turn on Continue even if the request fails.
…uses {{…}}, which this run's trigger didn't includeThe step uses a value that this trigger does not give. Use a value that the trigger gives, or remove it. See Using runtime data in workflows.
…uses {{…}}, which had no value when the step ranThe step uses a result from an earlier step, and that step did not run first or did not give that value.
…the agent didn't provide "…" for this runMake the input Required in the AI agent trigger, or use it only in steps that can work without it.
AI Assist is turned off, is not set up or the add-on is not activeTurn on or set up AI Assist, then run the workflow again.
This property has no AI credits leftAdd AI credits or allow overage, then run the workflow again.
…used every model call its "Step limit" allowsRaise the Step limit of the AI step, or ask for less in its instruction.
…gave the AI model more than it can read at onceShorten the instruction or the data, or select a model that can read more.
…was turned down by the service it works with. Details: workflow_action_rejected emailThe email address was not accepted. Use a real address: test addresses at example.com are rejected.
…waited for an event that didn't arrive in timeRaise Timeout after, or select a step under If nothing arrives before the timeout so that the run continues.
…couldn't send a free-text WhatsApp message because the 24-hour reply window has closedSend an approved WhatsApp template instead.
…replies to an email, but no incoming email started this runStart the workflow with Inbound message received, or use Send email.
…sends the secret header "…", which has no saved valueType the header value in the step again, then save.
…couldn't confirm the ticket, card or activity was createdCheck whether the record exists before you run the workflow again, so that you do not create a duplicate.
…took longer than the workflow's time limitRun the workflow again. If the error comes back, give the step less work.
After you fix the workflow, click Save, then use Run now to check it.

When a teammate edits the same workflow

If a teammate saves the workflow while you are editing it, you see This workflow was changed elsewhere. You have two choices:
  • Click Reload to get their version. Your unsaved changes are lost.
  • Click Keep editing, copy your changes somewhere, then reload.

Turn off, copy or delete a workflow

  • Turn off: in Settings, turn off Enabled, then click Save. The switch on a trigger card in the Builder turns off only that trigger. The workflow stays on, and its other triggers still start it.
  • Copy: click Duplicate, type a name and confirm. The copy starts as Disabled. Slack destinations, signing secrets, secret headers and the inbound webhook URL are not copied, and Slack run-output delivery starts off. Add them again before you turn the copy on.
  • Delete: in Settings, click Delete workflow and confirm. This permanently deletes the workflow, and you cannot undo it. An AI agent or Scenario that used the workflow can no longer start it.
For where these controls are, see Getting started with Workflows.

Related guides


Have a question we haven't covered or need support?

Was this article helpful?

0 out of 0 liked this article

Still need help? Message Us