Voiceflow bearer token
curl --request POST \
--url https://realtime-api.voiceflow.com/v1/stable/workflow \
--header 'Authorization: Bearer <token>'
--header 'Content-Type: application/json' \
--data '{
"name": "<string>",
"description": "<string>",
"folderID": "<string>",
"entry": "<string>",
"blocks": [
{
"key": "<string>",
"name": "<string>",
"color": "<string>",
"steps": [
"<StableWorkflowStepInput>"
]
}
]
}'const response = await fetch('https://realtime-api.voiceflow.com/v1/stable/workflow?projectID=<projectID>&environmentAlias=<environmentAlias>', {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"name": "<string>",
"description": "<string>",
"folderID": "<string>",
"entry": "<string>",
"blocks": [
{
"key": "<string>",
"name": "<string>",
"color": "<string>",
"steps": [
"<StableWorkflowStepInput>"
]
}
]
}),
});
const data = await response.json();import requests
response = requests.post(
'https://realtime-api.voiceflow.com/v1/stable/workflow?projectID=<projectID>&environmentAlias=<environmentAlias>',
headers={'Authorization': 'Bearer <token>'},
json={
"name": "<string>",
"description": "<string>",
"folderID": "<string>",
"entry": "<string>",
"blocks": [
{
"key": "<string>",
"name": "<string>",
"color": "<string>",
"steps": [
"<StableWorkflowStepInput>"
]
}
]
},
)
data = response.json()vf workflow create --project-id <projectID> --environment-alias <environmentAlias> \
< body.json{
"workflow": {
"id": "<string>"
},
"entry": {
"stepID": "<string>",
"next": "<string>"
},
"ids": {},
"warnings": [
{
"code": "BRANCH_NOT_LAST",
"detail": "<string>"
}
],
"unresolvedReferences": [
{
"path": "<string>",
"token": "<string>",
"reason": "unknown"
}
]
}Builds a whole workflow in one request, including its blocks, steps, branches and the links between blocks. The new workflow is not reachable by the agent until you add it to the agent’s workflows and write a routing rule for it.
curl --request POST \
--url https://realtime-api.voiceflow.com/v1/stable/workflow \
--header 'Authorization: Bearer <token>'
--header 'Content-Type: application/json' \
--data '{
"name": "<string>",
"description": "<string>",
"folderID": "<string>",
"entry": "<string>",
"blocks": [
{
"key": "<string>",
"name": "<string>",
"color": "<string>",
"steps": [
"<StableWorkflowStepInput>"
]
}
]
}'const response = await fetch('https://realtime-api.voiceflow.com/v1/stable/workflow?projectID=<projectID>&environmentAlias=<environmentAlias>', {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"name": "<string>",
"description": "<string>",
"folderID": "<string>",
"entry": "<string>",
"blocks": [
{
"key": "<string>",
"name": "<string>",
"color": "<string>",
"steps": [
"<StableWorkflowStepInput>"
]
}
]
}),
});
const data = await response.json();import requests
response = requests.post(
'https://realtime-api.voiceflow.com/v1/stable/workflow?projectID=<projectID>&environmentAlias=<environmentAlias>',
headers={'Authorization': 'Bearer <token>'},
json={
"name": "<string>",
"description": "<string>",
"folderID": "<string>",
"entry": "<string>",
"blocks": [
{
"key": "<string>",
"name": "<string>",
"color": "<string>",
"steps": [
"<StableWorkflowStepInput>"
]
}
]
},
)
data = response.json()vf workflow create --project-id <projectID> --environment-alias <environmentAlias> \
< body.json{
"workflow": {
"id": "<string>"
},
"entry": {
"stepID": "<string>",
"next": "<string>"
},
"ids": {},
"warnings": [
{
"code": "BRANCH_NOT_LAST",
"detail": "<string>"
}
],
"unresolvedReferences": [
{
"path": "<string>",
"token": "<string>",
"reason": "unknown"
}
]
}Authorizations
Query Parameters
Body
Show child attributes
Show child attributes
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Show child attributes
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Show child attributes
Show child attributes
Plain text; markdown is not interpreted. {variable_name} inserts a variable or entity, {variable_name.path} a field of a variable. Escape a literal { or \ with a backslash. A name matching neither is stored as literal text and reported in unresolvedReferences; secrets are not available here.
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Show child attributes
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Show child attributes
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Show child attributes
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Show child attributes
Call forward works only in a phone project. In a chat project, do not add it as a step or an action: tell the user it needs a phone project.
Show child attributes
Plain text; markdown is not interpreted. {variable_name} inserts a variable or entity, {variable_name.path} a field of a variable. Escape a literal { or \ with a backslash. A name matching neither is stored as literal text and reported in unresolvedReferences; secrets are not available here.
Ports to link, keyed by port: next, else, fail, no-reply, conversation-turn, or a function or playbook path ID. In create, values are block keys from this request; in add_blocks, block keys from this request or existing block IDs; everywhere else, existing block IDs. A branch you create links through its own to.
Response
201 - application/jsonReturns the new workflow's ID, its entry step, a map from each key you sent to the ID the server created, and any warnings or unresolved references.
References this write kept as literal text instead of binding, each with the reason. The write still succeeded.
Show child attributes
unknown: no variable or entity of that name. secret-not-allowed: the name is a project secret and this field does not accept one. path-on-non-variable: only a variable has fields. resource-id: a bare resource id, not a name. invalid-name: outside the ^\w{1,64}$ name grammar. dangling: the reference rendered as a bare id, because its row is gone or its name is outside the name grammar.
unknown, secret-not-allowed, path-on-non-variable, resource-id, invalid-name, danglingWas this page helpful?
Thanks for your feedback.