Run
Versions
A workflow has a draft that you edit and a published version that runs. They are different on purpose, and the way they differ is where most surprises come from.
Edit the canvas: autosave
Saved after a short pause. It writes only the draft and marks it as «Unpublished changes». What runs does not change.
«Publish»
Freezes the draft as a new numbered version and rebuilds the triggers. New runs use it; runs already in flight keep theirs.
«Live» on: automatic triggers (schedule, webhook, event, signal) fire and start runs of the published version
«Discard»
The draft goes back to the published version. There is no way back to an older one.
«Run workflow»
A manual run uses the published version. If the draft has unpublished changes, the editor publishes them first.
The draft
Link to this section: The draftThe editor saves your changes into the draft as you work. Saving the draft changes nothing about what runs: it creates no version, moves no pointer and rebuilds no trigger. The editor tells you the draft differs with the «Unpublished changes» notice and the «Publish» and «Discard» buttons.
Publishing
Link to this section: Publishing«Publish» freezes the draft as a new version, in one step: it adds the version, makes it the one that runs, clears the unpublished flag and rebuilds the schedule, webhook, event and signal lookups for the new trigger. A frozen version never changes.
- Versions are numbered 1, 2, 3 for each workflow. A workflow built from a blank page or a trigger is born published as version 1 and Live. A workflow built from a template is born as a draft, with no version and switched off.
- Two people publishing at the same moment: one gets "The workflow was modified from elsewhere at the same time; try again" (409).
- A run is bound to the version that was current when it was queued. Publishing never changes a run in flight, including one that is waiting. Editing is safe while old runs are still parked.
- A version is checked again when it runs. A version saved before the validation became stricter can fail with an invalid-definition error.
What you can't do
Link to this section: What you can't doNo rollback
There is no version history, no restore and no diff. The app does not list versions or show a version number. The only way back is Discard, which resets the draft to the version that is currently published; it cannot go further back. To return to an older shape you rebuild it by hand.
- Undo in the editor works on the draft while the editor is open. It cannot undo a publish, and it cannot recover what Discard throws away.
- The REST API shows the number and date of the published version of each workflow (
currentVersion), and nothing else about it. - There is no duplicate: copy a workflow by building it again or starting from a template.
Live, paused, draft, archived
Link to this section: Live, paused, draft, archived| Status | Means | Automatic triggers |
|---|---|---|
| «Live» | Published and switched on. | Fire |
| «Paused» | Published and switched off. This is also what a workflow looks like after you publish a template draft. | Do nothing |
| «Draft» | Never published. | Do nothing |
| «Archived» | Hidden from the list unless you filter for it. Archiving switches it off. | Do nothing |
- The Live switch changes only that. It never creates a version, and it never publishes the draft. Switching a workflow with unpublished changes to Live runs the old version.
- Switching on needs a published version, no blank required fields, and every connected accounting integration set up. If something is missing, the app refuses with a message that says what.
- Restoring an archived workflow does not switch it back on.
- Manual runs, runs from a record and calls from other workflows do not need Live.
Blank required fields
Link to this section: Blank required fieldsA draft can be saved, and even published, with required fields blank. What the engine does with them depends on the moment:
| You do | With blank required fields |
|---|---|
| «Publish» | Works. If the workflow was live, it is switched off at once and a toast says it was paused because fields were missing. |
| «Publish and activate» | Refused with a list of the fields, as "<step> → <field>" (422). |
| Live switch on | Refused with the same list, judged on the published version. |
| Run by hand | Allowed. The step with the blank field is likely to fail when it runs. |
A workflow that is already paused does not show the toast again when you publish.
Test runs publish
Link to this section: Test runs publishA test run is a publish
Pressing «Run workflow» in the editor first publishes the draft if it has changes. That creates a version, even though you meant only to test, and if the workflow is live with blank fields it switches it off.
Visibility, archive and delete
Link to this section: Visibility, archive and delete- Making a workflow public is refused (409) if it has email or calendar steps, in either the draft or the published version.
- Archiving switches the workflow off. Deleting it removes it for good, with its versions and runs.
- The webhook address and secret belong to the workflow, not to a version: they do not change when you publish.
Related pages
Link to this section: Related pagesIntroduction
The workflow editor
The editor is a canvas with the trigger at the top and the steps below it. Everything you change is saved to a draft; nothing you change runs until you publish.
Run
Runs
A run is one execution of a workflow. Every run keeps what it did, step by step, so you can see where it stopped and why.
Run
Limits and credits
Each limit below is enforced by the engine. The last column says what happens when you reach it, because that is usually the question.
Was this page helpful?