When you publish a new version of your step, existing user flows that include the step are not automatically updated. After publishing a step, to maintain support for previous behavior, use versions for changes.
Changes that you should use versions for include:
- Adding new required fields
- Deprecating input or output fields
- Altering data types, like string, float, or int
- Modifying the fundamental behavior of a step
To implement versioning, specify current_version
and min_version
in your step's manifest file.
-
current_version: The version number of the current active deployment. -
min_version: The oldest supported version of the step.
The following manifest example shows how to define versions for a step:
JSON
...
"flows"
:
{
"workflowElements"
:
[
{
"id"
:
"..."
,
"state"
:
"..."
,
"name"
:
"..."
,
"description"
:
"..."
,
"version"
:
{
"current_version"
:
3
,
"min_version"
:
1
},
...
During execution, you can retrieve the version number from the event object and define custom behavior for each version.
Apps Script
/**
* Executes the step and handles different versions.
* @param {Object} event The event object from the workflow.
*/
function
onExecute
(
event
)
{
// Get the version ID from the execution metadata.
const
versionId
=
event
.
workflow
.
executionMetadata
.
versionId
;
// Implement different behavior based on the version.
if
(
versionId
<
2
)
{
// Handle earlier versions
}
else
{
// Handle current and newer versions
}
}

