Skip to main content

Versioning Workflows

Every workflow has a version number (this number must be an integer.)

Versioning allows you to run different versions of the same workflow simultaneously.

Summary

Use Case: A new version of your core workflow will add a capability that is required for veryImportantCustomer. However, otherVeryImportantCustomer will not be ready to implement this code for another 6 months.

Version 1

{
"name": "Core_workflow",
"description": "Very_important_business",
"version": 1,
"tasks": [
{
<list of tasks>
}
],
"outputParameters": {
}
}

Version 2

{
"name": "Core_workflow",
"description": "Very_important_business",
"version": 2,
"tasks": [
{
<a different list of tasks>
}
],
"outputParameters": {
}
}

Version 2 launch

Initially, both customers are on version 1 of the workflow.

  • *veryImportantCustomer may begin transitioning traffic onto version 2. Any tasks that remain unfinished on version 1 stay on version 1.
  • otherVeryImportantCustomer remains on version 1.

6 months later

  • All veryImportantCustomer workflows are on version 2.
  • otherVeryImportantCustomer may begin transitioning traffic onto version 2. Any tasks that remain unfinished on version 1 stay on version 1.