For the complete documentation index, see llms.txt. This page is also available as Markdown.

Create Workflow

Create a new workflow in your workspace. The request body must be the full workflow graph — name, nodes, edges, startNode, trigger, and settings. A minimal { "name": "..." } stub is not sufficient.

The response returns data.id (use for all subsequent operations) and data.checksum (required for update, test, and publish).

Create workflow

post

Create a new workflow. The request body must be the full workflow graph — not a minimal stub.

Required fields: name, nodes (must include the trigger node id: "1"), edges, startNode, trigger.

Optional fields: description, comment, isEnabled (default true), settings (auditIO, dateFormat, timezone), dependencyMap.

Node structure:

  • Every workflow must have a trigger node with id: "1", type: "trigger", data.nodeType: "apiTrigger". Its data.input map defines the API input schema — each key is a field name with dataType, executedValue (test sample), and metadata.

  • startNode must point to the first non-trigger executable node (skip addNode / addNodeMd UI placeholders).

  • trigger is always { "apiNode": "1" }.

Checksum: On success, data.id is the workflow entity ID (use for all subsequent calls) and data.checksum must be stored — required for update, test, and publish.

Create body ≈ GET data minus server fields (id, checksum, version, status, staticUrl, versionInfo, timestamps).

Canonical request body: Create/create_workflow.json

Authorizations
Nected-API-KeystringRequired

Your Nected API key. Obtain from your workspace settings.

Header parameters
Nected-BranchstringOptional

Branch name (optional)

Body

Request body for Create workflow.

Required fields: name, nodes (must include the trigger node with id: "1"), edges, startNode, trigger.

The full shape must match what you see in Get workflow by id data (minus server-only fields like id, checksum, version, status, staticUrl, versionInfo, and timestamps).

Canonical file: Create/create_workflow.json.

namestringRequired

Workflow name (must be unique in the workspace)

descriptionstringOptional
startNodestringRequired

ID of the first non-trigger node to execute

commentstringOptional
isEnabledbooleanOptionalDefault: true
Other propertiesanyOptional
Responses
201

Created — returns data.id and data.checksum.

application/json

Success response for POST /dev/v1/workflow

codestringOptional
messagestringOptional
post/dev/v1/workflow
POST /dev/v1/workflow HTTP/1.1
Host: api.nected.ai
Nected-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 5070

{
  "name": "Order_Discount_Workflow",
  "description": "Calculates discount for an order based on cart total and customer tier.",
  "startNode": "node_abc123codenode01",
  "isEnabled": true,
  "comment": "",
  "settings": {
    "auditIO": true,
    "dateFormat": "in",
    "timezone": "Asia/Kolkata"
  },
  "trigger": {
    "apiNode": "1"
  },
  "dependencyMap": [],
  "nodes": [
    {
      "id": "1",
      "type": "trigger",
      "position": {
        "x": 687.5,
        "y": 0
      },
      "style": null,
      "sourcePosition": "bottom",
      "targetPosition": "top",
      "draggable": false,
      "data": {
        "nodeType": "apiTrigger",
        "name": "Trigger",
        "entity": "",
        "entityId": "",
        "pluginName": "",
        "status": "",
        "rootId": "",
        "sourceIds": null,
        "isMergeNode": false,
        "switcher": null,
        "conditions": null,
        "blockName": "",
        "input": {
          "orderId": {
            "name": "orderId",
            "dataType": "string",
            "executedValue": "ORD-20260101-9921",
            "isCaseSensitive": false,
            "isNullable": false,
            "isOptional": false,
            "keyAttribute": "",
            "keySource": "",
            "mapping": false,
            "notSend": false,
            "order": 0,
            "schemaId": "",
            "sendNull": false,
            "source": "",
            "attribute": "",
            "value": null
          },
          "cartTotal": {
            "name": "cartTotal",
            "dataType": "numeric",
            "executedValue": 1250,
            "isCaseSensitive": false,
            "isNullable": false,
            "isOptional": false,
            "keyAttribute": "",
            "keySource": "",
            "mapping": false,
            "notSend": false,
            "order": 1,
            "schemaId": "",
            "sendNull": false,
            "source": "",
            "attribute": "",
            "value": null
          },
          "customerTier": {
            "name": "customerTier",
            "dataType": "string",
            "executedValue": "gold",
            "isCaseSensitive": false,
            "isNullable": false,
            "isOptional": false,
            "keyAttribute": "",
            "keySource": "",
            "mapping": false,
            "notSend": false,
            "order": 2,
            "schemaId": "",
            "sendNull": false,
            "source": "",
            "attribute": "",
            "value": null
          }
        },
        "output": null,
        "settings": {
          "authType": "none",
          "isEnabled": true
        },
        "executedValue": {
          "orderId": "ORD-20260101-9921",
          "cartTotal": 1250,
          "customerTier": "gold"
        },
        "runInLoop": {
          "status": false,
          "source": "",
          "attribute": "",
          "value": null
        }
      }
    },
    {
      "id": "node_abc123addnode01",
      "type": "addNode",
      "position": {
        "x": 687.5,
        "y": 130
      },
      "style": null,
      "sourcePosition": "bottom",
      "targetPosition": "top",
      "draggable": false,
      "data": {
        "nodeType": "addNodeMd",
        "name": "",
        "entity": "",
        "entityId": "",
        "pluginName": "",
        "status": "",
        "rootId": "",
        "sourceIds": null,
        "isMergeNode": false,
        "switcher": null,
        "conditions": null,
        "blockName": "",
        "input": null,
        "output": null,
        "settings": null,
        "executedValue": null,
        "runInLoop": {
          "status": false,
          "source": "",
          "attribute": "",
          "value": null
        }
      }
    },
    {
      "id": "node_abc123codenode01",
      "type": "codeNode",
      "position": {
        "x": 687.5,
        "y": 205
      },
      "style": null,
      "sourcePosition": "bottom",
      "targetPosition": "top",
      "draggable": false,
      "data": {
        "nodeType": "codeNode",
        "name": "Calculate_Discount",
        "entity": "codeNode",
        "entityId": "node_abc123codenode01",
        "pluginName": "",
        "status": "success",
        "rootId": "",
        "sourceIds": null,
        "isMergeNode": false,
        "switcher": null,
        "conditions": null,
        "blockName": "",
        "input": {
          "language": {
            "name": "",
            "dataType": "",
            "executedValue": null,
            "isCaseSensitive": false,
            "isNullable": false,
            "isOptional": false,
            "keyAttribute": "",
            "keySource": "",
            "mapping": false,
            "notSend": false,
            "order": 0,
            "schemaId": "",
            "sendNull": false,
            "source": "",
            "attribute": "",
            "value": "excelFormula"
          },
          "snippet": {
            "name": "",
            "dataType": "",
            "executedValue": null,
            "isCaseSensitive": false,
            "isNullable": false,
            "isOptional": false,
            "keyAttribute": "",
            "keySource": "",
            "mapping": false,
            "notSend": false,
            "order": 1,
            "schemaId": "",
            "sendNull": false,
            "source": "",
            "attribute": "",
            "value": "let cartTotal = {{.Trigger.cartTotal}};\nlet tier = {{.Trigger.customerTier}};\nlet discountPct = 0;\nif (tier === 'gold') { discountPct = 15; }\nelse if (tier === 'silver') { discountPct = 10; }\nelse { discountPct = 5; }\nlet discountAmount = cartTotal * discountPct / 100;\nlet finalAmount = cartTotal - discountAmount;\n{ discountPct, discountAmount, finalAmount };"
          }
        },
        "output": null,
        "settings": {
          "errorContinue": false,
          "timeout": 10,
          "timeoutAsync": 20
        },
        "executedValue": {
          "error": "",
          "executionTime": "1ms",
          "output": {
            "discountPct": 15,
            "discountAmount": 187.5,
            "finalAmount": 1062.5
          }
        },
        "runInLoop": {
          "status": false,
          "source": "",
          "attribute": "",
          "value": null
        }
      }
    },
    {
      "id": "node_abc123addnode02",
      "type": "addNode",
      "position": {
        "x": 687.5,
        "y": 335
      },
      "style": null,
      "sourcePosition": "bottom",
      "targetPosition": "top",
      "draggable": false,
      "data": {
        "nodeType": "addNodeMd",
        "name": "",
        "entity": "",
        "entityId": "",
        "pluginName": "",
        "status": "",
        "rootId": "",
        "sourceIds": null,
        "isMergeNode": false,
        "switcher": null,
        "conditions": null,
        "blockName": "",
        "input": null,
        "output": null,
        "settings": null,
        "executedValue": null,
        "runInLoop": {
          "status": false,
          "source": "",
          "attribute": "",
          "value": null
        }
      }
    }
  ],
  "edges": [
    {
      "id": "edge_trigger_to_add1",
      "source": "1",
      "target": "node_abc123addnode01",
      "type": "smoothEdge",
      "animated": false,
      "label": "",
      "markerEnd": "",
      "sourceHandle": "",
      "style": {
        "stroke": "gray",
        "strokeWidth": 1
      },
      "data": {
        "edgeType": "then",
        "pathId": ""
      }
    },
    {
      "id": "edge_add1_to_code",
      "source": "node_abc123addnode01",
      "target": "node_abc123codenode01",
      "type": "smoothEdge",
      "animated": false,
      "label": "",
      "markerEnd": "",
      "sourceHandle": "",
      "style": {
        "stroke": "gray",
        "strokeWidth": 1
      },
      "data": {
        "edgeType": "then",
        "pathId": ""
      }
    },
    {
      "id": "edge_code_to_add2",
      "source": "node_abc123codenode01",
      "target": "node_abc123addnode02",
      "type": "smoothEdge",
      "animated": false,
      "label": "",
      "markerEnd": "",
      "sourceHandle": "",
      "style": {
        "stroke": "gray",
        "strokeWidth": 1
      },
      "data": {
        "edgeType": "then",
        "pathId": ""
      }
    }
  ]
}
{
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "checksum": "7f3d2a1b9c8e4f6a0d5b2c7e1a9f3d8c"
  },
  "code": "success",
  "message": "Workflow Created Successfully."
}

Example request body (full JSON)

Last updated