Cycle and workflow
A project is either a cycle or a workflow. What differs is how it runs. You choose when you create the project, and it cannot be changed afterwards.
This page explains how each of them runs, and what the type changes. The criteria for choosing between them are in the Design Guide.
A workflow is one run that flows through and ends
A workflow is a single run that advances through the steps and ends. It can also divide into lanes partway, go forward in them at the same time, and carry on once they join (Design Guide).
There are four ways it ends. Reach the last step and it is Done; get rejected on a review step and it is Rejected; have a person stop it and it is Cancelled; become unable to go any further and it is Failed. Whichever way it ends, that run is closed there.
A cycle keeps running, placement by placement
A cycle has no beginning and no end. It runs until you stop it.
And each placement whose sweep you have enabled runs on the schedule you set for it. It does not wait for the other placements to finish. While the placement on one step is running, the placement on another step may be running on a completely different schedule.
This is where it is easy to go wrong. Even though the steps appear laid out in a ring, that arrangement is not the order they run in. It is not a mechanism that goes round in sequence; think of each one running on its own schedule.
The real difference is whether there is a "one run" boundary
Put briefly, the difference between the types is whether there is a boundary around "one run".
A workflow has one. You can follow it as a single whole from beginning to end, so you can answer "what happened to that request?". Each step's execution is recorded in its own right, and so are the attempts that were retried.
A cycle has no such boundary. A record is kept for each sweep, but there is nothing that gathers them into "one run". What you can follow is "what ran, and when" — not "what happened to that request?".
The type cannot be changed afterwards
You choose the type when you create the project. You cannot switch it later, so changing the type means creating the project again. The step configuration has to be redone, but an agent is a configuration of its own, so you can use it as it is in the new project.
What to read next
- Who decides what — how the admin roles differ from the project roles
- Human review — what gets decided on a review step
- Design Guide — which type to choose, and how to divide the steps
- Trigger Guide — deciding when it runs, for each type