upload_flows
Upload hand-offs between components (from/to by component id, clientId or label) with a flow type. Re-uploading the same flow updates it. Needs an editor key.
Write · editor keyMCP tool
Parameters
- workspacestringrequired
Workspace slug
min 1 charmax 80 chars - companystringoptional
Company slug; defaults to the workspace's own company
min 1 charmax 80 chars - flowsobject[]requiredmin 1 itemmax 200 items
- flows[].fromstringrequired
Component id, clientId or label
min 1 charmax 200 chars - flows[].tostringrequiredmin 1 charmax 200 chars
- flows[].flowTypeenumrequiredmoneyinformationmaterialworkenergycontrol
- flows[].labelstringoptionalmax 200 chars
- flows[].directionenumoptionaldefault "one_way"one_waytwo_way
Example call
Agents call tools by name; you rarely write this by hand. It is here so you can test the server from a shell or your own code.
{
"name": "upload_flows",
"arguments": {
"workspace": "acme-builders",
"flows": [
{
"from": "tool/excel-estimates",
"to": "tool/quickbooks",
"flowType": "information",
"label": "approved budget"
}
]
}
}Response
The result is one text content block holding this JSON (abbreviated here). Errors come back with isError: true and a message such as Error 401: … or Invalid input: ….
Response
{
"company": {
"slug": "client",
"name": "Acme Builders"
},
"results": [
{
"from": "tool/excel-estimates",
"to": "tool/quickbooks",
"edgeId": "4b1e…",
"created": true,
"connectionType": null
}
]
}Over REST
The same call without MCP: POST/api/v1/workspaces/:slug/upload/flows