Creator Portal 400 Error on Workflow Submission - Need Help

Hi n8n Community,
Getting this error when submitting workflow template:
FetchError: [POST] “Verification Complete”: 400

Tried:

  • Multiple workflow JSONs (simple to complex)

  • Different browsers, incognito, cleared cache

  • Different networks

  • Removed sticky notes, credentials, pinData from JSON

Error happens immediately on clicking “Submit”. Preview loads fine.

What causes this 400 error and how to resolve?

there are several resons,
1- your JSON contains Forbidden Fields, remove them:

 "meta"
"id"
"active"
"version

your templet is public

***********

Maybe:
Execute Command

  1. SSH
  2. Custom nodes
  3. Community nodes
  4. Local file paths
  5. Docker-specific nodes

they ——> 400

*************

think about invalid property in node

**************

If you wont’ to clean the Forbidden automatically:

Download your template, so, all forbidden fields will removed

************

very important from your screenshot,

"meta": {
  "instanceId": "..."
}
  

Delete the entire object in meta

Still getting 400 error after removing all forbidden fields (meta, id, active, version, pinData). Tried everything - different browsers, networks, simple/complex workflows. Preview works, submit fails immediately. Anyone found another solution?

{
“nodes”: [
{
“parameters”: {
“content”: “## AI Content Writer with Dual-Pass Humanization\n\nAutomates SEO content creation for agencies managing multiple\nclients. Receives 7 input parameters (ClientID, Topic, Keywords,\nLength, Reference URL, Special Instructions, TaskRowNo), loads\nclient data from central Google Sheet, extracts clean content\nfrom client website and reference article using Jina.ai Reader,\ngenerates initial draft using Google Gemini with comprehensive\nSEO strategy (keyword density 1-2%, client tone matching),\nperforms second-pass humanization using GPT-4.1-mini to pass AI\ndetection tests, creates Google Doc in client-specific folder,\ngenerates 2-3 line benefits summary, and logs task in Project\nPlanning sheet (updates existing task if TaskRowNo provided,\ncreates new task if not). Perfect for agencies producing 20-50\narticles monthly across multiple clients with consistent quality.\n\n## How it works\n1. Receives 7 parameters from parent workflow trigger.\n2. Loads client details (website, folder, goals) by ClientID.\n3. Extracts client website content via Jina.ai (error-tolerant).\n4. Extracts reference article content via Jina.ai (error-tolerant).\n5. First AI pass: Gemini generates SEO-optimized draft (OpenAI fallback).\n6. Second AI pass: GPT-4.1-mini humanizes content (AI detection avoidance).\n7. Converts content to Markdown format.\n8. Creates Google Doc in client folder with structured filename.\n9. Inserts markdown content into Google Doc.\n10. Generates professional 2-3 line benefits summary.\n11. Checks if TaskRowNo exists (scheduled vs ad-hoc).\n12. Updates existing task OR creates new task in Project Planning.\n\n## Setup steps\n1. Create parent workflow with Execute Workflow node.\n2. Pass 7 required parameters (see Trigger node).\n3. Set up Project Central Google Sheet with client data.\n4. Get Jina.ai API key (https://jina.ai/).\n5. Configure Google Gemini API credentials.\n6. Configure OpenAI API credentials (GPT-4.1-mini).\n7. Set up Google Sheets OAuth (3 different credentials).\n8. Set up Google Docs OAuth.\n9. Test with sample client data.”,
“height”: 992,
“width”: 480
},
“type”: “n8n-nodes-base.stickyNote”,
“typeVersion”: 1,
“position”: [
48,
-96
],
“id”: “ddea2150-3ccb-475c-b0f2-01a2d6551e30”,
“name”: “Sticky Note”
},
{
“parameters”: {
“html”: “={{ $json.output }}”,
“options”: {}
},
“type”: “n8n-nodes-base.markdown”,
“typeVersion”: 1,
“position”: [
2704,
304
],
“id”: “2809dbd8-9a41-4918-912b-3db69bb95031”,
“name”: “Convert Content to Markdown1”
},
{
“parameters”: {
“workflowInputs”: {
“values”: [
{
“name”: “ClientID”
},
{
“name”: “Content Topic”
},
{
“name”: “Focus Keywords”
},
{
“name”: “Content Length”
},
{
“name”: “Reference Article URL”
},
{
“name”: "Special Instructions (Mandatory to follow) "
},
{
“name”: “TaskRowNo”
}
]
}
},
“id”: “771506f3-24e8-45a1-9fdb-7e4310c9e582”,
“typeVersion”: 1.1,
“name”: “Receive Content Writing Parameters”,
“type”: “n8n-nodes-base.executeWorkflowTrigger”,
“position”: [
688,
304
]
},
{
“parameters”: {
“documentId”: {
“__rl”: true,
“value”: “YOUR_SHEET_URL”,
“mode”: “id”
},
“sheetName”: {
“__rl”: true,
“value”: “=SELECT_SHEET_TAB”,
“mode”: “id”
},
“filtersUI”: {
“values”: [
{
“lookupColumn”: “=FILTER_COLUMN_NAME”,
“lookupValue”: “={{ $json.ClientID }}”
}
]
},
“options”: {}
},
“type”: “n8n-nodes-base.googleSheets”,
“typeVersion”: 4.6,
“position”: [
912,
304
],
“id”: “d075217b-6e75-41c2-bfc7-6c8b1ae9b5bd”,
“name”: “Load Client Project Details by ID”,
“credentials”: {
“googleSheetsOAuth2Api”: {
“id”: “kKmkWGcI4HPIvmor”,
“name”: “TESTING_SHEET”
}
}
},
{
“parameters”: {
“url”: “=https://r.jina.ai/{{ $json[‘Website URL’] }}”,
“sendHeaders”: true,
“headerParameters”: {
“parameters”: [
{
“name”: “Authorization”,
“value”: “Bearer YOUR_API_KEY”
}
]
},
“options”: {}
},
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 4.2,
“position”: [
1152,
304
],
“id”: “672f0804-2346-4edc-80aa-689048cf6d7f”,
“name”: “Extract Client Website Content via Jina”,
“executeOnce”: false,
“alwaysOutputData”: false,
“onError”: “continueRegularOutput”
},
{
“parameters”: {
“url”: “=https://r.jina.ai/{{ $(‘Receive Content Writing Parameters’).item.json[‘Reference Article URL’] }}”,
“sendHeaders”: true,
“headerParameters”: {
“parameters”: [
{
“name”: “Authorization”,
“value”: “Bearer YOUR_API_KEY”
}
]
},
“options”: {}
},
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 4.2,
“position”: [
1408,
304
],
“id”: “adb5bb5f-1af5-41f5-815f-02718afd21ad”,
“name”: “Extract Reference Article via Jina”,
“onError”: “continueRegularOutput”
},
{
“parameters”: {
“modelName”: “=models/gemini-2.5-flash”,
“options”: {}
},
“type”: “@n8n/n8n-nodes-langchain.lmChatGoogleGemini”,
“typeVersion”: 1,
“position”: [
1648,
560
],
“id”: “ff22281d-1ed7-4297-aca4-3de1c628835c”,
“name”: “Gemini Model Primary”,
“credentials”: {
“googlePalmApi”: {
“id”: “ZgDGPYEe3mrrISga”,
“name”: “Gemini_Testing”
}
}
},
{
“parameters”: {
“model”: {
“__rl”: true,
“mode”: “list”,
“value”: “gpt-4.1-mini”
},
“options”: {}
},
“type”: “@n8n/n8n-nodes-langchain.lmChatOpenAi”,
“typeVersion”: 1.2,
“position”: [
1840,
576
],
“id”: “8b73d758-590b-4cbe-a84c-a50d25b04bf0”,
“name”: “OpenAI Model Fallback”,
“credentials”: {
“openAiApi”: {
“id”: “u1QSiOsEr33tUNn7”,
“name”: “testing”
}
}
},
{
“parameters”: {
“promptType”: “define”,
“text”: “={{ $json }}”,
“options”: {
“systemMessage”: “=Refine and Elevate Content Draft with few tweaks. I don’t want to make lot of changes to my draft. Only edit wherever necessary.\n\nTransformation Objectives:\n1. Enhance Natural Language Flow\n- Smooth out mechanical phrasings\n- Inject conversational rhythm\n- Create a more human-like reading experience\n\n2. Emotional and Contextual Refinement\n- Add subtle emotional resonance\n- Incorporate relatable references\n- Create connection with reader\n- Make technical content approachable\n\n3. Readability Optimization\n- Simplify complex sentences\n- Break down intricate concepts\n- Use clear, accessible language\n\n4. Stylistic Polish\n- Remove robotic or repetitive structures\n\n\n6. Content Preservation\n- Maintain original message integrity\n- Retain core informational value\n- Preserve technical accuracy\n- Keep SEO keyword strategy intact\n\nGuiding Principles:\n- Sound authentically human\n- Prioritize reader experience\n- Balance professionalism with approachability\n- Create content that feels written, not generated\n\nVery important: There are multiple tests tha detect whether the content is human written or AI written. The final version should pass that and the content should come out to be human written in the test.\n\nFinal Formatting Note:\n- Reduce header usage dramatically\n- Use clean, minimal formatting\n- Use easy vocabulary.\n- Also, don’t explain just give output for me to copy\n- Content length should be similar to the original content.”
}
},
“type”: “@n8n/n8n-nodes-langchain.agent”,
“typeVersion”: 1.7,
“position”: [
2272,
304
],
“id”: “35660a9b-7965-4843-b46a-8648defae639”,
“name”: “Humanize and Polish Content with GPT”
},
{
“parameters”: {
“model”: {
“__rl”: true,
“mode”: “list”,
“value”: “gpt-4.1-mini”
},
“options”: {}
},
“type”: “@n8n/n8n-nodes-langchain.lmChatOpenAi”,
“typeVersion”: 1.2,
“position”: [
2272,
560
],
“id”: “18f5659f-d98d-4f15-bb41-a600b492ba58”,
“name”: “GPT-4.1-mini for Humanization”,
“credentials”: {
“openAiApi”: {
“id”: “u1QSiOsEr33tUNn7”,
“name”: “testing”
}
}
},
{
“parameters”: {
“promptType”: “define”,
“text”: “=Homepage Content: {{ $(‘Extract Client Website Content via Jina’).item.json.data }}\nTopic: {{ $(‘Receive Content Writing Parameters’).item.json[‘Content Topic’] }}\n\nSpecial Instructions (Mandatory to follow) :\n{{ $(‘Receive Content Writing Parameters’).item.json['Special Instructions (Mandatory to follow) '] }}\n”,
“needsFallback”: true,
“options”: {
“systemMessage”: "=Create a comprehensive, polished content writing with meticulous attention to detail:\n\nContext Inputs:\n- Client Website URL: {{ $(‘Load Client Project Details by ID’).item.json[‘Website URL’] }}\n- Client Website Content: {{ $(‘Load Client Project Details by ID’).item.json[‘Scraped HomePage Content’] }}\n- Primary Topic: {{ $(‘Receive Content Writing Parameters’).item.json[‘Content Topic’] }}\n- Target Keywords: {{ $(‘Receive Content Writing Parameters’).item.json[‘Focus Keywords’] }}\n- Desired Length should be around {{ $(‘Receive Content Writing Parameters’).item.json[‘Content Length’] }} words\n- Reference Source: {{ $(‘Receive Content Writing Parameters’).item.json[‘Reference Article URL’] }}\n- Reference Page Content: {{ $json.data }}\nWhat is the main goal of this client? What he/she is trying to achieve with this project?: {{ $(‘Load Client Project Details by ID’).item.json[‘What is the main goal of this client? What he/she is trying to achieve with this project?’] }}\n\nNote:\n Client Website Content & Reference Page Content can have error while scraping. In that case just work without them.\n\nComprehensive Content Creation Strategy:\n\nI. Research and Preparation\n- Conduct in-depth analysis of reference materials\n- Extract key insights from client’s website\n- Identify unique angles and compelling narratives\n- Validate information accuracy\n\nII. Content Architecture\n- Craft an attention-grabbing opening\n- Develop a logical, flowing narrative structure\n- Create seamless transitions between sections\n- Ensure clear, concise communication\n\nIII. Keyword Optimization Techniques\n- Integrate keywords with natural, conversational precision\n- Maintain optimal keyword density (1-2%)\n\nIV. Tone and Style Guidelines\n- Match client’s brand voice precisely\n- Balance professionalism with engaging readability\n- Adapt language complexity to target audience\n- Use active, direct language\n\nV. Content Depth and Quality\n- Provide actionable, valuable information\n- Include practical insights and real-world applications\n- Support claims with implicit or explicit evidence\n- Maintain reader engagement throughout\n\nVI. Structural Recommendations\n- Use subheadings sparingly and strategically\n- Avoid repetitive header formatting\n- Create visual breathing room between sections\n\nFormatting Instructions:\n- Minimize header usage\n- Use bold and italic sparingly\n- Create clean, readable paragraphs\n- Ensure smooth content flow\n- Avoid academic or overly technical language "
}
},
“type”: “@n8n/n8n-nodes-langchain.agent”,
“typeVersion”: 2.2,
“position”: [
1744,
304
],
“id”: “50cb560e-2414-442b-b6fe-28d6411f9144”,
“name”: “Convert Final Content to Markdown”
},
{
“parameters”: {
“operation”: “update”,
“documentURL”: “={{ $json.id }}”,
“actionsUi”: {
“actionFields”: [
{
“action”: “insert”,
“text”: “={{ $(‘Convert Content to Markdown1’).item.json.output }}”
}
]
}
},
“type”: “n8n-nodes-base.googleDocs”,
“typeVersion”: 2,
“position”: [
3200,
304
],
“id”: “1e58d023-917e-4ffc-a2a4-d957d8712f7c”,
“name”: “Insert Markdown Content into Doc”,
“credentials”: {
“googleDocsOAuth2Api”: {
“id”: “eeo49CpaZybkYMAd”,
“name”: “Testing_GoogleDoc”
}
}
},
{
“parameters”: {
“driveId”: “sharedWithMe”,
“folderId”: “={{ $(‘Load Client Project Details by ID’).item.json[‘Client Folder’].match(/[-\w]{25,}/)[0] }}”,
“title”: “={{ $(‘Load Client Project Details by ID’).item.json[‘Client ID’] }}-{{ $(‘Load Client Project Details by ID’).item.json[‘Website URL’] }} - {{ $(‘Receive Content Writing Parameters’).item.json[‘Content Topic’] }}”
},
“type”: “n8n-nodes-base.googleDocs”,
“typeVersion”: 2,
“position”: [
2976,
304
],
“id”: “a0fa866c-2335-4d47-a621-6bbc2d466b53”,
“name”: “Create Google Doc in Client Folder”,
“credentials”: {
“googleDocsOAuth2Api”: {
“id”: “eeo49CpaZybkYMAd”,
“name”: “Testing_GoogleDoc”
}
}
},
{
“parameters”: {
“promptType”: “define”,
“text”: “=Keyword: {{ $(‘Receive Content Writing Parameters’).item.json[‘Focus Keywords’] }}\nContent Topic: {{ $(‘Receive Content Writing Parameters’).item.json[‘Content Topic’] }}\nContent: {{ $(‘Humanize and Polish Content with GPT’).item.json.output }}”,
“options”: {
“systemMessage”: “=Act as an expert digital marketer. I have written the content about the above details. I want the benefits of using the content as blog publishing. Keep the tone professional, concise, and easy to understand—like a quick executive summary in 2 to 3 lines.”
}
},
“type”: “@n8n/n8n-nodes-langchain.agent”,
“typeVersion”: 2.2,
“position”: [
3440,
304
],
“id”: “87c07ea5-e4cd-4dd8-baff-a35f108df8bc”,
“name”: “Generate 2-3 Line Benefits Summary”
},
{
“parameters”: {
“model”: {
“__rl”: true,
“mode”: “list”,
“value”: “gpt-4.1-mini”
},
“options”: {}
},
“type”: “@n8n/n8n-nodes-langchain.lmChatOpenAi”,
“typeVersion”: 1.2,
“position”: [
3440,
560
],
“id”: “ed4a54b4-a3f3-427e-ac35-376cb66e386c”,
“name”: “GPT-4.1-mini for Summary Generation”,
“credentials”: {
“openAiApi”: {
“id”: “u1QSiOsEr33tUNn7”,
“name”: “testing”
}
}
},
{
“parameters”: {
“operation”: “append”,
“documentId”: {
“__rl”: true,
“mode”: “url”,
“value”: “={{ $(‘Load Client Project Details by ID’).item.json[‘Project Information Sheet’] }}”,
“__regex”: “https:\/\/(?:drive|docs)\.google\.com(?:\/.|)\/d\/([0-9a-zA-Z\-_]+)(?:\/.|)”
},
“sheetName”: {
“__rl”: true,
“value”: “Project Planning”,
“mode”: “name”
},
“columns”: {
“mappingMode”: “defineBelow”,
“value”: {
“Planned Date”: “={{ $now.format(‘yyyy-LL-dd’) }}”,
“Sheet URLs”: “=https://docs.google.com/document/d/{{ $(‘Insert Markdown Content into Doc’).item.json.documentId }}”,
“Status”: “Done”,
“Task Details”: “=Content Writing for {{ $(‘Receive Content Writing Parameters’).item.json[“Focus Keywords”] }}”,
“Accountable”: “Mode A”,
“Communication”: “Skip”,
“Task Description”: “={{ $json.output }}”
},
“matchingColumns”: ,
“schema”: [
{
“id”: “Planned Date”,
“displayName”: “Planned Date”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Task Details”,
“displayName”: “Task Details”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Task Description”,
“displayName”: “Task Description”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Accountable”,
“displayName”: “Accountable”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Communication”,
“displayName”: “Communication”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Sheet URLs”,
“displayName”: “Sheet URLs”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Status”,
“displayName”: “Status”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
}
],
“attemptToConvertTypes”: false,
“convertFieldsToString”: false
},
“options”: {}
},
“type”: “n8n-nodes-base.googleSheets”,
“typeVersion”: 4.7,
“position”: [
4240,
480
],
“id”: “8e6e07f5-9873-43cd-a6ee-9df67412711b”,
“name”: “Create New Task Row in Project Planning”,
“credentials”: {
“googleSheetsOAuth2Api”: {
“id”: “kKmkWGcI4HPIvmor”,
“name”: “TESTING_SHEET”
}
}
},
{
“parameters”: {
“operation”: “update”,
“documentId”: {
“__rl”: true,
“value”: “={{ $node[“Load Client Project Details by ID”].json[“Project Information Sheet”] }}”,
“mode”: “url”
},
“sheetName”: {
“__rl”: true,
“value”: “Project Planning”,
“mode”: “name”
},
“columns”: {
“mappingMode”: “defineBelow”,
“value”: {
“row_number”: “={{ $node[“Receive Content Writing Parameters”].json.TaskRowNo }}”,
“Sheet URLs”: “=https://docs.google.com/document/d/{{ $(‘Insert Markdown Content into Doc’).item.json.documentId }}”,
“Status”: “Done”,
“Task Description”: “={{ $json.output }}”
},
“matchingColumns”: [
“row_number”
],
“schema”: [
{
“id”: “Planned Date”,
“displayName”: “Planned Date”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Task Details”,
“displayName”: “Task Details”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Task Description”,
“displayName”: “Task Description”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Accountable”,
“displayName”: “Accountable”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Communication”,
“displayName”: “Communication”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Sheet URLs”,
“displayName”: “Sheet URLs”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Status”,
“displayName”: “Status”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “row_number”,
“displayName”: “row_number”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “number”,
“canBeUsedToMatch”: true,
“readOnly”: true,
“removed”: false
}
],
“attemptToConvertTypes”: false,
“convertFieldsToString”: false
},
“options”: {}
},
“type”: “n8n-nodes-base.googleSheets”,
“typeVersion”: 4.7,
“position”: [
4240,
192
],
“id”: “0ec8837d-ccd2-47c2-933b-7eedc5881539”,
“name”: “Update Task Row in Project Planning”,
“executeOnce”: true,
“credentials”: {
“googleSheetsOAuth2Api”: {
“id”: “kKmkWGcI4HPIvmor”,
“name”: “TESTING_SHEET”
}
}
},
{
“parameters”: {
“conditions”: {
“options”: {
“caseSensitive”: true,
“leftValue”: “”,
“typeValidation”: “loose”,
“version”: 2
},
“conditions”: [
{
“id”: “aae75176-7e49-457c-9d64-871c10c0abe8”,
“leftValue”: “={{ $node[“Receive Content Writing Parameters”].json?.TaskRowNo }}”,
“rightValue”: “=0”,
“operator”: {
“type”: “string”,
“operation”: “exists”,
“singleValue”: true
}
}
],
“combinator”: “and”
},
“looseTypeValidation”: true,
“options”: {}
},
“type”: “n8n-nodes-base.if”,
“typeVersion”: 2.2,
“position”: [
3792,
304
],
“id”: “f22d76cd-1b8a-481f-85d3-3901f7408906”,
“name”: “Check If Updating Existing Task”
}
],
“connections”: {
“Convert Content to Markdown1”: {
“main”: [
[
{
“node”: “Create Google Doc in Client Folder”,
“type”: “main”,
“index”: 0
}
]
]
},
“Receive Content Writing Parameters”: {
“main”: [
[
{
“node”: “Load Client Project Details by ID”,
“type”: “main”,
“index”: 0
}
]
]
},
“Load Client Project Details by ID”: {
“main”: [
[
{
“node”: “Extract Client Website Content via Jina”,
“type”: “main”,
“index”: 0
}
]
]
},
“Extract Client Website Content via Jina”: {
“main”: [
[
{
“node”: “Extract Reference Article via Jina”,
“type”: “main”,
“index”: 0
}
]
]
},
“Extract Reference Article via Jina”: {
“main”: [
[
{
“node”: “Convert Final Content to Markdown”,
“type”: “main”,
“index”: 0
}
]
]
},
“Gemini Model Primary”: {
“ai_languageModel”: [
[
{
“node”: “Convert Final Content to Markdown”,
“type”: “ai_languageModel”,
“index”: 0
}
]
]
},
“OpenAI Model Fallback”: {
“ai_languageModel”: [
[
{
“node”: “Convert Final Content to Markdown”,
“type”: “ai_languageModel”,
“index”: 1
}
]
]
},
“Humanize and Polish Content with GPT”: {
“main”: [
[
{
“node”: “Convert Content to Markdown1”,
“type”: “main”,
“index”: 0
}
]
]
},
“GPT-4.1-mini for Humanization”: {
“ai_languageModel”: [
[
{
“node”: “Humanize and Polish Content with GPT”,
“type”: “ai_languageModel”,
“index”: 0
}
]
]
},
“Convert Final Content to Markdown”: {
“main”: [
[
{
“node”: “Humanize and Polish Content with GPT”,
“type”: “main”,
“index”: 0
}
]
]
},
“Insert Markdown Content into Doc”: {
“main”: [
[
{
“node”: “Generate 2-3 Line Benefits Summary”,
“type”: “main”,
“index”: 0
}
]
]
},
“Create Google Doc in Client Folder”: {
“main”: [
[
{
“node”: “Insert Markdown Content into Doc”,
“type”: “main”,
“index”: 0
}
]
]
},
“Generate 2-3 Line Benefits Summary”: {
“main”: [
[
{
“node”: “Check If Updating Existing Task”,
“type”: “main”,
“index”: 0
}
]
]
},
“GPT-4.1-mini for Summary Generation”: {
“ai_languageModel”: [
[
{
“node”: “Generate 2-3 Line Benefits Summary”,
“type”: “ai_languageModel”,
“index”: 0
}
]
]
},
“Check If Updating Existing Task”: {
“main”: [
[
{
“node”: “Update Task Row in Project Planning”,
“type”: “main”,
“index”: 0
}
],
[
{
“node”: “Create New Task Row in Project Planning”,
“type”: “main”,
“index”: 0
}
]
]
}
},
“pinData”: {},
“meta”: {
“templateCredsSetupCompleted”: true,
“instanceId”: “bc8ca75c203589705ae2e446cad7181d6f2a7cc1766f958ef9f34810e53b8cb2”
}
}

Hi @Dharmendra_Kumar

The JSON has two issues causing the 400:

  1. "matchingColumns": , is missing its value - should be "matchingColumns": []

  2. in “Update Task Row in Project Planning” and “Check If Updating Existing Task”, double quotes inside expressions need to be single quotes: “={{ $node[“Load Client Project Details by ID”].json[“Project Information Sheet”] }}” → “={{ $node[‘Load Client Project Details by ID’].json[‘Project Information Sheet’] }}”

Fix both of those and the 400 should go away. The Creator Portal API is strict about valid JSON on submission, so even one malformed field kills the whole request.

Let me know