claude-memory/graph/fixes/n8n-execute-sub-workflow-requires-workflowselector-object-an-e085b8.md

1.7 KiB

id type title tags importance confidence created updated relations
e085b8bf-6fbf-4fb7-aded-4d2d651fc2e6 fix n8n Execute Sub-workflow requires workflowSelector object and active sub-workflow
n8n
fix
api
workflow
0.7 0.8 2026-02-20T05:11:47.869751+00:00 2026-03-01T15:58:51.862180+00:00
target type direction strength edge_id
7fdc5ceb-4b8c-426d-8492-948d106f92bb SOLVES outgoing 0.9 dbe6bb9d-e5ac-4618-ba1e-c973df6313a4
target type direction strength edge_id
de4a3c65-6eb5-4f73-ad69-685dba0a7847 RELATED_TO incoming 0.75 38900429-ad4c-4096-a396-8d1e200a6b88

Problem

When creating an n8n Execute Sub-workflow node (typeVersion 1.1+) via the API/MCP, passing workflowId as a plain string like "BhzYmWr6NcIDoioy" causes: "No information about the workflow to execute found. Please provide either the 'id' or 'code'!"

Even after fixing the format, if the sub-workflow is not activated, it fails with: "Workflow is not active and cannot be executed."

Solution

Two fixes required:

  1. workflowId format: Must be a workflowSelector object, not a plain string:
{
  "workflowId": {
    "__rl": true,
    "value": "BhzYmWr6NcIDoioy",
    "mode": "id"
  }
}
  1. Sub-workflow must be active: Even though sub-workflows don't have their own triggers, n8n requires them to be activated before a parent can call them. Activate via API:
curl -X POST "http://HOST:5678/api/v1/workflows/WORKFLOW_ID/activate" \
  -H "X-N8N-API-KEY: $KEY"

Context

  • n8n-nodes-base.executeWorkflow typeVersion 1.1+ uses workflowSelector
  • typeVersion 1.0 used plain string (but shows "outdated" warning)
  • The callerPolicy: "workflowsFromSameOwner" setting enforces same-owner access