Wait, Log and Fail the run
Three small steps that change nothing in your store, and make workflows easier to build and to follow.
Wait
Wait pauses the run for minutes, hours or days, then continues with the steps below.
- Add the step Wait.
- Enter Wait for and choose the Unit: Minutes, Hours or Days. A wait can be 90 days at most.
While it waits, the run is listed as Waiting in the run history. Waiting runs are picked up once a minute, so a run continues up to a minute after its time.
What to know:
- The run keeps the workflow as it was when the run started, even if you edit the workflow in the meantime.
- The data of the run is kept too: steps after the wait read the event and the earlier results as before. They do not see what changed in your store meanwhile. After a long wait, look the resource up again with a Shopify query before you act on it. The template Remind the team about unpaid orders waits, reads the order again, and only then decides.
- A waiting run is one run. The wait does not cost extra.
- A Wait cannot be placed inside a Repeat for each.
- In a Test and in the debugger a Wait does not wait.
- If you delete a workflow, its waiting runs are not continued.
Log
Log writes a message with the values you choose into the run history. It changes nothing.
- Add the step Log.
- Write the Message. Variables and Liquid work as in every field.
Checked order {{ event.payload.name }}: payment is {{ steps.lookup.output.order.displayFinancialStatus }}
To log a whole object, add the json filter. A message that is one JSON object or list is shown as structured data in the run history:
{{ steps.request.output.body | json }}
Good places for a Log: at the end of a loop to sum up what happened, on the Otherwise branch of a condition to note why nothing was done, and wherever you would otherwise wonder later what a value was.
Keep personal data out of log messages where you can. They are stored with the run like every other step result.
Fail the run
Fail the run ends the run as Failed with a message you write, for example when a check does not hold.
- Put a Condition where the check belongs.
- On the branch that means trouble, add Fail the run.
- Write the Message:
No variant has the SKU {{ event.payload.body.sku }}
The run ends there. The message appears in the run history and in the failure alert, so the people who get the alert know what to do. The other branch carries on as normal.
- Steps after a Fail the run step never run. The editor lists that as a problem.
- Inside a Repeat for each that is set to Go on with the next item, the step fails only the current item.
- A failed run counts like any other run.
Related
- Alerts by email and text message
- Run history and troubleshooting
- Manual runs and workflows started by another workflow - start another workflow later instead of waiting.

