Run history and troubleshooting

Every run is recorded. Run history in the app menu lists the runs of all workflows; the Run history button in a workflow's editor lists only that workflow's runs.

The list

Each row shows the workflow, the status, the trigger and the time. Filter by workflow and by status. Test runs are marked as tests.

Status Meaning
Queued Accepted, starts in a moment
Running Steps are being executed
Waiting At a Wait step, or started with a delay
Completed Every step on the path finished
Failed A step failed, or a Fail the run step ended the run
Not started Loop protection or the plan limit stopped it before any step ran
Cancelled A debug session you stopped, or a run cancelled over the API

One run

A run's page shows:

  • Workflow, Status, Trigger, Started, Finished and Duration.
  • Steps - every step that ran, in order, with its status and duration. Open a step for what it returned and, when it failed, its error. A step that was retried shows each try, for example Succeeded on try 3 or Failed after 4 tries. Steps inside a Repeat for each are grouped by item. In a preview, a step that was not run is marked Preview - not run and shows what it would have run with.
  • Trigger event - the event the run started with. It may contain personal data and is stored encrypted.
  • Started by a chain of workflows - when other workflows led to this run.
  • For a run that was not started: the reason.

Run again starts a new, real run with the same event. Open workflow takes you to the editor.

The filled-in fields of a step are not stored with a real run, because they can hold secrets. What a step returned is stored, with secret values masked. Code steps keep their own record, with input and logs, under Function runs.

How long runs are kept

Plan Run history
Free 30 days
Starter 60 days
Grow 90 days
Unlimited 180 days

The workflow does not start

Work down this list:

  1. Is it on? The badge next to the name reads On. A banner This workflow was turned off automatically names the reason. See Loop protection.
  2. Is a permission missing? The editor shows This workflow needs permissions. A trigger only receives events for data you granted. See Permissions and store data access.
  3. Does the trigger filter reject the event? Rejected events leave no trace. Compare the rule with a real event's values; mind numbers sent as text and upper and lower case. See Trigger filters.
  4. Is it a change trigger and the first sighting? The first time the app sees a resource it only remembers it. See Change triggers with before and after values.
  5. Is it an order, customer, draft order or checkout trigger? Those need Shopify's approval for protected customer data. See Permissions and store data access.
  6. Is there a run with the status Not started? Open it and read the reason: loop protection, or the plan's run limit for the last 30 days is reached. See Plans, runs and extra runs.
  7. Is it a storefront trigger? Those only arrive with the visitor's consent and are best effort. See Storefront behaviour triggers.
  8. Is it a trigger that is checked every 5 minutes? Give it a few minutes.

A step fails

Message or symptom Usual cause What to do
A Shopify step names a missing access or permission The permission is not granted, or was revoked Grant it on the Permissions page
Shopify says the app is not approved to access customer data Protected customer data See Permissions and store data access
userErrors from Shopify Shopify refused the change: a wrong id, an invalid value Read the message. Run a preview with the run's event to see the values the step would use
The variables or the body are not valid JSON Text with quotes or line breaks inside JSON Add the json filter. See Liquid in every field
An HTTP request answers 401 or 403 Wrong or missing key Check the secret's name and value, and the header
A value is empty The variable does not exist for this event, or its step did not run on this path Use the default filter or a Condition. A Log step before it shows what the value was
A list is too long for Repeat for each More items than Maximum items Raise it up to 500, or work in portions
Code timed out More than 5 seconds Do less per run; move waiting on other systems into HTTP request steps
The sending limit is reached Too many recipients in an hour or a day See Send email and email senders
The run was interrupted The run lost its worker while running It is not run again automatically, because steps may already have run. Check what was done, then use Run again if it is safe

Find the cause faster

  • Test with the real event. Copy the Trigger event of the failed run into Event (JSON) of the Test panel and run a preview. Previewed steps show what they would have run with. See Test, preview and debug.
  • Step through it with the debugger and a breakpoint before the failing step.
  • Add a Log step before the step that fails, with the values it reads.

Still stuck?

See Support. Tell us the workflow's name and the time of the run. Never send a secret's value.