Workflow migration
This article explains the key changes in the new workflow builder and how to adapt existing workflows to the new rules.
Things to know before starting
- Every workflow must end with the "Completed" block, without exceptions. This block marks the successful end of the journey for a contact. Each path in the workflow must lead to it.
- Each block can have only one output. A block can still have multiple inputs, but only one outgoing connection. The only exceptions are special blocks designed to separate a group of contacts into several paths (for example, a filter with TRUE and FALSE paths, or split blocks).
- In the previous version, a block could have several outgoing connections, and a workflow could end without a final block. Workflows built this way need to be adjusted to the new rules.
- To branch a journey, use the special blocks designed to separate contacts. To perform several actions in a row, place the action blocks sequentially, one after another.
- The "Drop off" block can be used to remove a contact from the workflow when needed.
- More details on creating workflows are available in the Workflows article.(линк на новую статью по авмтаотизациям
Step-by-step instructions
Navigate to the "Outbound" section.
Click the "Workflows" button.
Open the “Archive” and click “Convert” next to the workflow, then open the converted workflow on the canvas.
Check every block for outgoing connections. If a regular block (not a split or filter block) has more than one output, rebuild that part of the journey.
To perform several actions, connect the action blocks sequentially, one after another.
To send contacts down different paths, add a filter or split block and connect each path to its output.
Check the end of every path. If a path ends without a final block, connect it to the "Completed" block.
Add the "Drop off" block where contacts need to be removed from the workflow, if needed.
Save the workflow and launch it.
Migration example
In the previous version, a "Wait" block could be connected to several blocks at once. In this example, it is connected to three filters, each followed by its own send block.
In the new version, the "Wait" block, like any regular block, has only one output, so it connects to just one block. To keep the same logic, the filters are placed one after another as a ladder, where each next filter is attached to the FALSE output of the previous one. Each filter's TRUE output leads to its send block, followed by the "Completed" block.