Upcoming changes to the Set step
Upcoming Changes to the Set Step Data Format
As part of our ongoing efforts to improve the functionality of Voiceflow, we are introducing an update to the Set step data format: the transition from setV2
to set-v3
nodes. This update provides a more refined structure to the Set step, offering improved control and flexibility for setting variables in your projects.
Key Changes
Transition to set-v3
Nodes:
We are transforming the current setV2
nodes into set-v3
nodes. This migration will ensure a more robust and flexible approach to variable management, with an updated structure that simplifies the process of setting variables within your projects.
Automatic Conversion:
All existing setV2
nodes will be automatically converted into set-v3
nodes when a project is opened in-app. This conversion preserves all existing functionalities while enabling you to leverage the new and improved system.
Technical Overview
The new set-v3
structure is outlined below:
Properties Affected:
- Fields Added: None
- Fields Modified:
diagram.nodes[type=setV2]
transformed intodiagram.nodes[type=set-v3]
- Fields Removed: None
Migration Example
To illustrate how the migration transforms setV2
nodes into set-v3
nodes, here are examples before and after the migration:
Before Migration:
{
"diagram": {
"nodes": {
"642c35170660144e5e8e4042": {
"type": "setV2",
"data": {
"name": "",
"sets": [
{
"id": "random-id-1",
"type": "advance",
"variable": "set-variable1-id",
"expression": "{{[variable1Name].variable1ID}}"
},
{
"id": "random-id-2",
"type": "advance",
"label": "set-2-label",
"variable": "set-variable2-id",
"expression": "{{[variable1Name].variable1ID}} + {{[variable2Name].variable2ID}}"
},
{
"id": "random-id-3",
"type": "advance",
"variable": "set-variable3-id",
"expression": "\\"just text\\""
}
],
"title": "Overwrite Itinerary",
"portsV2": {
"byKey": {},
"builtIn": {
"next": {
"type": "next",
"target": null,
"id": "642c35170660144e5e8e4043",
"data": {
"points": [
{
"point": [171.50532091813443, 322.2586013515363],
"toTop": false,
"locked": false,
"reversed": false,
"allowedToTop": false
},
{
"point": [230.50532091813443, 322.2586013515363],
"toTop": false,
"locked": false,
"reversed": false,
"allowedToTop": false
},
{
"point": [230.50532091813443, 517.7585097988019],
"toTop": false,
"locked": false,
"reversed": false,
"allowedToTop": false
},
{
"point": [206.50532091813443, 517.7585097988019],
"toTop": false,
"locked": false,
"reversed": true,
"allowedToTop": false
}
]
}
}
},
"dynamic": []
}
},
"nodeID": "642c35170660144e5e8e4042"
}
}
}
}
After Migration:
{
"diagram": {
"nodes": {
"642c35170660144e5e8e4042": {
"type": "set-v3",
"data": {
"name": "",
"items": [
{
"id": "random-id-1",
"type": "script",
"value": [{ "variableID": "variable1ID" }],
"variableID": "set-variable1-id"
},
{
"id": "random-id-2",
"type": "script",
"label": "set-2-label",
"value": [{ "variableID": "variable1ID" }, " + ", { "variableID": "variable2ID" }],
"variableID": "set-variable2-id"
},
{
"id": "random-id-3",
"type": "script",
"value": ["\\"just text\\""],
"variableID": "set-variable3-id"
}
],
"label": "Overwrite Itinerary",
"portsV2": {
"byKey": {
"next": {
"type": "next",
"target": null,
"id": "642c35170660144e5e8e4043",
"data": {
"points": [
{
"point": [171.50532091813443, 322.2586013515363],
"toTop": false,
"locked": false,
"reversed": false,
"allowedToTop": false
},
{
"point": [230.50532091813443, 322.2586013515363],
"toTop": false,
"locked": false,
"reversed": false,
"allowedToTop": false
},
{
"point": [230.50532091813443, 517.7585097988019],
"toTop": false,
"locked": false,
"reversed": false,
"allowedToTop": false
},
{
"point": [206.50532091813443, 517.7585097988019],
"toTop": false,
"locked": false,
"reversed": true,
"allowedToTop": false
}
]
}
}
},
"builtIn": {},
"dynamic": []
}
},
"nodeID": "642c35170660144e5e8e4042"
}
}
}
}
Next Steps
As we approach the release date for this migration, we encourage all users to familiarize themselves with these changes to make the most of the enhanced Set step functionality. If you have any questions or need assistance, our support team is ready to help. Stay tuned for the release!