N8N Start Trigger parameters" "inputDataMode" doesn't load when uploading json

I’m trying to build a master orchestrator workflow that passes Content_ID, pipeline_mode, and other values into downstream workflows (V6a–V6f) using Execute Workflow nodes.

The Start Trigger is set to “Define using fields below” and has a proper input schema in the JSON — but it never shows up in the UI and gives me this error:

“This workflow isn’t set to accept any input data”

No matter what I try, I keep getting:


  • “Problem running workflow”
  • “Workflow has issues and cannot be executed”

I even copied the working setup from V6a exactly. The JSON is valid and loads fine, but the schema doesn’t register.

Error message

arduino

CopyEdit

Problem running workflow  
The workflow has issues and cannot be executed for that reason.

Workflow JSON snippet

"parameters": {
  "inputDataMode": "defineBelow",
  "schema": [
    { "name": "Content_ID", "type": "string" },
    { "name": "pipeline_mode", "type": "string" },
    { "name": "pipeline_start", "type": "string" }
  ]
}


------

Full Json:


{
  "name": "Test MCP n8n Demo",
  "nodes": [
    {
      "parameters": {
        "inputDataMode": "defineBelow",
        "schema": [
          { "name": "Content_ID", "type": "string" },
          { "name": "pipeline_mode", "type": "string" },
          { "name": "pipeline_start", "type": "string" }
        ]
      },
      "id": "execute-workflow-trigger",
      "name": "Start Trigger",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "typeVersion": 1.1,
      "position": [
        -800,
        200
      ]
    },
    {
      "parameters": {
        "values": {
          "string": [
            {
              "name": "Content_ID",
              "value": "={{ $json.Content_ID || '' }}"
            },
            {
              "name": "pipeline_mode", 
              "value": "={{ $json.pipeline_mode || 'test' }}"
            },
            {
              "name": "pipeline_start",
              "value": "={{ $json.pipeline_start || '' }}"
            },
            {
              "name": "received_timestamp",
              "value": "={{ $now.toISO() }}"
            }
          ]
        },
        "options": {}
      },
      "id": "log-inputs-node",
      "name": "Log Inputs",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -600,
        200
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "contentType": "raw",
        "rawContentType": "application/json",
        "body": "={{ JSON.stringify({\n  \"text\": \"🚀 **Test MCP Demo Notification**\\n\\n📋 **Content ID:** \" + $json.Content_ID + \"\\n⚙️ **Pipeline Mode:** \" + $json.pipeline_mode + \"\\n📅 **Pipeline Start:** \" + $json.pipeline_start + \"\\n\\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n\\n✅ **Status:** Test workflow executed successfully\\n\\n_Generated: \" + $now.toLocaleString() + \" | Test MCP n8n Demo_\"\n}) }}",
        "options": {
          "timeout": 10000
        }
      },
      "id": "slack-test-post",
      "name": "Slack Test Post",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        -400,
        200
      ]
    },
    {
      "parameters": {
        "values": {
          "string": [
            {
              "name": "Content_ID",
              "value": "={{ $('Log Inputs').first().json.Content_ID }}"
            },
            {
              "name": "debug_summary",
              "value": "Test MCP demo completed"
            },
            {
              "name": "workflow_name",
              "value": "Test MCP n8n Demo"
            },
            {
              "name": "timestamp",
              "value": "={{ $now.toISO() }}"
            },
            {
              "name": "pipeline_mode",
              "value": "={{ $('Log Inputs').first().json.pipeline_mode }}"
            },
            {
              "name": "pipeline_start", 
              "value": "={{ $('Log Inputs').first().json.pipeline_start }}"
            },
            {
              "name": "slack_post_success",
              "value": "={{ $json.ok || false }}"
            }
          ]
        },
        "options": {}
      },
      "id": "prepare-output-node",
      "name": "Prepare Output",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -200,
        200
      ]
    }
  ],
  "connections": {
    "Start Trigger": {
      "main": [
        [
          {
            "node": "Log Inputs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log Inputs": {
      "main": [
        [
          {
            "node": "Slack Test Post",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Slack Test Post": {
      "main": [
        [
          {
            "node": "Prepare Output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "tags": [],
  "triggerCount": 0,
  "updatedAt": "2025-07-29T15:00:00.000Z",
  "versionId": "test-mcp-demo-v3"
}

-----


Setup details

  • n8n version: 1.45.0
  • Database: SQLite
  • Execution mode: own (self-hosted, not Docker or desktop)
  • Platform: Deployed on my own cloud server (Ubuntu)

To use “Define using JSON example” correctly, change the Input Data Mode in your Start Trigger to “Define using JSON example.” Copy and paste the test JSON that reflects the structure of the data you’ll upload. Save the workflow. Now when you upload a similar JSON, the fields should appear as editable parameters.

2 Likes

I see, so for the start trigger node, it should always have a predefined json structure of the input fields I am looking to add? Do I need to put as many fields in the start trigger or just a couple? Also curious about the Accept All Data option vs the predefined json.

Thanks for the help, that worked!

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.