Create a new workflow
Creates a new Workflow owned by the caller user and organization. Stores the visual builder canvas (nodes + edges + viewport) and metadata. Names must be unique within the organization.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Human-readable workflow name. Must be unique within the caller organization.
Free-text description shown in the workflows list and builder header.
Visual builder nodes — each carries id, type, position, and node-specific data.
Directed connections between nodes (source → target ids) defining execution flow.
Camera state for the canvas (x, y, zoom). Defaults to { x: 0, y: 0, zoom: 1 } when omitted.
When false, the trigger system skips this workflow even when conditions match. Defaults to false on create.
Response
Workflow created successfully
Returned by create/update/toggle. Wraps the resulting WorkflowDocument plus a status message.
true A Workflow document — visual builder canvas (nodes + edges) plus enabled flag and metadata.
{
"_id": "64d2f9c5e8a1d4e001a0b1c2",
"name": "New Lead Welcome",
"description": "Greet new leads and assign them to a leasing agent.",
"organizationId": "64a1b2c3d4e5f60012345678",
"userId": "64a1b2c3d4e5f60012345679",
"nodes": [
{
"id": "n1",
"type": "trigger",
"position": { "x": 50, "y": 50 },
"data": { "event": "application.created" }
},
{
"id": "n2",
"type": "sendMessage",
"position": { "x": 250, "y": 50 },
"data": { "template": "welcome-sms" }
}
],
"edges": [
{
"id": "e1",
"source": "n1",
"target": "n2"
}
],
"viewport": { "x": 0, "y": 0, "zoom": 1 },
"enabled": true,
"createdAt": "2026-04-12T14:22:10.000Z",
"updatedAt": "2026-04-22T10:14:00.000Z"
}