{"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"AI product Images\",\n \"nodes\": [\n {\n \"parameters\": {},\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 0,\n 0\n ],\n \"id\": \"1ddfbdfd-f3c0-4ef5-8b48-a3ae77a92955\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\"\n },\n {\n \"parameters\": {\n \"resource\": \"fileFolder\",\n \"filter\": {\n \"folderId\": {\n \"__rl\": true,\n \"value\": \"1NQ_9HXkMrjm_DPZENAmwRo0JJkvQm8BU\",\n \"mode\": \"id\"\n }\n },\n \"options\": {}\n },\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"typeVersion\": 3,\n \"position\": [\n 220,\n 0\n ],\n \"id\": \"6feb317d-1d43-4174-a5a3-b9e4a2bf46e6\",\n \"name\": \"Google Drive\",\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"mVYRcVX1PvkdODpc\",\n \"name\": \"Google Drive account\"\n }\n }\n },\n {\n \"parameters\": {\n \"operation\": \"download\",\n \"fileId\": {\n \"__rl\": true,\n \"value\": \"={{$json[\\\"id\\\"]}}\",\n \"mode\": \"id\"\n },\n \"options\": {},\n \"_injected_number_field\": \"not_a_number\"\n },\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"typeVersion\": 3,\n \"position\": [\n 460,\n 0\n ],\n \"id\": \"b5232274-25a6-43b7-a424-dcfff47057ba\",\n \"name\": \"Google Drive1\",\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"mVYRcVX1PvkdODpc\",\n \"name\": \"Google Drive account\"\n }\n }\n },\n {\n \"parameters\": {\n \"resource\": \"image\",\n \"operation\": \"analyze\",\n \"modelId\": {\n \"__rl\": true,\n \"value\": \"gpt-4o\",\n \"mode\": \"list\",\n \"cachedResultName\": \"GPT-4O\"\n },\n \"text\": \"Describe the visual style of this image, what stands out. if you had to have a holistic overview, as a professional facebook ads designer. How would you explain this image / or im...", "input": "", "output": "The node 'Google Drive1' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Google Drive1'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"38972c5c-09f4-4120-a468-731e720914e1\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n 900,\n -240\n ],\n \"parameters\": {\n \"text\": \"=Title: {{ $json.data.transcript.title }}\\n\\nParticipants: {{ $json.data.transcript.participants }}\\n\\nTranscript: {{ JSON.stringify($json.data.transcript.sentences) }}\\n\\nBullet gist:{{ $json.data.transcript.summary.bullet_gist }}\",\n \"agent\": \"openAiFunctionsAgent\",\n \"options\": {\n \"systemMessage\": \"=You get my calls' transcripts from Firefiles.\\nThere can be meetings about projects. You can understand if it's about a project if meeting's title contains \\\"project\\\". If so - you need to:\\n1. Analyze transcript, use tool \\\"Create Tasks\\\" to create tasks for me in my AirTable base.\\n2. You need to use tool \\\"Notify Client About Tasks\\\" to nofity client about his tasks.\\n3. If transcript contains info there's a call needed - you'll use \\\"Create Event\\\" tool to create call on Google Meet\\nCurrent date: {{ $now }}\"\n },\n \"promptType\": \"define\"\n },\n \"typeVersion\": 1.7\n },\n {\n \"id\": \"db5c1bfa-b979-4749-84c8-8cd7d777748c\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 880,\n 40\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"9RivS2BmSh1DDBFm\",\n \"name\": \"OpenAi account 3\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"334873ba-ec5c-42b3-b8d0-def79d07c0aa\",\n \"name\": \"Create Tasks\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolWorkflow\",\n \"position\": [\n 1040,\n 40\n ],\n \"parameters\": {\n \"name\": \"create_task\",\n \"schemaType\": \"manual\",\n \"workflowId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"Jo0Biiz...", "input": "", "output": "The node 'Split Out' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Split Out'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"799d2e0c-29b9-494c-b11a-d79c7ed4a06d\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 920,\n 480\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"zJhr5piyEwVnWtaI\",\n \"name\": \"OpenAi club\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"6254ef4e-9699-404e-96a4-569326cce48d\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n 1160,\n 200\n ],\n \"parameters\": {\n \"text\": \"={{ $('When chat message received').item.json.chatInput }}\",\n \"agent\": \"openAiFunctionsAgent\",\n \"options\": {\n \"maxIterations\": 10,\n \"systemMessage\": \"You are Airtable assistant. \\nYou need to process user's requests and run relevant tools for that. \\n\\nPlan and execute in right order runs of tools to get data for user's request.\\n\\nFeel free to ask questions before do actions - especially if you noticed some inconcistency in user requests that might be error/misspelling. \\n\\nIMPORTANT Always check right table and base ids before doing queries.\\n\\nIMPORTANT Use Code function to do aggregation functions that requires math like - count, sum, average and etc. Aggegation function could be recognized by words like \\\"how many\\\",\\\"count\\\",\\\"what number\\\" and etc.\\nUse Code function to generate graph and images.\\n\\nIMPORTANT If search with filter failed - try to fetch records without filter\\n\\nIMPORTANT Ask yourself before answering - am I did everything is possible? Is the answer is right? Is the answer related to user request?\\n\\nIMPORTANT Always return in response name of Base and Table where records from. \"\n },\n \"promptType\": \"define\"\n },\n \"typeVersion\": 1.6\n },\n {\n \"id\": \"227a5427-c270-47dc-bc08-4bb321314926\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-...", "input": "", "output": "The workflow has a broken data flow. The node 'Aggregate' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Aggregate'.\n\n**Impact**: Data from 'Aggregate' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Aggregate' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Aggregate\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Aggregate' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"aZSJ2BZQhNduZZ8w\",\n \"meta\": {\n \"instanceId\": \"d47f3738b860eed937a1b18d7345fa2c65cf4b4957554e29477cb064a7039870\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Get Airtable data in Obsidian Notes\",\n \"tags\": [\n {\n \"id\": \"zalLN3OHeRqcq4di\",\n \"name\": \"Obsidian\",\n \"createdAt\": \"2024-12-01T19:07:59.925Z\",\n \"updatedAt\": \"2024-12-01T19:07:59.925Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"584cfe61-7f1b-4deb-ab4b-45a5ffd20daf\",\n \"name\": \"Airtable\",\n \"type\": \"n8n-nodes-base.airtableTool\",\n \"position\": [\n 540,\n 340\n ],\n \"parameters\": {\n \"base\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"appP3ocJy1rXIo6ko\",\n \"cachedResultUrl\": \"https://airtable.com/appP3ocJy1rXIo6ko\",\n \"cachedResultName\": \"table\"\n },\n \"table\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"tblywtlpPtGQMTJRm\",\n \"cachedResultUrl\": \"https://airtable.com/appP3ocJy1rXIo6ko/tblywtlpPtGQMTJRm\",\n \"cachedResultName\": \"Dummy\"\n },\n \"options\": {},\n \"operation\": \"search\"\n },\n \"credentials\": {\n \"airtableTokenApi\": {\n \"id\": \"yiZ7ZC1md4geZovu\",\n \"name\": \"Airtable Personal Access Token account\"\n }\n },\n \"typeVersion\": 2.1\n },\n {\n \"id\": \"8a100c92-7971-464b-b3c0-18272f0a0bef\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 220,\n 340\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-mini\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"q8L9oWVM7QyzYEE5\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"98887b9b-2eae-4a2e-af2b-d40c1786c5a2\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n 280,\n 200\n ],\n ...", "input": "", "output": "The node 'AI Agent' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'AI Agent'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9\"\n },\n \"nodes\": [\n {\n \"id\": \"10565888-4a1b-439a-a188-c6ee7990bb63\",\n \"name\": \"Extract from File\",\n \"type\": \"n8n-nodes-base.extractFromFile\",\n \"position\": [\n 860,\n 260\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"pdf\",\n \"binaryPropertyName\": \"File_Upload\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"583aff4b-d9f5-44e7-8e91-4938592b5630\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 1740,\n 380\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"3a09afd0-0dce-41fd-bec3-783fcb3d01fc\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserStructured\",\n \"position\": [\n 1920,\n 380\n ],\n \"parameters\": {\n \"schemaType\": \"manual\",\n \"inputSchema\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"Name\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Address\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Email\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Telephone\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Education\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Skills & Technologies\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Years of Experience\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Cover Letter\\\": { \\\"type\\\": \\\"string\\\" }\\n }\\n}\"\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"541a00d0-1635-48ad-b69e-83b28e178d6e\",\n \"name\": \"OpenAI Chat Model2\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 1020,\n 420\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"O...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"AI product Images\",\n \"nodes\": [\n {\n \"parameters\": {},\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 0,\n 0\n ],\n \"id\": \"1ddfbdfd-f3c0-4ef5-8b48-a3ae77a92955\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\"\n },\n {\n \"parameters\": {\n \"resource\": \"fileFolder\",\n \"filter\": {\n \"folderId\": {\n \"__rl\": true,\n \"value\": \"1NQ_9HXkMrjm_DPZENAmwRo0JJkvQm8BU\",\n \"mode\": \"id\"\n }\n },\n \"options\": {}\n },\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"typeVersion\": 3,\n \"position\": [\n 220,\n 0\n ],\n \"id\": \"6feb317d-1d43-4174-a5a3-b9e4a2bf46e6\",\n \"name\": \"Google Drive\",\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"mVYRcVX1PvkdODpc\",\n \"name\": \"Google Drive account\"\n }\n }\n },\n {\n \"parameters\": {\n \"operation\": \"download\",\n \"fileId\": {\n \"__rl\": true,\n \"value\": \"={{$json[\\\"id\\\"]}}\",\n \"mode\": \"id\"\n },\n \"options\": {}\n },\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"typeVersion\": 3,\n \"position\": [\n 460,\n 0\n ],\n \"id\": \"b5232274-25a6-43b7-a424-dcfff47057ba\",\n \"name\": \"Google Drive1\",\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"mVYRcVX1PvkdODpc\",\n \"name\": \"Google Drive account\"\n }\n }\n },\n {\n \"parameters\": {\n \"resource\": \"image\",\n \"operation\": \"analyze\",\n \"modelId\": {\n \"__rl\": true,\n \"value\": \"gpt-4o\",\n \"mode\": \"list\",\n \"cachedResultName\": \"GPT-4O\"\n },\n \"text\": \"Describe the visual style of this image, what stands out. if you had to have a holistic overview, as a professional facebook ads designer. How would you explain this image / or images to be able to reproduce the elements that mak...", "input": "", "output": "The workflow has a broken data flow. The node 'Google Drive1' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Google Drive1'.\n\n**Impact**: Data from 'Google Drive1' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Google Drive1' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Google Drive1\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Google Drive1' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"38972c5c-09f4-4120-a468-731e720914e1\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n 900,\n -240\n ],\n \"parameters\": {\n \"text\": \"=Title: {{ $json.data.transcript.title }}\\n\\nParticipants: {{ $json.data.transcript.participants }}\\n\\nTranscript: {{ JSON.stringify($json.data.transcript.sentences) }}\\n\\nBullet gist:{{ $json.data.transcript.summary.bullet_gist }}\",\n \"agent\": \"openAiFunctionsAgent\",\n \"options\": {\n \"systemMessage\": \"=You get my calls' transcripts from Firefiles.\\nThere can be meetings about projects. You can understand if it's about a project if meeting's title contains \\\"project\\\". If so - you need to:\\n1. Analyze transcript, use tool \\\"Create Tasks\\\" to create tasks for me in my AirTable base.\\n2. You need to use tool \\\"Notify Client About Tasks\\\" to nofity client about his tasks.\\n3. If transcript contains info there's a call needed - you'll use \\\"Create Event\\\" tool to create call on Google Meet\\nCurrent date: {{ $now }}\"\n },\n \"promptType\": \"define\"\n },\n \"typeVersion\": 1.7\n },\n {\n \"id\": \"db5c1bfa-b979-4749-84c8-8cd7d777748c\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 880,\n 40\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"9RivS2BmSh1DDBFm\",\n \"name\": \"OpenAi account 3\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"334873ba-ec5c-42b3-b8d0-def79d07c0aa\",\n \"name\": \"Create Tasks\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolWorkflow\",\n \"position\": [\n 1040,\n 40\n ],\n \"parameters\": {\n \"name\": \"create_task\",\n \"schemaType\": \"manual\",\n \"workflowId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"Jo0Biiz...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"799d2e0c-29b9-494c-b11a-d79c7ed4a06d\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 920,\n 480\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"zJhr5piyEwVnWtaI\",\n \"name\": \"OpenAi club\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"6254ef4e-9699-404e-96a4-569326cce48d\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n 1160,\n 200\n ],\n \"parameters\": {\n \"text\": \"={{ $('When chat message received').item.json.chatInput }}\",\n \"agent\": \"openAiFunctionsAgent\",\n \"options\": {\n \"maxIterations\": 10,\n \"systemMessage\": \"You are Airtable assistant. \\nYou need to process user's requests and run relevant tools for that. \\n\\nPlan and execute in right order runs of tools to get data for user's request.\\n\\nFeel free to ask questions before do actions - especially if you noticed some inconcistency in user requests that might be error/misspelling. \\n\\nIMPORTANT Always check right table and base ids before doing queries.\\n\\nIMPORTANT Use Code function to do aggregation functions that requires math like - count, sum, average and etc. Aggegation function could be recognized by words like \\\"how many\\\",\\\"count\\\",\\\"what number\\\" and etc.\\nUse Code function to generate graph and images.\\n\\nIMPORTANT If search with filter failed - try to fetch records without filter\\n\\nIMPORTANT Ask yourself before answering - am I did everything is possible? Is the answer is right? Is the answer related to user request?\\n\\nIMPORTANT Always return in response name of Base and Table where records from. \"\n },\n \"promptType\": \"define\"\n },\n \"typeVersion\": 1.6\n },\n {\n \"id\": \"227a5427-c270-47dc-bc08-4bb321314926\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-...", "input": "", "output": "The workflow has a broken data flow. The node 'OpenAI - Create thread' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'OpenAI - Create thread'.\n\n**Impact**: Data from 'OpenAI - Create thread' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'OpenAI - Create thread' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"OpenAI - Create thread\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'OpenAI - Create thread' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"aZSJ2BZQhNduZZ8w\",\n \"meta\": {\n \"instanceId\": \"d47f3738b860eed937a1b18d7345fa2c65cf4b4957554e29477cb064a7039870\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Get Airtable data in Obsidian Notes\",\n \"tags\": [\n {\n \"id\": \"zalLN3OHeRqcq4di\",\n \"name\": \"Obsidian\",\n \"createdAt\": \"2024-12-01T19:07:59.925Z\",\n \"updatedAt\": \"2024-12-01T19:07:59.925Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"584cfe61-7f1b-4deb-ab4b-45a5ffd20daf\",\n \"name\": \"Airtable\",\n \"type\": \"n8n-nodes-base.airtableTool\",\n \"position\": [\n 540,\n 340\n ],\n \"parameters\": {\n \"base\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"appP3ocJy1rXIo6ko\",\n \"cachedResultUrl\": \"https://airtable.com/appP3ocJy1rXIo6ko\",\n \"cachedResultName\": \"table\"\n },\n \"table\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"tblywtlpPtGQMTJRm\",\n \"cachedResultUrl\": \"https://airtable.com/appP3ocJy1rXIo6ko/tblywtlpPtGQMTJRm\",\n \"cachedResultName\": \"Dummy\"\n },\n \"options\": {},\n \"operation\": \"search\"\n },\n \"credentials\": {\n \"airtableTokenApi\": {\n \"id\": \"yiZ7ZC1md4geZovu\",\n \"name\": \"Airtable Personal Access Token account\"\n }\n },\n \"typeVersion\": 2.1\n },\n {\n \"id\": \"8a100c92-7971-464b-b3c0-18272f0a0bef\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 220,\n 340\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-mini\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"q8L9oWVM7QyzYEE5\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"98887b9b-2eae-4a2e-af2b-d40c1786c5a2\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n 280,\n 200\n ],\n ...", "input": "", "output": "The workflow has a broken data flow. The node 'Webhook Set Up in Obsidian' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Webhook Set Up in Obsidian'.\n\n**Impact**: Data from 'Webhook Set Up in Obsidian' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Webhook Set Up in Obsidian' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Webhook Set Up in Obsidian\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Webhook Set Up in Obsidian' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9\"\n },\n \"nodes\": [\n {\n \"id\": \"10565888-4a1b-439a-a188-c6ee7990bb63\",\n \"name\": \"Extract from File\",\n \"type\": \"n8n-nodes-base.extractFromFile\",\n \"position\": [\n 860,\n 260\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"pdf\",\n \"binaryPropertyName\": \"File_Upload\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"583aff4b-d9f5-44e7-8e91-4938592b5630\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 1740,\n 380\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"3a09afd0-0dce-41fd-bec3-783fcb3d01fc\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserStructured\",\n \"position\": [\n 1920,\n 380\n ],\n \"parameters\": {\n \"schemaType\": \"manual\",\n \"inputSchema\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"Name\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Address\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Email\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Telephone\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Education\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Skills & Technologies\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Years of Experience\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Cover Letter\\\": { \\\"type\\\": \\\"string\\\" }\\n }\\n}\"\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"541a00d0-1635-48ad-b69e-83b28e178d6e\",\n \"name\": \"OpenAI Chat Model2\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 1020,\n 420\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"O...", "input": "", "output": "In node 'Form Success', the parameter 'completionMessage' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `Thank you for completing the application process.\nYour informaion is filed securely and will be reviewed by our team.\n\nWe will be in touch shortly.`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Form Success' parameter 'completionMessage'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"C2pB17EpXAJwOcst\",\n \"meta\": {\n \"instanceId\": \"ba379c9b99d35340c90344105e7e5d06ca0de3e88926f0384d2c23099dad1937\"\n },\n \"name\": \"OpenAI Assistant for Hubspot Chat\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"7f11a684-911b-4fbc-ba1b-a8e7bce8e914\",\n \"name\": \"getHubspotMessage\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 280,\n 580\n ],\n \"parameters\": {\n \"url\": \"=https://api.hubapi.com/conversations/v3/conversations/threads/{{ $json[\\\"body\\\"][0][\\\"objectId\\\"] }}/messages/{{ $json[\\\"body\\\"][0][\\\"messageId\\\"] }}\",\n \"options\": {},\n \"authentication\": \"predefinedCredentialType\",\n \"nodeCredentialType\": \"hubspotAppToken\"\n },\n \"credentials\": {\n \"hubspotAppToken\": {\n \"id\": \"56nluFhXiGjYN1EY\",\n \"name\": \"HubSpot App Token tinder\"\n },\n \"hubspotOAuth2Api\": {\n \"id\": \"y6819fYl4TsW9gl6\",\n \"name\": \"HubSpot account 6\"\n },\n \"hubspotDeveloperApi\": {\n \"id\": \"dHB9nVcnZTqf2JDX\",\n \"name\": \"HubSpot Developer account\"\n }\n },\n \"typeVersion\": 4.1\n },\n {\n \"id\": \"687bcbb8-38c8-4d21-a46f-186e880d003c\",\n \"name\": \"OpenAi Create Thread\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1260,\n 420\n ],\n \"parameters\": {\n \"url\": \"https://api.openai.com/v1/threads\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"messages\\\": [\\n {\\n \\\"role\\\": \\\"user\\\",\\n \\\"content\\\": \\\"{{ $('getHubspotMessage').item.json[\\\"text\\\"] }}\\\"\\n }\\n ]\\n}\",\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"predefinedCredentialType\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"openai-beta\",\n \"value\": \"assistants=v1\"\n }\n ]\n },\n \"nodeCredentialType\": \"openAiApi\"\n },\n \"crede...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"Q8On8rR6BkmPzDUd\",\n \"meta\": {\n \"instanceId\": \"f57770b08f6a574802832e927ed1b0063c627ffc5b95965abf0d4a7396150138\"\n },\n \"name\": \"chrome extension backend with AI\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"0f38fe62-36d9-43da-a992-a3981377e89e\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n -220,\n -20\n ],\n \"webhookId\": \"e9a97dd5-f1e7-4d5b-a6f1-be5f0c9eb96c\",\n \"parameters\": {\n \"path\": \"e9a97dd5-f1e7-4d5b-a6f1-be5f0c9eb96c\",\n \"options\": {},\n \"httpMethod\": \"POST\",\n \"responseMode\": \"responseNode\"\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"83959562-edf5-4d37-bd11-47186c6a31c7\",\n \"name\": \"OpenAI\",\n \"type\": \"@n8n/n8n-nodes-langchain.openAi\",\n \"position\": [\n -40,\n -20\n ],\n \"parameters\": {\n \"text\": \"You are an expert financial analyst tasked with providing an advanced technical analyses of a stock or crypto currency chart provided. Your analysis will be based on various technical indicators and will provide simple insights for novice traders. Just explain to traders were you expect the market is moving. Also warn them this is not a binding advice. Make sure to explain everything in infant language.\",\n \"modelId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\",\n \"cachedResultName\": \"GPT-4O-MINI\"\n },\n \"options\": {},\n \"resource\": \"image\",\n \"inputType\": \"base64\",\n \"operation\": \"analyze\"\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8MS1muoK4z86fxUs\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.7\n },\n {\n \"id\": \"c6f1f833-7ba3-49c5-86df-f586e6bb5975\",\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 140,\n -20\n ],\n \"parameters\": {\n \"options\": {},\n \"respondWith\": ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"G8jRDBvwsMkkMiLN\",\n \"meta\": {\n \"instanceId\": \"205b3bc06c96f2dc835b4f00e1cbf9a937a74eeb3b47c99d0c30b0586dbf85aa\"\n },\n \"name\": \"[3/3] Anomaly detection tool (crops dataset)\",\n \"tags\": [\n {\n \"id\": \"spMntyrlE9ydvWFA\",\n \"name\": \"anomaly-detection\",\n \"createdAt\": \"2024-12-08T22:05:15.945Z\",\n \"updatedAt\": \"2024-12-09T12:50:19.287Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"e01bafec-eb24-44c7-b3c4-a60f91666350\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1200,\n 180\n ],\n \"parameters\": {\n \"color\": 6,\n \"width\": 400,\n \"height\": 740,\n \"content\": \"We are working here with crops dataset: \\nExisting (so not anomalies) crops images in dataset are:\\n- 'pearl_millet(bajra)',\\n- 'tobacco-plant',\\n- 'cherry',\\n- 'cotton',\\n- 'banana',\\n- 'cucumber',\\n- 'maize',\\n- 'wheat',\\n- 'clove',\\n- 'jowar',\\n- 'olive-tree',\\n- 'soyabean',\\n- 'coffee-plant',\\n- 'rice',\\n- 'lemon',\\n- 'mustard-oil',\\n- 'vigna-radiati(mung)',\\n- 'coconut',\\n- 'gram',\\n- 'pineapple',\\n- 'sugarcane',\\n- 'sunflower',\\n- 'chilli',\\n- 'fox_nut(makhana)',\\n- 'jute',\\n- 'papaya',\\n- 'tea',\\n- 'cardamom',\\n- 'almond'\\n\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"b9943781-de1f-4129-9b81-ed836e9ebb11\",\n \"name\": \"Embed image\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 680,\n 60\n ],\n \"parameters\": {\n \"url\": \"https://api.voyageai.com/v1/multimodalembeddings\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={{\\n{\\n \\\"inputs\\\": [\\n {\\n \\\"content\\\": [\\n {\\n \\\"type\\\": \\\"image_url\\\",\\n \\\"image_url\\\": $('Image URL hardcode').first().json.imageURL\\n }\\n ]\\n }\\n ],\\n \\\"model\\\": \\\"voyage-multimodal-3\\\",\\n \\\"input_type\\\": \\\"document\\\"\\n}\\n}}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"genericCredentialType\",\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n...", "input": "", "output": "The node 'Each Crop Counts' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"qdrantApi\": {\n \"id\": \"it3j3hP9FICqhgX6\",\n \"name\": \"QdrantApi account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Each Crop Counts' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"6cdc45e5-1fa4-47fe-b80a-0e1560996936\",\n \"name\": \"Text\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolWorkflow\",\n \"position\": [\n 1460,\n 980\n ],\n \"parameters\": {\n \"name\": \"text_retrieval_tool\",\n \"source\": \"parameter\",\n \"description\": \"Call this tool to return all text from the given website. Query should be full website URL.\",\n \"workflowJson\": \"{\\n \\\"nodes\\\": [\\n {\\n \\\"parameters\\\": {},\\n \\\"id\\\": \\\"05107436-c9cb-419b-ae8a-b74d309a130d\\\",\\n \\\"name\\\": \\\"Execute workflow\\\",\\n \\\"type\\\": \\\"n8n-nodes-base.manualTrigger\\\",\\n \\\"typeVersion\\\": 1,\\n \\\"position\\\": [\\n 2220,\\n 620\\n ]\\n },\\n {\\n \\\"parameters\\\": {\\n \\\"assignments\\\": {\\n \\\"assignments\\\": [\\n {\\n \\\"id\\\": \\\"253c2b17-c749-4f0a-93e8-5ff74f1ce49b\\\",\\n \\\"name\\\": \\\"domain\\\",\\n \\\"value\\\": \\\"={{ $json.query }}\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n },\\n \\\"options\\\": {}\\n },\\n \\\"id\\\": \\\"bb8be616-3227-4705-8520-1827069faacd\\\",\\n \\\"name\\\": \\\"Set domain\\\",\\n \\\"type\\\": \\\"n8n-nodes-base.set\\\",\\n \\\"typeVersion\\\": 3.3,\\n \\\"position\\\": [\\n 2440,\\n 620\\n ]\\n },\\n {\\n \\\"parameters\\\": {\\n \\\"assignments\\\": {\\n \\\"assignments\\\": [\\n {\\n \\\"id\\\": \\\"ed0f1505-82b6-4393-a0d8-088055137ec9\\\",\\n \\\"name\\\": \\\"domain\\\",\\n \\\"value\\\": \\\"={{ $json.domain.startsWith(\\\\\\\"http\\\\\\\") ? $json.domain : \\\\\\\"http://\\\\\\\" + $json.domain }}\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n },\\n \\\"options\\\": {}\\n },\\n \\\"id\\\": \\\"bdf29340-f135-489f-848e-1c7fa43a01df\\\",\\n \\\"name\\\": \\\"Add protocool to domain\\\",\\n \\\"type\\\": \\\"n8n-nodes-base.set\\\",\\n \\\"typeVersion\\\": 3.3,\\n \\\"position\\\": [\\n 2640,\\n 620\\n ]\\n },\\n {\\n \\\"parameters\\\": {\\n \\\"assignments\\\": {\\n \\\"assignments\\\": [\\n {\\n \\\"id\\\": \\\"2b1c7ff8-06a7-448b-99b7-5ede4b2e0bf0\\\",\\n \\\"name\\\": \\\"response\\\",\\n \\\"value\\\": \\\"={{ $json.data }}\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n },\\n \\\"options\\\": {}\\n },\\n \\\"id\\\": \\\"9f0aa264-08c1-459a-bb99-e28599fe8f76\\\",\\n \\\"name\\\": \\\"Set response\\\",\\n \\\"type\\\": \\\"n8n-nodes-base.set\\\",\\n \\\"typeVersion\\\": 3.3,\\n \\\"...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\" {\n \"instanceId\": \"26ba763460b97c249b82942b23b6384876dfeb9327513332e743c5f6219c2b8e\"\n },\n \"nodes\": [\n {\n \"id\": \"c5525f47-4d91-4b98-87bb-566b90da64a1\",\n \"name\": \"Local File Trigger\",\n \"type\": \"n8n-nodes-base.localFileTrigger\",\n \"position\": [\n 660,\n 700\n ],\n \"parameters\": {\n \"path\": \"/home/node/host_mount/local_file_search\",\n \"events\": [\n \"add\",\n \"change\",\n \"unlink\"\n ],\n \"options\": {\n \"awaitWriteFinish\": true\n },\n \"triggerOn\": \"folder\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"804334d6-e34d-40d1-9555-b331ffe66f6f\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 664.5766613599001,\n 881.8474780113352\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"7ab0e284-b667-4d1f-8ceb-fb05e4081a06\",\n \"name\": \"Set Variables\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 840,\n 700\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"35ea70c4-8669-4975-a68d-bbaa094713c0\",\n \"name\": \"directory\",\n \"type\": \"string\",\n \"value\": \"/home/node/BankStatements\"\n },\n {\n \"id\": \"1d081d19-ff4e-462a-9cbe-7af2244bf87f\",\n \"name\": \"file_added\",\n \"type\": \"string\",\n \"value\": \"={{ $json.event === 'add' && $json.path || ''}}\"\n },\n {\n \"id\": \"18f8dc03-51ca-48c7-947f-87ce8e1979bf\",\n \"name\": \"file_changed\",\n \"type\": \"string\",\n \"value\": \"={{ $json.event === 'change' && $json.path || '' }}\"\n },\n {\n \"id\": \"65074ff7-037b-4b3b-b2c3-8a61755ab43b\",\n \"name\": \"file_deleted\",\n \"type\": \"string\",\n ...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"26ba763460b97c249b82942b23b6384876dfeb9327513332e743c5f6219c2b8e\"\n },\n \"nodes\": [\n {\n \"id\": \"1bb3c94e-326e-41ca-82e4-102a598dba39\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -320,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"751b283b-ea88-4fcd-ace3-3c86631f8876\",\n \"name\": \"Embeddings Mistral Cloud\",\n \"type\": \"@n8n/n8n-nodes-langchain.embeddingsMistralCloud\",\n \"position\": [\n 1760,\n 560\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"mistralCloudApi\": {\n \"id\": \"EIl2QxhXAS9Hkg37\",\n \"name\": \"Mistral Cloud account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"f0851949-1036-4040-84df-61295cc5db74\",\n \"name\": \"Default Data Loader\",\n \"type\": \"@n8n/n8n-nodes-langchain.documentDefaultDataLoader\",\n \"position\": [\n 1900,\n 560\n ],\n \"parameters\": {\n \"options\": {\n \"metadata\": {\n \"metadataValues\": [\n {\n \"name\": \"chapter\",\n \"value\": \"={{ $('For Each Section...').item.json.chapter }}\"\n },\n {\n \"name\": \"section\",\n \"value\": \"={{ $('For Each Section...').item.json.label }}\"\n },\n {\n \"name\": \"=title\",\n \"value\": \"={{ $('For Each Section...').item.json.title }}\"\n },\n {\n \"name\": \"content_order\",\n \"value\": \"={{ $itemIndex }}\"\n }\n ]\n }\n },\n \"jsonData\": \"={{ $json.content }}\",\n \"jsonMode\": \"expressionData\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"41d10b61-9fbe-446e-a65a-0db6e0116e5b\",\n \"name\": \"Recursive Character Text Splitter\",\n \"type\": \"@n8n/n8n-nodes-...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"a58HZKwcOy7lmz56\",\n \"meta\": {\n \"instanceId\": \"178ef8a5109fc76c716d40bcadb720c455319f7b7a3fd5a39e4f336a091f524a\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Building RAG Chatbot for Movie Recommendations with Qdrant and Open AI\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"06a34e3b-519a-4b48-afd0-4f2b51d2105d\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 4980,\n 740\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"9213003d-433f-41ab-838b-be93860261b2\",\n \"name\": \"GitHub\",\n \"type\": \"n8n-nodes-base.github\",\n \"position\": [\n 5200,\n 740\n ],\n \"parameters\": {\n \"owner\": {\n \"__rl\": true,\n \"mode\": \"name\",\n \"value\": \"mrscoopers\"\n },\n \"filePath\": \"Top_1000_IMDB_movies.csv\",\n \"resource\": \"file\",\n \"operation\": \"get\",\n \"repository\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"n8n_demo\",\n \"cachedResultUrl\": \"https://github.com/mrscoopers/n8n_demo\",\n \"cachedResultName\": \"n8n_demo\"\n },\n \"additionalParameters\": {}\n },\n \"credentials\": {\n \"githubApi\": {\n \"id\": \"VbfC0mqEq24vPIwq\",\n \"name\": \"GitHub n8n demo\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"9850d1a9-3a6f-44c0-9f9d-4d20fda0b602\",\n \"name\": \"Extract from File\",\n \"type\": \"n8n-nodes-base.extractFromFile\",\n \"position\": [\n 5360,\n 740\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"7704f993-b1c9-477a-8b5a-77dc2cb68161\",\n \"name\": \"Embeddings OpenAI\",\n \"type\": \"@n8n/n8n-nodes-langchain.embeddingsOpenAi\",\n \"position\": [\n 5560,\n 940\n ],\n \"parameters\": {\n \"model\": \"text-embedding-3-small\",\n \"options\": {}\n },\n \"cred...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"FD0bHNaehP3LzCNN\",\n \"meta\": {\n \"instanceId\": \"69133932b9ba8e1ef14816d0b63297bb44feb97c19f759b5d153ff6b0c59e18d\"\n },\n \"name\": \"Chat with GitHub OpenAPI Specification using RAG (Pinecone and OpenAI)\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"362cb773-7540-4753-a401-e585cdf4af8a\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 0,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"45470036-cae6-48d0-ac66-addc8999e776\",\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 300,\n 0\n ],\n \"parameters\": {\n \"url\": \"https://raw.githubusercontent.com/github/rest-api-description/refs/heads/main/descriptions/api.github.com/api.github.com.json\",\n \"options\": {},\n \"_injected_number_field\": \"not_a_number\"\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"a9e65897-52c9-4941-bf49-e1a659e442ef\",\n \"name\": \"Pinecone Vector Store\",\n \"type\": \"@n8n/n8n-nodes-langchain.vectorStorePinecone\",\n \"position\": [\n 520,\n 0\n ],\n \"parameters\": {\n \"mode\": \"insert\",\n \"options\": {},\n \"pineconeIndex\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"n8n-demo\",\n \"cachedResultName\": \"n8n-demo\"\n }\n },\n \"credentials\": {\n \"pineconeApi\": {\n \"id\": \"bQTNry52ypGLqt47\",\n \"name\": \"PineconeApi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"c2a2354b-5457-4ceb-abfc-9a58e8593b81\",\n \"name\": \"Default Data Loader\",\n \"type\": \"@n8n/n8n-nodes-langchain.documentDefaultDataLoader\",\n \"position\": [\n 660,\n 180\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"7338d9ea-ae8f-46eb-807f-a15dc7639fc9\",\n \"name\": \"Recursive Character Text Splitter...", "input": "", "output": "The node 'HTTP Request' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'HTTP Request'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"AAjX1BuwhyXpo8xP\",\n \"meta\": {\n \"instanceId\": \"558d88703fb65b2d0e44613bc35916258b0f0bf983c5d4730c00c424b77ca36a\"\n },\n \"name\": \"Google Analytics: Weekly Report\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"91ba5982-e226-4f0b-af0d-8c9a44b08279\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -1740,\n 300\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"weeks\",\n \"triggerAtDay\": [\n 1\n ],\n \"triggerAtHour\": 7\n }\n ]\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"62c38eaf-2222-4d22-8589-677f36bce10d\",\n \"name\": \"Google Analytics Letzte 7 Tage\",\n \"type\": \"n8n-nodes-base.googleAnalytics\",\n \"position\": [\n -1540,\n 300\n ],\n \"parameters\": {\n \"metricsGA4\": {\n \"metricValues\": [\n {\n \"listName\": \"screenPageViews\"\n },\n {},\n {\n \"listName\": \"sessions\"\n },\n {\n \"listName\": \"sessionsPerUser\"\n },\n {\n \"name\": \"averageSessionDuration\",\n \"listName\": \"other\"\n },\n {\n \"name\": \"ecommercePurchases\",\n \"listName\": \"other\"\n },\n {\n \"name\": \"averagePurchaseRevenue\",\n \"listName\": \"other\"\n },\n {\n \"name\": \"purchaseRevenue\",\n \"listName\": \"other\"\n }\n ]\n },\n \"propertyId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"345060083\",\n \"cachedResultUrl\": \"https://analytics.google.com/analytics/web/#/p345060083/\",\n \"cachedResultName\": \"https://www.ep-reisen.de \\u00a0\\u2013 GA4\"\n },\n \"dimensionsGA4\": {\n \"dimensionValues\": [\n ...", "input": "", "output": "The workflow has a broken data flow. The node 'Processing for Telegram' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Processing for Telegram'.\n\n**Impact**: Data from 'Processing for Telegram' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Processing for Telegram' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Processing for Telegram\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Processing for Telegram' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9\"\n },\n \"nodes\": [\n {\n \"id\": \"63501cc8-77c9-4037-9f70-da23b6d20b03\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 280,\n 440\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"00de989c-d9e9-4b42-b5db-7097800a6017\",\n \"name\": \"Zip Entries\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1380,\n 360\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"833a554d-2b39-4160-9348-18b17b28ce30\",\n \"name\": \"data\",\n \"type\": \"array\",\n \"value\": \"={{ \\n $json.review_author.map((review_author, idx) => ({\\n review_author,\\n review_author_reviews_count: $json.review_author_reviews_count[idx].replace(' reviews', '').toInt(),\\n review_country: $json.review_country[idx],\\n review_date: $json.review_date[idx].toDate(),\\n review_date_of_experience: $json.review_date_of_experience[idx].replace('Date of experience: ', '').toDate(),\\n review_rating: $json.review_rating[idx].toInt(),\\n review_text: $json.review_text[idx],\\n review_title: $json.review_title[idx],\\n review_url: $('Get TrustPilot Page').params.url.match(/https:\\\\/\\\\/[^/]+/) + $json.review_url[idx],\\n }))\\n}}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4\n },\n {\n \"id\": \"9290e116-c001-49d5-ae4c-d91cd246f2c2\",\n \"name\": \"Extract Reviews\",\n \"type\": \"n8n-nodes-base.html\",\n \"position\": [\n 1140,\n 520\n ],\n \"parameters\": {\n \"options\": {\n \"trimValues\": true\n },\n \"operation\": \"extractHtmlContent\",\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"review_author\",\n \"cssSelector\": \"[data-service-review-card-paper] ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"c17e444e-0a5e-4bfe-8de6-c3185de4465d\",\n \"name\": \"Grants to List\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n -240,\n -180\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"oppHits\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"9251d39c-6098-42fa-aadd-3a22464dee64\",\n \"name\": \"Get Grant Details\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 280,\n -280\n ],\n \"parameters\": {\n \"url\": \"https://apply07.grants.gov/grantsws/rest/opportunity/details\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"contentType\": \"form-urlencoded\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"oppId\",\n \"value\": \"={{ $json.id }}\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"ade994d6-a1f8-45bf-a82e-83eb38da08d6\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 440,\n -120\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"4d81b20e-0038-48d3-840c-3fcf8b798a0d\",\n \"name\": \"Summarize Synopsis\",\n \"type\": \"@n8n/n8n-nodes-langchain.informationExtractor\",\n \"position\": [\n 460,\n -280\n ],\n \"parameters\": {\n \"text\": \"=Agency: {{ $json.synopsis.agencyName }}\\nTitle: {{ $json.opportunityTitle }}\\nSynopsis: {{ $json.synopsis.synopsisDesc }}\",\n \"options\": {\n \"systemPromptTemplate\": \"You've been given a grant opportunity listing. Help summarize the opportunity in simple terms.\"\n },\n \"schemaType\": \"manual\",\n \"inputSchema\": \"{\\n\\t\\\"type\\\": \\\"object\\\",\\n\\t\\\"p...", "input": "", "output": "The node 'Eligibility Factors' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Eligibility Factors'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"26ba763460b97c249b82942b23b6384876dfeb9327513332e743c5f6219c2b8e\"\n },\n \"nodes\": [\n {\n \"id\": \"192d3e4f-6bb0-4b87-a1fa-e32c9efb49cc\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 336,\n 34\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"32a7a772-76a6-4614-a6ab-d2b152a5811f\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 1220,\n 180\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {\n \"temperature\": 0\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"8c444314-ed7d-4ca0-b0fa-b6d1e964c698\",\n \"name\": \"Get Applicable Rows\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 516,\n 34\n ],\n \"parameters\": {\n \"base\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"appbgxPBurOmQK3E7\",\n \"cachedResultUrl\": \"https://airtable.com/appbgxPBurOmQK3E7\",\n \"cachedResultName\": \"Building Inventory Survey Example\"\n },\n \"table\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"tblEHkoTvKpa4Aa0Q\"\n },\n \"options\": {},\n \"operation\": \"search\",\n \"returnAll\": false,\n \"filterByFormula\": \"AND(Image!=\\\"\\\", AI_status=FALSE())\"\n },\n \"credentials\": {\n \"airtableTokenApi\": {\n \"id\": \"Und0frCQ6SNVX3VV\",\n \"name\": \"Airtable Personal Access Token account\"\n }\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"f90578fa-b886-4653-8ff7-0c91884dc517\",\n \"name\": \"Execute Workflow Trigger\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n 1257,\n 733...", "input": "", "output": "The workflow has a broken data flow. The node 'Analyse Image' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Analyse Image'.\n\n**Impact**: Data from 'Analyse Image' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Analyse Image' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Analyse Image\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Analyse Image' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"6a2a7715680b8313f7cb4676321c5baa46680adfb913072f089f2766f42e43bd\"\n },\n \"nodes\": [\n {\n \"id\": \"f4b3833b-cf25-4bbc-927c-080586c5713c\",\n \"name\": \"Sticky Note9\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 700,\n 760\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 330.5152611046425,\n \"height\": 239.5888196628349,\n \"content\": \"### ... or watch set up video [13 min]\\n[![Youtube Thumbnail](https://cflobdhpqwnoisuctsoc.supabase.co/storage/v1/object/public/my_storage/Youtube%20AI%20Agent%20Blur.png)](https://youtu.be/6RmLZS8Yl4E)\\n\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"64d96c53-b3e2-4aea-9a29-9b9e5c729f4f\",\n \"name\": \"Sticky Note7\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 400,\n 240\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 636.2128494576581,\n \"height\": 497.1532689930921,\n \"content\": \"![5min Logo](https://cflobdhpqwnoisuctsoc.supabase.co/storage/v1/object/public/my_storage/banner.png)\\n## AI Agent To Chat With Youtube\\n**Made by [Mark Shcherbakov](https://www.linkedin.com/in/marklowcoding/) from community [5minAI](https://www.skool.com/5minai)**\\n\\nNavigating the content generation and optimization process can be complex, especially without significant audience insight. This workflow automates insights extraction from YouTube videos and comments, empowering users to create more engaging and relevant content effectively.\\n\\nThe workflow integrates various APIs to gather insights from YouTube videos, enabling automated commentary analysis, video transcription, and thumbnail evaluation. The main functionalities include:\\n- Extracting user preferences from comments.\\n- Transcribing video content for enhanced understanding.\\n- Analyzing thumbnails via AI for maximum viewer engagement insights.\\n\\n\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"57d2ede9-1bf9...", "input": "", "output": "The node 'OpenAI' (type: @n8n/n8n-nodes-langchain.openAi) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"SphXAX7rlwRLkiox\",\n \"name\": \"Test club key\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'OpenAI' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"257476b1ef58bf3cb6a46e65fac7ee34a53a5e1a8492d5c6e4da5f87c9b82833\",\n \"templateId\": \"2473\"\n },\n \"nodes\": [\n {\n \"id\": \"1205b121-8aaa-4e41-874b-4e81aad6374e\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 120,\n 600\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 462.4041757955455,\n \"height\": 315.6388466176832,\n \"content\": \"## Generate SEO Seed Keywords Using AI\\n\\nThis flow uses an AI node to generate Seed Keywords to focus SEO efforts on based on your ideal customer profile\\n\\n**Outputs:** \\n- List of 20 Seed Keywords\\n\\n\\n**Pre-requisites / Dependencies:**\\n- You know your ideal customer profile (ICP)\\n- An AI API account (either OpenAI or Anthropic recommended)\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"d2654d75-2b64-4ec3-b583-57d2b6b7b195\",\n \"name\": \"Sticky Note13\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"disabled\": true,\n \"position\": [\n 640,\n 920\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 287.0816455493243,\n \"height\": 330.47923074942287,\n \"content\": \"**Generate draft seed KW based on ICP**\\n\\n\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"d248a58e-3705-4b6f-99cb-e9187e56781c\",\n \"name\": \"Anthropic Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatAnthropic\",\n \"position\": [\n 680,\n 1120\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"71517d83-59f5-441a-8a75-c35f4e06a8a2\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 980,\n 980\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"output.answer\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"1c68eff5-6478-4eba-9abe-3ccea2a17a5c\",\n \"name\": \"Sticky Note12\",\n \"type\": \"n8n-nodes-base....", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"0JsHmmyeHw5Ffz5m\",\n \"meta\": {\n \"instanceId\": \"d4d7965840e96e50a3e02959a8487c692901dfa8d5cc294134442c67ce1622d3\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"HN Who is Hiring Scrape\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"f7cdb3ee-9bb0-4006-829a-d4ce797191d5\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -20,\n -220\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"0475e25d-9bf4-450d-abd3-a04608a438a4\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 60,\n -620\n ],\n \"parameters\": {\n \"width\": 460,\n \"height\": 340,\n \"content\": \"## Go to https://hn.algolia.com\\n- filter by \\\"Ask HN: Who is hiring?\\\" (important with quotes for full match)\\n- sort by date\\n- Chrome Network Tab > find API call > click \\\"Copy as cURL\\\"\\n- n8n HTTP node -> import cURL and paste \\n- I've set the API key as Header Auth so you will have to do the above yourself to make this work\",\n \"_injected_number_field\": \"not_a_number\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"a686852b-ff84-430b-92bb-ce02a6808e19\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 400,\n -220\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"hits\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"cdaaa738-d561-4fa0-b2c7-8ea9e6778eb1\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1260,\n -620\n ],\n \"parameters\": {\n \"width\": 500,\n \"height\": 340,\n \"content\": \"## Go to HN API \\nhttps://github.com/HackerNews/API\\n\\nWe'll need following endpoints: \\n- For example, a story: https://hacker-news.firebaseio.com/v0/item/8863.json?print=pretty\\n- comment: https://hacker-news.firebaseio.com/v...", "input": "", "output": "The node 'Sticky Note' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"744G7emgZe0pXaPB\",\n \"meta\": {\n \"instanceId\": \"d868e3d040e7bda892c81b17cf446053ea25d2556fcef89cbe19dd61a3e876e9\"\n },\n \"name\": \"Hacker News to Video Template - AlexK1919\",\n \"tags\": [\n {\n \"id\": \"04PL2irdWYmF2Dg3\",\n \"name\": \"RunwayML\",\n \"createdAt\": \"2024-11-15T05:55:30.783Z\",\n \"updatedAt\": \"2024-11-15T05:55:30.783Z\"\n },\n {\n \"id\": \"yrY6updwSCXMsT0z\",\n \"name\": \"Video\",\n \"createdAt\": \"2024-11-15T05:55:34.333Z\",\n \"updatedAt\": \"2024-11-15T05:55:34.333Z\"\n },\n {\n \"id\": \"QsH2EXuw2e7YCv0K\",\n \"name\": \"OpenAI\",\n \"createdAt\": \"2024-11-15T04:05:20.872Z\",\n \"updatedAt\": \"2024-11-15T04:05:20.872Z\"\n },\n {\n \"id\": \"lvPj9rYRsKOHCi4J\",\n \"name\": \"Creatomate\",\n \"createdAt\": \"2024-11-19T15:59:16.134Z\",\n \"updatedAt\": \"2024-11-19T15:59:16.134Z\"\n },\n {\n \"id\": \"9LXACqpQLNtrM6or\",\n \"name\": \"Leonardo\",\n \"createdAt\": \"2024-11-19T15:59:21.368Z\",\n \"updatedAt\": \"2024-11-19T15:59:21.368Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"c777c41b-842d-4504-a1a0-ccbb034a0fdd\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -320,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"74fafd7c-55a4-46ec-b4a8-33d46f2b5b54\",\n \"name\": \"Hacker News\",\n \"type\": \"n8n-nodes-base.hackerNews\",\n \"position\": [\n -20,\n 300\n ],\n \"parameters\": {\n \"resource\": \"all\",\n \"additionalFields\": {}\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"9cd87fd2-6a38-463a-a22e-e0c34910818f\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 440,\n 300\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3\n },\n {\n \"id\": \"611b24cd-558b-4025-a0a8-ea355ba61988\",\n \"name\": \"OpenAI Chat Model3\",\n \"type\": \"@n8n/n8n-n...", "input": "", "output": "The workflow has a broken data flow. The node 'HTTP Request1' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'HTTP Request1'.\n\n**Impact**: Data from 'HTTP Request1' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'HTTP Request1' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"HTTP Request1\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'HTTP Request1' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"wa2uEnSIowqSrHoY\",\n \"meta\": {\n \"instanceId\": \"cca06617664f52c5a019ea575691fdbce675dd95dc0452af5f13dbe76d615b69\"\n },\n \"name\": \"Intelligent Web Query and Semantic Re-Ranking Flow\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"8e7dc5cb-6822-4ef6-9e5a-2b350a1526bf\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -640,\n -620\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 1172,\n \"height\": 970,\n \"content\": \"\\n## Step 1. Set Up a Free Brave Web Search Query API Key\\n\\nTo attain the free web search API tier from Brave, follow these steps:\\n\\n1. Visit api.search.brave.com\\n2. Create an account\\n3. Subscribe to the free plan (no charge)\\n4. Navigate to the API Keys section\\n5. Generate an API key. For the subscription type, choose \\\"Free\\\".\\n6. Go to the \\\"Query\\\" Nodes and change the \\\"X-Subscription-Token\\\" value to your API Key.\\n\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"5bb3e68f-7693-4d4b-b794-843f2c3535e0\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1580,\n -420\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 680,\n \"height\": 360,\n \"content\": \"## If you require to change this Node to Webhook Or any Other Item:\\n\\n- In case you want to change the input type from Webhook to any other item, Make sure to go to the Query 1 and Query 1 Ranker and replace the Webhook Input to your Node's input.\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"f2fc02f9-a78a-4e87-be85-0032492a9f3f\",\n \"name\": \"Date & Time\",\n \"type\": \"n8n-nodes-base.dateTime\",\n \"position\": [\n -820,\n -240\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"6f18ebbd-83db-4900-bc2e-0a9f23d6e8c8\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n -1340,\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"41183066-0045-4a75-ba23-42f4efcfeccc\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatGoogleGemini\",\n \"position\": [\n 720,\n 720\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-1.5-flash\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"Hx1fn2jrUvojSKye\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"eb061c39-7a4d-42e7-bb42-806504731b11\",\n \"name\": \"Basic LLM Chain\",\n \"type\": \"@n8n/n8n-nodes-langchain.chainLlm\",\n \"position\": [\n 700,\n 560\n ],\n \"parameters\": {\n \"text\": \"=Your Task is to find the best resources to learn {{ $('GetTopicFromToLearn').item.json[\\\"I want to learn\\\"] }}. \\n\\nI have scraped the HackerNews and The following is the list of comments from HackerNews on topic about Learning {{ $('GetTopicFromToLearn').item.json[\\\"I want to learn\\\"] }}\\n\\n\\nFocus only on comments that provide any resouces or advice or insight about learning {{ $('GetTopicFromToLearn').item.json.Learn }}. Ignore all other comments that are off topic discussions.\\n\\nNow based on these comments, you need to find the top resources and list them. \\n\\nCategorize them based on resource type (course, book, article, youtube videos, lectures, etc) and also figure out the difficultiy level (beginner, intermediate, advanced, expert).\\n\\nYou don't always to have fill in these categories exactly, these are given here for reference. Use your intution to find the best categorization.\\n\\nNow based on these metrics and running a basic sentiment analysis on comments you need to figure out what the top resources are. \\n\\nRespond back in Markdown formatted text. In the following format\\n\\n**OUTPUT FORMAT**\\n\\n```\\n\\n## Top HN Recomended Resources To Learn \\n\\n### Category 1\\n\\n- **Resource 1** - One line descriptio...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"5NAbfX550LJsfz6f\",\n \"meta\": {\n \"instanceId\": \"00493e38fecfc163cb182114bc2fab90114038eb9aad665a7a752d076920d3d5\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Make OpenAI Citation for File Retrieval RAG\",\n \"tags\": [\n {\n \"id\": \"urxRtGxxLObZWPvX\",\n \"name\": \"sample\",\n \"createdAt\": \"2024-09-13T02:43:13.014Z\",\n \"updatedAt\": \"2024-09-13T02:43:13.014Z\"\n },\n {\n \"id\": \"nMXS3c9l1WqDwWF5\",\n \"name\": \"assist\",\n \"createdAt\": \"2024-12-23T16:09:38.737Z\",\n \"updatedAt\": \"2024-12-23T16:09:38.737Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"b9033511-3421-467a-9bfa-73af01b99c4f\",\n \"name\": \"Aggregate\",\n \"type\": \"n8n-nodes-base.aggregate\",\n \"position\": [\n 740,\n 120\n ],\n \"parameters\": {\n \"options\": {},\n \"aggregate\": \"aggregateAllItemData\"\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": true\n },\n {\n \"id\": \"a61dd9d3-4faa-4878-a6f3-ba8277279002\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryBufferWindow\",\n \"position\": [\n 980,\n -320\n ],\n \"parameters\": {},\n \"typeVersion\": 1.3\n },\n {\n \"id\": \"2daabca5-37ec-4cad-9157-29926367e1a7\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 220,\n 320\n ],\n \"parameters\": {\n \"color\": 3,\n \"width\": 840,\n \"height\": 80,\n \"content\": \"## Within N8N, there will be a chat button to test\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"bf4485b1-cd94-41c8-a183-bf1b785f2761\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -440,\n -520\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 500,\n \"height\": 720,\n \"content\": \"## Make OpenAI Citation for File Retrieval RAG\\n\\n## Use case\\n\\nIn this example, we will ensure that all texts from the OpenAI assis...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"WLSqXECfQF7rOj2A\",\n \"meta\": {\n \"instanceId\": \"cba4a4a2eb5d7683330e2944837278938831ed3c042e20da6f5049c07ad14798\"\n },\n \"name\": \"Open Deep Research - AI-Powered Autonomous Research Workflow\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"b7b70ba1-0267-4d2b-91f4-5cc4fd22fd03\",\n \"name\": \"Chat Message Trigger\",\n \"type\": \"@n8n/n8n-nodes-langchain.chatTrigger\",\n \"position\": [\n -1940,\n 160\n ],\n \"webhookId\": \"cb0b9dbe-1f35-441a-b062-29624b0ebc6a\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"55a8a512-f2d4-4aed-93e5-dd9bfa2dcaad\",\n \"name\": \"Generate Search Queries using LLM\",\n \"type\": \"@n8n/n8n-nodes-langchain.chainLlm\",\n \"position\": [\n -1760,\n 160\n ],\n \"parameters\": {\n \"text\": \"=User Query: {{ $('Chat Message Trigger').item.json.chatInput }}\",\n \"messages\": {\n \"messageValues\": [\n {\n \"message\": \"=You are an expert research assistant. Given a user's query, generate up to four distinct, precise search queries that would help gather comprehensive information on the topic. Return only a JSON list of strings, for example: ['query1', 'query2', 'query3'].\"\n }\n ]\n },\n \"promptType\": \"define\"\n },\n \"typeVersion\": 1.5\n },\n {\n \"id\": \"5f92361a-b490-479d-8360-c87a100b470e\",\n \"name\": \"LLM Response Provider (OpenRouter)\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenRouter\",\n \"position\": [\n -1760,\n 700\n ],\n \"parameters\": {\n \"model\": \"google/gemini-2.0-flash-001\",\n \"options\": {}\n },\n \"credentials\": {\n \"openRouterApi\": {\n \"id\": \"WZWYWCfluxuKxZzV\",\n \"name\": \"OpenRouter account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"4ab360eb-858f-48b8-a00d-71867d4f0c93\",\n \"name\": \"Parse and Chunk JSON Data\",\n \"type\": \"n8n-nodes-base.code\"...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"293b70f0-06e8-4db5-befd-bfaed1f3575a:\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -460,\n 80\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"1c473546-6280-412d-9f8e-b43962365d78\",\n \"name\": \"Set Params\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -160,\n -60\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"8b5c6ca0-5ca8-4f67-abc1-44341cf419bc\",\n \"name\": \"system_prompt\",\n \"type\": \"string\",\n \"value\": \"You are an n8n fanboy.\"\n },\n {\n \"id\": \"7c36c362-6269-4564-b6fe-f82126bc8f5e\",\n \"name\": \"user_prompt\",\n \"type\": \"string\",\n \"value\": \"What are the differences between n8n and Make?\"\n },\n {\n \"id\": \"4366d2b5-ad22-445a-8589-fddab1caa1ab\",\n \"name\": \"domains\",\n \"type\": \"string\",\n \"value\": \"n8n.io, make.com\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4\n },\n {\n \"id\": \"894bd6a4-5db7-45fb-a8e0-1a81af068bbf\",\n \"name\": \"Clean Output\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 580,\n -100\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"5859093c-6b22-41db-ac6c-9a9f6f18b7e3\",\n \"name\": \"output\",\n \"type\": \"string\",\n \"value\": \"={{ $json.choices[0].message.content }}\"\n },\n {\n \"id\": \"13208fff-5153-45a7-a1cb-fe49e32d9a03\",\n \"name\": \"citations\",\n \"type\": \"array\",\n \"value\": \"={{ $json.citations }}\"\n }\n ]\n }\n },\n \"typeVersion\":...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"26ba763460b97c249b82942b23b6384876dfeb9327513332e743c5f6219c2b8e\"\n },\n \"nodes\": [\n {\n \"id\": \"bebbf9cf-8103-4694-a3be-ae3ee1e9ebaf\",\n \"name\": \"Watch For Bank Statements\",\n \"type\": \"n8n-nodes-base.localFileTrigger\",\n \"position\": [\n 780,\n 400\n ],\n \"parameters\": {\n \"path\": \"/home/node/host_mount/reconciliation_project\",\n \"events\": [\n \"add\"\n ],\n \"options\": {\n \"ignored\": \"!**/*.csv\"\n },\n \"triggerOn\": \"folder\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"eca26bed-ba44-4507-97d4-9154e26908a5\",\n \"name\": \"Get Tenant Details\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolCode\",\n \"position\": [\n 1660,\n 540\n ],\n \"parameters\": {\n \"name\": \"get_tenant_details\",\n \"jsCode\": \"const xlsx = require('xlsx');\\n\\nconst { spreadsheet_location } = $('Set Variables').item.json;\\nconst sheetName = 'tenants';\\n\\nconst wb = xlsx.readFile(spreadsheet_location, { sheets: [sheetName] });\\nconst rows = xlsx.utils.sheet_to_json(wb.Sheets[sheetName], { raw: false });\\n\\nconst queryToList = [].concat(typeof query === 'string' ? query.split(',') : query);\\n\\nconst result = queryToList.map(q => (\\n rows.find(row =>\\n row['Tenant Name'].toLowerCase() === q.toLowerCase()\\n || row['Tenant ID'].toLowerCase() === q.toString().toLowerCase()\\n )\\n));\\n\\nreturn result ? JSON.stringify(result) : `No results were found for ${query}`;\",\n \"description\": \"Call this tool to get a tenant's details which includes their tenancy terms, rent amount and any notes attached to their account. Pass in one or an array of either the tenant ID or the name of the tenant.\"\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"76b68c2f-8d33-4f61-a442-732e784b733a\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserStructured\",\n \"position\": [\n 1920,\n 540\n ],...", "input": "", "output": "The node 'Reconcile Rental Payments' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Reconcile Rental Payments'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"xM8Z5vZVNTNjCySL\",\n \"meta\": {\n \"instanceId\": \"b8ef33547995f2a520f12118ac1f7819ea58faa7a1096148cac519fa08be8e99\"\n },\n \"name\": \"News Extraction\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"97711d12-20de-40aa-b994-d2b10f20a5e5\",\n \"name\": \"Extract the HTML with the right css class\",\n \"type\": \"n8n-nodes-base.html\",\n \"position\": [\n -500,\n 0\n ],\n \"parameters\": {\n \"options\": {\n \"trimValues\": true\n },\n \"operation\": \"extractHtmlContent\",\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"data\",\n \"attribute\": \"href\",\n \"cssSelector\": \"=div:nth-child(9) > div:nth-child(3) > a:nth-child(2)\",\n \"returnArray\": true,\n \"returnValue\": \"attribute\"\n }\n ]\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"b874b570-daae-4878-b525-07ac30756eb1\",\n \"name\": \"Summary\",\n \"type\": \"n8n-nodes-base.openAi\",\n \"position\": [\n -880,\n 440\n ],\n \"parameters\": {\n \"model\": \"gpt-4-1106-preview\",\n \"prompt\": {\n \"messages\": [\n {\n \"content\": \"=Create a summary in less than 70 words {{ $json[\\\"content\\\"] }}\"\n }\n ]\n },\n \"options\": {},\n \"resource\": \"chat\"\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"0Vdk5RlVe7AoUdAM\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"72696278-2d44-4073-936a-6fe9df1bc7d8\",\n \"name\": \"Keywords\",\n \"type\": \"n8n-nodes-base.openAi\",\n \"position\": [\n -880,\n 620\n ],\n \"parameters\": {\n \"model\": \"gpt-4-1106-preview\",\n \"prompt\": {\n \"messages\": [\n {\n \"content\": \"=name the 3 most important technical keywords in {{ $json[\\\"content\\\"] }} ? just name them without any explanations or other sentences\"\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9\"\n },\n \"nodes\": [\n {\n \"id\": \"67850bd7-f9f4-4d5b-8c9e-bd1451247ba6\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -740,\n 1000\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"0d9133f9-b6d3-4101-95c6-3cd24cdb70c3\",\n \"name\": \"Fetch essay list\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -520,\n 1000\n ],\n \"parameters\": {\n \"url\": \"http://www.paulgraham.com/articles.html\",\n \"options\": {}\n },\n \"typeVersion\": 4.1\n },\n {\n \"id\": \"ee634297-a456-4f70-a995-55b02950571e\",\n \"name\": \"Extract essay names\",\n \"type\": \"n8n-nodes-base.html\",\n \"position\": [\n -300,\n 1000\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"extractHtmlContent\",\n \"dataPropertyName\": \"=data\",\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"essay\",\n \"attribute\": \"href\",\n \"cssSelector\": \"table table a\",\n \"returnArray\": true,\n \"returnValue\": \"attribute\"\n }\n ]\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"83d75693-dbb8-44c4-8533-da06f611c59c\",\n \"name\": \"Fetch essay texts\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 360,\n 1000\n ],\n \"parameters\": {\n \"url\": \"=http://www.paulgraham.com/{{ $json.essay }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.1\n },\n {\n \"id\": \"151022b5-8570-4176-bf3f-137f27ac7036\",\n \"name\": \"Extract title\",\n \"type\": \"n8n-nodes-base.html\",\n \"position\": [\n 700,\n 700\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"extractHtmlContent\",\n \"extractionValues\": {\n ...", "input": "", "output": "The node 'OpenAI Chat Model1' (type: @n8n/n8n-nodes-langchain.lmChatOpenAi) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'OpenAI Chat Model1' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"w434EiZ2z7klQAyp\",\n \"meta\": {\n \"instanceId\": \"a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Scrape Trustpilot Reviews with DeepSeek, Analyze Sentiment with OpenAI\",\n \"tags\": [\n {\n \"id\": \"2VG6RbmUdJ2VZbrj\",\n \"name\": \"Google Drive\",\n \"createdAt\": \"2024-12-04T16:50:56.177Z\",\n \"updatedAt\": \"2024-12-04T16:50:56.177Z\"\n },\n {\n \"id\": \"paTcf5QZDJsC2vKY\",\n \"name\": \"OpenAI\",\n \"createdAt\": \"2024-12-04T16:52:10.768Z\",\n \"updatedAt\": \"2024-12-04T16:52:10.768Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"095a8e10-1630-4a1a-b6c9-7950ae1ed803\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 320,\n -380\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"recensioni\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"6ff4dd9d-eedd-4d84-b13a-b3c0db717409\",\n \"name\": \"Information Extractor\",\n \"type\": \"@n8n/n8n-nodes-langchain.informationExtractor\",\n \"position\": [\n -440,\n 140\n ],\n \"parameters\": {\n \"text\": \"=You need to extract the review from the following HTML: {{ $json.recensione }}\",\n \"options\": {\n \"systemPromptTemplate\": \"You are a review expert. You need to extract only the required information and report it without changing anything.\\nAll the required information is in the text.\"\n },\n \"attributes\": {\n \"attributes\": [\n {\n \"name\": \"autore\",\n \"required\": true,\n \"description\": \"Extract the name of the review author\"\n },\n {\n \"name\": \"valutazione\",\n \"type\": \"number\",\n \"required\": true,\n \"description\": \"Extract the rating given to the review (from 1 to 5)\"\n },\n {\n \"name\": \"data\",\n \"required\": true,\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"K3uf8aY8wipScEay\",\n \"meta\": {\n \"instanceId\": \"558d88703fb65b2d0e44613bc35916258b0f0bf983c5d4730c00c424b77ca36a\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Google analytics template\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"6a9fc442-d0a3-48be-8dff-94f8d9cd5cf1\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 460,\n 460\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"weeks\"\n }\n ]\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"484cbc41-f57d-4c3d-a458-e439d480d290\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 460,\n 640\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"b1b66e9b-5fea-407b-9c1e-39bd2a9d4a90\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 460,\n 100\n ],\n \"parameters\": {\n \"width\": 714.172987012987,\n \"content\": \"## Send Google analytics to A.I. and save results to baserow\\n\\nThis workflow will check for country views, page engagement and google search console results. It will take this week's data and compare it to last week's data.\\n\\n[You can read more about this workflow here](https://rumjahn.com/how-i-used-a-i-to-be-an-seo-expert-and-analyzed-my-google-analytics-data-in-n8n-and-make-com/)\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"adde29fc-ddb5-4b50-aa78-313ac9ede879\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 633.6540259740264,\n 320\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 2097.92831168831,\n \"height\": 342.6576623376624,\n \"content\": \"## Property ID\\n\\n1. Create your [Google Analytics Credentials](https://docs.n8n.io/integr...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"vzU9QRZsHcyRsord\",\n \"meta\": {\n \"instanceId\": \"a9f3b18652ddc96459b459de4fa8fa33252fb820a9e5a1593074f3580352864a\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Spot Workplace Discrimination Patterns with AI\",\n \"tags\": [\n {\n \"id\": \"76EYz9X3GU4PtgSS\",\n \"name\": \"human_resources\",\n \"createdAt\": \"2025-01-30T18:52:17.614Z\",\n \"updatedAt\": \"2025-01-30T18:52:17.614Z\"\n },\n {\n \"id\": \"ey2Mx4vNaV8cKvao\",\n \"name\": \"openai\",\n \"createdAt\": \"2024-12-23T07:10:13.400Z\",\n \"updatedAt\": \"2024-12-23T07:10:13.400Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"b508ab50-158a-4cbf-a52e-f53e1804e770\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 280,\n 380\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"11a1a2d5-a274-44f7-97ca-5666a59fcb31\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 2220,\n 800\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"XXXXXX\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"395f7b67-c914-4aae-8727-0573fdbfc6ad\",\n \"name\": \"OpenAI Chat Model2\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 2220,\n 380\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"XXXXXX\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"6ab194a9-b869-4296-aea9-19afcbffc0d7\",\n \"name\": \"Merge\",\n \"type\": \"n8n-nodes-base.merge\",\n \"position\": [\n 2940,\n 600\n ],\n \"parameters\": {\n \"mode\": \"combine\",\n \"options\": {},\n \"combineBy\": \"combineByPosition\"\n },\n \"typeVer...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"qmmXKcpJOCm9qaCk\",\n \"meta\": {\n \"instanceId\": \"558d88703fb65b2d0e44613bc35916258b0f0bf983c5d4730c00c424b77ca36a\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"SERPBear analytics template\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"2ad0eb40-6628-4c6b-bc15-7081e7712f1a\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 260,\n 380\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"5a3c9ad8-a562-4bb0-bb11-c325552d8101\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 260,\n 160\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"weeks\"\n }\n ]\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"bdfa7388-f9b3-4145-90de-2e58138e14bf\",\n \"name\": \"Get data from SerpBear\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 580,\n 260\n ],\n \"parameters\": {\n \"url\": \"https://myserpbearinstance.com/api/keyword?id=22\",\n \"options\": {},\n \"sendQuery\": true,\n \"authentication\": \"genericCredentialType\",\n \"genericAuthType\": \"httpHeaderAuth\",\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"domain\",\n \"value\": \"rumjahn.com\"\n }\n ]\n }\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"3fshHb4fyI5XfLyq\",\n \"name\": \"Header Auth account 6\"\n }\n },\n \"executeOnce\": false,\n \"typeVersion\": 4.2,\n \"alwaysOutputData\": false\n },\n {\n \"id\": \"c169f4e3-ab60-4b46-9f49-cf27a13dd7c6\",\n \"name\": \"Parse data from SerpBear\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 820,\n 260\n ],\n \"parameters\": {\n \"jsCode\": \"const keywords = items[...", "input": "", "output": "In node 'Sticky Note', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `## Send Matomo analytics to A.I. and save results to baserow\n\nThis workflow will check the Google keywords for your site and it's rank.\n\n[\ud83d\udca1 You can read more about this workflow here](https://rumjahn.com/how-to-create-an-a-i-agent-to-analyze-serpbear-keyword-rankings-using-n8n-for-free-without-any-coding-skills-required/)`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"eZT6SZ4Kvmq5TzyQ\",\n \"meta\": {\n \"instanceId\": \"558d88703fb65b2d0e44613bc35916258b0f0bf983c5d4730c00c424b77ca36a\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Umami analytics template\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"8a54ac1c-a072-42e6-a3ba-8cde33475eb5\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 460,\n 220\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"e81c9be0-f59d-467e-9bda-eeb2d66ed31e\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 460,\n 380\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"weeks\",\n \"triggerAtDay\": [\n 4\n ]\n }\n ]\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"01b04872-9aea-4834-8df5-f6c91914133d\",\n \"name\": \"Get view stats from Umami\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 760,\n 260\n ],\n \"parameters\": {\n \"url\": \"=https://umami.mydomain.com/api/websites/86d4095c-a2a8-4fc8-9521-103e858e2b41/event-data/stats?startAt={{ DateTime.now().minus({ days: 7 }).toMillis() }}&endAt={{ DateTime.now().toMillis() }}&unit=hour&timezone=Asia%2FHong_Kong\",\n \"options\": {},\n \"authentication\": \"genericCredentialType\",\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"FKsKXvQUlaX5qt9n\",\n \"name\": \"Header Auth account 3\"\n }\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"38d342e3-10ad-4260-8f44-5a3233ec3166\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 660,\n -260\n ],\n \"parameters\": {\n \"width\": 504.88636363636317,\n \"content\": \"## Send ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9\"\n },\n \"nodes\": [\n {\n \"id\": \"0404384b-10b6-4666-84a4-8870db30c607\",\n \"name\": \"Embeddings OpenAI\",\n \"type\": \"@n8n/n8n-nodes-langchain.embeddingsOpenAi\",\n \"position\": [\n 1220,\n 280\n ],\n \"parameters\": {\n \"model\": \"text-embedding-3-small\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"a6741f04-5a5b-47a9-ac08-eb562f9f6052\",\n \"name\": \"Default Data Loader\",\n \"type\": \"@n8n/n8n-nodes-langchain.documentDefaultDataLoader\",\n \"position\": [\n 1340,\n 280\n ],\n \"parameters\": {\n \"options\": {\n \"metadata\": {\n \"metadataValues\": [\n {\n \"name\": \"question\",\n \"value\": \"={{ $json.question }}\"\n },\n {\n \"name\": \"participant\",\n \"value\": \"={{ $json.participant }}\"\n },\n {\n \"name\": \"survey\",\n \"value\": \"={{ $('Get Survey Results').params.documentId.cachedResultName }}\"\n }\n ]\n }\n },\n \"jsonData\": \"={{ $json.answer }}\",\n \"jsonMode\": \"expressionData\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"7663c3dd-f713-4034-bef6-0c000285f54f\",\n \"name\": \"Convert to Question Answer Pairs\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 720,\n 160\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"6b593ffb-ffbd-4cf5-a508-cd4f2a6d1004\",\n \"name\": \"data\",\n \"type\": \"array\",\n \"value\": \"={{\\n Object.keys($json)\\n .filter(key => !['row_number', 'Participant'].includes(key)...", "input": "", "output": "In node 'Questions to List', the parameter 'fieldToSplitOut' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `question`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Questions to List' parameter 'fieldToSplitOut'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"kZ3aL4r7xc96Q7lp\",\n \"meta\": {\n \"instanceId\": \"b8b2c0d20b02864cf66adc9cbefc86e9e56de0252b653d37ba6613341b5e0bef\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Selenium Ultimate Scraper Workflow\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"20d35d68-db49-4183-a913-85ad06c13912\",\n \"name\": \"Extract First Url Match\",\n \"type\": \"n8n-nodes-base.html\",\n \"position\": [\n 1820,\n 540\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"extractHtmlContent\",\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"Url Find \",\n \"attribute\": \"href\",\n \"cssSelector\": \"=a[href*=\\\"https://\\\"][href*=\\\"{{ $('Edit Fields (For testing prupose )').item.json['Website Domaine'] }}\\\"]\\n\",\n \"returnArray\": true,\n \"returnValue\": \"attribute\"\n }\n ]\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"9167ea20-fc9c-4d75-bf4d-bb2016079dd0\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 2060,\n 700\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {}\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"42a8646d-1b0b-4309-a87d-9c8aeb355a28\",\n \"name\": \"Clean Webdriver \",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"notes\": \"Script to delete traces of selenium in the browser \",\n \"position\": [\n 3120,\n 560\n ],\n \"parameters\": {\n \"url\": \"=http://selenium_chrome:4444/wd/hub/session/{{ $('Create Selenium Session').item.json.value.sessionId }}/execute/sync\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"{\\n \\\"script\\\": \\\"Object.defineProperty(navigator, 'webdriver', { get: () => undefined }); window.navigator.chrome = { runtime: {} }; Object.defineProperty(navigator, 'languages', { get: () => ['en-US', 'en'] }); Object.defineProperty(navig...", "input": "", "output": "The node 'OpenAI Chat Model' (type: @n8n/n8n-nodes-langchain.lmChatOpenAi) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"FmszNHDDVS32ud21\",\n \"name\": \"OpenAi account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'OpenAI Chat Model' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"pPtCy6qPfEv1qNRn\",\n \"meta\": {\n \"instanceId\": \"205b3bc06c96f2dc835b4f00e1cbf9a937a74eeb3b47c99d0c30b0586dbf85aa\"\n },\n \"name\": \"[1/3 - anomaly detection] [1/2 - KNN classification] Batch upload dataset to Qdrant (crops dataset)\",\n \"tags\": [\n {\n \"id\": \"n3zAUYFhdqtjhcLf\",\n \"name\": \"qdrant\",\n \"createdAt\": \"2024-12-10T11:56:59.987Z\",\n \"updatedAt\": \"2024-12-10T11:56:59.987Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"53831410-b4f3-4374-8bdd-c2a33cd873cb\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -640,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"e303ccea-c0e0-4fe5-bd31-48380a0e438f\",\n \"name\": \"Google Cloud Storage\",\n \"type\": \"n8n-nodes-base.googleCloudStorage\",\n \"position\": [\n 820,\n 160\n ],\n \"parameters\": {\n \"resource\": \"object\",\n \"returnAll\": true,\n \"bucketName\": \"n8n-qdrant-demo\",\n \"listFilters\": {\n \"prefix\": \"agricultural-crops\"\n },\n \"requestOptions\": {}\n },\n \"credentials\": {\n \"googleCloudStorageOAuth2Api\": {\n \"id\": \"fn0sr7grtfprVQvL\",\n \"name\": \"Google Cloud Storage account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"737bdb15-61cf-48eb-96af-569eb5986ee8\",\n \"name\": \"Get fields for Qdrant\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1080,\n 160\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"10d9147f-1c0c-4357-8413-3130829c2e24\",\n \"name\": \"=publicLink\",\n \"type\": \"string\",\n \"value\": \"=https://storage.googleapis.com/{{ $json.bucket }}/{{ $json.selfLink.split('/').splice(-1) }}\"\n },\n {\n \"id\": \"ff9e6a0b-e47a-4550-a13b-465507c75f8f\",\n \"name\": \"cro...", "input": "", "output": "The node 'Batch Upload to Qdrant' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"qdrantApi\": {\n \"id\": \"it3j3hP9FICqhgX6\",\n \"name\": \"QdrantApi account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Batch Upload to Qdrant' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"m9aACcHqydEbH4nR\",\n \"meta\": {\n \"instanceId\": \"205b3bc06c96f2dc835b4f00e1cbf9a937a74eeb3b47c99d0c30b0586dbf85aa\"\n },\n \"name\": \"[2/3] Set up medoids (2 types) for anomaly detection (crops dataset)\",\n \"tags\": [\n {\n \"id\": \"spMntyrlE9ydvWFA\",\n \"name\": \"anomaly-detection\",\n \"createdAt\": \"2024-12-08T22:05:15.945Z\",\n \"updatedAt\": \"2024-12-09T12:50:19.287Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"edaa871e-2b79-400e-8328-333d250bfdd2\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -660,\n -220\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"ebd964de-faa4-4dc0-9245-cc9154b9ce02\",\n \"name\": \"Total Points in Collection\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 180,\n -220\n ],\n \"parameters\": {\n \"url\": \"={{ $('Qdrant cluster variables').item.json.qdrantCloudURL }}/collections/{{ $('Qdrant cluster variables').item.json.collectionName }}/points/count\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"exact\\\": true\\n}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"predefinedCredentialType\",\n \"nodeCredentialType\": \"qdrantApi\"\n },\n \"credentials\": {\n \"qdrantApi\": {\n \"id\": \"it3j3hP9FICqhgX6\",\n \"name\": \"QdrantApi account\"\n }\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"b51f6344-d090-4341-a908-581b78664b07\",\n \"name\": \"Cluster Distance Matrix\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1200,\n -360\n ],\n \"parameters\": {\n \"url\": \"={{ $('Qdrant cluster variables').first().json.qdrantCloudURL }}/collections/{{ $('Qdrant cluster variables').first().json.collectionName }}/points/search/matrix/offsets\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={{\\n{\\n \\\"sampl...", "input": "", "output": "The workflow has a broken data flow. The node 'Medoids Variables' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Medoids Variables'.\n\n**Impact**: Data from 'Medoids Variables' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Medoids Variables' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Medoids Variables\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Medoids Variables' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"G8jRDBvwsMkkMiLN\",\n \"meta\": {\n \"instanceId\": \"205b3bc06c96f2dc835b4f00e1cbf9a937a74eeb3b47c99d0c30b0586dbf85aa\"\n },\n \"name\": \"[3/3] Anomaly detection tool (crops dataset)\",\n \"tags\": [\n {\n \"id\": \"spMntyrlE9ydvWFA\",\n \"name\": \"anomaly-detection\",\n \"createdAt\": \"2024-12-08T22:05:15.945Z\",\n \"updatedAt\": \"2024-12-09T12:50:19.287Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"e01bafec-eb24-44c7-b3c4-a60f91666350\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1200,\n 180\n ],\n \"parameters\": {\n \"color\": 6,\n \"width\": 400,\n \"height\": 740,\n \"content\": \"We are working here with crops dataset: \\nExisting (so not anomalies) crops images in dataset are:\\n- 'pearl_millet(bajra)',\\n- 'tobacco-plant',\\n- 'cherry',\\n- 'cotton',\\n- 'banana',\\n- 'cucumber',\\n- 'maize',\\n- 'wheat',\\n- 'clove',\\n- 'jowar',\\n- 'olive-tree',\\n- 'soyabean',\\n- 'coffee-plant',\\n- 'rice',\\n- 'lemon',\\n- 'mustard-oil',\\n- 'vigna-radiati(mung)',\\n- 'coconut',\\n- 'gram',\\n- 'pineapple',\\n- 'sugarcane',\\n- 'sunflower',\\n- 'chilli',\\n- 'fox_nut(makhana)',\\n- 'jute',\\n- 'papaya',\\n- 'tea',\\n- 'cardamom',\\n- 'almond'\\n\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"b9943781-de1f-4129-9b81-ed836e9ebb11\",\n \"name\": \"Embed image\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 680,\n 60\n ],\n \"parameters\": {\n \"url\": \"https://api.voyageai.com/v1/multimodalembeddings\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={{\\n{\\n \\\"inputs\\\": [\\n {\\n \\\"content\\\": [\\n {\\n \\\"type\\\": \\\"image_url\\\",\\n \\\"image_url\\\": $('Image URL hardcode').first().json.imageURL\\n }\\n ]\\n }\\n ],\\n \\\"model\\\": \\\"voyage-multimodal-3\\\",\\n \\\"input_type\\\": \\\"document\\\"\\n}\\n}}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"genericCredentialType\",\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\" {\n \"instanceId\": \"408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9\"\n },\n \"nodes\": [\n {\n \"id\": \"cb62c9a5-2f43-4328-af94-84c2cb731d9c\",\n \"name\": \"Base Image\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 260,\n 660\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"={{ $json.base }}\"\n },\n \"options\": {\n \"binaryPropertyName\": \"data_1\"\n },\n \"operation\": \"download\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"yOwz41gMQclOadgu\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 3\n },\n {\n \"id\": \"b1c304cc-9949-441a-ac2a-275c8d4c51fc\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatGoogleGemini\",\n \"position\": [\n 1120,\n 900\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-1.5-pro-latest\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"dSxo6ns5wn658r8N\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"964d94bf-be2a-424e-ab0e-c1c1fe260ebd\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserStructured\",\n \"position\": [\n 1320,\n 900\n ],\n \"parameters\": {\n \"schemaType\": \"manual\",\n \"inputSchema\": \"{\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n\\t\\\"properties\\\": {\\n\\t\\t\\\"type\\\": {\\n \\t\\t\\\"type\\\": \\\"string\\\",\\n \\\"description\\\": \\\"type of regression. One of text, number, image, color or position.\\\"\\n \\t\\t},\\n\\t\\t\\\"description\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"previous_state\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"current_state\\\": { \\\"type\\\": \\\"string\\\" }\\n\\t}\\n }\\n}\"\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"67195eb2-172...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"eOUewYsEzJmQixI6\",\n \"meta\": {\n \"instanceId\": \"77c4feba8f41570ef06dc76ece9a6ded0f0d44f7f1477a64c2d71a8508c11faa\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Chat with Postgresql Database\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"6501a54f-a68c-452d-b353-d7e871ca3780\",\n \"name\": \"When chat message received\",\n \"type\": \"@n8n/n8n-nodes-langchain.chatTrigger\",\n \"position\": [\n -300,\n -80\n ],\n \"webhookId\": \"cf1de04f-3e38-426c-89f0-3bdb110a5dcf\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"cd32221b-2a36-408d-b57e-8115fcd810c9\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n 0,\n -80\n ],\n \"parameters\": {\n \"agent\": \"openAiFunctionsAgent\",\n \"options\": {\n \"systemMessage\": \"You are DB assistant. You need to run queries in DB aligned with user requests.\\n\\nRun custom SQL query to aggregate data and response to user. Make sure every table has schema prefix to it in sql query which you can get from `Get DB Schema and Tables List` tool.\\n\\nFetch all data to analyse it for response if needed.\\n\\n## Tools\\n\\n- Execute SQL query - Executes any sql query generated by AI\\n- Get DB Schema and Tables List - Lists all the tables in database with its schema name\\n- Get Table Definition - Gets the table definition from db using table name and schema name\"\n }\n },\n \"typeVersion\": 1.7\n },\n {\n \"id\": \"8accbeeb-7eaf-4e9e-aabc-de8ab3a0459b\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n -60,\n 160\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"48uG61Ilo8jndw3r\",\n \"name\": \"Your Op...", "input": "", "output": "The node 'Get DB Schema and Tables List' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Get DB Schema and Tables List'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"P307QnrxpA1ddsM5\",\n \"meta\": {\n \"instanceId\": \"fb924c73af8f703905bc09c9ee8076f48c17b596ed05b18c0ff86915ef8a7c4a\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Generate SQL queries from schema only - AI-powered\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"b7c3ca47-11b3-4378-81fa-68b2f56b295e\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 1460,\n 440\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {\n \"temperature\": 0.2\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"rveqdSfp7pCRON1T\",\n \"name\": \"Ted's Tech Talks OpenAi\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"977c3a82-440b-4d44-9042-47a673bcb52c\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryBufferWindow\",\n \"position\": [\n 1640,\n 440\n ],\n \"parameters\": {\n \"contextWindowLength\": 10\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"c6e9c0e2-d238-4f0b-a4c8-2271f2c8b31b\",\n \"name\": \"No Operation, do nothing\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2340,\n 520\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"4c141ae8-d2d1-45c7-bb5d-f33841d3cee6\",\n \"name\": \"List all tables in a database\",\n \"type\": \"n8n-nodes-base.mySql\",\n \"position\": [\n 520,\n -35\n ],\n \"parameters\": {\n \"query\": \"SHOW TABLES;\",\n \"options\": {},\n \"operation\": \"executeQuery\"\n },\n \"typeVersion\": 2.4\n },\n {\n \"id\": \"54fb3362-041b-4e4f-bfea-f0bc788d8dfd\",\n \"name\": \"Extract database schema\",\n \"type\": \"n8n-nodes-base.mySql\",\n \"position\": [\n 700,\n -35\n ],\n \"parameters\": {\n \"query\": \"DESCRIBE {{ $json.Tables_in_tttytdb2023 }};\",\n \"options\": {},\n \"operation\": \"executeQuer...", "input": "", "output": "The node 'List all tables in a database' (type: n8n-nodes-base.mySql) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"mySql\": {\n \"id\": \"ICakJ1LRuVl4dRTs\",\n \"name\": \"db4free TTT account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'List all tables in a database' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"1a23006df50de49624f69e85993be557d137b6efe723a867a7d68a84e0b32704\"\n },\n \"nodes\": [\n {\n \"id\": \"54065cc9-047c-4741-95f6-cec3e352abd7\",\n \"name\": \"Google Drive\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 2700,\n -1840\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"url\",\n \"value\": \"https://drive.google.com/file/d/xxxxxxxxxxxxxxx/view\"\n },\n \"options\": {},\n \"operation\": \"download\"\n },\n \"typeVersion\": 3\n },\n {\n \"id\": \"62af57f5-a001-4174-bece-260a1fc595e8\",\n \"name\": \"Default Data Loader\",\n \"type\": \"@n8n/n8n-nodes-langchain.documentDefaultDataLoader\",\n \"position\": [\n 3120,\n -1620\n ],\n \"parameters\": {\n \"loader\": \"epubLoader\",\n \"options\": {},\n \"dataType\": \"binary\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"ce3d9c7c-6ce9-421a-b4d0-4235217cf8e6\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 2620,\n -2000\n ],\n \"parameters\": {\n \"width\": 749.1276349295781,\n \"height\": 820.5109034066329,\n \"content\": \"# INSERTING\\n\\n- it's important to use the same embedding model when for any interaction with your vector database (inserting, upserting and retrieval)\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"81cb3d3e-70af-46c8-bc18-3d076a222d0b\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1720,\n -1160\n ],\n \"parameters\": {\n \"color\": 3,\n \"width\": 873.9739981925188,\n \"height\": 534.0012007720542,\n \"content\": \"# UPSERTING\\n\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"60ebdb71-c7e0-429b-9394-b680cc000951\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1720,\n -2000\n ],\n...", "input": "", "output": "The workflow has a broken data flow. The node 'When chat message received' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'When chat message received'.\n\n**Impact**: Data from 'When chat message received' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'When chat message received' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"When chat message received\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'When chat message received' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"AQJ6QnF2yVdCWMnx\",\n \"meta\": {\n \"instanceId\": \"fb924c73af8f703905bc09c9ee8076f48c17b596ed05b18c0ff86915ef8a7c4a\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"SQL agent with memory\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"3544950e-4d8e-46ca-8f56-61c152a5cae3\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryBufferWindow\",\n \"position\": [\n 1220,\n 500\n ],\n \"parameters\": {\n \"contextWindowLength\": 10\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"743cc4e7-5f24-4adc-b872-7241ee775bd0\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 1000,\n 500\n ],\n \"parameters\": {\n \"model\": \"gpt-4-turbo\",\n \"options\": {\n \"temperature\": 0.3\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"rveqdSfp7pCRON1T\",\n \"name\": \"Ted's Tech Talks OpenAi\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"cc30066c-ad2c-4729-82c1-a6b0f4214dee\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 500,\n -80\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"0deacd0d-45cb-4738-8da0-9d1251858867\",\n \"name\": \"Get chinook.zip example\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 700,\n -80\n ],\n \"parameters\": {\n \"url\": \"https://www.sqlitetutorial.net/wp-content/uploads/2018/03/chinook.zip\",\n \"options\": {}\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"61f34708-f8ed-44a9-8522-6042d28511ae\",\n \"name\": \"Extract zip file\",\n \"type\": \"n8n-nodes-base.compression\",\n \"position\": [\n 900,\n -80\n ],\n \"parameters\": {},\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"6a12d9ac-f1b7-4267-8b34-58cdb9d347bb\",\n \"name\": \"Save c...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Start/Stop a Docker service\",\n \"nodes\": [\n {\n \"parameters\": {\n \"httpMethod\": \"POST\",\n \"path\": \"docker/:action/:service\",\n \"authentication\": \"basicAuth\",\n \"responseMode\": \"responseNode\",\n \"options\": {}\n },\n \"type\": \"n8n-nodes-base.webhook\",\n \"typeVersion\": 2.1,\n \"position\": [\n -1984,\n 320\n ],\n \"id\": \"e5953025-eff5-4aaa-9367-93314eee7c91\",\n \"name\": \"Webhook\",\n \"webhookId\": \"de42a9a3-38fe-40a9-a0ea-891a82c021e5\",\n \"alwaysOutputData\": true,\n \"executeOnce\": true\n },\n {\n \"parameters\": {\n \"command\": \"=cd {{ $json.params.service }} && docker compose up -d\",\n \"cwd\": \"/home/ferristhiel\"\n },\n \"type\": \"n8n-nodes-base.ssh\",\n \"typeVersion\": 1,\n \"position\": [\n -1312,\n 32\n ],\n \"id\": \"87b48131-6631-4675-9f8f-fe98c290b80f\",\n \"name\": \"Start\",\n \"alwaysOutputData\": true,\n \"executeOnce\": true,\n \"credentials\": {\n \"sshPassword\": {\n \"id\": \"POdOIYhR5Qu9Uob8\",\n \"name\": \"My Server's SSH Password\"\n }\n }\n },\n {\n \"parameters\": {\n \"command\": \"=cd {{ $json.params.service }} && docker compose down\",\n \"cwd\": \"/home/ferristhiel\"\n },\n \"type\": \"n8n-nodes-base.ssh\",\n \"typeVersion\": 1,\n \"position\": [\n -1312,\n 416\n ],\n \"id\": \"ff1915d8-8522-4074-987b-a2d9f237255c\",\n \"name\": \"Stop\",\n \"alwaysOutputData\": true,\n \"executeOnce\": true,\n \"credentials\": {\n \"sshPassword\": {\n \"id\": \"POdOIYhR5Qu9Uob8\",\n \"name\": \"My Server's SSH Password\"\n }\n }\n },\n {\n \"parameters\": {\n \"respondWith\": \"text\",\n \"responseBody\": \"=Docker Service \\\"{{ $('Webhook').item.json.params.service }}\\\" was found and successfully started!\",\n \"options\": {}\n },\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"typeVersion\": 1.4,\n \"position...", "input": "", "output": "The node 'Webhook' (type: n8n-nodes-base.webhook) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"httpBasicAuth\": {\n \"id\": \"SzVLzGYkPN0xTmdA\",\n \"name\": \"Ferris Thiel\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Webhook' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Update Server\",\n \"nodes\": [\n {\n \"parameters\": {\n \"httpMethod\": \"POST\",\n \"path\": \"update\",\n \"authentication\": \"basicAuth\",\n \"responseMode\": \"responseNode\",\n \"options\": {}\n },\n \"type\": \"n8n-nodes-base.webhook\",\n \"typeVersion\": 2.1,\n \"position\": [\n 0,\n -16\n ],\n \"id\": \"ab983738-8b2e-4388-b9e2-8849a307cd18\",\n \"name\": \"Webhook\",\n \"webhookId\": \"06dec1b4-a026-43f6-8af9-aa71edc18c9d\"\n },\n {\n \"parameters\": {\n \"command\": \"sudo apt update && sudo apt upgrade -y\"\n },\n \"type\": \"n8n-nodes-base.ssh\",\n \"typeVersion\": 1,\n \"position\": [\n 224,\n -16\n ],\n \"id\": \"d75fdbb3-3768-463d-8c24-08e183962ef3\",\n \"name\": \"Execute a command\",\n \"alwaysOutputData\": true,\n \"executeOnce\": false,\n \"credentials\": {\n \"sshPassword\": {\n \"id\": \"POdOIYhR5Qu9Uob8\",\n \"name\": \"My Server's SSH Password\"\n }\n }\n },\n {\n \"parameters\": {\n \"respondWith\": \"text\",\n \"responseBody\": \"={{ $json.stdout }}\",\n \"options\": {}\n },\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"typeVersion\": 1.4,\n \"position\": [\n 448,\n -16\n ],\n \"id\": \"b6b13f8b-28fe-487f-b65d-8351f1c91648\",\n \"name\": \"Respond to Webhook\"\n },\n {\n \"parameters\": {\n \"content\": \"## What it does:\\nThis workflow is built for updating your linux system with a single API Request which can be automated in web interfaces or shortcut app...\\n## Setup:\\nAdd your credentials for basic auth and ssh\\nCopy the custom webhook url and get started!\\nExample:\\n``` curl\\ncurl -X POST -u \\\"username:password\\\" https:///update\\n```\\n## Info:\\nThis workflow is built only for debian based systems but i think it is not too hard to change for your needs ;-)\",\n \"height\": 352,\n \"width\": 672\n },\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"ty...", "input": "", "output": "The node 'Webhook' (type: n8n-nodes-base.webhook) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"httpBasicAuth\": {\n \"id\": \"SzVLzGYkPN0xTmdA\",\n \"name\": \"Ferris Thiel\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Webhook' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"180\",\n \"meta\": {\n \"instanceId\": \"fb924c73af8f703905bc09c9ee8076f48c17b596ed05b18c0ff86915ef8a7c4a\"\n },\n \"name\": \"Discord AI bot\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"6f188270-2c08-491f-bf52-c4a152b33aa0\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 1220,\n 780\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"e4839de2-fc04-40b0-b6bc-596455ad93fe\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 1220,\n 580\n ],\n \"webhookId\": \"d0cdd428-be96-4821-85bc-65342cf928d0\",\n \"parameters\": {\n \"path\": \"d0cdd428-be96-4821-85bc-65342cf928d0\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"15dcafe1-6361-4775-ace0-e34fd2a143b4\",\n \"name\": \"No Operation, do nothing\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2120,\n 940\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"0d28fe8e-da80-458b-9a75-d316019cb3ae\",\n \"name\": \"Analyze user request\",\n \"type\": \"n8n-nodes-base.openAi\",\n \"position\": [\n 1420,\n 680\n ],\n \"parameters\": {\n \"model\": \"gpt-4\",\n \"prompt\": {\n \"messages\": [\n {\n \"role\": \"system\",\n \"content\": \"Act as a service desk agent and help to categorize user messages. Return back only JSON without quotations. Do not return anything else.\"\n },\n {\n \"content\": \"=Here is a user feedback: \\\"{{ $json.body.feedback }}\\\". Please analyse it and put into one of the categories:\\n1. \\\"success-story\\\" for user appraisal or success story. this will be processed by customer success department\\n2. \\\"urgent-issue\\\" for extreme dissatisfaction or an urgent problem. this will be escalated to the IT team. Please assess if the request...", "input": "", "output": "In node 'Select category', the parameter 'value1' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `={{ $json.gpt_reply.category.toLowerCase() }}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Select category' parameter 'value1'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"LF8gz3iz74u45a5i\",\n \"meta\": {\n \"instanceId\": \"889f0d7d968f3b02a88433e2529a399907d2ca89e329934b608193beaa2301f8\"\n },\n \"name\": \"YouTube Videos with AI Summaries on Discord\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"48c87027-7eea-40b9-a73c-4e002b748783\",\n \"name\": \"YouTube Video Trigger\",\n \"type\": \"n8n-nodes-base.rssFeedReadTrigger\",\n \"position\": [\n 560,\n 220\n ],\n \"parameters\": {\n \"feedUrl\": \"https://www.youtube.com/feeds/videos.xml?channel_id=UC08Fah8EIryeOZRkjBRohcQ\",\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"56166228-b365-4043-b48c-098b4de71f6f\",\n \"name\": \"Retrieve Caption Data\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 780,\n 220\n ],\n \"parameters\": {\n \"url\": \"https://www.googleapis.com/youtube/v3/captions\",\n \"options\": {},\n \"sendQuery\": true,\n \"authentication\": \"predefinedCredentialType\",\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"videoId\",\n \"value\": \"={{ $json.id.match(/(?:[^:]*:){2}\\\\s*(.*)/)[1] }}\"\n },\n {\n \"name\": \"part\",\n \"value\": \"snippet\"\n }\n ]\n },\n \"nodeCredentialType\": \"youTubeOAuth2Api\"\n },\n \"credentials\": {\n \"youTubeOAuth2Api\": {\n \"id\": \"uy3xy1Ks2ATwRGr4\",\n \"name\": \"Creator Magic - YouTube account\"\n }\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"c029ac6f-3071-4045-83f6-2dede0c1f358\",\n \"name\": \"Download Captions\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1220,\n 220\n ],\n \"parameters\": {\n \"url\": \"=https://www.googleapis.com/youtube/v3/captions/{{ $json.caption.id }}\",\n \"options\": {},\n \"authentication\":...", "input": "", "output": "The node 'Download Captions' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Download Captions'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"d73e5113-119f-4e62-9872-48e6a971d760\",\n \"name\": \"Stop Interview?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 3380,\n 920\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"3cf788a6-94d0-4223-9caa-30b8e4df8e01\",\n \"operator\": {\n \"type\": \"boolean\",\n \"operation\": \"true\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.output.stop_interview }}\",\n \"rightValue\": \"\"\n }\n ]\n }\n },\n \"typeVersion\": 2.2\n },\n {\n \"id\": \"cda3c487-97fa-4037-b9a0-0802f4a02727\",\n \"name\": \"Generate Row\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 3740,\n 1200\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"06146a75-b67a-42cf-aa6f-241f23c47b9a\",\n \"name\": \"timestamp\",\n \"type\": \"string\",\n \"value\": \"={{ $now.toISO() }}\"\n },\n {\n \"id\": \"b0278c64-58a7-487d-b7ba-d102fb5d4a0c\",\n \"name\": \"type\",\n \"type\": \"string\",\n \"value\": \"next_question\"\n },\n {\n \"id\": \"ba034ca1-408e-422f-b071-dab0ef12fb48\",\n \"name\": \"question\",\n \"type\": \"string\",\n \"value\": \"={{ $('Parse Response').item.json.output.question }}\"\n },\n {\n \"id\": \"a2231f6e-f507-408e-b598-53888cf8d4b5\",\n \"name\": \"answer\",\n \"type\": \"string\",\n \"value\": \"={{ $('Get Answer').item.json.answer }}\"\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"4dd52c72-9a9b-4db4-8de5-5b12b1e5c4be\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 180,\n 1480\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"triggerAtHour\": 9\n }\n ]\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"9226181c-b84c-4ea1-a5b4-eedb6c62037b\",\n \"name\": \"Search daily\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 440,\n 1480\n ],\n \"parameters\": {\n \"base\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"appL3dptT6ZTSzY9v\",\n \"cachedResultUrl\": \"https://airtable.com/appL3dptT6ZTSzY9v\",\n \"cachedResultName\": \"Scheduled Emails\"\n },\n \"table\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"tblzR9vSuFUzlQNMI\",\n \"cachedResultUrl\": \"https://airtable.com/appL3dptT6ZTSzY9v/tblzR9vSuFUzlQNMI\",\n \"cachedResultName\": \"Table 1\"\n },\n \"options\": {},\n \"operation\": \"search\",\n \"filterByFormula\": \"AND({Status} = 'active', {Interval} = 'daily')\"\n },\n \"credentials\": {\n \"airtableTokenApi\": {\n \"id\": \"Und0frCQ6SNVX3VV\",\n \"name\": \"Airtable Personal Access Token account\"\n }\n },\n \"typeVersion\": 2.1\n },\n {\n \"id\": \"1a3b6224-2f66-41c6-8b3d-be286cf16370\",\n \"name\": \"Search weekly\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 440,\n 1660\n ],\n \"parameters\": {\n \"base\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"appL3dptT6ZTSzY9v\",\n \"cachedResultUrl\": \"https://airtable.com/appL3dptT6ZTSzY9v\",\n \"cachedResultName\": \"Scheduled Emails\"\n },\n \"table\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"tblzR9vSuFUzlQNMI\",\n \"cach...", "input": "", "output": "The node 'Execute Workflow' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Execute Workflow'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9\"\n },\n \"nodes\": [\n {\n \"id\": \"76589d1c-45f3-4a89-906f-8ef300d34964\",\n \"name\": \"n8n Form Trigger\",\n \"type\": \"n8n-nodes-base.formTrigger\",\n \"position\": [\n -2520,\n -280\n ],\n \"webhookId\": \"5e7637dd-d222-4786-8cdc-7b66cebc1481\",\n \"parameters\": {\n \"path\": \"schedule_appointment\",\n \"options\": {\n \"ignoreBots\": true,\n \"appendAttribution\": true,\n \"useWorkflowTimezone\": true\n },\n \"formTitle\": \"Schedule an Appointment\",\n \"formFields\": {\n \"values\": [\n {\n \"fieldLabel\": \"Your Name\",\n \"placeholder\": \"eg. Sam Smith\",\n \"requiredField\": true\n },\n {\n \"fieldType\": \"email\",\n \"fieldLabel\": \"Email\",\n \"placeholder\": \"eg. sam@example.com\",\n \"requiredField\": true\n },\n {\n \"fieldType\": \"textarea\",\n \"fieldLabel\": \"Enquiry\",\n \"placeholder\": \"eg. I'm looking for...\",\n \"requiredField\": true\n }\n ]\n },\n \"formDescription\": \"Welcome to Jim's Appointment Form.\\nBefore we set a date, please tell me a little about yourself and how I can help.\"\n },\n \"typeVersion\": 2.1\n },\n {\n \"id\": \"194b7073-fa33-4e75-85ed-c02724c8075c\",\n \"name\": \"Form End\",\n \"type\": \"n8n-nodes-base.form\",\n \"position\": [\n -420,\n -260\n ],\n \"webhookId\": \"8fcc907b-bc2e-4fdf-a829-82c83e677724\",\n \"parameters\": {\n \"options\": {\n \"formTitle\": \"Appointment Request Sent!\"\n },\n \"operation\": \"completion\",\n \"completionTitle\": \"Appointment Request Sent!\",\n \"completionMessage\": \"=Thank you for submitting an appointment request. A confirmation of this request will be sent to your inbox. I'll get back to y...", "input": "", "output": "The node 'Create Appointment' (type: n8n-nodes-base.googleCalendar) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googleCalendarOAuth2Api\": {\n \"id\": \"kWMxmDbMDDJoYFVK\",\n \"name\": \"Google Calendar account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Create Appointment' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"Nvn78tMRNnKji7Fg\",\n \"meta\": {\n \"instanceId\": \"a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Very simple Human in the loop system email with AI e IMAP\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"271bb16f-9b62-41d9-ab76-114cd7ba915a\",\n \"name\": \"Email Trigger (IMAP)\",\n \"type\": \"n8n-nodes-base.emailReadImap\",\n \"position\": [\n -1300,\n 1340\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"imap\": {\n \"id\": \"k31W9oGddl9pMDy4\",\n \"name\": \"IMAP info@n3witalia.com\"\n }\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"42d150d8-d574-49f9-9c0e-71a2cdea3b79\",\n \"name\": \"Markdown\",\n \"type\": \"n8n-nodes-base.markdown\",\n \"position\": [\n -1040,\n 1340\n ],\n \"parameters\": {\n \"html\": \"={{ $json.textHtml }}\",\n \"options\": {}\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"e9498a60-0078-4581-b269-7ff552f4047a\",\n \"name\": \"Send Email\",\n \"type\": \"n8n-nodes-base.emailSend\",\n \"position\": [\n 920,\n 1320\n ],\n \"webhookId\": \"a79ae1b4-648c-4cb4-b6cd-04ea3c1d9314\",\n \"parameters\": {\n \"html\": \"={{ $('Set Email text').item.json.email }}\",\n \"options\": {},\n \"subject\": \"=Re: {{ $('Email Trigger (IMAP)').item.json.subject }}\",\n \"toEmail\": \"={{ $('Email Trigger (IMAP)').item.json.from }}\",\n \"fromEmail\": \"={{ $('Email Trigger (IMAP)').item.json.to }}\"\n },\n \"credentials\": {\n \"smtp\": {\n \"id\": \"hRjP3XbDiIQqvi7x\",\n \"name\": \"SMTP info@n3witalia.com\"\n }\n },\n \"typeVersion\": 2.1\n },\n {\n \"id\": \"ab9f6ac3-2095-44df-aeba-2eab96ecf425\",\n \"name\": \"Email Summarization Chain\",\n \"type\": \"@n8n/n8n-nodes-langchain.chainSummarization\",\n \"position\": [\n -780,\n 1340\n ],\n \"parameters\": {\n \"option...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"OuHrYOR3uWGmrhWQ\",\n \"meta\": {\n \"instanceId\": \"a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"AI Email processing autoresponder with approval (Yes/No)\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"06a098db-160b-45f7-aeac-a73ef868148e\",\n \"name\": \"Email Trigger (IMAP)\",\n \"type\": \"n8n-nodes-base.emailReadImap\",\n \"position\": [\n -180,\n -100\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"imap\": {\n \"id\": \"k31W9oGddl9pMDy4\",\n \"name\": \"IMAP info@n3witalia.com\"\n }\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"9589443b-efb7-4e0d-bafc-0be9858a4755\",\n \"name\": \"Markdown\",\n \"type\": \"n8n-nodes-base.markdown\",\n \"position\": [\n 40,\n -100\n ],\n \"parameters\": {\n \"html\": \"={{ $json.textHtml }}\",\n \"options\": {}\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"8de7b2f3-bf75-4f3c-a1ee-eec047a7b82e\",\n \"name\": \"DeepSeek R1\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 240,\n 80\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"deepseek/deepseek-r1:free\",\n \"cachedResultName\": \"deepseek/deepseek-r1:free\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"XJTqRiKFJpFs5MuX\",\n \"name\": \"OpenRouter account\"\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"babf37dc-99ca-439a-b094-91c52799b8df\",\n \"name\": \"Send Email\",\n \"type\": \"n8n-nodes-base.emailSend\",\n \"position\": [\n 1840,\n -120\n ],\n \"webhookId\": \"f84fcde7-6aac-485a-9a08-96a35955af49\",\n \"parameters\": {\n \"html\": \"={{ $('Write email').item.json.output }}\",\n \"options\": {},\n \"subject\": \"=Re: {{ $('Email Trigger (IMAP)'...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"03e9d14e9196363fe7191ce21dc0bb17387a6e755dcc9acc4f5904752919dca8\"\n },\n \"nodes\": [\n {\n \"id\": \"94dd7f48-0013-4fb5-89c4-826ecd7f2d66\",\n \"name\": \"Gmail Trigger\",\n \"type\": \"n8n-nodes-base.gmailTrigger\",\n \"position\": [\n 1460,\n 120\n ],\n \"parameters\": {\n \"simple\": false,\n \"filters\": {},\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"kkhNhqKpZt6IUZd0\",\n \"name\": \"Gmail\"\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"ca2023fa-ceca-4923-80e4-a3843803536c\",\n \"name\": \"Microsoft Outlook Trigger\",\n \"type\": \"n8n-nodes-base.microsoftOutlookTrigger\",\n \"disabled\": true,\n \"position\": [\n 1480,\n 680\n ],\n \"parameters\": {\n \"fields\": [\n \"body\",\n \"toRecipients\",\n \"subject\",\n \"bodyPreview\"\n ],\n \"output\": \"fields\",\n \"filters\": {},\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"credentials\": {\n \"microsoftOutlookOAuth2Api\": {\n \"id\": \"vTCK0oVQ0WjFrI5H\",\n \"name\": \" Outlook Credential\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"1f011214-91a0-4cfa-9d9e-29864937c0a3\",\n \"name\": \"Screenshot HTML\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 2620,\n 420\n ],\n \"parameters\": {\n \"url\": \"https://hcti.io/v1/image\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"sendQuery\": true,\n \"authentication\": \"genericCredentialType\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"html\",\n \"valu...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"03e9d14e9196363fe7191ce21dc0bb17387a6e755dcc9acc4f5904752919dca8\"\n },\n \"nodes\": [\n {\n \"id\": \"1bad6bfc-9ec9-48a5-b8f7-73c4de3d08cf\",\n \"name\": \"Gmail Trigger\",\n \"type\": \"n8n-nodes-base.gmailTrigger\",\n \"position\": [\n 1480,\n 160\n ],\n \"parameters\": {\n \"simple\": false,\n \"filters\": {},\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"kkhNhqKpZt6IUZd0\",\n \"name\": \" Gmail\"\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"9ac747a1-4fd8-46ba-b4c1-75fd17aab2ed\",\n \"name\": \"Microsoft Outlook Trigger\",\n \"type\": \"n8n-nodes-base.microsoftOutlookTrigger\",\n \"disabled\": true,\n \"position\": [\n 1480,\n 720\n ],\n \"parameters\": {\n \"fields\": [\n \"body\",\n \"toRecipients\",\n \"subject\",\n \"bodyPreview\"\n ],\n \"output\": \"fields\",\n \"filters\": {},\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"credentials\": {\n \"microsoftOutlookOAuth2Api\": {\n \"id\": \"vTCK0oVQ0WjFrI5H\",\n \"name\": \" Outlook Credential\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"5bf9b0e8-b84e-44a2-aad2-45dde3e4ab1b\",\n \"name\": \"Screenshot HTML\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 2520,\n 480\n ],\n \"parameters\": {\n \"url\": \"https://hcti.io/v1/image\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"sendQuery\": true,\n \"authentication\": \"genericCredentialType\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"html\",\n \"val...", "input": "", "output": "In node 'Upload Screenshot of Email to Jira', the parameter 'resource' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `issueAttachment`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Upload Screenshot of Email to Jira' parameter 'resource'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"2a41e2da-19f7-4c31-ab93-3a534db3179e\",\n \"name\": \"Gmail Trigger\",\n \"type\": \"n8n-nodes-base.gmailTrigger\",\n \"position\": [\n -360,\n -260\n ],\n \"parameters\": {\n \"filters\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyX\",\n \"unit\": \"minutes\",\n \"value\": 5\n }\n ]\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"10LJ3tXKoUfexiKU\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"a25e0e42-8eab-49c5-a553-797da40eb623\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n -220,\n -60\n ],\n \"parameters\": {\n \"options\": {\n \"maxTokens\": 4096\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"qR44iMsUYcLrhdR0\",\n \"name\": \"OpenAi account\"\n }\n },\n \"notesInFlow\": false,\n \"typeVersion\": 1\n },\n {\n \"id\": \"cf437748-a0df-42a2-b1ca-f93162d85bfe\",\n \"name\": \"Gmail - read labels\",\n \"type\": \"n8n-nodes-base.gmailTool\",\n \"position\": [\n 80,\n -40\n ],\n \"webhookId\": \"d8ec9401-a9ff-4fe2-9c1e-5a8036cd96c9\",\n \"parameters\": {\n \"resource\": \"label\",\n \"returnAll\": true,\n \"descriptionType\": \"manual\",\n \"toolDescription\": \"Tool to read all existing gmail labels\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"10LJ3tXKoUfexiKU\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1\n },\n {\n \"id\": \"152f1970-7a1f-4977-9c21-64b69242d3a9\",\n \"name\": \"Gmail - get message\",\n \"type\": \"n8n-nodes-base.gmailTool\",\n \"position\": [\n 260,\n -40\n ],\n \"webhookId\": \"d8ec9401-a9ff-4fe2-9c1e-5a8036cd96c9\",\n \"parameters\": {\n \"messageId\"...", "input": "", "output": "The workflow has a broken data flow. The node 'Gmail - create label' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Gmail - create label'.\n\n**Impact**: Data from 'Gmail - create label' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Gmail - create label' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Gmail - create label\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Gmail - create label' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"2b1cc1a8b0a2fb9caab11ab2d5eb3712f9973066051b2e898cf4041a1f2a7757\",\n \"templateCredsSetupCompleted\": true\n },\n \"nodes\": [\n {\n \"id\": \"7786165e-5e74-4614-b065-86db19482b72\",\n \"name\": \"Format text with Markdown\",\n \"type\": \"n8n-nodes-base.markdown\",\n \"position\": [\n -1200,\n 980\n ],\n \"parameters\": {\n \"html\": \"={{ $json.text }}\",\n \"options\": {},\n \"destinationKey\": \"textClean\"\n },\n \"typeVersion\": 1,\n \"continueOnFail\": true\n },\n {\n \"id\": \"8f73d4d6-2473-4fdf-8797-c049d6df6967\",\n \"name\": \"Lemlist Trigger - On new reply\",\n \"type\": \"n8n-nodes-base.lemlistTrigger\",\n \"position\": [\n -1600,\n 980\n ],\n \"webhookId\": \"039bb443-8d2a-4eb3-9c16-772943a46db7\",\n \"parameters\": {\n \"event\": \"emailsReplied\",\n \"options\": {\n \"isFirst\": true\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"1f94d672-0a70-45ad-bf96-72c4aecabcd0\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1700,\n 680\n ],\n \"parameters\": {\n \"width\": 304.92548549441915,\n \"height\": 504.9663351162785,\n \"content\": \"### Get your lemlist API key\\n\\n1. Go to your lemlist account or create one [HERE](https://app.lemlist.com/create-account)\\n\\n2. Go to Settings -> Integrations\\n\\n3. Generate your API Key and copy it\\n\\n4. On this node, click on create new credential and paste your API key\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"3032b04c-76a2-4f7c-a790-ede26b102254\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -2040,\n 680\n ],\n \"parameters\": {\n \"width\": 319.6621253622332,\n \"height\": 507.1074887209538,\n \"content\": \"# Read me\\n\\nThis workflow send email replies of your lemlist campaigns to the Slack channel of your choice.\\n\\nThe O...", "input": "", "output": "The workflow has a broken data flow. The node 'Structured Output Parser' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Structured Output Parser'.\n\n**Impact**: Data from 'Structured Output Parser' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Structured Output Parser' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Structured Output Parser\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Structured Output Parser' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"a99b3164-fe36-4dde-9525-110c1ae08afb\",\n \"name\": \"Convert raw to base64\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 3320,\n 580\n ],\n \"parameters\": {\n \"mode\": \"runOnceForEachItem\",\n \"jsCode\": \"const encoded = Buffer.from($json.raw).toString('base64');\\n\\nreturn { encoded };\"\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"f0f731bd-7b2f-4c39-bc06-42fd57bc4ae8\",\n \"name\": \"Add email draft to thread\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 3580,\n 580\n ],\n \"parameters\": {\n \"url\": \"https://www.googleapis.com/gmail/v1/users/me/drafts\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\\"message\\\":{\\\"raw\\\":\\\"{{ $json.encoded }}\\\", \\\"threadId\\\": \\\"{{ $('Map fields for further processing').item.json[\\\"threadId\\\"] }}\\\"}}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"predefinedCredentialType\",\n \"nodeCredentialType\": \"gmailOAuth2\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"uBcIMfsTtKjexw7I\",\n \"name\": \"Gmail (workfloowstutorial@gmail.com)\"\n }\n },\n \"typeVersion\": 4.1\n },\n {\n \"id\": \"c1ce3400-4582-46c7-a85d-8fa9c325ff7b\",\n \"name\": \"Remove AI label from email\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 3820,\n 580\n ],\n \"parameters\": {\n \"resource\": \"thread\",\n \"threadId\": \"={{ $('Map fields for further processing').item.json[\\\"threadId\\\"] }}\",\n \"operation\": \"removeLabels\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"uBcIMfsTtKjexw7I\",\n \"name\": \"Gmail (workfloowstutorial@gmail.com)\"\n }\n },\n \"typeVersion\": 2.1\n },\n {\n \"id\": \"65f0508a-ca2e-49ce-b02f-ef6505b5e983\",\n \"name\": \"Schedule trigger (1 min)\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"positi...", "input": "", "output": "The node 'Build email raw' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Build email raw'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"04ab549d8bbb435ec33b81e4e29965c46cf6f0f9e7afe631018b5e34c8eead58\"\n },\n \"nodes\": [\n {\n \"id\": \"082d1828-72b1-48c0-8426-c8051c29f0db\",\n \"name\": \"Session\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -20,\n -20\n ],\n \"parameters\": {\n \"url\": \"https://api.fastmail.com/jmap/session\",\n \"options\": {},\n \"authentication\": \"genericCredentialType\",\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"3IRsYkeB2ofrwQjv\",\n \"name\": \"Fastmail\"\n }\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"d7dc4c50-c8fc-4999-918d-5d357567ed14\",\n \"name\": \"Get Mailbox IDs\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"notes\": \"https://api.fastmail.com/.well-known/jmap\\n\\nhttps://api.fastmail.com/jmap/session\",\n \"position\": [\n 200,\n -20\n ],\n \"parameters\": {\n \"url\": \"https://api.fastmail.com/jmap/api/\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"using\\\": [\\\"urn:ietf:params:jmap:core\\\", \\\"urn:ietf:params:jmap:mail\\\"],\\n \\\"methodCalls\\\": [\\n [\\n \\\"Mailbox/get\\\",\\n {\\n \\\"accountId\\\": \\\"{{ $('Session').item.json.primaryAccounts['urn:ietf:params:jmap:mail'] }}\\\"\\n },\\n \\\"c0\\\"\\n ]\\n ]\\n }\",\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"genericCredentialType\",\n \"genericAuthType\": \"httpHeaderAuth\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Content-Type\",\n \"value\": \"application/json\"\n },\n {\n \"name\": \"Accept\",\n \"value\": \"application/json\"\n }\n ]\n }\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"3IRsYkeB2ofrwQjv\",\n \"name\": \"Fastmail\"\n }\n },\n \"typeVersion\": 4.2\n ...", "input": "", "output": "The node 'Filter for drafts folder' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Filter for drafts folder'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"nkPjDxMrrkKbgHaV\"\n \"meta\": {\n \"instanceId\": \"a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Effortless Email Management with AI\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"9d77e26f-de2b-4bd4-b0f0-9924a8f459a6\",\n \"name\": \"Email Trigger (IMAP)\",\n \"type\": \"n8n-nodes-base.emailReadImap\",\n \"position\": [\n -2000,\n -180\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"imap\": {\n \"id\": \"k31W9oGddl9pMDy4\",\n \"name\": \"IMAP info@n3witalia.com\"\n }\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"cf2d020b-b125-4a20-8694-8ed0f7acf755\",\n \"name\": \"Markdown\",\n \"type\": \"n8n-nodes-base.markdown\",\n \"position\": [\n -1740,\n -180\n ],\n \"parameters\": {\n \"html\": \"={{ $json.textHtml }}\",\n \"options\": {}\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"41bfceff-0155-4643-be60-ee301e2d69e1\",\n \"name\": \"Send Email\",\n \"type\": \"n8n-nodes-base.emailSend\",\n \"position\": [\n 400,\n -320\n ],\n \"webhookId\": \"a79ae1b4-648c-4cb4-b6cd-04ea3c1d9314\",\n \"parameters\": {\n \"html\": \"={{ $('Edit Fields').item.json.email }}\",\n \"options\": {},\n \"subject\": \"=Re: {{ $('Email Trigger (IMAP)').item.json.subject }}\",\n \"toEmail\": \"={{ $('Email Trigger (IMAP)').item.json.from }}\",\n \"fromEmail\": \"={{ $('Email Trigger (IMAP)').item.json.to }}\"\n },\n \"credentials\": {\n \"smtp\": {\n \"id\": \"hRjP3XbDiIQqvi7x\",\n \"name\": \"SMTP info@n3witalia.com\"\n }\n },\n \"typeVersion\": 2.1\n },\n {\n \"id\": \"2aff581a-8b64-405c-b62f-74bf189fd7b1\",\n \"name\": \"Qdrant Vector Store\",\n \"type\": \"@n8n/n8n-nodes-langchain.vectorStoreQdrant\",\n \"position\": [\n -320,\n 600\n ],\n \"parameters\": {\n \"mode\": \"retrieve-as-tool\",\n \"opti...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"M8oLW9Qd59zNJzg2\",\n \"meta\": {\n \"instanceId\": \"1abe0e4c2be794795d12bf72aa530a426a6f87aabad209ed6619bcaf0f666fb0\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Email Summary Agent\",\n \"tags\": [\n {\n \"id\": \"G1v7CnFpOHsReVhM\",\n \"name\": \"Product\",\n \"createdAt\": \"2025-01-13T17:04:34.969Z\",\n \"updatedAt\": \"2025-01-13T17:04:34.969Z\"\n },\n {\n \"id\": \"RagrXIh5iBDseqvj\",\n \"name\": \"AI\",\n \"createdAt\": \"2025-01-09T09:18:12.756Z\",\n \"updatedAt\": \"2025-01-09T09:18:12.756Z\"\n },\n {\n \"id\": \"Yg2lfYteJZAoIeaC\",\n \"name\": \"Building blocks\",\n \"createdAt\": \"2025-01-13T17:05:49.788Z\",\n \"updatedAt\": \"2025-01-13T17:05:49.788Z\"\n },\n {\n \"id\": \"ZuS1C3NpE8uBlFq4\",\n \"name\": \"Finance\",\n \"createdAt\": \"2025-01-13T17:05:03.996Z\",\n \"updatedAt\": \"2025-01-13T17:05:03.996Z\"\n },\n {\n \"id\": \"aqlZb2qfWiaT4Xr5\",\n \"name\": \"IT Ops\",\n \"createdAt\": \"2025-01-03T12:20:11.917Z\",\n \"updatedAt\": \"2025-01-03T12:20:11.917Z\"\n },\n {\n \"id\": \"fX8hRnEv4D8sLSzF\",\n \"name\": \"OpenAI\",\n \"createdAt\": \"2025-01-09T09:18:12.757Z\",\n \"updatedAt\": \"2025-01-09T09:18:12.757Z\"\n },\n {\n \"id\": \"j1qBXzFADkR3sHSa\",\n \"name\": \"Marketing\",\n \"createdAt\": \"2025-01-13T17:03:54.468Z\",\n \"updatedAt\": \"2025-01-13T17:03:54.468Z\"\n },\n {\n \"id\": \"x3OVvOuZkLx1hYpW\",\n \"name\": \"Support\",\n \"createdAt\": \"2025-01-13T17:05:40.900Z\",\n \"updatedAt\": \"2025-01-13T17:05:40.900Z\"\n },\n {\n \"id\": \"xBOhq1kP3lza5ajE\",\n \"name\": \"HR\",\n \"createdAt\": \"2025-01-13T17:04:57.045Z\",\n \"updatedAt\": \"2025-01-13T17:04:57.045Z\"\n },\n {\n \"id\": \"yy04JQqCaXepPdSa\",\n \"name\": \"Project Management\",\n \"createdAt\": \"2024-10-30T18:27:57.309Z\",\n \"updatedAt\": \"2024-10-30T18:27:57.309Z\"\n },\n {\n \"id\": \"zJaZorWWcGpTp35U\",\n \"name\": \"DevOps\",\n \"createdAt\": \"2025-01-03T12:19:34.273Z\",\n \"updatedAt\": \"2025-01-03T12:...", "input": "", "output": "The node 'Fetch Emails - Past 24 Hours' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Fetch Emails - Past 24 Hours'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"nkMjcOC4hpte1a0t\",\n \"meta\": {\n \"instanceId\": \"3986dc65ca3ddc4ee46e71fc194b0a9d4ef46d960a5e71624f9f7eaa198213cb\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Extract spend details (template)\",\n \"tags\": [\n {\n \"id\": \"9mCuuNEpnYNvVzb8\",\n \"name\": \"Finance\",\n \"createdAt\": \"2024-09-15T07:22:30.749Z\",\n \"updatedAt\": \"2024-09-15T07:22:30.749Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"8e1e0861-9f06-4fe2-a9c1-423bab246959\",\n \"name\": \"Get invoice\",\n \"type\": \"n8n-nodes-base.gmailTrigger\",\n \"position\": [\n 600,\n 380\n ],\n \"parameters\": {\n \"simple\": false,\n \"filters\": {\n \"labelIds\": [\n \"Label_7885838942566773656\"\n ]\n },\n \"options\": {\n \"downloadAttachments\": true\n },\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"fegneFqi8XJX3NJH\",\n \"name\": \"Gmail account (hana@hanamizuki.tw)\"\n }\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"364fe355-672a-4074-800a-a7496c4fb1b2\",\n \"name\": \"Get payment\",\n \"type\": \"n8n-nodes-base.gmailTrigger\",\n \"position\": [\n 600,\n 580\n ],\n \"parameters\": {\n \"simple\": false,\n \"filters\": {\n \"labelIds\": [\n \"Label_371722915607774622\"\n ]\n },\n \"options\": {\n \"downloadAttachments\": true\n },\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"fegneFqi8XJX3NJH\",\n \"name\": \"Gmail account (hana@hanamizuki.tw)\"\n }\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"e3218faf-2486-46e0-bf43-3bc52927e2bd\",\n \"name\": \"Extract invoice\",\n \"type\": \"n8n-no...", "input": "", "output": "The node 'Set data 2' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Set data 2'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"aOQANirVMuWrH0ZD\",\n \"meta\": {\n \"instanceId\": \"b78ce2d06ac74b90a581919cf44503cf07404c11eda5c3847597226683145618\"\n },\n \"name\": \"Gmail AI auto-responder: create draft replies to incoming emails\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"2a9ff08f-919a-41a8-980b-8c2bca3059e4\",\n \"name\": \"Gmail Trigger\",\n \"type\": \"n8n-nodes-base.gmailTrigger\",\n \"position\": [\n -332.809175564116,\n 566.0845437534399\n ],\n \"parameters\": {\n \"simple\": false,\n \"filters\": {\n \"q\": \"-from:me\"\n },\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"ofvBTX8A0aWfQb2O\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"3ef14615-0045-404f-a21b-2c65a52f4be8\",\n \"name\": \"If Needs Reply\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 240,\n 560\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"53849246-ad32-4845-9976-9f9688f5a6f2\",\n \"operator\": {\n \"type\": \"boolean\",\n \"operation\": \"true\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.needsReply }}\",\n \"rightValue\": \"true\"\n }\n ]\n }\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"36968dd5-8d51-4184-a05a-587b6c95aa82\",\n \"name\": \"JSON Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserStructured\",\n \"position\": [\n 100,\n 720\n ],\n \"parameters\": {\n \"jsonSchema\": \"{\\n \\\"type\\\": \\\"object\\\",\\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"reQhibpNwU63Y8sn\",\n \"meta\": {\n \"instanceId\": \"2128095e13afd30151f0fb53632960213a789cd45ed0afd3a7fb96a985bb4bcf\",\n \"templateId\": \"2454\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Microsoft Outlook AI Email Assistant\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"a923cfb0-64fe-499a-8f0e-13fc848731df\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 980,\n 540\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"ea865c8e-5c73-4d37-97d1-0349a265b9a4\",\n \"name\": \"Sticky Note8\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 2880,\n -600\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 675,\n \"height\": 107,\n \"content\": \"# Microsoft Outlook AI Email Assistant\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"c835042f-421b-44a0-8dc4-686ac638b358\",\n \"name\": \"Sticky Note10\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1300,\n 60\n ],\n \"parameters\": {\n \"width\": 612,\n \"height\": 401,\n \"content\": \"## Outlook Business with filters\\nFilters:\\n```\\nflag/flagStatus eq 'notFlagged' and not categories/any()\\n```\\n\\nThese filters ensure we do not process flagged emails or email that already have a category set.\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"51ae8a4e-2d37-4118-a538-cd0fd4f427f7\",\n \"name\": \"Microsoft Outlook23\",\n \"type\": \"n8n-nodes-base.microsoftOutlook\",\n \"position\": [\n 1540,\n 240\n ],\n \"parameters\": {\n \"limit\": 10,\n \"fields\": [\n \"flag\",\n \"from\",\n \"importance\",\n \"replyTo\",\n \"sender\",\n \"subject\",\n \"toRecipients\",\n \"body\",\n \"categories\",\n \"isRead\"\n ],\n \"output\": \"fields\",\n \"options\": {},\n \"filtersUI\": {\n ...", "input": "", "output": "The node 'OpenAI Chat Model' (type: @n8n/n8n-nodes-langchain.lmChatOpenAi) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"l2JgpErNc5namHVH\",\n \"name\": \"OpenAI account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'OpenAI Chat Model' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"LGpVLWPpNZSt9ISM\",\n \"meta\": {\n \"instanceId\": \"a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Contact Form Text Classifier for eCommerce\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"13175d48-c3a6-4ca6-afed-b70f40289f38\",\n \"name\": \"On form submission\",\n \"type\": \"n8n-nodes-base.formTrigger\",\n \"position\": [\n -480,\n -320\n ],\n \"webhookId\": \"8e10c8ca-895c-4274-ba95-0d646b8bda4e\",\n \"parameters\": {\n \"options\": {},\n \"formTitle\": \"Contacts\",\n \"formFields\": {\n \"values\": [\n {\n \"fieldLabel\": \"Name\",\n \"placeholder\": \"Name\",\n \"requiredField\": true\n },\n {\n \"fieldLabel\": \"Email\",\n \"placeholder\": \"Email\",\n \"requiredField\": true\n },\n {\n \"fieldType\": \"textarea\",\n \"fieldLabel\": \"Message\",\n \"placeholder\": \"Message\",\n \"requiredField\": true\n }\n ]\n },\n \"responseMode\": \"lastNode\",\n \"formDescription\": \"Basic Contact Form\"\n },\n \"typeVersion\": 2.2\n },\n {\n \"id\": \"7b352c9f-5d2e-46ca-9499-594063167e9a\",\n \"name\": \"Text Classifier\",\n \"type\": \"@n8n/n8n-nodes-langchain.textClassifier\",\n \"position\": [\n -160,\n -320\n ],\n \"parameters\": {\n \"options\": {\n \"fallback\": \"other\",\n \"systemPromptTemplate\": \"=Please classify the text provided by the user into one of the following categories: {categories}, and use the provided formatting instructions below. Don't explain, and only output the json with the selected {categories}.\"\n },\n \"inputText\": \"={{ $json.Message }}\",\n \"categories\": {\n \"categories\": [\n {\n \"category\": \"Request Quote\",\n \"description\": \"Request for quote\"\n ...", "input": "", "output": "In node 'Sticky Note', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `## Important notes\n\nThis very simple workflow is ideal for eCommerce businesses or customer support teams looking to automate and streamline the handling of contact form submissions.\n\n- It is possible to hook any external form such as CF7 for Wordpress through a webhook\n- It is possible to send the email through other providers by replacing them with the relative nodes (Gmail, Outlook....)\n- It is possible to change the collection database with other tools`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"a2434c94d549548a685cca39cc4614698e94f527bcea84eefa363f1037ae14cd\"\n },\n \"nodes\": [\n {\n \"id\": \"88c0f64c-a7cd-4f35-96dd-9eee4b1d6a1a\",\n \"name\": \"Generate reply\",\n \"type\": \"n8n-nodes-base.openAi\",\n \"position\": [\n -480,\n 2260\n ],\n \"parameters\": {\n \"prompt\": \"=From: {{ $json.from.value }}\\nTo: {{ $json.to.value }}\\nSubject: {{ $json.subject }}\\nBody: {{ $json.reply }}\\n\\n\\nReply: \",\n \"options\": {\n \"maxTokens\": \"={{ $('Configure').first().json.replyTokenSize }}\"\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"27\",\n \"name\": \"[UPDATE ME]\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"7105b689-9f9c-4354-aad9-8f1abb6c0a06\",\n \"name\": \"On email received\",\n \"type\": \"n8n-nodes-base.gmailTrigger\",\n \"position\": [\n -2460,\n 2680\n ],\n \"parameters\": {\n \"simple\": false,\n \"filters\": {},\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"26\",\n \"name\": \"[UPDATE ME]\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"ea18ed9a-0158-45e1-ac1b-1993ace4ff2c\",\n \"name\": \"Only continue for specific emails\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n -1360,\n 2460\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{ $('Configure').first().json.recipients.split(',') }}\",\n \"value2\": \"*\",\n \"operation\": \"contains\"\n },\n {\n \"value1\": \"={{ $('Configure').first().json.recipients.split(',') }}\",\n \"value2\": \"={{ $json.from.value[0].address }}\",\n \"operation\": \"contains\"\n }\n ]\n },\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"a2434c94d549548a685cca39cc4614698e94f527bcea84eefa363f1037ae14cd\"\n },\n \"nodes\": [\n {\n \"id\": \"deafa2e8-af41-4f11-92e0-09992f6c6970\",\n \"name\": \"Read PDF\",\n \"type\": \"n8n-nodes-base.readPDF\",\n \"position\": [\n 860,\n 1420\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"8e3ddbb1-83a1-4f79-9464-61d5a20f0427\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -760,\n 1300\n ],\n \"parameters\": {\n \"width\": 444.034812880766,\n \"height\": 599.5274151436035,\n \"content\": \"## Send specific PDF attachments from Gmail to Google Drive using OpenAI\\n\\n_**DISCLAIMER**: You may have varying success when using this workflow so be prepared to validate the correctness of OpenAI's results._\\n\\nThis workflow reads PDF textual content and sends the text to OpenAI. Attachments of interest will then be uploaded to a specified Google Drive folder. For example, you may wish to send invoices received from an email to an inbox folder in Google Drive for later processing. This workflow has been designed to easily change the search term to match your needs. See the workflow for more details.\\n\\n### How it works\\n1. Triggers off on the `On email received` node.\\n2. Iterates over the attachments in the email.\\n3. Uses the `OpenAI` node to filter out the attachments that do not match the search term set in the `Configure` node. You could match on various PDF files (i.e. invoice, receipt, or contract).\\n4. If the PDF attachment matches the search term, the workflow uses the `Google Drive` node to upload the PDF attachment to a specific Google Drive folder.\\n\\n\\nWorkflow written by [David Sha](https://davidsha.me).\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"fb2c3697-a92f-4be1-b9a6-0326f87de70b\",\n \"name\": \"Configure\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -20,\n 1520\n ...", "input": "", "output": "The node 'Is matched' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Is matched'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"QnVdtKiTf3nbrNkh\",\n \"meta\": {\n \"instanceId\": \"558d88703fb65b2d0e44613bc35916258b0f0bf983c5d4730c00c424b77ca36a\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Summarize emails with A.I. then send to messenger\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"50e12e63-df28-45ac-9208-48cbf5116d09\",\n \"name\": \"Read emails (IMAP)\",\n \"type\": \"n8n-nodes-base.emailReadImap\",\n \"position\": [\n 340,\n 260\n ],\n \"parameters\": {\n \"options\": {},\n \"postProcessAction\": \"nothing\"\n },\n \"credentials\": {\n \"imap\": {\n \"id\": \"gXtdakU9M02LBQc3\",\n \"name\": \"IMAP account\"\n }\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"6565350b-2269-44e3-8f36-8797f32d3e09\",\n \"name\": \"Send email to A.I. to summarize\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 700,\n 260\n ],\n \"parameters\": {\n \"url\": \"https://openrouter.ai/api/v1/chat/completions\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"model\\\": \\\"meta-llama/llama-3.1-70b-instruct:free\\\",\\n \\\"messages\\\": [\\n {\\n \\\"role\\\": \\\"user\\\",\\n \\\"content\\\": \\\"I want you to read and summarize all the emails. If it's not rimportant, just give me a short summary with less than 10 words.\\\\n\\\\nHighlight as important if it is, add an emoji to indicate it is urgent:\\\\nFor the relevant content, find any action items and deadlines. Sometimes I need to sign up before a certain date or pay before a certain date, please highlight that in the summary for me.\\\\n\\\\nPut the deadline in BOLD at the top. If the email is not important, keep the summary short to 1 sentence only.\\\\n\\\\nHere's the email content for you to read:\\\\nSender email address: {{ encodeURIComponent($json.from) }}\\\\nSubject: {{ encodeURIComponent($json.subject) }}\\\\n{{ encodeURIComponent($json.textHtml) }}\\\"\\n }\\n ]\\n}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\":...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"6045c639951d83c8706b0dd8d6330164bda01fe58f103cedc2c276bf1f9c11f1\"\n },\n \"nodes\": [\n {\n \"id\": \"d2a24a9b-9cf3-4de0-82e7-5d858658d4b4\",\n \"name\": \"Extract specific content\",\n \"type\": \"n8n-nodes-base.html\",\n \"notes\": \"Extract selected headlines, editor's picks, spotlight etc.\",\n \"position\": [\n 800,\n 340\n ],\n \"parameters\": {\n \"options\": {\n \"cleanUpText\": true\n },\n \"operation\": \"={{ $items[999].json.value }}\",\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"Headline #1\",\n \"cssSelector\": \"#site-content > div:nth-child(1) > section > div > div > div.layout-desktop__grid.layout-desktop__grid--span4.layout-desktop__grid--column-start-1.layout-desktop__grid--row-start-1.layout-desktop__grid--with-border.layout--default > div > div > div > div.story-group-stacked__primary-story > div > div > div > div > div.primary-story__teaser\"\n },\n {\n \"key\": \"Headline #2\",\n \"cssSelector\": \"#site-content > div:nth-child(1) > section > div > div > div.layout-desktop__grid.layout-desktop__grid--span6.layout-desktop__grid--column-start-5.layout-desktop__grid--row-start-1.layout-desktop__grid--with-border.layout--default > div > div > div > div > div > div.story-group__article.story-group__article--featured > div > div.featured-story-content > div.headline.js-teaser-headline.headline--scale-5.headline--color-black > a > span\"\n },\n {\n \"key\": \"Editor's Picks\",\n \"cssSelector\": \"#site-content > div:nth-child(1) > section > div > div > div.layout-desktop__grid.layout-desktop__grid--span2.layout-desktop__grid--column-start-11.layout-desktop__grid--row-start-1.layout--default > div\"\n },\n {\n \"key\": \"Top Stories\",\n \"cssSelector\": \"#site-content > div:nth-child(3) > section > div\",\n \"ski...", "input": "", "output": "In node 'Extract specific content', the parameter 'operation' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `extractHtmlContent`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Extract specific content' parameter 'operation'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"b0KRVIuuUxE5afHo\",\n \"meta\": {\n \"instanceId\": \"98bf0d6aef1dd8b7a752798121440fb171bf7686b95727fd617f43452393daa3\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Blog Automation TEMPLATE\",\n \"tags\": [\n {\n \"id\": \"uumvgGHY5e6zEL7V\",\n \"name\": \"Published Template\",\n \"createdAt\": \"2025-02-10T11:18:10.923Z\",\n \"updatedAt\": \"2025-02-10T11:18:10.923Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"20e00146-6bda-4a8a-9544-bf7e5fd4e12e\",\n \"name\": \"Settings\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -420,\n -160\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"528b371f-0fba-4be1-9801-0502652da23e\",\n \"name\": \"urlSpreadsheet\",\n \"type\": \"string\",\n \"value\": \"https://docs.google.com/spreadsheets/d/1Kg1-U6mJF4bahH1jCw8kT48MiKz1UMC5n-9q77BHM3Q/edit?gid=0#gid=0\"\n },\n {\n \"id\": \"1be018c7-51fe-4ea2-967d-ce47a2e8795c\",\n \"name\": \"urlWordpress\",\n \"type\": \"string\",\n \"value\": \"SUBDOMAIN.wordpress.com\"\n },\n {\n \"id\": \"95377f4f-184b-46a7-94c7-b2313c314cb2\",\n \"name\": \"wordpressUsername\",\n \"type\": \"string\",\n \"value\": \"YourUserName\"\n },\n {\n \"id\": \"fdc99dc6-d9b0-4d2f-b770-1d8b6b360cad\",\n \"name\": \"wordpressApplicationPassword\",\n \"type\": \"string\",\n \"value\": \"y0ur app1 p4ss w0rd\"\n },\n {\n \"id\": \"517cb9ff-24fc-41d6-8bcc-253078f56356\",\n \"name\": \"sheetSchedule\",\n \"type\": \"string\",\n \"value\": \"=Schedule\"\n },\n {\n \"id\": \"584e11da-546b-4472-8674-33ca7e8f4f30\",\n \"name\": \"sheetConfig\",\n \"type\": \"string\",\n \"value\": \"Config\"\n },\n ...", "input": "", "output": "In node 'Sticky Note12', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `## Config & Data`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note12' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"gAzsjTGbfWuvAObi\",\n \"meta\": {\n \"instanceId\": \"a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Fine-tuning with OpenAI models\",\n \"tags\": [\n {\n \"id\": \"2VG6RbmUdJ2VZbrj\",\n \"name\": \"Google Drive\",\n \"createdAt\": \"2024-12-04T16:50:56.177Z\",\n \"updatedAt\": \"2024-12-04T16:50:56.177Z\"\n },\n {\n \"id\": \"paTcf5QZDJsC2vKY\",\n \"name\": \"OpenAI\",\n \"createdAt\": \"2024-12-04T16:52:10.768Z\",\n \"updatedAt\": \"2024-12-04T16:52:10.768Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"ff65c2db-6a94-4e56-a10c-2538c9617df6\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 220,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"208fc618-0543-4552-bd65-9c808c879d88\",\n \"name\": \"Google Drive\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 440,\n 320\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1wvlEcbxFIENvqL-bACzlLEfy5gA6uF9J\",\n \"cachedResultUrl\": \"https://drive.google.com/file/d/1wvlEcbxFIENvqL-bACzlLEfy5gA6uF9J/view?usp=drivesdk\",\n \"cachedResultName\": \"test_fine_tuning.jsonl\"\n },\n \"options\": {\n \"binaryPropertyName\": \"data.jsonl\",\n \"googleFileConversion\": {\n \"conversion\": {\n \"docsToFormat\": \"application/pdf\"\n }\n }\n },\n \"operation\": \"download\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"HEy5EuZkgPZVEa9w\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 3\n },\n {\n \"id\": \"3580d925-c8c9-446f-bfa4-faae5ed3f44a\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n 500,\n 800\n ],\n \"parame...", "input": "", "output": "The node 'When chat message received' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'When chat message received'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"oNJCLq4egGByMeSl\",\n \"meta\": {\n \"instanceId\": \"1bc0f4fa5e7d17ac362404cbb49337e51e5061e019cfa24022a8667c1f1ce287\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Remove Advanced Background from Google Drive Images\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"99582f98-3707-4480-954a-f091e4e8133a\",\n \"name\": \"Config\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 820,\n 620\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"42b02a2f-a642-42db-a565-fd2a01a26fb9\",\n \"name\": \"bg_color\",\n \"type\": \"string\",\n \"value\": \"white\"\n },\n {\n \"id\": \"f68b2280-ec85-4400-8a98-10e644b56076\",\n \"name\": \"padding\",\n \"type\": \"string\",\n \"value\": \"5%\"\n },\n {\n \"id\": \"8bdee3a1-9107-4bf8-adea-332d299e43ae\",\n \"name\": \"keepInputSize\",\n \"type\": \"boolean\",\n \"value\": true\n },\n {\n \"id\": \"89d9e4fb-ed14-4ee2-b6f0-73035bafbc39\",\n \"name\": \"outputSize\",\n \"type\": \"string\",\n \"value\": \"1600x1600\"\n },\n {\n \"id\": \"ad53bf64-5493-4c4d-a52c-cd4d657cc9f9\",\n \"name\": \"inputFileName\",\n \"type\": \"string\",\n \"value\": \"={{ $json.originalFilename }}\"\n },\n {\n \"id\": \"9fc440c6-289b-4a6a-8391-479a6660836f\",\n \"name\": \"OutputDriveFolder\",\n \"type\": \"string\",\n \"value\": \"ENTER GOOGLE DRIVE FOLDER URL\"\n },\n {\n \"id\": \"f0f1767a-b659-48c4-bef6-8ee4111cb939\",\n \"name\": \"api-key\",\n \"type\": \"string\",\n \"value\": \"ENTER API KEY\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4\n },\n {\n \"id\": \"7b5973d4-...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"AjJ7O98qjw8XVirk\",\n \"meta\": {\n \"instanceId\": \"a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Build an OpenAI Assistant with Google Drive Integration\",\n \"tags\": [\n {\n \"id\": \"2VG6RbmUdJ2VZbrj\",\n \"name\": \"Google Drive\",\n \"createdAt\": \"2024-12-04T16:50:56.177Z\",\n \"updatedAt\": \"2024-12-04T16:50:56.177Z\"\n },\n {\n \"id\": \"paTcf5QZDJsC2vKY\",\n \"name\": \"OpenAI\",\n \"createdAt\": \"2024-12-04T16:52:10.768Z\",\n \"updatedAt\": \"2024-12-04T16:52:10.768Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"8a00e7b2-8348-47d2-87db-fe40b41a44f1\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 180,\n 260\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"1d8fe39a-c7b9-4c38-9dc6-0fbce63151ba\",\n \"name\": \"Google Drive\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 480,\n 380\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1JG7ru_jBcWu5fvgG3ayKjXVXHVy67CTqLwNITqsSwh8\",\n \"cachedResultUrl\": \"https://docs.google.com/document/d/1JG7ru_jBcWu5fvgG3ayKjXVXHVy67CTqLwNITqsSwh8/edit?usp=drivesdk\",\n \"cachedResultName\": \"[TEST] Assistente Agenzia viaggi\"\n },\n \"options\": {\n \"binaryPropertyName\": \"data.pdf\",\n \"googleFileConversion\": {\n \"conversion\": {\n \"docsToFormat\": \"application/pdf\"\n }\n }\n },\n \"operation\": \"download\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"HEy5EuZkgPZVEa9w\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 3\n },\n {\n \"id\": \"a8a72d6e-8278-4786-915d-311a2d8f5894\",\n \"name\": \"When chat message received\",\n \"type\": \"@n8n/n8n-nodes-langchain...", "input": "", "output": "The node 'OpenAI1' (type: @n8n/n8n-nodes-langchain.openAi) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"CDX6QM4gLYanh0P4\",\n \"name\": \"OpenAi account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'OpenAI1' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ZVUQL1bUQ8gBCZTl\",\n \"meta\": {\n \"instanceId\": \"23e6ce638471979c8a2c72a9fb50e44f4f2bfd5a9fc2f5b7f5c842b9abeb9393\"\n },\n \"name\": \"Chat with Google Sheet\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"89af21df-1125-4df6-9d43-a643e02bb53f\",\n \"name\": \"Execute Workflow Trigger\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n 540,\n 1240\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"f571d0cc-eb43-46c9-bdd5-45abc51dfbe7\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 461.9740563285368,\n 970.616715060075\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 1449.2963504228514,\n \"height\": 612.0936015224503,\n \"content\": \"### Sub-workflow: Custom tool\\nThis can be called by the agent above. It returns three different types of data from the Google Sheet, which can be used together for more complex queries without returning the whole sheet (which might be too big for GPT to handle)\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"8761e314-c1f2-4edd-88ea-bfeb02dc8f1a\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 460,\n 460\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 927.5,\n \"height\": 486.5625,\n \"content\": \"### Main workflow: AI agent using custom tool\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"e793b816-68d9-42ef-b9b0-6fe22aa375e8\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 300,\n 540\n ],\n \"parameters\": {\n \"width\": 185.9375,\n \"height\": 183.85014518022527,\n \"content\": \"## Try me out\\n\\nClick the 'Chat' button at the bottom and enter:\\n\\n_Which is our biggest customer?_\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"f895d926-0f70-415b-9492-c3ecf186e761\",\n \"name\":...", "input": "", "output": "The workflow has a broken data flow. The node 'List columns tool' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'List columns tool'.\n\n**Impact**: Data from 'List columns tool' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'List columns tool' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"List columns tool\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'List columns tool' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"bV0JTA5NtRZxiD1q\",\n \"meta\": {\n \"instanceId\": \"98bf0d6aef1dd8b7a752798121440fb171bf7686b95727fd617f43452393daa3\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Telegram-bot AI Da Nang\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"ae5f9ca6-6bba-4fe8-b955-6c615d8a522f\",\n \"name\": \"SendTyping\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n -1780,\n -260\n ],\n \"webhookId\": \"26ea953e-93d9-463e-ad90-95ea8ccb449f\",\n \"parameters\": {\n \"chatId\": \"={{ $('telegramInput').item.json.message.chat.id }}\",\n \"operation\": \"sendChatAction\"\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"V3EtQBeqEvnOtl9p\",\n \"name\": \"Telegram account\"\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"244e7be3-2caa-46f7-8628-d063a3b84c12\",\n \"name\": \"SetResponse\",\n \"type\": \"n8n-nodes-base.set\",\n \"notes\": \"Assemble response etc.\",\n \"position\": [\n 40,\n -420\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"fba8dc48-1484-4aae-8922-06fcae398f05\",\n \"name\": \"responseMessage\",\n \"type\": \"string\",\n \"value\": \"={{ $json.output }}\"\n },\n {\n \"id\": \"df8243e6-6a24-4bad-8807-63d75c828150\",\n \"name\": \"\",\n \"type\": \"string\",\n \"value\": \"\"\n }\n ]\n },\n \"includeOtherFields\": true\n },\n \"notesInFlow\": true,\n \"typeVersion\": 3.4\n },\n {\n \"id\": \"192aa194-f131-4ba3-8842-7c88da1a6129\",\n \"name\": \"Settings\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -1260,\n -420\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"6714203d-04b3-4a3c-9183-09cddcffdfe8\",\n \"name\": \"scheduleURL\",\n ...", "input": "", "output": "The node 'Schedule' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Schedule'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"dDAqkobn2pqgdl2N\",\n \"meta\": {\n \"instanceId\": \"9e331a89ae45a204c6dee51c77131d32a8c962ec20ccf002135ea60bd285dba9\"\n },\n \"name\": \"AI Logo Sheet Extractor to Airtable\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"f7ecadb8-dc5d-4e8c-96b8-52c1dbad49b6\",\n \"name\": \"On form submission\",\n \"type\": \"n8n-nodes-base.formTrigger\",\n \"position\": [\n -660,\n -220\n ],\n \"webhookId\": \"43837a27-f752-40a8-852a-d5d63d647bfd\",\n \"parameters\": {\n \"options\": {\n \"path\": \"logo-sheet-feeder\"\n },\n \"formTitle\": \"AI Logo Sheet Feeder\",\n \"formFields\": {\n \"values\": [\n {\n \"fieldType\": \"file\",\n \"fieldLabel\": \"The Logo-Sheet as Image\",\n \"requiredField\": true\n },\n {\n \"fieldLabel\": \"Addional Prompt (e.g.: What the meaning of the graphic?) *optional but helps from time to time.\",\n \"placeholder\": \"It's a graph chart comparing AI Tools\"\n }\n ]\n },\n \"formDescription\": \"Provide a Image with multiple Logos comparing or bringing multiple Tools into Context with one another.\"\n },\n \"typeVersion\": 2.2\n },\n {\n \"id\": \"b1530578-bde9-4ee3-9cdb-545a621cdb84\",\n \"name\": \"Retrieve and Parser Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n -180,\n -220\n ],\n \"parameters\": {\n \"options\": {\n \"systemMessage\": \"Your task is to retrieve Information from the given Input. Extract Categories and Attributes of all given and shown Tools, Softwares or Products you've got by the user.\\n\\nProvide the Output Array of Tools with the following Structure as JSON:\\n\\n[{\\n\\\"name\\\": \\\"Name of the Tool, Software, etc.\\\",\\n\\\"attributes\\\": [\\\"Some category or attribute\\\", \\\"something else you can see from the context or image\\\"],\\n\\\"similar\\\": [\\\"similar tool, product, etc. from shown context\\\", \\\"another similar software, p...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"nJwkSOrJIFvutw1n:\n \"meta\": {\n \"instanceId\": \"08daa2aa5b6032ff63690600b74f68f5b0f34a3b100102e019b35c4419168977\"\n },\n \"name\": \"Flux Dev Image Generation Fal.ai\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"00f3a7d9-9931-40a4-8eb5-5b9086d6995c\",\n \"name\": \"Fal Flux\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 420,\n 0\n ],\n \"parameters\": {\n \"url\": \"https://queue.fal.run/fal-ai/flux/dev\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"prompt\\\": \\\"{{ $json.Prompt }}\\\",\\n \\\"image_size\\\": {\\n \\\"width\\\": {{ $json.Width }},\\n \\\"height\\\": {{ $json.Height }}\\n},\\n \\\"num_inference_steps\\\": {{ $json.Steps }},\\n \\\"guidance_scale\\\": {{ $json.Guidance }},\\n \\\"num_images\\\": 1,\\n \\\"enable_safety_checker\\\": true\\n}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"genericCredentialType\",\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"lNxvZHlUafPAHBYN\",\n \"name\": \"Fal Flux Header Auth account\"\n }\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"3032a543-2e21-415e-a5bd-d56ea33e4411\",\n \"name\": \"Get Image Result URL\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1220,\n -20\n ],\n \"parameters\": {\n \"url\": \"=https://queue.fal.run/fal-ai/flux/requests/{{ $json.request_id }}\",\n \"options\": {},\n \"authentication\": \"genericCredentialType\",\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"lNxvZHlUafPAHBYN\",\n \"name\": \"Fal Flux Header Auth account\"\n }\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"56e13e53-1697-4970-9bea-b75e0e849425\",\n \"name\": \"Download Image\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1400,\n -20\n ],\n \"parameters\": {\n \"url\"...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"8FLJK1NsduFL0Y5P\",\n \"meta\": {\n \"instanceId\": \"fb924c73af8f703905bc09c9ee8076f48c17b596ed05b18c0ff86915ef8a7c4a\"\n },\n \"name\": \"Qualify new leads in Google Sheets via OpenAI's GPT-4\",\n \"tags\": [\n {\n \"id\": \"y9tvM3hISJKT2jeo\",\n \"name\": \"Ted's Tech Talks\",\n \"createdAt\": \"2023-08-15T22:12:34.260Z\",\n \"updatedAt\": \"2023-08-15T22:12:34.260Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"1f179325-0bec-4e5c-8ebd-0a2bb3ebefaa\",\n \"name\": \"Merge\",\n \"type\": \"n8n-nodes-base.merge\",\n \"position\": [\n 1440,\n 340\n ],\n \"parameters\": {\n \"mode\": \"combine\",\n \"options\": {},\n \"combinationMode\": \"mergeByPosition\"\n },\n \"typeVersion\": 2.1\n },\n {\n \"id\": \"7b548661-2b32-451f-ba52-91ca86728f1e\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 358,\n 136.3642172523962\n ],\n \"parameters\": {\n \"width\": 442,\n \"height\": 360.6357827476038,\n \"content\": \"### 1. Create a Google Sheet document\\n* This template uses Google Sheet document connected to Google Forms, but a standalone Sheet document will work too\\n* Adapt initial trigger to your needs: check for new entries periodically or add a manual trigger\\n\\n[Link to the Google Sheet template](https://docs.google.com/spreadsheets/d/1jk8ZbfOMObvHGGImc0sBJTZB_hracO4jRqfbryMgzEs)\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"308b4dce-4656-47bd-b217-69565b1c34f6\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 820,\n 420\n ],\n \"parameters\": {\n \"width\": 471,\n \"height\": 322,\n \"content\": \"### 2. Provide lead qualification instructions\\n* Create a __system message__ with overall instructions\\n* Add a __user message__ with the JSON variables\\n* Set node parses the resulting JSON object, but you can also request a plain string response in the system message\"\n }...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"7cXvgkl9170QXzT2\",\n \"meta\": {\n \"instanceId\": \"69133932b9ba8e1ef14816d0b63297bb44feb97c19f759b5d153ff6b0c59e18d\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"RAG Workflow For Company Documents stored in Google Drive\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"753455a3-ddc8-4a74-b043-70a0af38ff9e\",\n \"name\": \"Pinecone Vector Store\",\n \"type\": \"@n8n/n8n-nodes-langchain.vectorStorePinecone\",\n \"position\": [\n 680,\n 0\n ],\n \"parameters\": {\n \"mode\": \"insert\",\n \"options\": {},\n \"pineconeIndex\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"company-files\",\n \"cachedResultName\": \"company-files\"\n }\n },\n \"credentials\": {\n \"pineconeApi\": {\n \"id\": \"bQTNry52ypGLqt47\",\n \"name\": \"PineconeApi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"a7c8fa7f-cad2-4497-a295-30aa2e98cacc\",\n \"name\": \"Embeddings Google Gemini\",\n \"type\": \"@n8n/n8n-nodes-langchain.embeddingsGoogleGemini\",\n \"position\": [\n 640,\n 280\n ],\n \"parameters\": {\n \"modelName\": \"models/text-embedding-004\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"jLOqyTR4yTT1nYKi\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"215f0519-4359-4e4b-a90c-7e54b1cc52b5\",\n \"name\": \"Default Data Loader\",\n \"type\": \"@n8n/n8n-nodes-langchain.documentDefaultDataLoader\",\n \"position\": [\n 840,\n 220\n ],\n \"parameters\": {\n \"options\": {},\n \"dataType\": \"binary\",\n \"binaryMode\": \"specificField\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"863d3d1d-1621-406e-8320-688f64b07b09\",\n \"name\": \"Recursive Character Text Splitter\",\n \"type\": \"@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter\",\n \"position\": [\n 820,\n 420\n ...", "input": "", "output": "The node 'Google Gemini Chat Model' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Google Gemini Chat Model'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"VY4WBXuNDPxmOO5e\",\n \"meta\": {\n \"instanceId\": \"d16fb7d4b3eb9b9d4ad2ee6a7fbae593d73e9715e51f583c2a0e9acd1781c08e\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"RAG:Context-Aware Chunking | Google Drive to Pinecone via OpenRouter & Gemini\",\n \"tags\": [\n {\n \"id\": \"XZIQK6NdzGvgbZFd\",\n \"name\": \"Sell\",\n \"createdAt\": \"2025-01-15T12:28:48.424Z\",\n \"updatedAt\": \"2025-01-15T12:28:48.424Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"7abbfa6e-4b17-4656-9b82-377b1bacf539\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 0,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"448ec137-bf64-46b4-bf15-c7a040faa306\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 1100,\n 0\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3\n },\n {\n \"id\": \"f22557ee-7f37-40cd-9063-a9a759274663\",\n \"name\": \"OpenRouter Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenRouter\",\n \"position\": [\n 20,\n 440\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openRouterApi\": {\n \"id\": \"ddH6iNlm09UxrXvu\",\n \"name\": \"Auto: OpenRouter\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"57e8792e-25ae-43d5-b4e9-e87642365ee9\",\n \"name\": \"Pinecone Vector Store\",\n \"type\": \"@n8n/n8n-nodes-langchain.vectorStorePinecone\",\n \"position\": [\n 780,\n 360\n ],\n \"parameters\": {\n \"mode\": \"insert\",\n \"options\": {},\n \"pineconeIndex\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"context-rag-test\",\n \"cachedResultName\": \"context-rag-test\"\n }\n },\n \"credentials\": {\n \"pineconeApi\": {\n \"id\": \"R3QGXSEIRTEAZttK\",\n \"name\": \"Aut...", "input": "", "output": "The node 'Get Document From Google Drive' (type: n8n-nodes-base.googleDrive) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"SsiQguNA8w3Wwv4w\",\n \"name\": \"Auto: Google Drive\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Get Document From Google Drive' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ES4TSw9HacxoNhLZ\",\n \"meta\": {\n \"instanceId\": \"5219bc76ea806909b58e13e2acac1c19192522e70dc3c90467e1800e94864105\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"AI CV Screening Workflow\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"e77fbc32-5ee9-49b4-93d5-f2ffda134b08\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatGoogleGemini\",\n \"position\": [\n 1230,\n 530\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"UcdfdADI6w9nkgg5\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"9e24167f-cac6-4b98-95da-30065510d79a\",\n \"name\": \"Confirmation of CV Submission\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 1780,\n 460\n ],\n \"webhookId\": \"954756dc-2946-4b78-b208-06f3df612ab5\",\n \"parameters\": {\n \"sendTo\": \"={{ $('Application Form').item.json['E-mail'] }}\",\n \"message\": \"=Dear {{ $('Application Form').item.json['Full Name'] }}, \\n\\nThank you for submitting your CV. We have received it and will review it shortly. \\n\\nBest regards,\\nMediusware\",\n \"options\": {},\n \"subject\": \"We Have Received Your CV\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"taFlf0vD5S4QlOKM\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1\n },\n {\n \"id\": \"ff49d370-b4eb-4426-b396-763455e647e7\",\n \"name\": \"Inform HR New CV Received\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 1760,\n 200\n ],\n \"webhookId\": \"e969a9f5-631b-4719-a4f6-87e6063cef6a\",\n \"parameters\": {\n \"sendTo\": \"sarfaraz@mediusaware.com\",\n \"message\": \"=Hello HR,\\n\\nA new CV has been successfully received in our system. Please review the candidate's details at your earliest convenience.\\n\\nCandidate Name: {{ $('Application...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"aLTkMiEDYXbMK4fT\",\n \"meta\": {\n \"instanceId\": \"5b860a91d7844b5237bb51cc58691ca8c3dc5b576f42d4d6bbedfb8d43d58ece\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"AI agent: expense tracker in Google Sheets and n8n chat\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"9260b53e-6848-4f34-9643-311c58c807f6\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n 360,\n 40\n ],\n \"parameters\": {\n \"options\": {\n \"maxIterations\": 3,\n \"systemMessage\": \"You are a helpful accountant. Use save to db tool to save expense message to DB. respond with \\\"Your expense saved, here is the output of save sub-workflow:[data]\\\"\"\n }\n },\n \"typeVersion\": 1.7\n },\n {\n \"id\": \"0d7a686c-42c2-4223-9f78-b454788fb6da\",\n \"name\": \"When chat message received\",\n \"type\": \"@n8n/n8n-nodes-langchain.chatTrigger\",\n \"position\": [\n 0,\n 40\n ],\n \"webhookId\": \"6a34ec84-459d-4cc4-83b6-06ae4c99dc8f\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"f1f27aaf-cf13-40d9-b8f9-800a862f8bf0\",\n \"name\": \"Workflow Input Trigger\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n 180,\n 600\n ],\n \"parameters\": {\n \"workflowInputs\": {\n \"values\": [\n {\n \"name\": \"input1\"\n }\n ]\n }\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"a1530601-1a91-45be-adef-2e0608bfe773\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 340,\n 300\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"vHFEeel4RHFsjcMI\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"c6f9782e-6b9b-421e-8b10-9ef04cbbee...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"Lwvu2jjMU2irTyAY\",\n \"meta\": {\n \"instanceId\": \"fb924c73af8f703905bc09c9ee8076f48c17b596ed05b18c0ff86915ef8a7c4a\"\n },\n \"name\": \"Summarize Google Sheets form feedback via OpenAI's GPT-4\",\n \"tags\": [\n {\n \"id\": \"y9tvM3hISJKT2jeo\",\n \"name\": \"Ted's Tech Talks\",\n \"createdAt\": \"2023-08-15T22:12:34.260Z\",\n \"updatedAt\": \"2023-08-15T22:12:34.260Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"cd80cd2f-a6e1-48eb-ba05-0f8f1a0875e5\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 680,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"9f03f1c4-c47e-4eda-bc0a-a598c21e4616\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 640,\n 130\n ],\n \"parameters\": {\n \"width\": 369.1031874662338,\n \"height\": 349,\n \"content\": \"### 1. Create a Google Sheet document\\n* This tutorial uses Google Sheet document connected to Google Forms, but a standalone Sheet document will work too\\n* Adapt initial trigger to your needs: run manually or at some time intervals\\n\\n[Link to the Google Sheets template](https://docs.google.com/spreadsheets/d/1Kcr1oF_RrfNQJczmJDpwClOSYpvSnwbeX-_pdUo91-I/edit?usp=sharing)\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"1e478f81-76e7-4fc3-a147-11a92d3f9998\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1040,\n 160\n ],\n \"parameters\": {\n \"width\": 394,\n \"height\": 319,\n \"content\": \"### 2. Combine all answers into an array\\n* Since the main goal is to provide an overall summary, we need to combine all answers for each Google Form question\\n* Aggregate Node takes multiple incoming items and produces just a single item which contains arrays of user feedback\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"1ab06b51-3b9e-4a4c-afba-c...", "input": "", "output": "The node 'Summarize via GPT model' (type: n8n-nodes-base.openAi) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"rveqdSfp7pCRON1T\",\n \"name\": \"Ted's Tech Talks OpenAi\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Summarize via GPT model' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"s8YgrWCxnGJxbctt\",\n \"meta\": {\n \"instanceId\": \"2b1c62c6d8c9216d51c1f40c64044e24b558ea8311c19d032d1278472159cfec\",\n \"templateId\": \"1750\"\n },\n \"name\": \"Google Doc Summarizer to Google Sheets\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"9098b59a-68b1-48bd-9b52-41a971e689b3\",\n \"name\": \"Google Docs\",\n \"type\": \"n8n-nodes-base.googleDocs\",\n \"position\": [\n 340,\n 240\n ],\n \"parameters\": {\n \"operation\": \"get\",\n \"documentURL\": \"={{ $json.id }}\",\n \"authentication\": \"serviceAccount\"\n },\n \"credentials\": {\n \"googleApi\": {\n \"id\": \"Xx4ObVZ3yYoA5XCx\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"a7f224d4-232b-4201-82a0-d762830b546a\",\n \"name\": \"Wikipedia\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolWikipedia\",\n \"position\": [\n 680,\n 180\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"12bb798e-fe7e-4340-846b-5caeb824959b\",\n \"name\": \"Calculator\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolCalculator\",\n \"position\": [\n 940,\n 180\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"7d479725-f973-45c5-a798-d1868aefdd82\",\n \"name\": \"Google Sheets\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 1280,\n 280\n ],\n \"parameters\": {\n \"columns\": {\n \"value\": {\n \"Name\": \"={{ $('Google Drive ').item.json.lastModifyingUser.displayName }}\",\n \"Email \": \"={{ $('Google Drive ').item.json.lastModifyingUser.emailAddress }}\",\n \"Summarise Conetent data \": \"={{ $json.message.content }}\"\n },\n \"schema\": [\n {\n \"id\": \"Email \",\n \"type\": \"string\",\n \"display\": true,\n \"required\": false,\n \"displayName\": \"Email \",\n \"defaultMatch\": false,\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"cZPEH5aMMZNy61xs\",\n \"meta\": {\n \"instanceId\": \"3378b0d68c3b7ebfc71b79896d94e1a044dec38e99a1160aed4e9c323910fbe2\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"template in store\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"14f93cdb-72cb-419a-b8d7-a68ae9383290\",\n \"name\": \"Google Drive Trigger\",\n \"type\": \"n8n-nodes-base.googleDriveTrigger\",\n \"position\": [\n 440,\n 320\n ],\n \"parameters\": {\n \"event\": \"fileCreated\",\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n },\n \"triggerOn\": \"specificFolder\",\n \"folderToWatch\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"18m0i341QLQuyWuHv_FBdz8-r-QDtofYm\",\n \"cachedResultUrl\": \"https://drive.google.com/drive/folders/18m0i341QLQuyWuHv_FBdz8-r-QDtofYm\",\n \"cachedResultName\": \"Influencersde\"\n }\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"2TbhWtnbRfSloGxX\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"d4ab0d11-b110-46fa-9cd2-6091737c302e\",\n \"name\": \"Google Drive\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 620,\n 320\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"\",\n \"value\": \"={{ $json.id || $json.data[0].id }}\"\n },\n \"options\": {},\n \"operation\": \"download\",\n \"authentication\": \"oAuth2\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"2TbhWtnbRfSloGxX\",\n \"name\": \"Google Drive account\"\n }\n },\n \"retryOnFail\": true,\n \"typeVersion\": 1,\n \"waitBetweenTries\": 5000\n },\n {\n \"id\": \"fde9df88-3f9e-4732-bb1c-72eb33ce6826\",\n \"name\": \"Error Trigger\",\n \"type\": \"n8n-nodes-base.errorTrigger\",\n \"position\": ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"PpFVCrTiYoa35q1m\",\n \"meta\": {\n \"instanceId\": \"b9faf72fe0d7c3be94b3ebff0778790b50b135c336412d28fd4fca2cbbf8d1f5\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Vision-Based AI Agent Scraper - with Google Sheets, ScrapingBee, and Gemini\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"90ac8845-342e-4fdb-ae09-cb9d169b4119\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 160,\n 460\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"7a2bfc41-1527-448d-a52c-794ca4c9e7ee\",\n \"name\": \"ScrapingBee- Get page HTML\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 2280,\n 1360\n ],\n \"parameters\": {\n \"url\": \"https://app.scrapingbee.com/api/v1\",\n \"options\": {},\n \"sendQuery\": true,\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"api_key\",\n \"value\": \"\"\n },\n {\n \"name\": \"url\",\n \"value\": \"={{$json.url}}\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"a0ab6dcb-ffad-40bf-8a22-f2e152e69b00\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserStructured\",\n \"position\": [\n 2480,\n 880\n ],\n \"parameters\": {\n \"jsonSchemaExample\": \"[{\\n \\\"product_title\\\":\\\"The title of the product\\\",\\n \\\"product_price\\\":\\\"The price of the product\\\",\\n \\\"product_brand\\\": \\\"The brand of the product\\\",\\n \\\"promo\\\":\\\"true or false\\\",\\n \\\"promo_percentage\\\":\\\"NUM %\\\"\\n}]\"\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"34f50603-a969-425d-8a1a-ec8031a5cdfd\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatGoogleGemini\",\n \"position\": [\n 1800,\n 900\n ],\n \"parameters\": {\n \"opti...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"dYjQS1bJmVSAxNnj\",\n \"meta\": {\n \"instanceId\": \"a9f3b18652ddc96459b459de4fa8fa33252fb820a9e5a1593074f3580352864a\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"BambooHR AI-Powered Company Policies and Benefits Chatbot\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"832e4a1d-320f-4793-be3c-8829776a3ce6\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 760,\n 560\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"63be0638-d7df-4af8-ba56-555593a6de0c\",\n \"name\": \"Default Data Loader\",\n \"type\": \"@n8n/n8n-nodes-langchain.documentDefaultDataLoader\",\n \"position\": [\n 2080,\n 740\n ],\n \"parameters\": {\n \"options\": {},\n \"dataType\": \"binary\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"ffe33bb2-efd0-4b6e-a146-aaded7c28304\",\n \"name\": \"Embeddings OpenAI\",\n \"type\": \"@n8n/n8n-nodes-langchain.embeddingsOpenAi\",\n \"position\": [\n 1860,\n 740\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"XXXXXX\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"32de5318-ea5d-4951-b81c-3c96167bc320\",\n \"name\": \"Recursive Character Text Splitter\",\n \"type\": \"@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter\",\n \"position\": [\n 2060,\n 880\n ],\n \"parameters\": {\n \"options\": {},\n \"chunkOverlap\": 100\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"6306d263-16c1-4a68-9318-c58fea1e3e62\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryBufferWindow\",\n \"position\": [\n 1000,\n 1340\n ],\n \"parameters\": {},\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"364cf0ce-524c-4b61-89f3-40b2801bc7e3\",\n \"name\": \"OpenAI C...", "input": "", "output": "In node 'Sticky Note2', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `## (Optional) STEP #2: Set up employee lookup tool`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note2' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"6a2a7715680b8313f7cb4676321c5baa46680adfb913072f089f2766f42e43bd\"\n },\n \"nodes\": [\n {\n \"id\": \"0f3b39af-2802-462c-ac54-a7bccf5b78c5\",\n \"name\": \"Extract Document PDF\",\n \"type\": \"n8n-nodes-base.extractFromFile\",\n \"position\": [\n 520,\n 400\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"pdf\"\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": false\n },\n {\n \"id\": \"6f76e3a6-a3be-4f9f-a0db-3f002eafc2ad\",\n \"name\": \"Download File\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 340,\n 400\n ],\n \"parameters\": {\n \"url\": \"={{ $json.file_url }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"2c4e0b0f-28c7-48f5-b051-6e909ac878d2\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -20,\n 400\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"a70d972b-ceb4-4f4d-8737-f0be624d6234\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 120,\n 280\n ],\n \"parameters\": {\n \"width\": 187.37066290133808,\n \"height\": 80,\n \"content\": \"**Add direct link to CV and Job description**\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"9fdff1be-14cf-4167-af2d-7c5e60943831\",\n \"name\": \"Sticky Note5\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -800,\n 140\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 280.2462120317618,\n \"height\": 438.5821431288714,\n \"content\": \"### Setup\\n\\n1. **Download File**: Fetch the CV using its direct URL.\\n2. **Extract Data**: Use N8N\\u2019s PDF or text extraction nodes to retrieve text from the CV.\\n3. **Send to OpenAI**:\\n - **URL**: POST to OpenAI\\u2019s API for analysis.\\n - **Parameters**:\\n - I...", "input": "", "output": "The node 'OpenAI - Analyze CV' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"SphXAX7rlwRLkiox\",\n \"name\": \"Test club key\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'OpenAI - Analyze CV' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"zmgSshZ5xESr3ozl\",\n \"meta\": {\n \"instanceId\": \"1fedaf0aa3a5d200ffa1bbc98554b56cac895dd5d001907cb6f1c7a3c0a78215\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"HR & IT Helpdesk Chatbot with Audio Transcription\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"c6cb921e-97ac-48f6-9d79-133993dd6ef7\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -300,\n -280\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 780,\n \"height\": 460,\n \"content\": \"## 1. Download & Extract Internal Policy Documents\\n[Read more about the HTTP Request Tool](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest)\\n\\nBegin by importing the PDF documents that contain your internal policies and FAQs\\u2014these will become the knowledge base for your Internal Helpdesk Assistant. For example, you can store a company handbook or IT/HR policy PDFs on a shared drive or cloud storage and reference a direct download link here.\\n\\nIn this demonstration, we'll use the **HTTP Request node** to fetch the PDF file from a given URL and then parse its text contents using the **Extract from File node**. Once extracted, these text chunks will be used to build the vector store that underpins your helpdesk chatbot\\u2019s responses.\\n\\n[Example Employee Handbook with Policies](https://s3.amazonaws.com/scschoolfiles/656/employee_handbook_print_1.pdf)\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"450a254c-eec3-41ea-a11d-eb87b62ee4f4\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -80,\n 20\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"0972f31c-1f62-430c-8beb-bef8976cd0eb\",\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 100,\n 20\n ],\n \"parameters\": {\n \"url\": \"https://s3.a...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"eMxH0GjgfWEvBDic\",\n \"meta\": {\n \"instanceId\": \"be27b2af86ae3a5dc19ef2a1947644c0aec45fd8c88f29daa7dea6f0ce537691\"\n },\n \"name\": \"HR Job Posting and Evaluation with AI\",\n \"tags\": [\n {\n \"id\": \"9ZApRtWeNXlymyQ6\",\n \"name\": \"HR\",\n \"createdAt\": \"2025-01-08T08:47:43.054Z\",\n \"updatedAt\": \"2025-01-08T08:47:43.054Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"450e15b2-bddf-4853-b44e-822facaac14d\",\n \"name\": \"On form submission\",\n \"type\": \"n8n-nodes-base.formTrigger\",\n \"position\": [\n -700,\n -80\n ],\n \"webhookId\": \"18f7428c-9990-413f-aff3-bdcca1bbbe2d\",\n \"parameters\": {\n \"options\": {\n \"path\": \"automation-specialist-application\",\n \"ignoreBots\": false,\n \"buttonLabel\": \"Submit\",\n \"appendAttribution\": false,\n \"useWorkflowTimezone\": true\n },\n \"formTitle\": \"Job Application\",\n \"formFields\": {\n \"values\": [\n {\n \"fieldLabel\": \"First Name\",\n \"requiredField\": true\n },\n {\n \"fieldLabel\": \"Last Name\",\n \"requiredField\": true\n },\n {\n \"fieldType\": \"email\",\n \"fieldLabel\": \"Email\",\n \"requiredField\": true\n },\n {\n \"fieldType\": \"number\",\n \"fieldLabel\": \"Phone\",\n \"requiredField\": true\n },\n {\n \"fieldType\": \"number\",\n \"fieldLabel\": \"Years of experience\",\n \"requiredField\": true\n },\n {\n \"fieldType\": \"file\",\n \"fieldLabel\": \"Upload your CV\",\n \"requiredField\": true,\n \"acceptFileTypes\": \".pdf\"\n }\n ]\n },\n \"formDescription\": \"=Fill this for to apply for the role Automation Specialist:\\n\\nLocation: Remote\\nExperience: Minimum 3 years\\nEmployment Type: Full-time\\n\\nJob Description:\\nWe a...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"qww129cm4TM9N8Ru\",\n \"meta\": {\n \"instanceId\": \"038da3428bba4563b42be267feeca21b4922693db254331ac640a5c56ee7cadf\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"InstaTest\",\n \"tags\": [\n {\n \"id\": \"8PlqXsDyqVlHJ7RC\",\n \"name\": \"AI\",\n \"createdAt\": \"2024-07-10T14:12:10.657Z\",\n \"updatedAt\": \"2024-07-10T14:12:10.657Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"51dcaa84-d1f9-4abc-aebc-24a06801e42d\",\n \"name\": \"Set your system promt for AI\",\n \"type\": \"n8n-nodes-base.set\",\n \"notes\": \"In this node in \\\"prompt\\\" variable you can set your system prompt\",\n \"position\": [\n 1120,\n 620\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"0b3c3d71-5627-4b8c-91f0-ac44eaedf196\",\n \"name\": \"prompt\",\n \"type\": \"string\",\n \"value\": \"=Persona: You are a instagram influencer.\\nContext: You receive a messages from your subscribers\\nTask: Answer questions in your writing style and patterns according to your previous posts text. Use your post only for style and patterns reference.\\nStyle rules:\\nsimple answers\"\n },\n {\n \"id\": \"c2a9e272-5c0d-4685-ad0e-ce6995f92a1c\",\n \"name\": \"sessionId\",\n \"type\": \"string\",\n \"value\": \"={{ $json.body.session_id }}\"\n },\n {\n \"id\": \"b3c20ee3-07a1-4584-b0d9-7310a2c6b723\",\n \"name\": \"chatInput\",\n \"type\": \"string\",\n \"value\": \"={{ $json.body.text }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3\n },\n {\n \"id\": \"0fb36573-d632-4403-8809-3973f9caa32a\",\n \"name\": \"Local n8n memory\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryBufferWindow\",\n \"position\": [\n 1500,\n 780\n ],\n \"parameters\": {\n \"sessionKey\": \"={{ $('Set your system promt for AI').last().json.sessi...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 260,\n 210\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"name\": \"Fetch new followers\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 460,\n 210\n ],\n \"parameters\": {\n \"url\": \"https://api.twitter.com/2/users/{YOUR_USER_ID}/followers?user.fields=profile_image_url&max_results=3\",\n \"options\": {},\n \"authentication\": \"headerAuth\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"2\",\n \"name\": \"Twitter Token\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"name\": \"Item Lists\",\n \"type\": \"n8n-nodes-base.itemLists\",\n \"position\": [\n 660,\n 210\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"data\"\n },\n \"typeVersion\": 1\n },\n {\n \"name\": \"Function\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 1660,\n 210\n ],\n \"parameters\": {\n \"functionCode\": \"const binary = {};\\nfor (let i=0; i < items.length; i++) {\\n binary[`data${i}`] = items[i].binary.avatar;\\n}\\n\\nreturn [\\n {\\n json: {\\n numIcons: items.length,\\n },\\n binary,\\n }\\n];\\n\"\n },\n \"typeVersion\": 1\n },\n {\n \"name\": \"Merge\",\n \"type\": \"n8n-nodes-base.merge\",\n \"position\": [\n 1910,\n 110\n ],\n \"parameters\": {\n \"mode\": \"mergeByIndex\"\n },\n \"typeVersion\": 1\n },\n {\n \"name\": \"Fetching images\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 860,\n 210\n ],\n \"parameters\": {\n \"url\": \"={{$json[\\\"profile_image_url\\\"].replace('normal','400x400')}}\",\n \"options\": {},\n \"responseFormat\": \"file\",\n \"dataPropertyName\": \"avatar\"\n },\n \"typeVersion\": 1\n },\n {\n \"name\": \"Fetch bg\",\n \"type...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"H7porcmXYj7StO23\",\n \"meta\": {\n \"instanceId\": \"35409808e3cc9dd8ecfa6f7b93ae931f074920a2f681e667da8974c0ecf81c52\",\n \"templateId\": \"2537\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Generate Instagram Content from Top Trends with AI Image Generation\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"8c49be2b-6320-4eb0-8303-6448ced34636\",\n \"name\": \"If media status is finished\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1420,\n 260\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"0304efee-33b2-499e-bad1-9238c1fc2999\",\n \"operator\": {\n \"name\": \"filter.operator.equals\",\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.status_code }}\",\n \"rightValue\": \"FINISHED\"\n }\n ]\n }\n },\n \"typeVersion\": 2.2\n },\n {\n \"id\": \"f0cc0be5-6d35-4334-a124-139fa8676d07\",\n \"name\": \"If media status is finished1\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 2000,\n 260\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"0304efee-33b2-499e-bad1-9238c1fc2999\",\n \"operator\": {\n \"name\": \"filter.operator.equals\",\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.status_code }}\",\n \"r...", "input": "", "output": "The node 'Telegram1' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Telegram1'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"name\": \"FunctionItem\",\n \"type\": \"n8n-nodes-base.functionItem\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"functionCode\": \"// hashtag list\\nconst Hashtags = [\\n \\\"#techtwitter\\\",\\n \\\"#n8n\\\"\\n];\\n\\n// random output function\\nconst randomHashtag = Hashtags[Math.floor(Math.random() * Hashtags.length)];\\nitem.hashtag = randomHashtag;\\nreturn item;\"\n },\n \"typeVersion\": 1\n },\n {\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"url\": \"https://api.openai.com/v1/engines/text-davinci-001/completions\",\n \"options\": {},\n \"requestMethod\": \"POST\",\n \"authentication\": \"headerAuth\",\n \"jsonParameters\": true,\n \"bodyParametersJson\": \"={\\n \\\"prompt\\\": \\\"Generate a tweet, with under 100 characters, about and including the hashtag {{$node[\\\"FunctionItem\\\"].json[\\\"hashtag\\\"]}}:\\\",\\n \\\"temperature\\\": 0.7,\\n \\\"max_tokens\\\": 64,\\n \\\"top_p\\\": 1,\\n \\\"frequency_penalty\\\": 0,\\n \\\"presence_penalty\\\": 0\\n}\"\n },\n \"typeVersion\": 1\n },\n {\n \"name\": \"Airtable\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 1050,\n 300\n ],\n \"parameters\": {\n \"table\": \"main\",\n \"options\": {},\n \"operation\": \"append\",\n \"application\": \"appOaG8kEA8FAABOr\"\n },\n \"credentials\": {\n \"airtableApi\": \"\"\n },\n \"typeVersion\": 1\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 850,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"Hashtag\",\n \"value\": \"={{$node[\\\"Function...", "input": "", "output": "The node 'HTTP Request' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"httpHeaderAuth\": \"\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'HTTP Request' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"O9FXr8iXzhSgYKaL\",\n \"meta\": {\n \"instanceId\": \"d8bbc8c5a59875a8be9f3c7142d858bc46c4b8e36a11781a25e945fcf9a5767a\"\n },\n \"name\": \"Post New YouTube Videos to X\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"576be5c4-1ed0-4d01-a980-cb2fc31e2223\",\n \"name\": \"Post to X\",\n \"type\": \"n8n-nodes-base.twitter\",\n \"position\": [\n 1280,\n 380\n ],\n \"parameters\": {\n \"text\": \"={{ $json.message.content }}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"twitterOAuth2Api\": {\n \"id\": \"FjHOuF0APzoMqIjG\",\n \"name\": \"X account\"\n }\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"3b87cf2a-51d5-4589-9729-bb1fe3cfceca\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 620,\n 254.76543209876536\n ],\n \"parameters\": {\n \"color\": 3,\n \"width\": 221.82716049382665,\n \"height\": 308.7901234567902,\n \"content\": \"\\ud83c\\udd94 Ensure you enter your YouTube Channel ID in the \\\"Channel ID\\\" field of this node. You can find your [Channel ID here](https://youtube.com/account_advanced).\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"912e631c-aa43-4e02-9816-b35fe6e62dd8\",\n \"name\": \"Generate Post for X with ChatGPT\",\n \"type\": \"@n8n/n8n-nodes-langchain.openAi\",\n \"position\": [\n 900,\n 380\n ],\n \"parameters\": {\n \"modelId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-3.5-turbo\",\n \"cachedResultName\": \"GPT-3.5-TURBO\"\n },\n \"options\": {},\n \"messages\": {\n \"values\": [\n {\n \"content\": \"=Write an engaging post about my latest YouTube video for X (Twitter) of no more than 140 characters in length. Link to the video at https://youtu.be/{{ $json.id.videoId }} use this title and description: {{ $json.snippet.title }} {{ $json.snippet.description }}\"\n }\n ]\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7\"\n },\n \"nodes\": [\n {\n \"id\": \"d9bae984-2ce7-4f6b-ab53-527ac9dfea3d\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 680,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"32ecf73c-b6e9-4bd6-9ecc-d82c4c50d7b5\",\n \"name\": \"Reddit\",\n \"type\": \"n8n-nodes-base.reddit\",\n \"position\": [\n 880,\n 320\n ],\n \"parameters\": {\n \"keyword\": \"n8n\",\n \"location\": \"allReddit\",\n \"operation\": \"search\",\n \"additionalFields\": {\n \"sort\": \"new\"\n }\n },\n \"credentials\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"4b560620-a101-4566-b066-4ce3f44d8b0c\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 120,\n 180\n ],\n \"parameters\": {\n \"width\": 507.1052631578949,\n \"height\": 210.99380804953552,\n \"content\": \"## What this workflow does\\n\\u2714\\ufe0e 1) Get posts from reddit that might be about n8n\\n - Filter for the most relevant posts (posted in last 7 days and more than 5 upvotes and is original content)\\n\\n\\u2714\\ufe0e 2) Check if the post is actually about n8n\\n\\n\\u2714\\ufe0e 3) if it is, categorise with OpenAi.\\n\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"f3be9af5-b4ff-4f4e-a726-fc05fab94521\",\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1260,\n 320\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"upvotes\",\n \"value\": \"={{ $json.ups }}\"\n },\n {\n \"name\": \"subredditSize\",\n \"value\": \"={{ $json.subreddit_subscribers }}\"\n }\n ],\n \"string\": [\n {\n \"name\": \"selftextTri...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"a768bce6-ae26-464c-95fc-009edea4f94d\",\n \"name\": \"Set your company's variables\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 440,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"6a8063b6-1fd8-429a-9f13-b7512066c702\",\n \"name\": \"your_company_name\",\n \"type\": \"string\",\n \"value\": \"Pollup Data Services\"\n },\n {\n \"id\": \"3e6780d6-86d0-4353-aa17-8470a91f63a8\",\n \"name\": \"your_company_activity\",\n \"type\": \"string\",\n \"value\": \"Whether it\\u2019s automating recurring tasks, analysing data faster, or personalising customer interactions, we build bespoke AI agents to help your workforce work smarter.\"\n },\n {\n \"id\": \"1b42f1b3-20ed-4278-952d-f28fe0f03fa3\",\n \"name\": \"your_email\",\n \"type\": \"string\",\n \"value\": \"thomas@pollup.net\"\n },\n {\n \"id\": \"7c109ba2-d855-49d5-8700-624b01a05bc1\",\n \"name\": \"your_name\",\n \"type\": \"string\",\n \"value\": \"Justin\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4\n },\n {\n \"id\": \"ca729f8d-cab8-4221-addb-aa23813d80b4\",\n \"name\": \"Get linkedin Posts\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1300,\n 0\n ],\n \"parameters\": {\n \"url\": \"https://fresh-linkedin-profile-data.p.rapidapi.com/get-profile-posts\",\n \"options\": {},\n \"sendQuery\": true,\n \"sendHeaders\": true,\n \"authentication\": \"genericCredentialType\",\n \"genericAuthType\": \"httpHeaderAuth\",\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"linkedin_url\",\n \"value\": \"={{ $('Google Sheets Trigger').item.json.linkedin_url }}\"\n ...", "input": "", "output": "The workflow has a broken data flow. The node 'Google Sheets' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Google Sheets'.\n\n**Impact**: Data from 'Google Sheets' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Google Sheets' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Google Sheets\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Google Sheets' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"26ba763460b97c249b82942b23b6384876dfeb9327513332e743c5f6219c2b8e\"\n },\n \"nodes\": [\n {\n \"id\": \"81ea4c6a-d603-4688-8b72-d9c79faf7adf\",\n \"name\": \"n8n Form Trigger\",\n \"type\": \"n8n-nodes-base.formTrigger\",\n \"position\": [\n 1272,\n 455\n ],\n \"webhookId\": \"d280e773-3bd8-44ce-a147-8b404251fce9\",\n \"parameters\": {\n \"path\": \"d280e773-3bd8-44ce-a147-8b404251fce9\",\n \"options\": {},\n \"formTitle\": \"BannerBear Clone\",\n \"formFields\": {\n \"values\": [\n {\n \"fieldType\": \"dropdown\",\n \"fieldLabel\": \"Template\",\n \"fieldOptions\": {\n \"values\": [\n {\n \"option\": \"n8n Meetup Template\"\n },\n {\n \"option\": \"AI Meetup Template\"\n }\n ]\n }\n },\n {\n \"fieldType\": \"textarea\",\n \"fieldLabel\": \"Title of Event\",\n \"requiredField\": true\n },\n {\n \"fieldType\": \"textarea\",\n \"fieldLabel\": \"Location of Event\",\n \"requiredField\": true\n },\n {\n \"fieldType\": \"textarea\",\n \"fieldLabel\": \"Date of Event\",\n \"requiredField\": true\n },\n {\n \"fieldType\": \"textarea\",\n \"fieldLabel\": \"Image Prompt\",\n \"requiredField\": true\n }\n ]\n },\n \"formDescription\": \"Generate an image and apply text\"\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"dea26687-4060-488b-a09f-e21900fec2fc\",\n \"name\": \"Upload to Cloudinary\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1920,\n 480\n ],\n \"parameters\": {\n \"url\": \"https://api.cloudinary.com/v1_1/daglih2g8/image/upload\",\n \"method\": \"POST\",\n \"options\": {...", "input": "", "output": "The node 'Send to Bannerbear Template' (type: n8n-nodes-base.bannerbear) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"bannerbearApi\": {\n \"id\": \"jXg71GVWN3F4PvI8\",\n \"name\": \"Bannerbear account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Send to Bannerbear Template' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7\"\n },\n \"nodes\": [\n {\n \"id\": \"ea9ddb4c-af49-480c-8b73-221b3741069d\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 920,\n 400\n ],\n \"parameters\": {\n \"width\": 389,\n \"height\": 265,\n \"content\": \"## Scheduled posting \\nWrite a tweet every 6 hours and randomize the minutes that it's posted at to make it seem natural.\\n\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"9650b047-7d5e-4ed2-948c-d5be77a94b5d\",\n \"name\": \"Post tweet\",\n \"type\": \"n8n-nodes-base.twitter\",\n \"position\": [\n 2940,\n 520\n ],\n \"parameters\": {\n \"text\": \"={{ $json.message.content.tweet }}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"twitterOAuth2Api\": {\n \"id\": \"b3qa9dBp2PxbufK3\",\n \"name\": \"X account\"\n }\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"fd7fc941-37de-4f88-87c0-f62ad1ebe2d6\",\n \"name\": \"Schedule posting every 6 hours\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 1140,\n 500\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\",\n \"hoursInterval\": 6,\n \"triggerAtMinute\": \"={{ Math.floor(Math.random() * 60) }}\"\n }\n ]\n }\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"107fd741-5c17-4cd6-98aa-088bf8df523d\",\n \"name\": \"Trigger posting manually\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 1140,\n 820\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"831cd431-56e5-482e-a8a5-e5c5ac078ba4\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1360,\n 400\n ],\n \"parameters\": {\n \"width\": ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"name\": \"Start\",\n \"type\": \"n8n-nodes-base.start\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"url\": \"https://unsplash.com/photos/lUDMZUWFUXE/download?ixid=MnwxMjA3fDB8MXxhbGx8Mnx8fHx8fDJ8fDE2MzczMjY4Mjc&force=true\",\n \"options\": {},\n \"responseFormat\": \"file\",\n \"headerParametersUi\": {\n \"parameter\": []\n }\n },\n \"typeVersion\": 1\n },\n {\n \"name\": \"HTTP Request1\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"url\": \"https://api.twitter.com/1.1/account/update_profile_banner.json\",\n \"options\": {},\n \"requestMethod\": \"POST\",\n \"authentication\": \"oAuth1\",\n \"jsonParameters\": true,\n \"sendBinaryData\": true,\n \"binaryPropertyName\": \"banner:data\"\n },\n \"credentials\": {\n \"oAuth1Api\": {\n \"id\": \"300\",\n \"name\": \"Unnamed credential\"\n }\n },\n \"typeVersion\": 1\n }\n ],\n \"connections\": {\n \"HTTP Request\": {\n \"main\": [\n [\n {\n \"node\": \"HTTP Request1\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"On clicking 'execute'\": {\n \"main\": [\n [\n {\n \"node\": \"HTTP Request\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n }\n },\n \"name\": \"Update Twitter banner using HTTP request\"\n}...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Typeform Trigger\",\n \"type\": \"n8n-nodes-base.typeformTrigger\",\n \"position\": [\n 0,\n 400\n ],\n \"webhookId\": \"ad8a87ef-d293-4e48-8d36-838d69ebce0f\",\n \"parameters\": {\n \"formId\": \"fBYjtY5e\"\n },\n \"credentials\": {\n \"typeformApi\": \"\"\n },\n \"typeVersion\": 1\n },\n {\n \"name\": \"Google Cloud Natural Language\",\n \"type\": \"n8n-nodes-base.googleCloudNaturalLanguage\",\n \"position\": [\n 200,\n 400\n ],\n \"parameters\": {\n \"content\": \"={{$json[\\\"Any suggestions for us? \\\"]}}\",\n \"options\": {}\n },\n \"credentials\": {\n \"googleCloudNaturalLanguageOAuth2Api\": \"\"\n },\n \"typeVersion\": 1\n },\n {\n \"name\": \"IF\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 400,\n 400\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [\n {\n \"value1\": \"={{$node[\\\"Google Cloud Natural Language\\\"].json[\\\"documentSentiment\\\"][\\\"score\\\"]}}\",\n \"operation\": \"larger\"\n }\n ]\n }\n },\n \"typeVersion\": 1\n },\n {\n \"name\": \"Notion\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 600,\n 300\n ],\n \"parameters\": {\n \"resource\": \"databasePage\",\n \"databaseId\": \"b7d1130a-3756-4bb3-aa56-0c77bf416437\",\n \"propertiesUi\": {\n \"propertyValues\": [\n {\n \"key\": \"Name|title\",\n \"title\": \"={{$node[\\\"Typeform Trigger\\\"].json[\\\"Name\\\"]}}\"\n },\n {\n \"key\": \"Feedback|rich_text\",\n \"textContent\": \"={{$node[\\\"Typeform Trigger\\\"].json[\\\"Any suggestions for us? \\\"]}}\"\n }\n ]\n }\n },\n \"credentials\": {\n \"notionApi\": \"\"\n },\n \"typeVersion\": 1\n },\n {\n \"name\": \"Slack\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n 800,\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"FU3MrLkaTHmfdG4n\",\n \"meta\": {\n \"instanceId\": \"3294023dd650d95df294922b9d55d174ef26f4a2e6cce97c8a4ab5f98f5b8c7b\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Hugging Face to Notion\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"32d5bfee-97f1-4e92-b62e-d09bdd9c3821\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -2640,\n -300\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"weeks\",\n \"triggerAtDay\": [\n 1,\n 2,\n 3,\n 4,\n 5\n ],\n \"triggerAtHour\": 8\n }\n ]\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"b1f4078e-ac77-47ec-995c-f52fd98fafef\",\n \"name\": \"If\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n -1360,\n -280\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"7094d6db-1fa7-4b59-91cf-6bbd5b5f067e\",\n \"operator\": {\n \"type\": \"object\",\n \"operation\": \"empty\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json }}\",\n \"rightValue\": \"\"\n }\n ]\n }\n },\n \"typeVersion\": 2.2\n },\n {\n \"id\": \"afac08e1-b629-4467-86ef-907e4a5e8841\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n -1760,\n -300\n ],\n \"parameters\": {\n \"options\": {\n \"reset\": false\n }\n },\n \"typeVersion\": 3\n },\n {\n \"id\": \"807ba450-9c89-4f88-aa84-91f43e3adf...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"mb2MU4xOaT3NrvqN\",\n \"meta\": {\n \"instanceId\": \"e7a28cc5c8c9de1976820e0f309940cf456344d9daf5360a4975186f3d8a107f\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Automate LinkedIn Posts with AI\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"7e8ec5cc-0216-4897-8a40-c44f9bbe5a9b\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 580,\n 540\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"triggerAtHour\": 15\n }\n ]\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"dbde804d-9c84-4023-9e05-7506cd38a460\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 760,\n 225.26841303066982\n ],\n \"parameters\": {\n \"color\": 6,\n \"width\": 652.1201853643956,\n \"height\": 542.0867486896091,\n \"content\": \"## Fetch the day's post from my Notion database\\nA Notion _\\\"database\\\"_ is just a table on a Notion Page.\\nThis table will have various rows, for which a minimum of three columns are required:\\n- Name\\n- Status\\n- Date\\n\\nThe Date column is the most important, which will dictate when that row from your Notion table containing the text should be posted.\\n\\nNOTE: each post is required to have a copy and pasted image!\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"95205e81-e28d-48f9-b3fb-bcf361f7799e\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1520,\n 220\n ],\n \"parameters\": {\n \"width\": 860.9829802912225,\n \"height\": 540.7357881640437,\n \"content\": \"## Format Post\\nSend the post to OpenAI, where it will attempt to ask your assistant how to take the incoming blob of text, and soup it up into something more palpable for LinkedIn engagement.\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"4bc2a550-a8ad-4b25-ac53-0...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"9052b5b2-1e2d-425c-92e5-1ed51323e71c\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 616.7964812508943,\n \"height\": 231.27721611949534,\n \"content\": \"={{ $env.UNDEFINED_ENV_VAR }}\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"b4a83f76-2bad-4bbe-9b7f-1df684166035\",\n \"name\": \"Notion\",\n \"type\": \"n8n-nodes-base.notion\",\n \"onError\": \"continueErrorOutput\",\n \"position\": [\n 1280,\n 480\n ],\n \"parameters\": {\n \"simple\": false,\n \"resource\": \"database\",\n \"databaseId\": {\n \"__rl\": true,\n \"mode\": \"url\",\n \"value\": \"={{ $json.chatInput.match(/https?:\\\\/\\\\/[^\\\\s/$.?#].[^\\\\s]*/g)[0] }}\"\n }\n },\n \"credentials\": {\n \"notionApi\": {\n \"id\": \"aDS2eHXMOtsMrQnJ\",\n \"name\": \"Nathan's notion account\"\n }\n },\n \"typeVersion\": 2.2\n },\n {\n \"id\": \"39537c95-5ca0-47a9-b2bf-2c0134d3f236\",\n \"name\": \"Return success to chat\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 3540,\n 740\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"bebcb43c-461d-40d7-af83-436d94733622\",\n \"name\": \"output\",\n \"type\": \"string\",\n \"value\": \"=Created workflow:\\n```\\n{{ $json.generatedWorkflow }}\\n```\\n\\n\\u261d\\ufe0f Copy and paste JSON above into an n8n workflow canvas (on v 1.52.0+)\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4\n },\n {\n \"id\": \"5ae0fcfb-c3e2-443d-9a0c-25e7b17dc189\",\n \"name\": \"Auto-fixing Output Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserAutofixing\",\n \"position\": [\n 2340,\n 640\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n ...", "input": "", "output": "In node 'Sticky Note', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `# Generate new workflow version for specific notion db schema\nInput a Notion database URL and get an AI Assistant chatbot workflow for it based on this template: https://n8n.io/workflows/2413-notion-knowledge-base-ai-assistant/\n\nProject in notion: https://www.notion.so/n8n/Chat-with-notion-database-84eec91b74dd4e36ba97edda17c2c306`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"205b3bc06c96f2dc835b4f00e1cbf9a937a74eeb3b47c99d0c30b0586dbf85aa\"\n },\n \"nodes\": [\n {\n \"id\": \"d1d4291e-fa37-43d0-81e0-f0a594371426\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 680,\n 620\n ],\n \"parameters\": {\n \"model\": \"={{ $env.UNDEFINED_ENV_VAR }}\",\n \"options\": {\n \"timeout\": 25000,\n \"temperature\": 0.7\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"AzPPV759YPBxJj3o\",\n \"name\": \"Max's DevRel OpenAI account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"68e6805b-9c19-4c9e-a300-8983f2b7c28a\",\n \"name\": \"Search notion database\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolHttpRequest\",\n \"position\": [\n 980,\n 620\n ],\n \"parameters\": {\n \"url\": \"=https://api.notion.com/v1/databases/{{ $json.notionID }}/query\",\n \"method\": \"POST\",\n \"jsonBody\": \"{\\n \\\"filter\\\": {\\n \\\"or\\\": [\\n {\\n \\\"property\\\": \\\"question\\\",\\n \\\"rich_text\\\": {\\n \\\"contains\\\": \\\"{keyword}\\\"\\n }\\n },\\n {\\n \\\"property\\\": \\\"tags\\\",\\n \\\"multi_select\\\": {\\n \\\"contains\\\": \\\"{tag}\\\"\\n }\\n }\\n ]\\n },\\n \\\"sorts\\\": [\\n {\\n \\\"property\\\": \\\"updated_at\\\",\\n \\\"direction\\\": \\\"ascending\\\"\\n }\\n ]\\n}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"predefinedCredentialType\",\n \"toolDescription\": \"=Use this tool to search the \\\"\\\" Notion app database.\\n\\nIt is structured with question and answer format. \\nYou can filter query result by:\\n- By keyword\\n- filter by tag.\\n\\nKeyword and Tag have an OR relationship not AND.\\n\\n\",\n \"nodeCredentialType\": \"notionApi\",\n \"placeholderDefinitions\": {\n \"values\": [\n {\n \"name\": \"keyword\",\n \"description\": \"Searches question of the record. Use one keyword at a time.\"\n },\n {\n \"name\":...", "input": "", "output": "In node 'OpenAI Chat Model', the parameter 'model' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `gpt-4o`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'OpenAI Chat Model' parameter 'model'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"vOSQYz747gtzj1zF\",\n \"meta\": {\n \"instanceId\": \"d16fb7d4b3eb9b9d4ad2ee6a7fbae593d73e9715e51f583c2a0e9acd1781c08e\",\n \"templateId\": \"2290\"\n },\n \"name\": \"Prod: Notion to Vector Store - Dimension 768\",\n \"tags\": [\n {\n \"id\": \"Vs70y1mj5s2XzUap\",\n \"name\": \"Production\",\n \"createdAt\": \"2024-12-24T14:42:00.549Z\",\n \"updatedAt\": \"2024-12-24T14:42:00.549Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"6d2579b8-376f-44c3-82e8-9dc608efd98b\",\n \"name\": \"Token Splitter\",\n \"type\": \"@n8n/n8n-nodes-langchain.textSplitterTokenSplitter\",\n \"position\": [\n 2200,\n 800\n ],\n \"parameters\": {\n \"chunkSize\": 256,\n \"chunkOverlap\": 30\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"79b3c147-08ca-4db4-9116-958a868cbfd9\",\n \"name\": \"Notion - Page Added Trigger\",\n \"type\": \"n8n-nodes-base.notionTrigger\",\n \"position\": [\n 1080,\n 360\n ],\n \"parameters\": {\n \"simple\": false,\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n },\n \"databaseId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"17b11930-c10f-8000-a545-ece7cade03f9\",\n \"cachedResultUrl\": \"https://www.notion.so/17b11930c10f8000a545ece7cade03f9\",\n \"cachedResultName\": \"Embeddings\"\n }\n },\n \"credentials\": {\n \"notionApi\": {\n \"id\": \"oktwaKqpFztx5hYX\",\n \"name\": \"Auto: Notion\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"e4a6f524-e3f5-4d02-949a-8523f2d21965\",\n \"name\": \"Notion - Retrieve Page Content\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 1300,\n 360\n ],\n \"parameters\": {\n \"blockId\": {\n \"__rl\": true,\n \"mode\": \"url\",\n \"value\": \"={{ $json.url }}\"\n },\n \"resource\": \"block\",\n \"operation\": \"getAll\",\n \"returnAll\": true\n },...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"DvP6IHWymTIVg8Up\",\n \"meta\": {\n \"instanceId\": \"b9faf72fe0d7c3be94b3ebff0778790b50b135c336412d28fd4fca2cbbf8d1f5\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Store Notion's Pages as Vector Documents into Supabase with OpenAI\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"495609cd-4ca0-426d-8413-69e771398188\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 480,\n 400\n ],\n \"parameters\": {\n \"width\": 637.1327972412109,\n \"height\": 1113.7434387207031,\n \"content\": \"## Store Notion's Pages as Vector Documents into Supabase\\n\\n**This workflow assumes you have a Supabase project with a table that has a vector column. If you don't have it, follow the instructions here:** [Supabase Vector Columns Guide](https://supabase.com/docs/guides/ai/vector-columns)\\n\\n## Workflow Description\\n\\nThis workflow automates the process of storing Notion pages as vector documents in a Supabase database with a vector column. The steps are as follows:\\n\\n1. **Notion Page Added Trigger**:\\n - Monitors a specified Notion database for newly added pages. You can create a specific Notion database where you copy the pages you want to store in Supabase.\\n - Node: `Page Added in Notion Database`\\n\\n2. **Retrieve Page Content**:\\n - Fetches all block content from the newly added Notion page.\\n - Node: `Get Blocks Content`\\n\\n3. **Filter Non-Text Content**:\\n - Excludes blocks of type \\\"image\\\" and \\\"video\\\" to focus on textual content.\\n - Node: `Filter - Exclude Media Content`\\n\\n4. **Summarize Content**:\\n - Concatenates the Notion blocks content to create a single text for embedding.\\n - Node: `Summarize - Concatenate Notion's blocks content`\\n\\n5. **Store in Supabase**:\\n - Stores the processed documents and their embeddings into a Supabase table with a vector column.\\n - Node: `Store Documents in Supabase`\\n\\n6. **Generate Embeddings**:\\n - Utilizes OpenAI's API to generate embeddings f...", "input": "", "output": "The node 'Notion - Page Added Trigger' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Notion - Page Added Trigger'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"30r9acI1XVIIwAMi\",\n \"meta\": {\n \"instanceId\": \"378c072a34d9e63949fd9cf26b8d28ff276a486e303f0d8963f23e1d74169c1b\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"mails2notion V2\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"3f649e97-e568-47ff-b175-bf63d859d95f\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 2560,\n 240\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {\n \"temperature\": 0,\n \"responseFormat\": \"json_object\"\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"mrgqM64cM1L88xC6\",\n \"name\": \"octionicsolutions@gmail.com\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"bd60c65f-ba6c-4dcb-8d09-b29f5dd475b7\",\n \"name\": \"Calculator\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolCalculator\",\n \"disabled\": true,\n \"position\": [\n 2700,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"d052786a-92a0-4f9b-9867-2dd64ada8034\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserStructured\",\n \"position\": [\n 2820,\n 240\n ],\n \"parameters\": {\n \"jsonSchemaExample\": \"{\\n \\\"summary\\\": \\\"Text\\\",\\n \\\"meta\\\": {\\n \\\"sender\\\": \\\"Text\\\",\\n \\\"subject\\\": \\\"Text\\\",\\n \\\"date\\\": \\\"Text\\\"\\n }\\n}\"\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"50d396fd-d3b0-4fea-99d7-18bd4773cb20\",\n \"name\": \"Add Label \\\"Processed\\\"\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 3860,\n 20\n ],\n \"parameters\": {\n \"labelIds\": \"={{ $('Globals').item.json.processedLabelID }}\",\n \"messageId\": \"={{ $('Gmail Trigger').item.json.id }}\",\n \"operation\": \"addLabels\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"9LLNsPzyDJlQFgdw\",\n \"name\": \"Gmail (mails2notion)\"\n }...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"JxFP8FJ2W7e4Kmqn\",\n \"meta\": {\n \"instanceId\": \"fb8bc2e315f7f03c97140b30aa454a27bc7883a19000fa1da6e6b571bf56ad6d\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"RAG on living data\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"49086cdf-a38c-4cb8-9be9-d3e6ea5bdde5\",\n \"name\": \"Embeddings OpenAI\",\n \"type\": \"@n8n/n8n-nodes-langchain.embeddingsOpenAi\",\n \"position\": [\n 1740,\n 1040\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"X7Jf0zECd3IkQdSw\",\n \"name\": \"OpenAi (octionicsolutions)\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"f0670721-92f4-422a-99c9-f9c2aa6fe21f\",\n \"name\": \"Token Splitter\",\n \"type\": \"@n8n/n8n-nodes-langchain.textSplitterTokenSplitter\",\n \"position\": [\n 2380,\n 540\n ],\n \"parameters\": {\n \"chunkSize\": 500\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"fe80ecac-4f79-4b07-ad8e-60ab5f980cba\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 1180,\n -200\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3\n },\n {\n \"id\": \"81b79248-08e8-4214-872b-1796e51ad0a4\",\n \"name\": \"Question and Answer Chain\",\n \"type\": \"@n8n/n8n-nodes-langchain.chainRetrievalQa\",\n \"position\": [\n 744,\n 495\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.3\n },\n {\n \"id\": \"e78f7b63-baef-4834-8f1b-aecfa9102d6c\",\n \"name\": \"Vector Store Retriever\",\n \"type\": \"@n8n/n8n-nodes-langchain.retrieverVectorStore\",\n \"position\": [\n 844,\n 715\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"1d5ffbd0-b2cf-4660-a291-581d18608ecd\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 704,\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"26ba763460b97c249b82942b23b6384876dfeb9327513332e743c5f6219c2b8e\"\n },\n \"nodes\": [\n {\n \"id\": \"bec5c6c1-52d4-4665-b814-56a6bb82ea6b\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 800,\n 660\n ],\n \"parameters\": {\n \"options\": {\n \"temperature\": 0\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"d3e057d1-df44-4ac3-ac46-fc2b04e3de78\",\n \"name\": \"Get Meeting ConferenceRecords\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 20,\n 580\n ],\n \"parameters\": {\n \"url\": \"https://meet.googleapis.com/v2/conferenceRecords\",\n \"options\": {},\n \"sendQuery\": true,\n \"authentication\": \"predefinedCredentialType\",\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"filter\",\n \"value\": \"=space.meeting_code={{ $json.conferenceData.conferenceId }}\"\n }\n ]\n },\n \"nodeCredentialType\": \"googleOAuth2Api\"\n },\n \"credentials\": {\n \"googleOAuth2Api\": {\n \"id\": \"kgVOfvlBIWTWXthG\",\n \"name\": \"Google Meets Oauth2 API\"\n }\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"831668fd-04ab-4144-bec0-c733902f2a13\",\n \"name\": \"Get Meeting Transcript Location\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 200,\n 580\n ],\n \"parameters\": {\n \"url\": \"=https://meet.googleapis.com/v2/{{ $json.conferenceRecords[0].name }}/transcripts\",\n \"options\": {},\n \"authentication\": \"predefinedCredentialType\",\n \"nodeCredentialType\": \"googleOAuth2Api\"\n },\n \"credentials\": {\n \"googleOAuth2Api\": {\n \"id\": \"kgVOfvlBIWTWXthG\",\n \"name\": ...", "input": "", "output": "The workflow has a broken data flow. The node 'Attendees List' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Attendees List'.\n\n**Impact**: Data from 'Attendees List' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Attendees List' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Attendees List\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Attendees List' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"84ba6d895254e080ac2b4916d987aa66b000f88d4d919a6b9c76848f9b8a7616\",\n \"templateId\": \"2358\"\n },\n \"nodes\": [\n {\n \"id\": \"fb774d11-da48-4481-ad4e-8c93274f123e\",\n \"name\": \"Send message\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n 2340,\n 580\n ],\n \"parameters\": {\n \"text\": \"=Data from webhook: {{ $json.query.email }}\",\n \"select\": \"channel\",\n \"channelId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"C079GL6K3U6\",\n \"cachedResultName\": \"general\"\n },\n \"otherOptions\": {},\n \"authentication\": \"oAuth2\"\n },\n \"typeVersion\": 2.2\n },\n {\n \"id\": \"5a3ad8f1-eba7-4076-80fc-0c1237aab50b\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 1163.3132111854613,\n \"height\": 677.0358687053997,\n \"content\": \"![h](https://i.postimg.cc/9XLvL5dL/slide-sf-talk.png#full-width)\",\n \"_injected_number_field\": \"not_a_number\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"01c59396-0fef-4d1c-aa1f-787669300650\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1860,\n 240\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 437,\n \"height\": 99,\n \"content\": \"# What is n8n?\\n### Low-code Automation Platform for technical teams\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"0bdd4a35-7f5c-443c-a14a-4e6f7ed18712\",\n \"name\": \"Execute JavaScript\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 2340,\n 380\n ],\n \"parameters\": {\n \"jsCode\": \"// Loop over input items and add a new field called 'myNewField' to the JSON of each one\\nfor (const item of $input.all()) {\\n item.json.myNewField = 1;\\n}\\n\\nreturn $input.all();\"\n },\n \"...", "input": "", "output": "The node 'Sticky Note2' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note2'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9\"\n },\n \"nodes\": [\n {\n \"id\": \"939bb301-5e12-4d5b-9a56-61a61cca5f0d\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 640,\n 460\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-mini\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"372777e8-ce90-4dea-befc-ac1b2eb4729f\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryBufferWindow\",\n \"position\": [\n 780,\n 460\n ],\n \"parameters\": {},\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"7a8f0ad1-1c00-4043-b3e5-c88521140a1a\",\n \"name\": \"SerpAPI\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolSerpApi\",\n \"position\": [\n 920,\n 460\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"serpApi\": {\n \"id\": \"aJCKjxx6U3K7ydDe\",\n \"name\": \"SerpAPI account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"a7624108-e3da-4193-a625-887314216b8b\",\n \"name\": \"When chat message received\",\n \"type\": \"@n8n/n8n-nodes-langchain.chatTrigger\",\n \"position\": [\n 360,\n 240\n ],\n \"webhookId\": \"53c136fe-3e77-4709-a143-fe82746dd8b6\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"6b8b7de8-fe3f-43b5-97ce-a52a9e44eb5e\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n 680,\n 240\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.6\n },\n {\n \"parameters\": {\n \"url\": \"https://api.example.com/data\",\n \"method\": \"GET\",\n \"options\": {}\n }...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"d44489b8-8cb7-4776-8c16-a8bb01e52171\",\n \"name\": \"OpenAI1\",\n \"type\": \"@n8n/n8n-nodes-langchain.openAi\",\n \"position\": [\n 300,\n -300\n ],\n \"parameters\": {\n \"text\": \"={{ \\n JSON.parse($('Insert Transcription Part').item.json.dialog)\\n .filter(item => item.date_updated && new Date(item.date_updated) >= new Date($('Insert Transcription Part').item.json.date_updated))\\n .sort((a, b) => a.order - b.order)\\n .map(item => `${item.words}\\\\n${item.speaker}`)\\n .join('\\\\n\\\\n')\\n}}\",\n \"memory\": \"threadId\",\n \"prompt\": \"define\",\n \"options\": {},\n \"resource\": \"assistant\",\n \"threadId\": \"={{ $json.thread_id }}\",\n \"assistantId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"asst_D5t6bNnNpenmfC7PmvywMqyR\",\n \"cachedResultName\": \"5minAI - Realtime Agent\"\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"SphXAX7rlwRLkiox\",\n \"name\": \"Test club key\"\n }\n },\n \"typeVersion\": 1.6\n },\n {\n \"id\": \"3425f1c1-ad68-495e-bb9a-95ea92e7cf23\",\n \"name\": \"Insert Transcription Part\",\n \"type\": \"n8n-nodes-base.postgres\",\n \"position\": [\n -120,\n -300\n ],\n \"parameters\": {\n \"query\": \"UPDATE public.data\\nSET output = jsonb_set(\\n output,\\n '{dialog}', \\n (\\n COALESCE(\\n (output->'dialog')::jsonb, \\n '[]'::jsonb -- Initialize as empty array if dialog does not exist\\n ) || jsonb_build_object(\\n 'order', (COALESCE(jsonb_array_length(output->'dialog'), 0) + 1), -- Calculate the next order\\n 'words', '{{ $('Webhook2').item.json.body.data.transcript.words.map(word => word.text.replace(/'/g, \\\"''\\\")).join(\\\" \\\") }}',\\n 'speaker', '{{ $('Webhook2').item.json.body.data.transcript.speaker }}',\\n 'language', '{{ $('Webhook2').item.json.body.data.transcript.language }}',\\n 'speaker_id', ('{{ $('Webhook2').item.json.body.data.transcript.speaker_id }}')::int,\\n 'da...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"dsKnCFwysROIA4MT\",\n \"meta\": {\n \"instanceId\": \"03524270bab2c2dfd5b82778cd1355e56cdda3cf098bf2dfd865e18164c00485\"\n },\n \"name\": \"Agent with custom HTTP Request\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"e7374976-f3c1-4f60-ae57-9eec65444216\",\n \"name\": \"On new manual Chat Message\",\n \"type\": \"@n8n/n8n-nodes-langchain.manualChatTrigger\",\n \"position\": [\n 763,\n 676\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"97e84a23-9536-43cd-94e9-b8166be8ed32\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 983,\n 896\n ],\n \"parameters\": {\n \"model\": \"gpt-4-1106-preview\",\n \"options\": {\n \"timeout\": 300000,\n \"temperature\": 0.7,\n \"frequencyPenalty\": 0.3\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"wPFAzp4ZHdLLwvkK\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"63d98361-8978-4042-84e7-53a0e226f946\",\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"onError\": \"continueRegularOutput\",\n \"position\": [\n 1360,\n 1200\n ],\n \"parameters\": {\n \"url\": \"={{ encodeURI($json.query.url) }}\",\n \"options\": {\n \"response\": {\n \"response\": {\n \"neverError\": true\n }\n },\n \"allowUnauthorizedCerts\": true\n }\n },\n \"typeVersion\": 4.1,\n \"alwaysOutputData\": false\n },\n {\n \"id\": \"17d4b5ae-f5d3-4793-8419-d3c879f7f50d\",\n \"name\": \"Exctract HTML Body\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1780,\n 1480\n ],\n \"parameters\": {\n \"fields\": {\n \"values\": [\n {\n \"name\": \"HTML\",\n \"stringValue\": \"={{ $json?.data.match(/]*>([\\\\s\\\\S]*?)<\\\\/body>/i)[1] }}\"\n }\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"6a2a7715680b8313f7cb4676321c5baa46680adfb913072f089f2766f42e43bd\"\n },\n \"nodes\": [\n {\n \"id\": \"f577f6bd-b1a4-48ec-9329-7bccc3fc1463\",\n \"name\": \"Get All files\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 400,\n -100\n ],\n \"parameters\": {\n \"url\": \"=https://yqtvdcvjboenlblgcivl.supabase.co/storage/v1/object/list/private\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"prefix\\\": \\\"\\\",\\n \\\"limit\\\": 100,\\n \\\"offset\\\": 0,\\n \\\"sortBy\\\": {\\n \\\"column\\\": \\\"name\\\",\\n \\\"order\\\": \\\"asc\\\"\\n }\\n}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"predefinedCredentialType\",\n \"nodeCredentialType\": \"supabaseApi\"\n },\n \"credentials\": {\n \"supabaseApi\": {\n \"id\": \"t8AQJzvZvrOMDLec\",\n \"name\": \"Supabase account My Airtable Gen\"\n }\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"10693bc8-560d-4cf6-8bd0-2fe3f4d863d1\",\n \"name\": \"Default Data Loader\",\n \"type\": \"@n8n/n8n-nodes-langchain.documentDefaultDataLoader\",\n \"position\": [\n 1780,\n 100\n ],\n \"parameters\": {\n \"options\": {\n \"metadata\": {\n \"metadataValues\": [\n {\n \"name\": \"=file_id\",\n \"value\": \"={{ $json.id }}\"\n }\n ]\n }\n },\n \"jsonData\": \"={{ $('Merge').item.json.data ?? $('Merge').item.json.text }}\",\n \"jsonMode\": \"expressionData\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"49428060-e707-4269-8344-77b301f56f7c\",\n \"name\": \"Recursive Character Text Splitter\",\n \"type\": \"@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter\",\n \"position\": [\n 1780,\n 280\n ],\n \"parameters\": {\n \"options\": {},\n \"chunkSize\": 500,\n \"chunkOverlap\": 200\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"PoiRk5w0xd1ysq4U\",\n \"meta\": {\n \"instanceId\": \"b9faf72fe0d7c3be94b3ebff0778790b50b135c336412d28fd4fca2cbbf8d1f5\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"AI Agent to chat with you Search Console Data, using OpenAI and Postgres\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"9ee6710b-19b7-4bfd-ac2d-0fe1e2561f1d\",\n \"name\": \"Postgres Chat Memory\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryPostgresChat\",\n \"position\": [\n 1796,\n 220\n ],\n \"parameters\": {\n \"tableName\": \"insights_chat_histories\"\n },\n \"credentials\": {\n \"postgres\": {\n \"id\": \"\",\n \"name\": \"Postgres\"\n }\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"eb9f07e9-ded1-485c-9bf3-cf223458384a\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 1356,\n 240\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {\n \"maxTokens\": 16000\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"\",\n \"name\": \"OpenAi\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"1d3d6fb7-a171-4590-be42-df7eb0c208ed\",\n \"name\": \"Set fields\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 940,\n -20\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"9f47b322-e42f-42d7-93eb-a57d22adb849\",\n \"name\": \"chatInput\",\n \"type\": \"string\",\n \"value\": \"={{ $json.body?.chatInput || $json.chatInput }}\"\n },\n {\n \"id\": \"73ec4dd0-e986-4f60-9dca-6aad2f86bdeb\",\n \"name\": \"sessionId\",\n \"type\": \"string\",\n \"value\": \"={{ $json.body?.sessionId || $json.sessionId }}\"\n },\n {\n \"id\": \"4b688c46-b60f-4f0a-83d8-e283f2d7055c\",\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"558d88703fb65b2d0e44613bc35916258b0f0bf983c5d4730c00c424b77ca36a\",\n \"templateId\": \"2931\",\n \"templateCredsSetupCompleted\": true\n },\n \"nodes\": [\n {\n \"id\": \"100f23d3-cbe9-458a-9ef1-7cc5fcba8f3c\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 640,\n 540\n ],\n \"parameters\": {\n \"width\": 300,\n \"height\": 205,\n \"content\": \"### The conversation history(last 20 messages) is stored in a buffer memory\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"b48f989f-deb9-479c-b163-03f098d00c9c\",\n \"name\": \"On new manual Chat Message\",\n \"type\": \"@n8n/n8n-nodes-langchain.manualChatTrigger\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"add8e8df-6b2a-4cbd-84e7-3b006733ef7d\",\n \"name\": \"Wikipedia\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolWikipedia\",\n \"position\": [\n 1180,\n 640\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"a97454a8-001d-4986-9cb5-83176229ea70\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 980,\n 540\n ],\n \"parameters\": {\n \"width\": 300,\n \"height\": 205,\n \"content\": \"### Tools which agent can use to accomplish the task\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"52b57e72-8cc9-4865-9a00-d03b2e7f1b92\",\n \"name\": \"Sticky Note6\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 600,\n 160\n ],\n \"parameters\": {\n \"width\": 422,\n \"height\": 211,\n \"content\": \"### Conversational agent will utilise available tools to answer the prompt. \"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"8f0653ab-376b-40b9-b876-e608defdeb89\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryBufferWindow...", "input": "", "output": "The workflow has a broken data flow. The node 'Weather HTTP Request' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Weather HTTP Request'.\n\n**Impact**: Data from 'Weather HTTP Request' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Weather HTTP Request' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Weather HTTP Request\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Weather HTTP Request' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ITH6r6UYtlCyUcpj\",\n \"meta\": {\n \"instanceId\": \"b9faf72fe0d7c3be94b3ebff0778790b50b135c336412d28fd4fca2cbbf8d1f5\"\n },\n \"name\": \"AI Agent : Google calendar assistant using OpenAI\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"2e670a54-f789-4c8b-abba-ae35c458f5ed\",\n \"name\": \"When chat message received\",\n \"type\": \"@n8n/n8n-nodes-langchain.chatTrigger\",\n \"position\": [\n -280,\n 0\n ],\n \"webhookId\": \"5308edc9-738b-4aae-a789-214e2392579a\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"96bf895f-a18c-4a4c-bc26-3ec5d2372de5\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 160,\n 820\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"\",\n \"name\": \"OpenAi\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"270176df-9c2d-4f1a-b017-9349cb249341\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryBufferWindow\",\n \"position\": [\n 580,\n 820\n ],\n \"parameters\": {},\n \"typeVersion\": 1.3\n },\n {\n \"id\": \"5cdece35-bd69-4c77-b240-963df8781d64\",\n \"name\": \"Google Calendar - Get Events\",\n \"type\": \"n8n-nodes-base.googleCalendarTool\",\n \"position\": [\n 960,\n 800\n ],\n \"parameters\": {\n \"options\": {\n \"timeMax\": \"={{ $fromAI('end_date') }}\",\n \"timeMin\": \"={{ $fromAI('start_date') }}\"\n },\n \"calendar\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"\",\n \"cachedResultName\": \"\"\n },\n \"operation\": \"getAll\",\n \"descriptionType\": \"manual\",\n \"toolDescription\": \"Use this tool when you\\u2019re asked to retrieve events data.\"\n },\n \"credentials\": {\n \"googleCalendarOAuth2Api\": {\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"t1P14FvfibKYCh3E\",\n \"meta\": {\n \"instanceId\": \"a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"HR-focused automation pipeline with AI\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"b1092f93-502c-4af0-962e-2b69311b92a3\",\n \"name\": \"On form submission\",\n \"type\": \"n8n-nodes-base.formTrigger\",\n \"position\": [\n -520,\n -200\n ],\n \"webhookId\": \"2a87705d-8ba1-41f1-80ef-85f364ce253e\",\n \"parameters\": {\n \"options\": {},\n \"formTitle\": \"Send CV\",\n \"formFields\": {\n \"values\": [\n {\n \"fieldLabel\": \"Name\",\n \"placeholder\": \"Name\",\n \"requiredField\": true\n },\n {\n \"fieldType\": \"email\",\n \"fieldLabel\": \"Email\",\n \"placeholder\": \"Email\",\n \"requiredField\": true\n },\n {\n \"fieldType\": \"file\",\n \"fieldLabel\": \"CV\",\n \"requiredField\": true,\n \"acceptFileTypes\": \".pdf\"\n }\n ]\n }\n },\n \"typeVersion\": 2.2\n },\n {\n \"id\": \"77edfe2a-4c6a-48c8-8dc9-b275491be090\",\n \"name\": \"Extract from File\",\n \"type\": \"n8n-nodes-base.extractFromFile\",\n \"position\": [\n -160,\n -200\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"pdf\",\n \"binaryPropertyName\": \"CV\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"ebf2e194-3515-4c0a-8745-790b63bf336f\",\n \"name\": \"Qualifications\",\n \"type\": \"@n8n/n8n-nodes-langchain.informationExtractor\",\n \"position\": [\n 160,\n -100\n ],\n \"parameters\": {\n \"text\": \"={{ $json.text }}\",\n \"options\": {\n \"systemPromptTemplate\": \"You are an expert extraction algorithm.\\nOnly extract relevant information from the text.\\nIf you do not know the value of an attribute asked to extract, ...", "input": "", "output": "The workflow has a broken data flow. The node 'Personal Data' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Personal Data'.\n\n**Impact**: Data from 'Personal Data' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Personal Data' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Personal Data\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Personal Data' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7\"\n },\n \"nodes\": [\n {\n \"id\": \"4c52efcf-039b-4550-8a63-3d3d4dde488b\",\n \"name\": \"On new manual Chat Message\",\n \"type\": \"@n8n/n8n-nodes-langchain.manualChatTrigger\",\n \"position\": [\n 740,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"adb528f1-b87b-4bb2-99e1-776fd839522e\",\n \"name\": \"Execute Workflow Trigger\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n 680,\n 940\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"092cf737-5b53-4fc8-82f5-c775b77ea0bd\",\n \"name\": \"Hacker News\",\n \"type\": \"n8n-nodes-base.hackerNews\",\n \"position\": [\n 900,\n 940\n ],\n \"parameters\": {\n \"limit\": 50,\n \"resource\": \"all\",\n \"additionalFields\": {}\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"a0805137-630c-4065-826e-88afa000660f\",\n \"name\": \"Clean up data\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1120,\n 940\n ],\n \"parameters\": {\n \"fields\": {\n \"values\": [\n {\n \"name\": \"title\",\n \"stringValue\": \"={{ $json._highlightResult.title.value }}\"\n },\n {\n \"name\": \"points\",\n \"type\": \"numberValue\",\n \"numberValue\": \"={{ $json.points }}\"\n },\n {\n \"name\": \"url\",\n \"stringValue\": \"={{ $json.url }}\"\n },\n {\n \"name\": \"created_at\",\n \"stringValue\": \"={{ $json.created_at }}\"\n },\n {\n \"name\": \"author\",\n \"stringValue\": \"={{ $json.author }}\"\n }\n ]\n },\n \"include\": \"none\",\n \"options\": {}\n },\n \"typeVersion\": 3.2\n },\n {\n \"id\": \"e1b255f4-e970-42d6-9870-4e302...", "input": "", "output": "The workflow has a broken data flow. The node 'Custom tool to call the wf below' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Custom tool to call the wf below'.\n\n**Impact**: Data from 'Custom tool to call the wf below' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Custom tool to call the wf below' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Custom tool to call the wf below\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Custom tool to call the wf below' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9\"\n },\n \"nodes\": [\n {\n \"id\": \"3a3bcb2d-cb94-40d8-8b9e-322ea9d27f6e\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1000,\n 640\n ],\n \"parameters\": {\n \"width\": 300,\n \"height\": 185,\n \"content\": \"### The conversation history(last 20 messages) is stored in a buffer memory\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"e279af43-b003-4499-b221-58716e735379\",\n \"name\": \"On new manual Chat Message\",\n \"type\": \"@n8n/n8n-nodes-langchain.manualChatTrigger\",\n \"position\": [\n 740,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"f4f8bf03-a43e-4a1f-a592-cd0f8408f552\",\n \"name\": \"Chat OpenAI\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 840,\n 653\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-mini\",\n \"options\": {\n \"temperature\": 0.3\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"66b60f68-bae8-4958-ac81-03883f563ab3\",\n \"name\": \"Wikipedia\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolWikipedia\",\n \"position\": [\n 1480,\n 693\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"70f6b43b-9290-4fbc-992f-0895d4578c9f\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1340,\n 633\n ],\n \"parameters\": {\n \"width\": 300,\n \"height\": 185,\n \"content\": \"### Tools which agent can use to accomplish the task\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"8696269f-6556-41f1-bbe4-5597e4e46e02\",\n \"name\": \"Sticky Note6\",\n \"type\": \"n8n-nodes-base.stick...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"tMiRJYDrXzpKysTX\",\n \"meta\": {\n \"instanceId\": \"2723a3a635131edfcb16103f3d4dbaadf3658e386b4762989cbf49528dccbdbd\",\n \"templateId\": \"1960\"\n },\n \"name\": \"Stock Q&A Workflow\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"ec3b86be-4113-4fd5-8365-02adb67693e9\",\n \"name\": \"Embeddings OpenAI1\",\n \"type\": \"@n8n/n8n-nodes-langchain.embeddingsOpenAi\",\n \"position\": [\n 1960,\n 720\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"fOF5kro9BJ6KMQ7n\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"42fd8020-3861-4d0f-a7a2-70e2c35f0bed\",\n \"name\": \"On new manual Chat Message\",\n \"type\": \"@n8n/n8n-nodes-langchain.manualChatTrigger\",\n \"disabled\": true,\n \"position\": [\n 1620,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"a9b48d04-691e-4537-90f8-d7a4aa6153af\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1560,\n 120\n ],\n \"parameters\": {\n \"color\": 6,\n \"width\": 903.0896125323785,\n \"height\": 733.5099670584011,\n \"content\": \"## Step 2: Setup the Q&A \\n### The incoming message from the webhook is queried from the Supabase Vector Store. The response is provided in the response webhook. \"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"472b4800-745a-4337-9545-163247f7e9ae\",\n \"name\": \"Retrieval QA Chain\",\n \"type\": \"@n8n/n8n-nodes-langchain.chainRetrievalQa\",\n \"position\": [\n 1880,\n 240\n ],\n \"parameters\": {\n \"query\": \"={{ $json.body.input }}\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"e58bd82d-abc6-44ed-8e93-ec5436126d66\",\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 2280,\n 240\n ],\n \"parameters\": {\n ...", "input": "", "output": "The workflow has a broken data flow. The node 'Webhook1' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Webhook1'.\n\n**Impact**: Data from 'Webhook1' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Webhook1' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Webhook1\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Webhook1' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"82a17fa4a0b8e81bf77e5ab999d980f392150f2a9541fde626dc5f74857b1f54\"\n },\n \"nodes\": [\n {\n \"id\": \"4ea39a4f-d8c1-438f-9738-bfbb906a3d7a\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1200,\n 1020\n ],\n \"parameters\": {\n \"width\": 253,\n \"height\": 342,\n \"content\": \"## Send customer feedback to OpenAI for sentiment analysis\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"6962ea41-7d15-4932-919f-21ac94fa1269\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1960,\n 1180\n ],\n \"parameters\": {\n \"width\": 253,\n \"height\": 342,\n \"content\": \"## Add new feedback to google sheets\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"4c8a8984-2d8e-4139-866b-6f3536aced07\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 800,\n 1600\n ],\n \"parameters\": {\n \"width\": 1407,\n \"height\": 254,\n \"content\": \"## Instructions\\n1. Connect Google sheets\\n2. Connect your OpenAi account (api key + org Id)\\n3. Create a customer feedback form, use an existing one or use the one below as example. \\nAll set!\\n\\n\\n- Here is the example google sheet being used in this workflow: https://docs.google.com/spreadsheets/d/1omWdRbiT6z6GNZ6JClu9gEsRhPQ6J0EJ2yXyFH9Zng4/edit?usp=sharing. You can download it to your account.\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"d43a9574-626d-4817-87ba-d99bdd6f41dc\",\n \"name\": \"Sticky Note5\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 800,\n 1160\n ],\n \"parameters\": {\n \"width\": 253,\n \"height\": 342,\n \"content\": \"## Feedback form is submitted\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"76dab2dc-935f-416e-91aa-5a1b7017ec1b\",\n \"name\": \"Sticky Note6\",\n \"type\"...", "input": "", "output": "The node 'Classify feedback with OpenAI' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Classify feedback with OpenAI'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"36816ae7-414a-482e-8a50-021885237273\",\n \"name\": \"Event Type\",\n \"type\": \"n8n-nodes-base.switch\",\n \"position\": [\n -220,\n -140\n ],\n \"parameters\": {\n \"rules\": {\n \"values\": [\n {\n \"outputKey\": \"row.updated\",\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"2162daf8-d23d-4b8f-8257-bdfc5400a3a8\",\n \"operator\": {\n \"name\": \"filter.operator.equals\",\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.event_type }}\",\n \"rightValue\": \"row.updated\"\n }\n ]\n },\n \"renameOutput\": true\n },\n {\n \"outputKey\": \"field.created\",\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"48e112f6-afe8-40bf-b673-b37446934a62\",\n \"operator\": {\n \"name\": \"filter.operator.equals\",\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.event_type }}\",\n \"rightValue\": \"field.created\"\n }\n ]\n },\n \"renameOutput\": true\n },\n {\n \"outp...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"065d7ec9-edc5-46f6-b8ac-d62ed0e5c8e3\",\n \"name\": \"Baserow Event\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n -1180,\n -140\n ],\n \"webhookId\": \"267ea500-e2cd-4604-a31f-f0773f27317c\",\n \"parameters\": {\n \"path\": \"267ea500-e2cd-4604-a31f-f0773f27317c\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"ac1403b4-9d45-404d-9892-0bed39b9ec82\",\n \"name\": \"Event Type\",\n \"type\": \"n8n-nodes-base.switch\",\n \"position\": [\n -220,\n -140\n ],\n \"parameters\": {\n \"rules\": {\n \"values\": [\n {\n \"outputKey\": \"rows.updated\",\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"2162daf8-d23d-4b8f-8257-bdfc5400a3a8\",\n \"operator\": {\n \"name\": \"filter.operator.equals\",\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.event_type }}\",\n \"rightValue\": \"rows.updated\"\n }\n ]\n },\n \"renameOutput\": true\n },\n {\n \"outputKey\": \"field.created\",\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"48e112f6-afe8-40bf-b673-b37446934a62\",\n \"operator...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"32d80f55a35a7b57f8e47a2ac19558d9f5bcec983a5519d9c29ba713ff4f12c7\",\n \"templateCredsSetupCompleted\": true\n },\n \"nodes\": [\n {\n \"id\": \"d9e3e2af-1db4-4ef1-a12a-c56df545e09e\",\n \"name\": \"Strava Trigger\",\n \"type\": \"n8n-nodes-base.stravaTrigger\",\n \"position\": [\n -60,\n 0\n ],\n \"webhookId\": \"c656f7eb-6176-48b1-a68f-7e169699cecb\",\n \"parameters\": {\n \"event\": \"update\",\n \"object\": \"activity\",\n \"options\": {}\n },\n \"credentials\": {\n \"stravaOAuth2Api\": {\n \"id\": \"lI69z0e9sP9DBcrp\",\n \"name\": \"Strava account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"344106a7-f1ce-4ef0-be60-8b0dc6c92fe4\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatGoogleGemini\",\n \"position\": [\n 560,\n 180\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.0-flash-exp\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"MqxJQHgdP5sIvdos\",\n \"name\": \"Google Gemini(PaLM) - ali@amjid\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"5ea7c2b8-0ddc-414e-b90c-d1269e074d16\",\n \"name\": \"Gmail\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 1420,\n -200\n ],\n \"webhookId\": \"70ab1218-b5a1-47e7-9e9e-89c5c4f84c15\",\n \"parameters\": {\n \"sendTo\": \"amjid@amjidali.com\",\n \"message\": \"={{ $json.html }}\",\n \"options\": {\n \"appendAttribution\": false\n },\n \"subject\": \"=\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"dYWFonU1YWbQ9MHf\",\n \"name\": \"Gmail account ali@amjidali\"\n }\n },\n \"typeVersion\": 2.1\n },\n {\n \"id\": \"540e2273-c094-4339-a9d9-41cecbaa55d8\",\n \"name\": \"Combine Everything\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 280,\n 0\n ],\n ...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"c3ef40df-084e-435c-9a11-3aa0a2f94f36\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 740,\n 520\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"e0583472-a450-4582-83bc-84a014bea543\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1640,\n 520\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"output.results\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"b8aa573d-5b63-4669-900f-bcc915b6ad41\",\n \"name\": \"Save to Google Sheets\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 1900,\n 520\n ],\n \"parameters\": {\n \"columns\": {\n \"value\": {},\n \"schema\": [\n {\n \"id\": \"name\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"name\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"price\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"price\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"availability\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"availability\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"image\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"image\",\n ...", "input": "", "output": "The node 'Save to Google Sheets' (type: n8n-nodes-base.googleSheets) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"GHRceL2SKjXxz0Dx\",\n \"name\": \"Google Sheets account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Save to Google Sheets' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"V8ypWn7oaOVS3zH0\",\n \"meta\": {\n \"instanceId\": \"1acdaec6c8e84424b4715cf41a9f7ec057947452db21cd2e22afbc454c8711cd\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"AI Social Media Caption Creator\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"12d0470e-1030-47c4-8bd0-890d5b3a5976\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n 120,\n -120\n ],\n \"parameters\": {\n \"text\": \"={{ $json['Briefing'] }}\",\n \"options\": {\n \"systemMessage\": \"= \\nYOU ARE AN EXPERT CAPTION CREATOR AGENT FOR INSTAGRAM, DESIGNED FOR USE IN N8N WORKFLOWS. YOUR TASK IS TO CREATE A CREATIVE, TARGET AUDIENCE-ORIENTED, AND MEMORABLE CAPTION BASED ON THE BRIEFING: `{{ $json['Briefing'] }}`. YOU SHOULD RETRIEVE ADDITIONAL INFORMATION ABOUT THE TARGET AUDIENCE AND PREFERRED WORDING USING THE TOOL \\\"BACKGROUND INFO\\\" TO MAXIMIZE THE QUALITY AND RELEVANCE OF THE CAPTION. \\n\\n###INSTRUCTIONS### \\n\\n- YOU MUST: \\n 1. READ AND UNDERSTAND THE BRIEFING CAREFULLY. \\n 2. RETRIEVE ADDITIONAL DATA ABOUT THE TARGET AUDIENCE AND COMMUNICATION STYLE USING THE \\\"BACKGROUND INFO\\\" TOOL. \\n 3. CREATE A CAPTION THAT IS CREATIVE, ENGAGING, AND TAILORED TO THE TARGET AUDIENCE. \\n 4. ENSURE THAT THE CAPTION INCLUDES A CLEAR CALL-TO-ACTION (CTA) THAT ENCOURAGES USERS TO TAKE ACTION (E.G., LIKE, COMMENT, OR CLICK). \\n 5. OUTPUT ONLY THE FINAL CAPTION WITHOUT ANY ACCOMPANYING EXPLANATIONS, FEEDBACK, OR COMMENTS. \\n\\n###CHAIN OF THOUGHTS### \\n\\n1. **UNDERSTANDING THE BRIEFING**: \\n - THOROUGHLY READ THE BRIEFING PROVIDED UNDER `{{ $json['Briefing/Notizen'] }}`. \\n - IDENTIFY THE MAIN FOCUS OF THE POST (E.G., PRODUCT PROMOTION, INSPIRATION, INFORMATION). \\n - NOTE THE KEY THEMES, MOOD, AND DESIRED IMPACT. \\n\\n2. **TARGET AUDIENCE ANALYSIS**: \\n - USE THE \\\"BACKGROUND INFO\\\" TOOL TO: \\n - RETRIEVE THE TARGET AUDIENCE'S AGE, INTERESTS, AND NEEDS. \\n - DEFINE THE APPROPRIATE TONE (FRIENDLY, PROFESSIONAL, INSP...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"TtoDcjgthgA4NTkU\",\n \"meta\": {\n \"instanceId\": \"fb261afc5089eae952e09babdadd9983000b3d863639802f6ded8c5be2e40067\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"AI Voice Chat using Webhook, Memory Manager, OpenAI, Google Gemini & ElevenLabs\",\n \"tags\": [\n {\n \"id\": \"mqOrNvCDgQLzPA2x\",\n \"name\": \"Workflows\",\n \"createdAt\": \"2024-08-07T14:18:53.614Z\",\n \"updatedAt\": \"2024-08-07T14:18:53.614Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"86cbf150-df4f-42f7-b7b3-e03c32e6f23c\",\n \"name\": \"Get Chat\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryManager\",\n \"position\": [\n 1700,\n -400\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": true\n },\n {\n \"id\": \"a9153a24-e902-4f29-9b83-447317ce3119\",\n \"name\": \"Insert Chat\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryManager\",\n \"position\": [\n 2540,\n -400\n ],\n \"parameters\": {\n \"mode\": \"insert\",\n \"messages\": {\n \"messageValues\": [\n {\n \"type\": \"user\",\n \"message\": \"={{ $('OpenAI - Speech to Text').item.json[\\\"text\\\"] }}\"\n },\n {\n \"type\": \"ai\",\n \"message\": \"={{ $json.text }}\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": true\n },\n {\n \"id\": \"f5c272d4-248b-45a5-87b5-eb659a865d05\",\n \"name\": \"Sticky Note5\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1664,\n -491\n ],\n \"parameters\": {\n \"color\": 6,\n \"width\": 486.4746124819703,\n \"height\": 238.4911357933579,\n \"content\": \"## Get Context\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"32ad17ca-0045-487d-9387-71c2e73629d4\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 2510,\n -489\n ],\n \"parameters\": {\n \"c...", "input": "", "output": "The workflow has a broken data flow. The node 'Aggregate' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Aggregate'.\n\n**Impact**: Data from 'Aggregate' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Aggregate' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Aggregate\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Aggregate' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ibiHg6umCqvcTF4g\",\n \"meta\": {\n \"instanceId\": \"a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Voice RAG Chatbot with ElevenLabs and OpenAI\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"5898da57-38b0-4d29-af25-fe029cda7c4a\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n -180,\n 800\n ],\n \"parameters\": {\n \"text\": \"={{ $json.body.question }}\",\n \"options\": {},\n \"promptType\": \"define\"\n },\n \"typeVersion\": 1.7\n },\n {\n \"id\": \"81bbedb6-5a07-4977-a68f-2bdc75b17aba\",\n \"name\": \"Vector Store Tool\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolVectorStore\",\n \"position\": [\n 20,\n 1040\n ],\n \"parameters\": {\n \"name\": \"company\",\n \"description\": \"Risponde alle domande relative a ci\\u00f2 che ti viene chiesto\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"fd021f6c-248d-41f4-a4f9-651e70692327\",\n \"name\": \"Qdrant Vector Store\",\n \"type\": \"@n8n/n8n-nodes-langchain.vectorStoreQdrant\",\n \"position\": [\n -140,\n 1300\n ],\n \"parameters\": {\n \"options\": {},\n \"qdrantCollection\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"=COLLECTION\"\n }\n },\n \"credentials\": {\n \"qdrantApi\": {\n \"id\": \"iyQ6MQiVaF3VMBmt\",\n \"name\": \"QdrantApi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"84aca7bb-4812-498f-b319-88831e4ca412\",\n \"name\": \"Embeddings OpenAI\",\n \"type\": \"@n8n/n8n-nodes-langchain.embeddingsOpenAi\",\n \"position\": [\n -140,\n 1460\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"CDX6QM4gLYanh0P4\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"82e430db...", "input": "", "output": "The workflow has a broken data flow. The node 'Default Data Loader' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Default Data Loader'.\n\n**Impact**: Data from 'Default Data Loader' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Default Data Loader' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Default Data Loader\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Default Data Loader' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"2b1cc1a8b0a2fb9caab11ab2d5eb3712f9973066051b2e898cf4041a1f2a7757\",\n \"templateId\": \"2324\",\n \"templateCredsSetupCompleted\": true\n },\n \"nodes\": [\n {\n \"id\": \"71b06728-7f59-49e3-9365-3281189a6659\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 920,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"b37019e3-c7ab-4119-986d-c27d082a036e\",\n \"name\": \"Input\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1340,\n 340\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"fcc97354-b9f6-4459-a004-46e87902c77c\",\n \"name\": \"company_input\",\n \"type\": \"string\",\n \"value\": \"={{ $json.input }}\"\n },\n {\n \"id\": \"e5415c49-5204-45b1-a0e9-814157127b12\",\n \"name\": \"row_number\",\n \"type\": \"number\",\n \"value\": \"={{ $json.row_number }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3\n },\n {\n \"id\": \"7d5d53ac-6d3c-4b24-97c7-deb6b76749e5\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 2020,\n 660\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {\n \"temperature\": 0.3\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"FMTQypGcsAwaRQdC\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"24e2f3b0-8b90-49a9-bde6-0fb0c2baf52a\",\n \"name\": \"Get website content\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolWorkflow\",\n \"position\": [\n 2580,\n 680\n ],\n \"parameters\": {\n \"name\": \"get_website_content\",\n \"source\": \"parameter\",\n \"description\": \"This t...", "input": "", "output": "The workflow has a broken data flow. The node 'Get website content' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Get website content'.\n\n**Impact**: Data from 'Get website content' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Get website content' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Get website content\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Get website content' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"AhP1Fgv0eCrh9Jxs\",\n \"meta\": {\n \"instanceId\": \"b9faf72fe0d7c3be94b3ebff0778790b50b135c336412d28fd4fca2cbbf8d1f5\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"AI-Generated Summary Block for WordPress Posts - with OpenAI, WordPress, Google Sheets & Slack\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"0733b902-6707-4548-9498-44993ed6a16c\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 500,\n -780\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"fa1fea27-c44d-4c8b-89ab-e7f84e91048f\",\n \"name\": \"Text Classifier\",\n \"type\": \"@n8n/n8n-nodes-langchain.textClassifier\",\n \"position\": [\n 5520,\n -800\n ],\n \"parameters\": {\n \"options\": {\n \"systemPromptTemplate\": \"Analyze the provided text and classify it into one of the following categories: {categories}. \\n- If the text contains an 'AI Summary', classify it as \\\"summarized\\\".\\n- If the text does not contain an 'AI Summary', classify it as \\\"not_summarized\\\".\\n\\nFollow these instructions strictly:\\n- Provide the result in JSON format.\\n- Do not include any explanations, comments, or additional text.\\n\"\n },\n \"inputText\": \"={{ $json.data }}\",\n \"categories\": {\n \"categories\": [\n {\n \"category\": \"not_summarized\",\n \"description\": \"Content that does not contain an 'AI Summary'.\"\n },\n {\n \"category\": \"=summarized\",\n \"description\": \"Content that contains an 'AI Summary'.\"\n }\n ]\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"258d93f8-50db-4c95-8315-b7284100a426\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 5540,\n -600\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"...", "input": "", "output": "The workflow has a broken data flow. The node 'Schedule Trigger' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Schedule Trigger'.\n\n**Impact**: Data from 'Schedule Trigger' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Schedule Trigger' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Schedule Trigger\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Schedule Trigger' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"e4f78845dfed9ddcfba1945ae00d12e9a7d76eab052afd19299228ce02349d86\"\n },\n \"nodes\": [\n {\n \"id\": \"a8b14ffd-4a8b-4a3d-ba54-5997197e5457\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -2880,\n 340\n ],\n \"parameters\": {\n \"color\": 6,\n \"width\": 429.96763122593137,\n \"height\": 322,\n \"content\": \"### Get Apprropraite Data\\nThese Nodes are to extract only the Required Data from the Webhook Node\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"c8ae8766-3942-4b8d-8815-9e96ab9dc1de\",\n \"name\": \"Sticky Note6\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -840,\n 340\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 677,\n \"height\": 660,\n \"content\": \"### N8N has the Node to convert PDF to Text, but PDF should be converted from Text. Scanned Image PDF will not be converted. \\n\\nYou can use ohter nodes here to convert word file to text or JPG to Text, possiblities are limitless.\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"529f5756-c1a2-4c41-8245-38164543eb8e\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1334.2232779572741,\n 340\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 477.2230145794152,\n \"height\": 648.5051458745238,\n \"content\": \"### Download the File.\\nIf you are using S3 to Upload attachments you can use S3 node here to download the attachment\\n\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"101c6544-d319-495d-a14f-e180f51be1f0\",\n \"name\": \"Code\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n -2840,\n 480\n ],\n \"parameters\": {\n \"jsCode\": \"// Loop over input items and add a new field called 'myNewField' to the JSON of each one\\nfor (const item of $input.all()) {\\n item.json.myNewField = 1;\\n}\\n\\nret...", "input": "", "output": "The node 'WhatsApp Business Cloud' (type: n8n-nodes-base.whatsApp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"whatsAppApi\": {\n \"id\": \"E8IjegSMj5LTd8lA\",\n \"name\": \"WhatsApp Syncbricks Access Token Never Expires\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'WhatsApp Business Cloud' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"q8IFGLeOCGSfoWZu\",\n \"meta\": {\n \"instanceId\": \"a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Email AI Auto-responder. Summerize and send email\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"59885699-0f6c-4522-acff-9e28b2a07b82\",\n \"name\": \"Email Trigger (IMAP)\",\n \"type\": \"n8n-nodes-base.emailReadImap\",\n \"position\": [\n -440,\n -20\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"imap\": {\n \"id\": \"k31W9oGddl9pMDy4\",\n \"name\": \"IMAP info@n3witalia.com\"\n }\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"b268ab9d-b2e3-46e6-b7ae-70aff0b5484d\",\n \"name\": \"Markdown\",\n \"type\": \"n8n-nodes-base.markdown\",\n \"position\": [\n -220,\n -20\n ],\n \"parameters\": {\n \"html\": \"={{ $json.textHtml }}\",\n \"options\": {}\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"13c2d151-6f59-4e1f-a174-02d4d0bcaefd\",\n \"name\": \"DeepSeek R1\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n -20,\n 160\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"deepseek/deepseek-r1:free\",\n \"cachedResultName\": \"deepseek/deepseek-r1:free\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"XJTqRiKFJpFs5MuX\",\n \"name\": \"OpenRouter account\"\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"8149e40d-64e6-4fb9-aebc-2a2483961f07\",\n \"name\": \"Send Email\",\n \"type\": \"n8n-nodes-base.emailSend\",\n \"position\": [\n 500,\n 340\n ],\n \"parameters\": {\n \"html\": \"={{ $json.text }}\",\n \"options\": {},\n \"subject\": \"=Re: {{ $('Email Trigger (IMAP)').item.json.subject }}\",\n \"toEmail\": \"={{ $('Email Trigger (IMAP)').item.json.from ...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"fqaNojXWrspqjfkY\",\n \"meta\": {\n \"instanceId\": \"69133932b9ba8e1ef14816d0b63297bb44feb97c19f759b5d153ff6b0c59e18d\"\n },\n \"name\": \"RAG Workflow For Stock Earnings Report Analysis\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"1a621f76-9636-430d-94dd-d5e7dcd5afdc\",\n \"name\": \"Pinecone Vector Store\",\n \"type\": \"@n8n/n8n-nodes-langchain.vectorStorePinecone\",\n \"position\": [\n 380,\n -60\n ],\n \"parameters\": {\n \"mode\": \"insert\",\n \"options\": {},\n \"pineconeIndex\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"company-earnings\",\n \"cachedResultName\": \"company-earnings\"\n }\n },\n \"credentials\": {\n \"pineconeApi\": {\n \"id\": \"bQTNry52ypGLqt47\",\n \"name\": \"PineconeApi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"e5936e45-0f58-48e9-9ab4-cc69f2ef6578\",\n \"name\": \"Embeddings Google Gemini\",\n \"type\": \"@n8n/n8n-nodes-langchain.embeddingsGoogleGemini\",\n \"position\": [\n 300,\n 220\n ],\n \"parameters\": {\n \"modelName\": \"models/text-embedding-004\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"jLOqyTR4yTT1nYKi\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"e98dbc8e-6b4a-415d-a044-85e590fcb105\",\n \"name\": \"Default Data Loader\",\n \"type\": \"@n8n/n8n-nodes-langchain.documentDefaultDataLoader\",\n \"position\": [\n 520,\n 200\n ],\n \"parameters\": {\n \"loader\": \"pdfLoader\",\n \"options\": {},\n \"dataType\": \"binary\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"ae77f5f4-3704-4b66-9c3f-27d6bd3f68c3\",\n \"name\": \"Recursive Character Text Splitter\",\n \"type\": \"@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter\",\n \"position\": [\n 560,\n 380\n ],\n \"parameters\": {\n \"options\": {}\n...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ZeSJSbwXI593H1Qj\",\n \"meta\": {\n \"instanceId\": \"8e1a7e3413df437923cda0e92c098469371d84f7001856e525beaff17be8b941\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Social Media AI Agent - Telegram\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"814303e0-5fe9-474e-a4ed-e4a728fd4acf\",\n \"name\": \"Crawl HN Home\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -1540,\n 1640\n ],\n \"parameters\": {\n \"url\": \"https://news.ycombinator.com/\",\n \"options\": {\n \"response\": {\n \"response\": {\n \"neverError\": true,\n \"fullResponse\": true\n }\n }\n }\n },\n \"executeOnce\": true,\n \"typeVersion\": 4.2,\n \"alwaysOutputData\": true\n },\n {\n \"id\": \"32e20b1d-b3f1-4ed2-acbf-4d5bd56b0d8b\",\n \"name\": \"Extract Meta\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n -1260,\n 1720\n ],\n \"parameters\": {\n \"language\": \"python\",\n \"pythonCode\": \"# Import necessary modules\\nimport asyncio\\nimport micropip\\n\\n# Define an asynchronous function to install packages\\nasync def install_packages():\\n await micropip.install(\\\"beautifulsoup4\\\")\\n await micropip.install(\\\"simplejson\\\")\\n\\n# Run the asynchronous package installation\\nasyncio.get_event_loop().run_until_complete(install_packages())\\n\\n# Now, import the installed packages\\nimport simplejson as json\\nfrom bs4 import BeautifulSoup\\n\\n# Retrieve the HTML content from the first item in the input\\n# Assuming n8n passes data as a list of items, each with a 'json' key\\nhtml_content = items[0].get('json', {}).get('data', '')\\n\\n# Initialize BeautifulSoup with the HTML content\\nsoup = BeautifulSoup(html_content, 'html.parser')\\n\\n# Initialize a list to store metadata of GitHub posts\\ngithub_posts = []\\n\\n# Find all 'tr' elements with class 'athing submission'\\nposts = soup.find_all('tr', class_='athing submission')\\n\\nfor post in posts:\\n post_i...", "input": "", "output": "The node 'Sticky Note2' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note2'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7\"\n },\n \"nodes\": [\n {\n \"id\": \"be49d136-6392-481d-8544-d4f4d4fd0357\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 90,\n 260\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 1000.427054367056,\n \"height\": 572.2734520891689,\n \"content\": \"## Find WooCommerce User-ID\\nUser-ID is required to query past orders\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"5932f77b-63e2-4991-aa16-2b8587b2b560\",\n \"name\": \"No email provided\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 400,\n 640\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"9a06428b-4115-4eee-97f4-8e828c5a7e5a\",\n \"name\": \"response\",\n \"type\": \"string\",\n \"value\": \"No email address got provided.\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3\n },\n {\n \"id\": \"909a9a47-8683-4a1f-a359-8f6a878f8cd7\",\n \"name\": \"If email provided\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 140,\n 460\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"13f7bd32-5760-4ac3-8292-c8beb131a4a5\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"notEmpty\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.email }}\",\n \"rightValue\": \"\"\n }\n ]\n }\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"f5bd2098-090b-4537-8e61-90afb4c85ad8\",\n \"name\"...", "input": "", "output": "The workflow has a broken data flow. The node 'Merge Order and Tracking Data' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Merge Order and Tracking Data'.\n\n**Impact**: Data from 'Merge Order and Tracking Data' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Merge Order and Tracking Data' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Merge Order and Tracking Data\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Merge Order and Tracking Data' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"mjCQV12PbF6fw8hR\",\n \"meta\": {\n \"instanceId\": \"021d3c82ba2d3bc090cbf4fc81c9312668bcc34297e022bb3438c5c88a43a5ff\"\n },\n \"name\": \"LangChain - Example - Workflow Retriever\",\n \"tags\": [\n {\n \"id\": \"snf16n0p2UrGP838\",\n \"name\": \"LangChain - Example\",\n \"createdAt\": \"2023-09-25T16:21:55.962Z\",\n \"updatedAt\": \"2023-09-25T16:21:55.962Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"efdc3050-6c68-4419-9f12-f37d6fefb276\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 460,\n 200\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"e0edb9ab-c59f-4d34-983d-861bb2df4f01\",\n \"name\": \"Workflow Retriever\",\n \"type\": \"@n8n/n8n-nodes-langchain.retrieverWorkflow\",\n \"position\": [\n 1120,\n 440\n ],\n \"parameters\": {\n \"workflowId\": \"QacfBRBnf1xOyckC\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"ba47dd13-67d0-499a-b9a2-16928099efce\",\n \"name\": \"Retrieval QA Chain2\",\n \"type\": \"@n8n/n8n-nodes-langchain.chainRetrievalQa\",\n \"position\": [\n 900,\n 200\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"f6d16571-0573-4860-aed9-611f93b050ad\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 800,\n 480\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"4jRB4A20cPycBqP5\",\n \"name\": \"OpenAI account - n8n\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"4fd00751-3db0-489b-8c7f-4ee0fb32fb51\",\n \"name\": \"Example Prompt\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 680,\n 200\n ],\n \"parameters\": {\n \"fields\": {\n \"values\": [\n {\n \"name\": \"input\",\n \"stringValue\": \"What notes can you find for...", "input": "", "output": "The node 'Sticky Note1' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note1'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"zFxUMqgvTXGIMzvh\"\n \"meta\": {\n \"instanceId\": \"ec7a5f4ffdb34436e59d23eaccb5015b5238de2a877e205b28572bf1ffecfe04\"\n },\n \"name\": \"Podcast Digest\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"48bf1045-cfc1-4b37-9cce-86634bd97480\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -420,\n 580\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"75f2e528-e5fe-4508-b98f-e1f71f803e60\",\n \"name\": \"Podcast Episode Transcript\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n -220,\n 580\n ],\n \"parameters\": {\n \"jsCode\": \"return { transcript: `So throughout the last couple episodes we\\u2019ve been doing on the philosophy of mind\\u2026there\\u2019s been an IDEA that we\\u2019ve referenced MULTIPLE TIMES\\u2026 and really just glossed over it as something, that\\u2019s PRACTICALLY self evident. \\n\\n\\n\\nThe idea\\u2026 is that when we THINK about consciousness\\u2026 we can SPLIT it into two different types\\u2026there\\u2019s ACCESS consciousness on the one hand\\u2026 and PHENOMENAL consciousness on the other. This is what we\\u2019ve been saying. \\n\\n\\n\\nWhen it comes to ACCESS consciousness\\u2026that\\u2019s stuff we CAN explain with neuroscience things like memories, information processing, our field of visual awareness\\u2026we can CLEARLY EXPLAIN a bit about how all THAT stuff works.\\n\\n\\n\\nBut in this conversation so far, what KEEPS on being said\\u2026 is that what we CAN\\u2019T SEEM to explain\\u2026is PHENOMENAL consciousness\\u2026you know, the subjective experience, that UNDERLIES conscious thought. That it FEELS like something to be me. There\\u2019s this idea\\u2026that this phenomenal consciousness is something separate\\u2026something fundamental, something in a category ALL IT\\u2019S OWN\\u2026 that needs to be explained. You can explain a lot of stuff about access consciousness\\u2026but you can\\u2019t explain PHEN...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Ask a human\",\n \"nodes\": [\n {\n \"id\": \"a60c8572-56c1-4bf3-8352-a6419a475887\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryBufferWindow\",\n \"position\": [\n 900,\n 760\n ],\n \"parameters\": {},\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"b4f2e26c-903b-46b8-bd8b-110fd64de9e4\",\n \"name\": \"Not sure?\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolWorkflow\",\n \"position\": [\n 1120,\n 760\n ],\n \"parameters\": {\n \"name\": \"dont_know_tool\",\n \"fields\": {\n \"values\": [\n {\n \"name\": \"chatInput\",\n \"stringValue\": \"={{ $('Chat Trigger').item.json.chatInput }}\"\n }\n ]\n },\n \"workflowId\": \"={{ $workflow.id}}\",\n \"description\": \"Use this tool if you don't know the answer to the user's question, or if you're not very confident about your answer.\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"951cc691-b422-4ce6-901f-b7feb3afd1ad\",\n \"name\": \"Execute Workflow Trigger\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n 540,\n 1360\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"194ba9c0-e256-449a-8da7-ac5339123a99\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 500,\n 1020\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 1118.3459011229047,\n \"height\": 775.3931210698682,\n \"content\": \"### Sub-workflow: Custom tool\\nThe agent above can call this workflow. It checks if the user has supplied an email address. If they haven't it prompts them to provide one. If they have, it messages a customer support channel for help.\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"38c6b363-45a7-4e72-9e40-8c0df3cc480f\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9\"\n },\n \"nodes\": [\n {\n \"id\": \"645799b0-7ddb-4acb-a95d-3b04eadff445\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 1480,\n 20\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-mini\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"e2923385-2f73-439c-9d5c-5a3c560993cb\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 2040,\n 420\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-mini\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"c24728f9-73b9-45f7-9c4e-aee872c59714\",\n \"name\": \"OpenAI Chat Model3\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 3180,\n -80\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-mini\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"0bc19e46-4a65-45fb-9571-d1f00d204c63\",\n \"name\": \"OpenAI Chat Model4\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 2060,\n -261\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-mini\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"0c631234-125d-476b-b97a-2837d6a32f2b\",\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9\"\n },\n \"nodes\": [\n {\n \"id\": \"6c78b4c7-993b-410d-93e7-e11b3052e53b\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 0,\n 420\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"c2ab6497-6d6d-483b-bd43-494ae95394c0\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserStructured\",\n \"position\": [\n 1440,\n 600\n ],\n \"parameters\": {\n \"schemaType\": \"manual\",\n \"inputSchema\": \"{\\n\\t\\\"type\\\": \\\"object\\\",\\n\\t\\\"properties\\\": {\\n\\t\\t\\\"is_valid\\\": { \\\"type\\\": \\\"boolean\\\" },\\n \\\"photo_description\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"description\\\": \\\"describe the appearance of the person(s), object(s) if any and the background in the image. Mention any colours of each if possible.\\\"\\n },\\n\\t\\t\\\"reasons\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": { \\\"type\\\": \\\"string\\\" }\\n }\\n\\t}\\n}\"\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"b23f5298-17c7-49ac-a8ca-78e006b2d294\",\n \"name\": \"Photo URLs\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 360,\n 380\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"6baa3e08-8957-454e-8ee9-d5414a0ff990\",\n \"name\": \"data\",\n \"type\": \"array\",\n \"value\": \"={{\\n[\\n{\\n \\\"name\\\": \\\"portrait_1\\\",\\n \\\"url\\\": \\\"https://drive.google.com/file/d/1zs963iFkO-3g2rKak8Hcy555h55D8gjF/view?usp=sharing\\\"\\n},\\n{\\n \\\"name\\\": \\\"portrait_2\\\",\\n \\\"url\\\": \\\"https://drive.google.com/file/d/19FyDcs68dZauQSEf6SEulJMag51SPsFy/view?usp=sharing\\\"\\n},\\n{\\n \\\"name\\\": \\\"portrait_3\\\",\\n \\\"url\\\": \\\"https://drive.google.com/file/d/1gbXjfNYE7Tvuw_riFmHMKoqPPu696VfW/view?usp=sharing\\\",\\n\\n},\\n{\\n \\\"name\\\": \\\"portrait_4\\\",\\n \\\"u...", "input": "", "output": "The node 'Download Photos' (type: n8n-nodes-base.googleDrive) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"yOwz41gMQclOadgu\",\n \"name\": \"Google Drive account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Download Photos' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"26ba763460b97c249b82942b23b6384876dfeb9327513332e743c5f6219c2b8e\"\n },\n \"nodes\": [\n {\n \"id\": \"51dbe3b4-42f6-43c9-85dc-42ae49be6ba9\",\n \"name\": \"Get RFP Data\",\n \"type\": \"n8n-nodes-base.extractFromFile\",\n \"position\": [\n 1003,\n 278\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"pdf\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"c42e6bfc-a426-4d12-bf95-f3fe6e944631\",\n \"name\": \"Item List Output Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserItemList\",\n \"position\": [\n 2140,\n 540\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"1703e9c3-f49e-4272-ad11-0b9d4e9a76c6\",\n \"name\": \"For Each Question...\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 2460,\n 340\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3\n },\n {\n \"id\": \"a54fa4ee-6f67-41a9-89fe-fd9f2bf094de\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 760,\n 60\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 532.597092515486,\n \"height\": 508.1316876142587,\n \"content\": \"## 1. API to Trigger Workflow\\n[Read more about using Webhooks](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/)\\n\\nThis workflow requires the user to submit the RFP document via an API request. It's a common pattern to use the webhook node for this purpose. Be sure to secure this webhook endpoint in production!\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"fdef005f-7838-4b8c-8af4-4b7c6f947ee2\",\n \"name\": \"Set Variables\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1143,\n 278\n ],\n \"parameters\": {\n \"mode\": \"raw\",\n \"options\": {},\n \"jsonOutput\": \"={\\n \\\"doc_title\\\": \\\"{{ $('Wa...", "input": "", "output": "The workflow has a broken data flow. The node 'Create new RFP Response Document' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Create new RFP Response Document'.\n\n**Impact**: Data from 'Create new RFP Response Document' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Create new RFP Response Document' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Create new RFP Response Document\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Create new RFP Response Document' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"BMI5WkmyU8nZqfII\",\n \"meta\": {\n \"instanceId\": \"e03b0f22ca12c92061d789d5980a9bc31d9d7e7dd7513ac93c09ac5a0d147623\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"modelo do chatbot\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"c6e454af-70a1-4c65-8450-8159f7fc738b\",\n \"name\": \"If\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 160,\n 560\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 1,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"7ea831a4-0e20-4725-a6f5-3dc2f41f1cf4\",\n \"operator\": {\n \"type\": \"object\",\n \"operation\": \"exists\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.leadData }}\",\n \"rightValue\": \"\"\n },\n {\n \"id\": \"ccb46339-4e43-42e6-aa45-d5a0cbd62214\",\n \"operator\": {\n \"name\": \"filter.operator.equals\",\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"\",\n \"rightValue\": \"\"\n }\n ]\n }\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"2221736f-ef99-4ac8-8a81-51af6d4e7dcd\",\n \"name\": \"Edit Fields1\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 440,\n 960\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"19a16867-b574-4b99-82f1-a86752b7fe9f\",\n \"name\": \"chatInput\",\n \"type\": \"string\",\n \"value\": \"=\\\"Hello, just so you can get to know me, with no intention of a response, please save this information in your memory. My name is {{ $json.leadData.name }}. I am {{ $...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"af8RV5b2TWB2LclA\",\n \"meta\": {\n \"instanceId\": \"95f2ab28b3dabb8da5d47aa5145b95fe3845f47b20d6343dd5256b6a28ba8fab\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Chat with local LLMs using n8n and Ollama\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"475385fa-28f3-45c4-bd1a-10dde79f74f2\",\n \"name\": \"When chat message received\",\n \"type\": \"@n8n/n8n-nodes-langchain.chatTrigger\",\n \"position\": [\n 700,\n 460\n ],\n \"webhookId\": \"ebdeba3f-6b4f-49f3-ba0a-8253dd226161\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"61133dc6-dcd9-44ff-85f2-5d8cc2ce813e\",\n \"name\": \"Ollama Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOllama\",\n \"position\": [\n 900,\n 680\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"ollamaApi\": {\n \"id\": \"MyYvr1tcNQ4e7M6l\",\n \"name\": \"Local Ollama\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"3e89571f-7c87-44c6-8cfd-4903d5e1cdc5\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 160,\n 80\n ],\n \"parameters\": {\n \"width\": 485,\n \"height\": 473,\n \"content\": \"## Chat with local LLMs using n8n and Ollama\\nThis n8n workflow allows you to seamlessly interact with your self-hosted Large Language Models (LLMs) through a user-friendly chat interface. By connecting to Ollama, a powerful tool for managing local LLMs, you can send prompts and receive AI-generated responses directly within n8n.\\n\\n### How it works\\n1. When chat message received: Captures the user's input from the chat interface.\\n2. Chat LLM Chain: Sends the input to the Ollama server and receives the AI-generated response.\\n3. Delivers the LLM's response back to the chat interface.\\n\\n### Set up steps\\n* Make sure Ollama is installed and running on your machine before executing this workflo...", "input": "", "output": "The workflow has a broken data flow. The node 'Ollama Chat Model' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Ollama Chat Model'.\n\n**Impact**: Data from 'Ollama Chat Model' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Ollama Chat Model' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Ollama Chat Model\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Ollama Chat Model' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7\"\n },\n \"nodes\": [\n {\n \"id\": \"087ae6e2-b333-4a30-9010-c78050203961\",\n \"name\": \"OpenAI Assistant\",\n \"type\": \"@n8n/n8n-nodes-langchain.openAiAssistant\",\n \"position\": [\n 1340,\n 460\n ],\n \"parameters\": {\n \"text\": \"=## Our Previous Conversation:\\n{{ $json[\\\"messages\\\"].map(m => `\\nHuman: ${m.human}\\nAI Assistant: ${m.ai}\\n`) }}\\n## Current message:\\n{{ $('Chat Trigger').item.json.chatInput }}\",\n \"options\": {},\n \"assistantId\": \"asst_HDSAnzsp4WqY4UC1iI9auH5z\"\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"VQtv7frm7eLiEDnd\",\n \"name\": \"OpenAi account 7\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"3793b10a-ebb7-42ec-8b9b-7fa3a353d9a3\",\n \"name\": \"Calculator\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolCalculator\",\n \"position\": [\n 1500,\n 640\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"7bee2882-bb9e-402e-ba42-9b1ed0e1264b\",\n \"name\": \"Chat Memory Manager\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryManager\",\n \"position\": [\n 760,\n 460\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"alwaysOutputData\": true\n },\n {\n \"id\": \"5c66e482-819e-47e7-90be-779e92364e2a\",\n \"name\": \"Chat Memory Manager1\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryManager\",\n \"position\": [\n 1720,\n 460\n ],\n \"parameters\": {\n \"mode\": \"insert\",\n \"messages\": {\n \"messageValues\": [\n {\n \"type\": \"user\",\n \"message\": \"={{ $('Chat Trigger').item.json.chatInput }}\"\n },\n {\n \"type\": \"ai\",\n \"message\": \"={{ $json.output }}\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": true\n },\n {\n \"id\": \"b96bf6...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"wDD4XugmHIvx3KMT\",\n \"meta\": {\n \"instanceId\": \"149cdf730f0c143663259ddc6124c9c26e824d8d2d059973b871074cf4bda531\"\n },\n \"name\": \"Image Generation API\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"d743f947-ad45-4e59-97d4-79b98eaddedb\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 260,\n -20\n ],\n \"webhookId\": \"970dd3c6-de83-46fd-9038-33c470571390\",\n \"parameters\": {\n \"path\": \"970dd3c6-de83-46fd-9038-33c470571390\",\n \"options\": {},\n \"responseMode\": \"responseNode\"\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"832e993e-69e9-475b-8322-776d88da0440\",\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 1400,\n -20\n ],\n \"parameters\": {\n \"options\": {},\n \"respondWith\": \"binary\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"53044a93-375f-48f2-971d-bf765bcdb7a0\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 180,\n -120\n ],\n \"parameters\": {\n \"width\": 301.7420425026802,\n \"height\": 260.80333469825376,\n \"content\": \"## Webhook Trigger \\n**This Node starts listening to requests to the Webhook URL**\\n\\n\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"c7b3b04e-903b-4d7c-bbf1-2bc2f1b1a426\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 180,\n -460\n ],\n \"parameters\": {\n \"width\": 469.32758643852594,\n \"height\": 297.34454352637044,\n \"content\": \"## Creating your Prompt-URL \\n**To use this Workflow you need to append your prompt to your Webhook URL in the following way**\\n\\n1. Take your Webhook URL\\n2. Ideate a Prompt and Replace every Space (\\\" \\\") by %20 (Url Encoding)\\n3. Append \\\"?input=\\\" and right after that your encoded prompt to your url\\n4. Copy paste this into a webbrowser as...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"6Yzmlp5xF6oHo1VW\",\n \"meta\": {\n \"instanceId\": \"173f55e6572798fa42ea9c5c92623a3c3308080d3fcd2bd784d26d855b1ce820\"\n },\n \"name\": \"Text to Speech (OpenAI)\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"938fedbd-e34c-40af-af2f-b9c669e1a6e9\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 380,\n 380\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"1d59db5d-8fe6-4292-a221-a0d0194c6e0c\",\n \"name\": \"Set input text and TTS voice\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 760,\n 380\n ],\n \"parameters\": {\n \"mode\": \"raw\",\n \"options\": {},\n \"jsonOutput\": \"{\\n \\\"input_text\\\": \\\"The quick brown fox jumped over the lazy dog.\\\",\\n \\\"voice\\\": \\\"alloy\\\"\\n}\\n\"\n },\n \"typeVersion\": 3.2\n },\n {\n \"id\": \"9d54de1d-59b7-4c1f-9e88-13572da5292c\",\n \"name\": \"Send HTTP Request to OpenAI's TTS Endpoint\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1120,\n 380\n ],\n \"parameters\": {\n \"url\": \"https://api.openai.com/v1/audio/speech\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"authentication\": \"predefinedCredentialType\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"model\",\n \"value\": \"tts-1\"\n },\n {\n \"name\": \"input\",\n \"value\": \"={{ $json.input_text }}\"\n },\n {\n \"name\": \"voice\",\n \"value\": \"={{ $json.voice }}\"\n }\n ]\n },\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Authorization\",\n \"value\": \"Bearer $OPENAI_API_KEY\"\n }\n ]\n },\n \"nodeCredentialType\": \"openAiApi\"\n },\n \"credentials\": {\n \"openAi...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"67d4d33d8b0ad4e5e12f051d8ad92fc35893d7f48d7f801bc6da4f39967b3592\",\n \"templateCredsSetupCompleted\": true\n },\n \"nodes\": [\n {\n \"id\": \"22c8d63b-ce3c-4aab-b3f6-4bae8c1b9ec5\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryBufferWindow\",\n \"position\": [\n 1460,\n 880\n ],\n \"parameters\": {\n \"sessionKey\": \"={{ $json.sessionId }}\",\n \"sessionIdType\": \"customKey\",\n \"contextWindowLength\": 20\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"45403d5c-6e85-424f-b40b-c6214b57457b\",\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 1880,\n 580\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"1111262a-1743-4bae-abf1-f69d2e1a580c\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 1360,\n 760\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-2024-08-06\",\n \"options\": {\n \"temperature\": 0.4\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"XWFTuTtx9oWglhNn\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"df891547-c715-4dc6-bfcc-c0ac5cfcaf02\",\n \"name\": \"Make Appointment\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolHttpRequest\",\n \"position\": [\n 1820,\n 840\n ],\n \"parameters\": {\n \"url\": \"https://graph.microsoft.com/v1.0/me/events\",\n \"method\": \"POST\",\n \"jsonBody\": \"{\\n \\\"subject\\\": \\\"Meetings with at \\\",\\n \\\"start\\\": {\\n \\\"dateTime\\\": \\\"{dateStartTime}\\\",\\n \\\"timeZone\\\": \\\"Europe/London\\\"\\n },\\n \\\"end\\\": {\\n \\\"dateTime\\\": \\\"{dateEndTime}\\\",\\n \\\"timeZone\\\": \\\"Europe/London\\\"\\n },\\n \\\"body\\\": {\\n \\\"contentType\\\": \\\"HTML\\\",\\n \\\"content\\\": \\\"{reason}\\\"\\n },\\n \\\"attendees\\\": [\\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"q2MJWAqpKF2BCJkq\",\n \"meta\": {\n \"instanceId\": \"021d3c82ba2d3bc090cbf4fc81c9312668bcc34297e022bb3438c5c88a43a5ff\"\n },\n \"name\": \"LangChain - Example - Code Node Example\",\n \"tags\": [\n {\n \"id\": \"snf16n0p2UrGP838\",\n \"name\": \"LangChain - Example\",\n \"createdAt\": \"2023-09-25T16:21:55.962Z\",\n \"updatedAt\": \"2023-09-25T16:21:55.962Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"ad1a920e-1048-4b58-9c4a-a0469a1f189d\",\n \"name\": \"OpenAI\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmOpenAi\",\n \"position\": [\n 900,\n 628\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"4jRB4A20cPycBqP5\",\n \"name\": \"OpenAI account - n8n\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"7dd04ecd-f169-455c-9c90-140140e37542\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 800,\n 340\n ],\n \"parameters\": {\n \"width\": 432,\n \"height\": 237,\n \"content\": \"## Self-coded LLM Chain Node\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"05ad7d68-5dc8-42f2-8274-fcb5bdeb68cb\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 280,\n 428\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"39e2fd34-3261-44a1-aa55-96f169d55aad\",\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 620,\n 428\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"input\",\n \"value\": \"Tell me a joke\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"42a3184c-0c62-4e79-9220-7a93e313317e\",\n \"name\": \"Set1\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 620,\n 820\n ],\n \"pa...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"jAML9xW28lOdsObH\",\n \"meta\": {\n \"instanceId\": \"be04c66ddabda64dad2c5d4c4611c3879370cfcff746359dfed22dbbfaacfc1a\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Daily meetings summarization with Gemini AI\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"2f5c6f8b-023a-4fc0-8684-66d7f743af0a\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 100,\n 380\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 217.47708894878716,\n \"height\": 233,\n \"content\": \"### Gemini Flash model a base\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"8c159251-d78c-4f18-a886-b930194e6459\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 600,\n 40\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 223.7196765498655,\n \"height\": 236.66152029520293,\n \"content\": \"### Send the response from AI back to slack channel\\n\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"ee7164d8-f257-4e47-9867-239440153fd4\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 0,\n -20\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 561,\n \"height\": 360,\n \"content\": \"## Trigger the task daily, receive the meetings data, process the data and return response for sending\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nNo memory assigned to the model since the model is running one task and doesn't need a followup, then send the data to the user.\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"30ac78b7-08ba-4df9-a67c-e6825a9de380\",\n \"name\": \"Send response back to slack channel\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n 660,\n 100\n ],\n \"webhookId\": \"636ae330-cc22-408b-b6a5-caf02e48897f\",\n \"parameters\": {\n \"text\": \"=Gemini : {{ $json.output.removeMarkdown() }} \",\n \"select\":...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"7858a8e25b8fc4dae485c1ef345e6fe74effb1f5060433ef500b4c186c965c18\"\n },\n \"nodes\": [\n {\n \"id\": \"49ab7596-665e-4a0f-bb8b-9dc04525ce88\",\n \"name\": \"Gmail\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 2340,\n 1440\n ],\n \"parameters\": {\n \"message\": \"={{ $json.html }}\",\n \"options\": {},\n \"subject\": \"Podcast Review\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"1MUdv1HbrQUFABiZ\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1\n },\n {\n \"id\": \"40aa23f4-69d6-46e5-84a2-b46a64a3f0af\",\n \"name\": \"TaddyTopDaily\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1620,\n 820\n ],\n \"parameters\": {\n \"url\": \"https://api.taddy.org/\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"query\",\n \"value\": \"=query { getTopChartsByGenres( limitPerPage:10, filterByCountry:UNITED_STATES_OF_AMERICA, taddyType:PODCASTEPISODE, genres:PODCASTSERIES_{{ $json.genre }}){ topChartsId podcastEpisodes{ uuid name audioUrl podcastSeries{ uuid name } } } }\"\n }\n ]\n },\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"X-USER-ID\"\n },\n {\n \"name\": \"X-API-KEY\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"42eea23b-b09c-49ee-af5b-12abb3960390\",\n \"name\": \"Genre\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1420,\n 820\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"e995cd5b-b91c-4a9d-8215-44d7dfe3f52f\",\n \"name\": \"genre\",\n \"type\": \"string\",\n ...", "input": "", "output": "The workflow has a broken data flow. The node 'HTML' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'HTML'.\n\n**Impact**: Data from 'HTML' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'HTML' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"HTML\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'HTML' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"6e361bfcd1e8378c9b07774b22409c7eaea7080f01d5248da45077c0c6108b99\",\n \"templateCredsSetupCompleted\": true\n },\n \"nodes\": [\n {\n \"id\": \"cbc036f7-b0e1-4eb4-94c3-7571c67a1efe\",\n \"name\": \"Code\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n -120,\n 40\n ],\n \"parameters\": {\n \"mode\": \"runOnceForEachItem\",\n \"jsCode\": \"// Get the input text\\nconst text = $input.item.json.text;\\n\\n// Ensure text is not null or undefined\\nif (!text) {\\n throw new Error('Input text is empty');\\n}\\n\\n// Function to split text into sentences while preserving dates and list items\\nfunction splitIntoSentences(text) {\\n const monthNames = '(?:Januar|Februar|M\\u00e4rz|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember)';\\n const datePattern = `(?:\\\\\\\\d{1,2}\\\\\\\\.\\\\\\\\s*(?:${monthNames}|\\\\\\\\d{1,2}\\\\\\\\.)\\\\\\\\s*\\\\\\\\d{2,4})`;\\n \\n // Split by sentence-ending punctuation, but not within dates or list items\\n const regex = new RegExp(`(?<=[.!?])\\\\\\\\s+(?=[A-Z\\u00c4\\u00d6\\u00dc]|$)(?!${datePattern}|\\\\\\\\s*[-\\u2022]\\\\\\\\s)`, 'g');\\n \\n return text.split(regex)\\n .map(sentence => sentence.trim())\\n .filter(sentence => sentence !== '');\\n}\\n\\n// Split the text into sentences\\nconst sentences = splitIntoSentences(text);\\n\\n// Output a single object with an array of sentences\\nreturn { json: { sentences: sentences } };\"\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"faae4740-a529-4275-be0e-b079c3bfde58\",\n \"name\": \"Split Out1\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 340,\n -180\n ],\n \"parameters\": {\n \"options\": {\n \"destinationFieldName\": \"claim\"\n },\n \"fieldToSplitOut\": \"sentences\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"c3944f89-e267-4df0-8fc4-9281eac4e759\",\n \"name\": \"Basic LLM Chain4\",\n \"type\": \"@n8n/n8n-nodes-langchain.chainLlm\",\n \"position\": [\n 640,\n -40\n ],\n \"para...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"eXiaTDyKfXpMeyLh\",\n \"meta\": {\n \"instanceId\": \"f4f5d195bb2162a0972f737368404b18be694648d365d6c6771d7b4909d28167\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Dynamically generate HTML page from user request using OpenAI Structured Output\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"b1d9659f-4cd0-4f87-844d-32b2af1dcf13\",\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 2160,\n 380\n ],\n \"parameters\": {\n \"options\": {\n \"responseHeaders\": {\n \"entries\": [\n {\n \"name\": \"Content-Type\",\n \"value\": \"text/html; charset=UTF-8\"\n }\n ]\n }\n },\n \"respondWith\": \"text\",\n \"responseBody\": \"={{ $json.html }}\"\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"5ca8ad3e-7702-4f07-af24-d38e94fdc4ec\",\n \"name\": \"Open AI - Using Structured Output\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1240,\n 380\n ],\n \"parameters\": {\n \"url\": \"https://api.openai.com/v1/chat/completions\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"model\\\": \\\"gpt-4o-2024-08-06\\\",\\n \\\"messages\\\": [\\n {\\n \\\"role\\\": \\\"system\\\",\\n \\\"content\\\": \\\"You are a user interface designer and copy writter. Your job is to help users visualize their website ideas. You design elegant and simple webs, with professional text. You use Tailwind framework\\\"\\n },\\n {\\n \\\"role\\\": \\\"user\\\",\\n \\\"content\\\": \\\"{{ $json.query.query }}\\\"\\n }\\n ],\\n \\\"response_format\\\":\\n{\\n \\\"type\\\": \\\"json_schema\\\",\\n \\\"json_schema\\\": {\\n \\\"name\\\": \\\"ui\\\",\\n \\\"description\\\": \\\"Dynamically generated UI\\\",\\n \\\"strict\\\": true,\\n \\\"schema\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"type\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"description\\\": \\\"The type of the UI component\\\",\\n \\\"enum\\\": [\\n \\\"div\\\",\\n \\\"span\\\",\\n \\\"a\\\",\\n \\\"p\\\",\\n \\\"h1\\\",\\n \\\"h2\\\"...", "input": "", "output": "The workflow has a broken data flow. The node 'Open AI - Using Structured Output' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Open AI - Using Structured Output'.\n\n**Impact**: Data from 'Open AI - Using Structured Output' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Open AI - Using Structured Output' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Open AI - Using Structured Output\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Open AI - Using Structured Output' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9\"\n },\n \"nodes\": [\n {\n \"id\": \"0b64edf1-57e0-4704-b78c-c8ab2b91f74d\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 480,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"a875d1c5-ccfe-4bbf-b429-56a42b0ca778\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatGoogleGemini\",\n \"position\": [\n 1280,\n 720\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-1.5-flash\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"dSxo6ns5wn658r8N\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"a5e00543-dbaa-4e62-afb0-825ebefae3f3\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserStructured\",\n \"position\": [\n 1480,\n 720\n ],\n \"parameters\": {\n \"jsonSchemaExample\": \"{\\n\\t\\\"caption_title\\\": \\\"\\\",\\n\\t\\\"caption_text\\\": \\\"\\\"\\n}\"\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"bb9af9c6-6c81-4e92-a29f-18ab3afbe327\",\n \"name\": \"Get Info\",\n \"type\": \"n8n-nodes-base.editImage\",\n \"position\": [\n 1100,\n 400\n ],\n \"parameters\": {\n \"operation\": \"information\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"8a0dbd5d-5886-484a-80a0-486f349a9856\",\n \"name\": \"Resize For AI\",\n \"type\": \"n8n-nodes-base.editImage\",\n \"position\": [\n 1100,\n 560\n ],\n \"parameters\": {\n \"width\": 512,\n \"height\": 512,\n \"options\": {},\n \"operation\": \"resize\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"d29f254a-5fa3-46fa-b153-19dfd8e8c6a7\",\n \"name\": \"Calculate Positioning\",\n \"type\": \"n8n...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"ff412ab2a6cd55af5dedbbab9b8e43f0f3a0cb16fb794fa8d3837f957b771ad2\"\n },\n \"nodes\": [\n {\n \"id\": \"9c3c06eb-8b48-4229-9b16-7fe7c4f886c3\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 78.44447107090468,\n 520\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"2a8d8297-18de-4e1f-b44b-93842f7c1709\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 1678.4444710709047,\n 2020\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-mini\",\n \"options\": {}\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"a6c24857-ad3b-4561-b40b-8520064e861b\",\n \"name\": \"Format QA Pair1\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 2018.4444710709047,\n 1880\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"2c1bd408-29f0-487b-9a33-7513d5bbfe23\",\n \"name\": \"question\",\n \"type\": \"string\",\n \"value\": \"={{ $('Needs AI Completion?1').item.json.question }}\"\n },\n {\n \"id\": \"02ffc3b7-3d77-4dfe-ba3f-2052f5cc9e83\",\n \"name\": \"answer\",\n \"type\": \"string\",\n \"value\": \"={{\\n[\\n $('Needs AI Completion?1').item.json.answer,\\n $json.text\\n ? $json.text[0].toLowerCase() + $json.text.substring(1, $json.text.length)\\n : '',\\n $('Needs AI Completion?1').item.json.append || '',\\n].join(' ').trim()\\n}}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4\n },\n {\n \"id\": \"2b4712cb-371c-45bc-a024-363ae951b0ac\",\n \"name\": \"For Each Question...1\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 1238.4444710709047,\n 1400\n ],\n \"parameters\": {\n \"options\": {}\n },\n ...", "input": "", "output": "In node 'Strapi', the parameter 'operation' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `create`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Strapi' parameter 'operation'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"HMoUOg8J7RzEcslH\",\n \"meta\": {\n \"instanceId\": \"3f91626b10fcfa8a3d3ab8655534ff3e94151838fd2709ecd2dcb14afb3d061a\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Extract personal data with a self-hosted LLM Mistral NeMo\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"7e67ae65-88aa-4e48-aa63-2d3a4208cf4b\",\n \"name\": \"When chat message received\",\n \"type\": \"@n8n/n8n-nodes-langchain.chatTrigger\",\n \"position\": [\n -500,\n 20\n ],\n \"webhookId\": \"3a7b0ea1-47f3-4a94-8ff2-f5e1f3d9dc32\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"e064921c-69e6-4cfe-a86e-4e3aa3a5314a\",\n \"name\": \"Ollama Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOllama\",\n \"position\": [\n -280,\n 420\n ],\n \"parameters\": {\n \"model\": \"mistral-nemo:latest\",\n \"options\": {\n \"useMLock\": true,\n \"keepAlive\": \"2h\",\n \"temperature\": 0.1\n }\n },\n \"credentials\": {\n \"ollamaApi\": {\n \"id\": \"vgKP7LGys9TXZ0KK\",\n \"name\": \"Ollama account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"fe1379da-a12e-4051-af91-9d67a7c9a76b\",\n \"name\": \"Auto-fixing Output Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserAutofixing\",\n \"position\": [\n -200,\n 220\n ],\n \"parameters\": {\n \"options\": {\n \"prompt\": \"Instructions:\\n--------------\\n{instructions}\\n--------------\\nCompletion:\\n--------------\\n{completion}\\n--------------\\n\\nAbove, the Completion did not satisfy the constraints given in the Instructions.\\nError:\\n--------------\\n{error}\\n--------------\\n\\nPlease try again. Please only respond with an answer that satisfies the constraints laid out in the Instructions:\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"b6633b00-6ebb-43ca-8e5c-664a53548c17\",\n \"name\": \"Structured Output Parser\",\n \"type\"...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"QyMyf3zraY0wxXDf\",\n \"meta\": {\n \"instanceId\": \"ba3fa76a571c35110ef5f67e5099c9a5c1768ef125c2f3b804ba20de75248c0b\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Load Prompts from Github Repo and auto populate n8n expressions\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"34781446-b06e-41eb-83b8-b96bda1a5595\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -80,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"c53b7243-7c82-47e0-a5ee-bd82bc51c386\",\n \"name\": \"GitHub\",\n \"type\": \"n8n-nodes-base.github\",\n \"position\": [\n 600,\n 0\n ],\n \"parameters\": {\n \"owner\": {\n \"__rl\": true,\n \"mode\": \"name\",\n \"value\": \"={{ $json.Account }}\"\n },\n \"filePath\": \"={{ $json.path }}{{ $json.prompt }}\",\n \"resource\": \"file\",\n \"operation\": \"get\",\n \"repository\": {\n \"__rl\": true,\n \"mode\": \"name\",\n \"value\": \"={{ $json.repo }}\"\n },\n \"additionalParameters\": {}\n },\n \"credentials\": {\n \"githubApi\": {\n \"id\": \"ostHZNoe8GSsbaQM\",\n \"name\": \"The GitHub account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"9976b199-b744-47a7-9d75-4b831274c01b\",\n \"name\": \"Extract from File\",\n \"type\": \"n8n-nodes-base.extractFromFile\",\n \"position\": [\n 840,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"text\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"26aa4e6a-c487-4cdf-91d5-df660cf826a6\",\n \"name\": \"setVars\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 180,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"150618c5-09b1-4f8b-a7b4-984662bf3381\",\n \"name\": \"Account\",\n ...", "input": "", "output": "The node 'setVars' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'setVars'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"6abe578b-d503-4da5-9af8-f9977de71139\",\n \"name\": \"Vivid Pop Explosion\",\n \"type\": \"n8n-nodes-base.set\",\n \"notes\": \" \",\n \"position\": [\n 380,\n 980\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"9ec60f33-b940-40a6-9f8a-cb944b7065f1\",\n \"name\": \"stylePrompt\",\n \"type\": \"string\",\n \"value\": \"=rule of thirds, golden ratio, hyper-maximalist, vibrant neon, high-contrast, octane render, photorealism, 8k ::7 --ar 16:9 --s 1000\\n\\nDesign a fun, energetic scene filled with bold, neon colors, and playful shapes that pop off the screen. The image should evoke a sense of joy and movement, using fluid, organic forms and exaggerated, cartoon-like proportions. Focus on creating a lively atmosphere with contrasting, saturated tones and dynamic lighting. Use a mix of asymmetrical and balanced compositions to create a playful visual flow. Render in 8K with a hyper-maximalist approach using Octane Render for vibrant, high-gloss textures and photorealistic lighting effects. Include:\"\n }\n ]\n },\n \"includeOtherFields\": true\n },\n \"notesInFlow\": true,\n \"typeVersion\": 3.4\n },\n {\n \"id\": \"7de1ea42-3b18-4bfb-8ea4-a8b6c8d16763\",\n \"name\": \"AI Dystopia\",\n \"type\": \"n8n-nodes-base.set\",\n \"notes\": \" \",\n \"position\": [\n 380,\n 620\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"9ec60f33-b940-40a6-9f8a-cb944b7065f1\",\n \"name\": \"stylePrompt\",\n \"type\": \"string\",\n \"value\": \"=golden ratio, rule of thirds, cyberpunk, glitch art, octane render, cinematic realism, 8k ::7 --ar 16:9 --s 1000\\n\\nGenerate a futuristic, cyberpunk dystopia with metallic textures, digital glitches, and neon lights. Blend col...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"cKRViOHDPsosO7UX\",\n \"meta\": {\n \"instanceId\": \"ec7a5f4ffdb34436e59d23eaccb5015b5238de2a877e205b28572bf1ffecfe04\"\n },\n \"name\": \"[AI/LangChain] Output Parser 4\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"3d669ba2-65b7-4502-92d9-645c4e51b26d\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"9a509299-746d-4a3f-b379-8a4a9a92c75a\",\n \"name\": \"Prompt\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 600,\n 240\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"input\",\n \"value\": \"Return the 5 largest states by area in the USA with their 3 largest cities and their population.\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"e2092fe6-d803-43e9-b2df-b0fc7aa83b02\",\n \"name\": \"LLM Chain\",\n \"type\": \"@n8n/n8n-nodes-langchain.chainLlm\",\n \"position\": [\n 1060,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"711734d0-1003-4639-bdee-c160f6f976b3\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserStructured\",\n \"position\": [\n 1560,\n 900\n ],\n \"parameters\": {\n \"jsonSchema\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"state\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"cities\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"name\\\": \\\"string\\\",\\n \\\"population\\\": \\\"number\\\"\\n }\\n }\\n }\\n }\\n}\",\n \"_injected_number_field\": \"not_a_number\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"f9b782f8-bb7b-4d65-be0d-d65c11de03d2\",\n \"name\": \"Auto-fixing Output Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserAutofixing\",\n \"...", "input": "", "output": "The node 'Structured Output Parser' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Structured Output Parser'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"VlCgU5K9SYQbdxTa\",\n \"meta\": {\n \"instanceId\": \"d868e3d040e7bda892c81b17cf446053ea25d2556fcef89cbe19dd61a3e876e9\"\n },\n \"name\": \"Content to 9:16 Aspect Image Generator v1\",\n \"tags\": [\n {\n \"id\": \"QsH2EXuw2e7YCv0K\",\n \"name\": \"OpenAI\",\n \"createdAt\": \"2024-11-15T04:05:20.872Z\",\n \"updatedAt\": \"2024-11-15T04:05:20.872Z\"\n },\n {\n \"id\": \"04PL2irdWYmF2Dg3\",\n \"name\": \"RunwayML\",\n \"createdAt\": \"2024-11-15T05:55:30.783Z\",\n \"updatedAt\": \"2024-11-15T05:55:30.783Z\"\n },\n {\n \"id\": \"yrY6updwSCXMsT0z\",\n \"name\": \"Video\",\n \"createdAt\": \"2024-11-15T05:55:34.333Z\",\n \"updatedAt\": \"2024-11-15T05:55:34.333Z\"\n },\n {\n \"id\": \"lvPj9rYRsKOHCi4J\",\n \"name\": \"Creatomate\",\n \"createdAt\": \"2024-11-19T15:59:16.134Z\",\n \"updatedAt\": \"2024-11-19T15:59:16.134Z\"\n },\n {\n \"id\": \"9LXACqpQLNtrM6or\",\n \"name\": \"Leonardo\",\n \"createdAt\": \"2024-11-19T15:59:21.368Z\",\n \"updatedAt\": \"2024-11-19T15:59:21.368Z\"\n },\n {\n \"id\": \"2DYOnQD6moK2E2VF\",\n \"name\": \"App 2\",\n \"createdAt\": \"2024-12-19T04:43:15.771Z\",\n \"updatedAt\": \"2024-12-19T04:43:15.771Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"be5c3e43-cc86-4081-aa98-e7af3d22267d\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 200,\n -960\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"28f70c3a-bc45-4f43-80a6-69b592c8ce2e\",\n \"name\": \"Sticky Note20\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -180,\n -1200\n ],\n \"parameters\": {\n \"color\": 6,\n \"width\": 290,\n \"height\": 1110,\n \"content\": \"# AlexK1919 \\n![Alex Kim](https://media.licdn.com/dms/image/v2/D5603AQFOYMkqCPl6Sw/profile-displayphoto-shrink_400_400/profile-displayphoto-shrink_400_400/0/1718309808352?e=1736985600&v=beta&t=pQKm7lQfUU1ytuC2Gq1PRxNY-XmROFWbo-BjzUPxWOs)\\n...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"OVSyGmI6YFviPu8Q\",\n \"meta\": {\n \"instanceId\": \"fb261afc5089eae952e09babdadd9983000b3d863639802f6ded8c5be2e40067\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Generate audio from text using OpenAI - text-to-speech Workflow\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"c40966a4-1709-4998-ae95-b067ce3496c9\",\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 1320,\n 200\n ],\n \"parameters\": {\n \"options\": {},\n \"respondWith\": \"binary\"\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"c4e57bb6-79a4-4b26-a179-73e30d681521\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 280,\n -140\n ],\n \"parameters\": {\n \"width\": 501.55,\n \"height\": 493.060000000001,\n \"content\": \"This `Webhook` node triggers the workflow when it receives a POST request.\\n\\n### 1. Test Mode:\\n* Use the test webhook URL\\n* Click the `Test workflow` button on the canvas. (In test mode, the webhook only works for one call after you click this button)\\n\\n### 1. Production Mode:\\n* The workflow must be active for a **Production URL** to run successfully.\\n* You can activate the workflow using the toggle in the top-right of the editor.\\n* Note that unlike test URL calls, production URL calls aren't shown on the canvas (only in the executions list).\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"1364a4b6-2651-4b38-b335-c36783a25f12\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 825,\n 60\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 388.35000000000025,\n \"height\": 292.71000000000043,\n \"content\": \"### Configure the OpenAI node with your API key:\\nIf you haven't connected your OpenAI credentials in n8n yet, log in to your OpenAI account to get your API Key. Then, open the OpenAI node, click `Creat...", "input": "", "output": "The node 'OpenAI' (type: @n8n/n8n-nodes-langchain.openAi) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"2Cije3KX7OIVwn9B\",\n \"name\": \"n8n OpenAI\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'OpenAI' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"73b64763-5e18-4ff1-bb52-ba25a08d3c3a\",\n \"name\": \"If params correct\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 500,\n 200\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"2e968b41-88f7-4b28-9837-af50ae130979\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"exists\",\n \"singleValue\": true\n },\n \"leftValue\": \"voice_id\",\n \"rightValue\": \"\"\n },\n {\n \"id\": \"ad961bc9-6db8-4cac-8c63-30930e8beca7\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"exists\",\n \"singleValue\": true\n },\n \"leftValue\": \"text\",\n \"rightValue\": \"\"\n }\n ]\n }\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"39079dec-54c5-458e-afa1-56ee5723f3a3\",\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 960,\n 180\n ],\n \"parameters\": {\n \"options\": {},\n \"respondWith\": \"binary\"\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"b6a344f4-28ac-41a7-8e6a-a2782a5d1c68\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 300,\n 200\n ],\n \"webhookId\": \"5acc6769-6c0f-42a8-a69c-b05e437e18a9\",\n \"parameters\": {\n \"path\": \"generate-voice\",\n \"options\": {},\n \"httpMethod\": \"POST\",\n \"responseMode\": \"responseNode\"\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"a25dec72-152b-4457-a18f-9cbbd31840ec\",\n \"name\": \"Generate voice\",\n \"type\": \"n8n-nodes-bas...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"26ba763460b97c249b82942b23b6384876dfeb9327513332e743c5f6219c2b8e\"\n },\n \"nodes\": [\n {\n \"id\": \"141638a4-b340-473f-a800-be7dbdcff131\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 695,\n 380\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"6ccdaca5-f620-4afa-bed6-92f3a450687d\",\n \"name\": \"Google Drive\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 875,\n 380\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"0B43u2YYOTJR2cC1BRkptZ3N4QTk4NEtxRko5cjhKUUFyemw0\",\n \"cachedResultUrl\": \"https://drive.google.com/file/d/0B43u2YYOTJR2cC1BRkptZ3N4QTk4NEtxRko5cjhKUUFyemw0/view?usp=drivesdk&resourcekey=0-UJ8EfTMMBRNVyBb6KhN2Tg\",\n \"cachedResultName\": \"0B0A0255.jpeg\"\n },\n \"options\": {},\n \"operation\": \"download\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"yOwz41gMQclOadgu\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 3\n },\n {\n \"id\": \"b0c2f7a4-a336-4705-aeda-411f2518aaef\",\n \"name\": \"Get Color Information\",\n \"type\": \"n8n-nodes-base.editImage\",\n \"position\": [\n 1200,\n 200\n ],\n \"parameters\": {\n \"operation\": \"information\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"3e42b3f1-6900-4622-8c0d-2d9a27a7e1c9\",\n \"name\": \"Resize Image\",\n \"type\": \"n8n-nodes-base.editImage\",\n \"position\": [\n 1200,\n 580\n ],\n \"parameters\": {\n \"width\": 512,\n \"height\": 512,\n \"options\": {},\n \"operation\": \"resize\",\n \"resizeOption\": \"onlyIfLarger\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"00425bb2-289e-4a09-8fcb-52319281483c\",\n \"name\": \"Default Data Loader\",\n \"type\": \"@n8n/n8n-nodes-...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9\"\n },\n \"nodes\": [\n {\n \"id\": \"6d16b5be-8f7b-49f2-8523-9b84c62f2759\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 1960,\n 660\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-2024-08-06\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"a6084f09-9a4f-478a-ac1a-ab1413628c1f\",\n \"name\": \"Capture Frames\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 720,\n 460\n ],\n \"parameters\": {\n \"mode\": \"runOnceForEachItem\",\n \"language\": \"python\",\n \"pythonCode\": \"import cv2\\nimport numpy as np\\nimport base64\\n\\ndef extract_evenly_distributed_frames_from_base64(base64_string, max_frames=90):\\n # Decode the Base64 string into bytes\\n video_bytes = base64.b64decode(base64_string)\\n \\n # Write the bytes to a temporary file\\n video_path = '/tmp/temp_video.mp4'\\n with open(video_path, 'wb') as video_file:\\n video_file.write(video_bytes)\\n \\n # Open the video file using OpenCV\\n video_capture = cv2.VideoCapture(video_path)\\n \\n # Get the total number of frames in the video\\n total_frames = int(video_capture.get(cv2.CAP_PROP_FRAME_COUNT))\\n \\n # Calculate the step size to take 'max_frames' evenly distributed frames\\n step_size = max(1, total_frames // (max_frames - 1))\\n \\n # List to store selected frames as base64\\n selected_frames_base64 = []\\n \\n for i in range(0, total_frames, step_size):\\n # Set the current frame position\\n video_capture.set(cv2.CAP_PROP_POS_FRAMES, i)\\n \\n # Read the frame\\n ret, frame = video_capture.read()\\n if ret:\\n # Convert frame (NumPy array) to a Base64 string\\n frame_base64 = convert_frame_to_base64(frame)\\n selected_frames_base64.append(frame_bas...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"aVTi7K9mFjK5OjAV\",\n \"meta\": {\n \"instanceId\": \"b3a8efae31a34c2224655b66499bee098263a56d266da574e8820468780b7ddd\"\n },\n \"name\": \"OpenAI Assistant with custom n8n tools\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"d15e7634-408b-43c5-a8d6-afcbc83479a9\",\n \"name\": \"On new manual Chat Message\",\n \"type\": \"@n8n/n8n-nodes-langchain.manualChatTrigger\",\n \"position\": [\n 600,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"5d9ad043-adbe-4970-aa4e-b81dfcb9e255\",\n \"name\": \"OpenAI Assistant\",\n \"type\": \"@n8n/n8n-nodes-langchain.openAiAssistant\",\n \"position\": [\n 820,\n 300\n ],\n \"parameters\": {\n \"options\": {},\n \"assistantId\": \"asst_BWy0154vMGMdrX7MjCYaYv6a\"\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"au6fQZN7it62DWlS\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"0c3aded2-886d-4c9f-8d6e-2729f12b6711\",\n \"name\": \"Execute Workflow Trigger\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n 600,\n 960\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"c77010ac-82e6-40f2-92c4-c360d276b896\",\n \"name\": \"Mapping data\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 1080,\n 820\n ],\n \"parameters\": {\n \"jsCode\": \"return [\\n {\\n \\\"country\\\": \\\"Wakanda\\\",\\n \\\"capital\\\": \\\"Birnin Zana\\\"\\n },\\n {\\n \\\"country\\\": \\\"Narnia\\\",\\n \\\"capital\\\": \\\"Cair Paravel\\\"\\n },\\n {\\n \\\"country\\\": \\\"Gondor\\\",\\n \\\"capital\\\": \\\"Minas Tirith\\\"\\n },\\n {\\n \\\"country\\\": \\\"Oz\\\",\\n \\\"capital\\\": \\\"The Emerald City\\\"\\n },\\n {\\n \\\"country\\\": \\\"Westeros\\\",\\n \\\"capital\\\": \\\"King's Landing\\\"\\n },\\n {\\n \\\"country\\\": \\\"Panem\\\",\\n \\\"capital\\\": \\\"The Capitol\\\"\\n },\\n {\\n \\\"country\\\": \\\"Ruritania\\\",\\n \\\"capital\\\": \\\"Strelsau\\\"\\n },\\n {\\n \\\"country\\\": \\\"Mordor\\\",\\n \\\"capital\\\": \\\"Barad-d\\u00fbr\\\"\\n }...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"InzSAe2cnTJImvLm\",\n \"meta\": {\n \"instanceId\": \"fb924c73af8f703905bc09c9ee8076f48c17b596ed05b18c0ff86915ef8a7c4a\"\n },\n \"name\": \"OpenAI Assistant workflow: uploa file, create an Assistant, chat with it!\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"fc64b8c8-3457-4a96-8321-094accb71c56\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"disabled\": true,\n \"position\": [\n 980,\n 280\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"356299ae-155b-40cf-a3a4-2ae38819f998\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1140,\n 0\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 513,\n \"height\": 350.4434384638342,\n \"content\": \"## STEP 1. Get a Google Drive file and upload to OpenAI \\n\\n[Music Festival example document](https://docs.google.com/document/d/1_miLvjUQJ-E9bWgEBK87nHZre26-4Fz0RpfSfO548H0/edit?usp=sharing\\n)\\n\\n[OpenAI API doc for the file upload](https://platform.openai.com/docs/api-reference/files)\\n\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"48b39a32-e0b0-4c04-b99f-07ed040d743d\",\n \"name\": \"Get File\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 1200,\n 180\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1_miLvjUQJ-E9bWgEBK87nHZre26-4Fz0RpfSfO548H0\",\n \"cachedResultUrl\": \"https://docs.google.com/document/d/1_miLvjUQJ-E9bWgEBK87nHZre26-4Fz0RpfSfO548H0/edit?usp=drivesdk\",\n \"cachedResultName\": \"Music Festival\"\n },\n \"options\": {\n \"googleFileConversion\": {\n \"conversion\": {\n \"docsToFormat\": \"application/pdf\"\n }\n }\n },\n \"operation\": \"download\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"YE26UaQZAjczvc92\",\n ...", "input": "", "output": "In node 'Sticky Note3', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `### STEP 4. Expand the Assistant. Check the tutorials:\n\n[Create a WhatsApp bot](https://blog.n8n.io/whatsapp-bot/)\n[Create simple Telegram bot](https://blog.n8n.io/telegram-bots/)\n[![Create a Telegram AI bot](https://i.ytimg.com/vi/ODdRXozldPw/hqdefault.jpg)](https://www.youtube.com/watch?v=ODdRXozldPw)\n\n`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note3' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"147\",\n \"meta\": {\n \"instanceId\": \"dfdeafd1c3ed2ee08eeab8c2fa0c3f522066931ed8138ccd35dc20a1e69decd3\"\n },\n \"name\": \"OpenAI-model-examples\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"ad6dc2cd-21cc-4563-86ba-f78cc4a55543\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -640,\n 380\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"b370da23-ead4-4221-b7fe-a9d943f7fbb9\",\n \"name\": \"davinci-003-complete\",\n \"type\": \"n8n-nodes-base.openAi\",\n \"position\": [\n 1160,\n 60\n ],\n \"parameters\": {\n \"prompt\": \"={{ $json.text }}\\n\\nTl;dr:\",\n \"options\": {\n \"maxTokens\": 500\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"63\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"5e04f355-36c0-4540-8e65-68118cb73135\",\n \"name\": \"ChatGPT-ex2\",\n \"type\": \"n8n-nodes-base.openAi\",\n \"position\": [\n 1160,\n 740\n ],\n \"parameters\": {\n \"prompt\": {\n \"messages\": [\n {\n \"role\": \"system\",\n \"content\": \"=You are an assistant. Always add 5 emojis to the end of your answer.\"\n },\n {\n \"content\": \"=Write tl;dr of the wollowing text: {{ $json.text}}\"\n }\n ]\n },\n \"options\": {\n \"maxTokens\": 500,\n \"temperature\": 0.8\n },\n \"resource\": \"chat\"\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"63\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"16a7cf80-16e3-44f9-b15c-7501417fe38f\",\n \"name\": \"davinci-003-edit\",\n \"type\": \"n8n-nodes-base.openAi\",\n \"position\": [\n 1340,\n 60\n ],\n \"parameters\": {\n \"input\": \"={{ $json.text }}\",\n \"options\":...", "input": "", "output": "The node 'ChatGPT-ex1.1' (type: n8n-nodes-base.openAi) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"63\",\n \"name\": \"OpenAi account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'ChatGPT-ex1.1' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"26ba763460b97c249b82942b23b6384876dfeb9327513332e743c5f6219c2b8e\"\n },\n \"nodes\": [\n {\n \"id\": \"c92e3d01-4385-4e99-a9a7-77279b3d9cb3\",\n \"name\": \"Local File Trigger\",\n \"type\": \"n8n-nodes-base.localFileTrigger\",\n \"position\": [\n 720,\n 120\n ],\n \"parameters\": {\n \"path\": \"/home/node/host_mount/shared_drive\",\n \"events\": [\n \"add\"\n ],\n \"options\": {\n \"awaitWriteFinish\": true\n },\n \"triggerOn\": \"folder\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"a08f5acc-ee46-49e7-be4d-99edc95ab41f\",\n \"name\": \"Get Files and Folders\",\n \"type\": \"n8n-nodes-base.executeCommand\",\n \"position\": [\n 1200,\n 120\n ],\n \"parameters\": {\n \"command\": \"=ls -p {{ $json.directory }} | grep -v / || true; \\\\\\necho \\\"===\\\"; \\\\\\nls -p {{ $json.directory }} | grep / || true;\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"f3ab100a-986d-49bc-aeb5-979f16b2fd46\",\n \"name\": \"Files and Folders to Array\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1380,\n 120\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"ad893795-cae8-4418-99e0-2c68126337d3\",\n \"name\": \"files\",\n \"type\": \"array\",\n \"value\": \"={{ $json.stdout.split('===')[0].split('\\\\n').filter(item => !item.endsWith('Zone.Identifier')).compact() }}\"\n },\n {\n \"id\": \"0e7e8571-6b86-481d-a20c-3a7c621c562f\",\n \"name\": \"folders\",\n \"type\": \"array\",\n \"value\": \"={{ $json.stdout.split('===')[1].split('\\\\n').compact() }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3\n },\n {\n \"id\": \"56c4a8b4-c5b0-4e2f-806b-fef5fb5260b5\",\n \"name\": \"Mistral Cloud Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatMistralC...", "input": "", "output": "The node 'Mistral Cloud Chat Model' (type: @n8n/n8n-nodes-langchain.lmChatMistralCloud) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"mistralCloudApi\": {\n \"id\": \"EIl2QxhXAS9Hkg37\",\n \"name\": \"Mistral Cloud account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Mistral Cloud Chat Model' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"fqQcmSdoVqnPeGHj\",\n \"meta\": {\n \"instanceId\": \"a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"OpenAI Personal Shopper with RAG and WooCommerce\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"635901e5-4afd-4c81-a63e-52f1b863a025\",\n \"name\": \"When chat message received\",\n \"type\": \"@n8n/n8n-nodes-langchain.chatTrigger\",\n \"position\": [\n -200,\n 280\n ],\n \"webhookId\": \"bd3a878c-50b0-4d92-906f-e768a65c1485\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"d11cd97c-1539-462d-858c-8758cf1a8278\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryBufferWindow\",\n \"position\": [\n 620,\n 580\n ],\n \"parameters\": {\n \"sessionKey\": \"={{ $('Edit Fields').item.json.sessionId }}\",\n \"sessionIdType\": \"customKey\"\n },\n \"typeVersion\": 1.3\n },\n {\n \"id\": \"02bb43e4-f26e-4906-8049-c49d3fecd817\",\n \"name\": \"Calculator\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolCalculator\",\n \"position\": [\n 760,\n 580\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"ad6058dd-b429-4f3c-b68a-7e3d98beec83\",\n \"name\": \"Edit Fields\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 20,\n 280\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"7015c229-f9fe-4c77-b2b9-4ac09a3a3cb1\",\n \"name\": \"sessionId\",\n \"type\": \"string\",\n \"value\": \"={{ $json.sessionId }}\"\n },\n {\n \"id\": \"f8fc0044-6a1a-455b-a435-58931a8c4c8e\",\n \"name\": \"chatInput\",\n \"type\": \"string\",\n \"value\": \"={{ $json.chatInput }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4\n },\n {\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"bae5d407-9210-4bd0-99a3-3637ee893065\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1440,\n -280\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"c5a14c8e-4aeb-4a4e-b202-f88e837b6efb\",\n \"name\": \"Get Variables\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -200,\n -180\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"b455afe0-2311-4d3f-8751-269624d76cf1\",\n \"name\": \"coords\",\n \"type\": \"array\",\n \"value\": \"={{ $json.candidates[0].content.parts[0].text.parseJson() }}\"\n },\n {\n \"id\": \"92f09465-9a0b-443c-aa72-6d208e4df39c\",\n \"name\": \"width\",\n \"type\": \"string\",\n \"value\": \"={{ $('Get Image Info').item.json.size.width }}\"\n },\n {\n \"id\": \"da98ce2a-4600-46a6-b4cb-159ea515cb50\",\n \"name\": \"height\",\n \"type\": \"string\",\n \"value\": \"={{ $('Get Image Info').item.json.size.height }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4\n },\n {\n \"id\": \"f24017c9-05bc-4f75-a18c-29efe99bfe0e\",\n \"name\": \"Get Test Image\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -1260,\n -280\n ],\n \"parameters\": {\n \"url\": \"https://www.stonhambarns.co.uk/wp-content/uploads/jennys-ark-petting-zoo-for-website-6.jpg\",\n \"options\": {}\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"c0f6a9f7-ba65-48a3-8752-ce5d80fe33cf\",\n \"name\": \"Gemini 2.0 Object Detection\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -680,\n -180\n ],\n \"parameters\": {\n \"url\": \"={{ $items[999].json.value }}\",\n \"method\": \"POST\",...", "input": "", "output": "In node 'Gemini 2.0 Object Detection', the parameter 'url' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp:generateContent`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Gemini 2.0 Object Detection' parameter 'url'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"n8n.syncbricks.com\"\n },\n \"nodes\": [\n {\n \"id\": \"e6d85380-7cfa-4c6e-9b0f-d390ad0cbc67:\n \"name\": \"HTTP Request1\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1400,\n -180\n ],\n \"parameters\": {\n \"url\": \"=https://proxmox.syncbricks.com/api2/json{{ $json.output.url }}\",\n \"method\": \"=POST\",\n \"options\": {\n \"allowUnauthorizedCerts\": true\n },\n \"jsonBody\": \"={{ $json.output.details }}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"genericCredentialType\",\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"pJcVQegRQ5mpraoQ\",\n \"name\": \"Proxmox\"\n }\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"9b497de8-0f01-40b1-8f8e-28fad1f758c4\",\n \"name\": \"Proxmox API Documentation\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolHttpRequest\",\n \"position\": [\n -300,\n 40\n ],\n \"parameters\": {\n \"url\": \"https://pve.proxmox.com/pve-docs/api-viewer/index.html\",\n \"toolDescription\": \"This is Proxmox API Documentation ensure to read the details from here\"\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"e7ac54a9-37be-44b5-b58e-8b631892367e\",\n \"name\": \"Auto-fixing Output Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserAutofixing\",\n \"position\": [\n 40,\n 60\n ],\n \"parameters\": {\n \"options\": {\n \"prompt\": \"Instructions:\\n--------------\\n{instructions}\\n--------------\\nCompletion:\\n--------------\\n{completion}\\n--------------\\n\\nAbove, the Completion did not satisfy the constraints given in the Instructions.\\nError:\\n--------------\\n{error}\\n--------------\\n\\nPlease try again. Please only respond with an answer that satisfies the constraints laid out in the Instructions:\"\n }\n },\n \"typeVersion\": 1\n },\n {\n ...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"26ba763460b97c249b82942b23b6384876dfeb9327513332e743c5f6219c2b8e\"\n },\n \"nodes\": [\n {\n \"id\": \"382dddd4-da50-49fa-90a2-f7d6d160afdf\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 920,\n 280\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"efa8f415-62f7-43b3-a76a-a2eabf779cb8\",\n \"name\": \"Map Workflows & Credentials\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1360,\n 280\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"0fd19a68-c561-4cc2-94d6-39848977e6d2\",\n \"name\": \"workflow_id\",\n \"type\": \"string\",\n \"value\": \"={{ $json.id }}\"\n },\n {\n \"id\": \"a81f9e6f-9c78-4c3d-9b79-e820f8c5ba29\",\n \"name\": \"workflow_name\",\n \"type\": \"string\",\n \"value\": \"={{ $json.name }}\"\n },\n {\n \"id\": \"58ab0f2f-7598-48de-bea1-f3373c5731fe\",\n \"name\": \"credentials\",\n \"type\": \"array\",\n \"value\": \"={{ $json.nodes.map(node => node.credentials).compact().reduce((acc,cred) => { const keys = Object.keys(cred); const items = keys.map(key => ({ type: key, ...cred[key] })); acc.push(...items); return acc; }, []) }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3\n },\n {\n \"id\": \"9e9b4f9c-12b7-47ba-8cf4-a9818902a538\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1084,\n 252\n ],\n \"parameters\": {\n \"width\": 216,\n \"height\": 299.56273929030715,\n \"content\": \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n### \\ud83d\\udea8Required\\nYou'll need an n8n API key. Note: available workflows will be scoped to your key.\"\n },\n \"typeVersion\": 1\n },\n {\n ...", "input": "", "output": "The workflow has a broken data flow. The node 'Chat Trigger' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Chat Trigger'.\n\n**Impact**: Data from 'Chat Trigger' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Chat Trigger' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Chat Trigger\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Chat Trigger' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"slP122GjD9meGkS6\",\n \"meta\": {\n \"instanceId\": \"178ef8a5109fc76c716d40bcadb720c455319f7b7a3fd5a39e4f336a091f524a\"\n },\n \"name\": \"Calendar_scheduling\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"bd1dae81-daea-4539-bf1d-38eb9a2bd2f0\",\n \"name\": \"Gmail Trigger\",\n \"type\": \"n8n-nodes-base.gmailTrigger\",\n \"position\": [\n 500,\n 560\n ],\n \"parameters\": {\n \"filters\": {\n \"readStatus\": \"unread\",\n \"includeSpamTrash\": false\n },\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"kLFedNEM8Zwkergv\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"a97c3ab1-6fbc-441e-af11-3c746936013b\",\n \"name\": \"Chat OpenAI\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 720,\n 740\n ],\n \"parameters\": {\n \"model\": \"gpt-4\",\n \"options\": {\n \"temperature\": 0.1\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"wJtZwsVKW5v6R2Iy\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"a1205598-7cd4-4278-ad53-0cfc7c7947ff\",\n \"name\": \"Workflow Tool\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolWorkflow\",\n \"position\": [\n 1580,\n 759\n ],\n \"parameters\": {\n \"name\": \"Calendar_Availability\",\n \"workflowId\": \"={{ $workflow.id }}\",\n \"description\": \"Call this tool to get my calendar availability as stringified JSON array.\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"5ba2c2b0-2218-45d2-a417-f86c80643397\",\n \"name\": \"Chat OpenAI1\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 1420,\n 759\n ],\n \"parameters\": {\n \"model\": \"gpt-4\",\n \"options\": {\n...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"6d908a58-8893-48da-8311-8c28ebd8ec62\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -520,\n -280\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 1160,\n \"height\": 120,\n \"content\": \"**Summarize YouTube videos**\\n\\nThis project automates the summarization of YouTube videos, transforming lengthy content into concise, actionable insights. By leveraging AI and workflow automation, it extracts video transcripts, analyzes key points, and generates summaries, saving time for content creators, researchers, and professionals. Perfect for staying informed, conducting research, or repurposing video content efficiently.\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"98de613a-1b1e-4b46-915f-7bebcfd6a931\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -540,\n 120\n ],\n \"parameters\": {\n \"width\": 230,\n \"height\": 80,\n \"content\": \"Add the full YouTube URL. \\u261d\\ufe0f\\nYou can change this input to a webhook or anything else.\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"064208d4-52c3-46a9-9f9f-d37258189d06\",\n \"name\": \"Request YouTube Transcript\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -200,\n -20\n ],\n \"parameters\": {\n \"url\": \"Apify API_KEY Here ???\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"startUrls\\\": [\\n \\\"{{ $json['Full URL'] }}\\\"\\n ]\\n}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\"\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"ba5e52fd-18b1-4232-961c-b53b01e21202\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -280,\n -140\n ],\n \"parameters\": {\n \"color\": 3,\n \"width\": 280,\n \"height\": 340,\n \"content\": \"Once you follow the Se...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"c59c4acfed171bdc864e7c432be610946898c3ee271693e0303565c953d88c1d\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Transform Image to Lego Style Using Line and Dall-E\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"82b62d4e-a263-4232-9bae-4c581db2269c\",\n \"name\": \"Receive a Line Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 0,\n 0\n ],\n \"webhookId\": \"2a27c148-3977-485f-b197-567c96671023\",\n \"parameters\": {\n \"path\": \"lineimage\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"f861c4eb-3d4f-4253-810f-8032602f079b\",\n \"name\": \"Receive Line Messages\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 220,\n 0\n ],\n \"parameters\": {\n \"url\": \"=https://api-data.line.me/v2/bot/message/{{ $json.body.events[0].message.id }}/content\",\n \"options\": {},\n \"jsonHeaders\": \"={\\n\\\"Authorization\\\": \\\"Bearer YOUR_LINE_BOT_TOKEN\\\",\\n\\\"Content-Type\\\": \\\"application/json\\\"\\n}\",\n \"sendHeaders\": true,\n \"specifyHeaders\": \"json\"\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"da3a9188-028d-4c75-b23f-5f1f4e50784c\",\n \"name\": \"Creating an Image using Dall-E\",\n \"type\": \"@n8n/n8n-nodes-langchain.openAi\",\n \"position\": [\n 860,\n 0\n ],\n \"parameters\": {\n \"prompt\": \"={{ $json.content }}\",\n \"options\": {\n \"returnImageUrls\": true\n },\n \"resource\": \"image\"\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"YOUR_OPENAI_CREDENTIAL_ID\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.7\n },\n {\n \"id\": \"36c826e5-eacd-43ad-b663-4d788005e61a\",\n \"name\": \"Creating a Prompt for Dall-E (Lego Style)\",\n \"type\": \"@n8n/n8n-nodes-langchain.openAi\",\n \"position\": [\n 540,\n 0\n ],\n \"parameters\": {\n \"text...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7\"\n },\n \"nodes\": [\n {\n \"id\": \"aa0c62d1-2a5e-4336-8783-a8a21cb23374\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n 1180,\n 760\n ],\n \"parameters\": {\n \"options\": {\n \"temperature\": 0\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"VQtv7frm7eLiEDnd\",\n \"name\": \"OpenAi account 7\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"0c7d21e6-5bf6-4927-ad23-008b22e2ffde\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 280,\n 560\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"352de912-3a36-4bf2-b013-b46e0ace38e9\",\n \"name\": \"Generate French Audio\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 720,\n 560\n ],\n \"parameters\": {\n \"url\": \"=https://api.elevenlabs.io/v1/text-to-speech/{{ $json.voice_id }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\\"text\\\":\\\"{{ $json.text }}\\\",\\\"model_id\\\":\\\"eleven_multilingual_v2\\\",\\\"voice_settings\\\":{\\\"stability\\\":0.5,\\\"similarity_boost\\\":0.5}}\",\n \"sendBody\": true,\n \"sendQuery\": true,\n \"sendHeaders\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"genericCredentialType\",\n \"genericAuthType\": \"httpHeaderAuth\",\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"optimize_streaming_latency\",\n \"value\": \"1\"\n }\n ]\n },\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"accept\",\n \"value\": \"audio/mpeg\"\n }\n ]\n }\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"OMni...", "input": "", "output": "The node 'Translate Text to English' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Translate Text to English'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"VhN3CX6QPBkX77pZ\",\n \"meta\": {\n \"instanceId\": \"98bf0d6aef1dd8b7a752798121440fb171bf7686b95727fd617f43452393daa3\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Use any LLM-Model via OpenRouter\",\n \"tags\": [\n {\n \"id\": \"uumvgGHY5e6zEL7V\",\n \"name\": \"Published Template\",\n \"createdAt\": \"2025-02-10T11:18:10.923Z\",\n \"updatedAt\": \"2025-02-10T11:18:10.923Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"b72721d2-bce7-458d-8ff1-cc9f6d099aaf\",\n \"name\": \"Settings\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -420,\n -640\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"3d7f9677-c753-4126-b33a-d78ef701771f\",\n \"name\": \"model\",\n \"type\": \"string\",\n \"value\": \"deepseek/deepseek-r1-distill-llama-8b\"\n },\n {\n \"id\": \"301f86ec-260f-4d69-abd9-bde982e3e0aa\",\n \"name\": \"prompt\",\n \"type\": \"string\",\n \"value\": \"={{ $json.chatInput }}\"\n },\n {\n \"id\": \"a9f65181-902d-48f5-95ce-1352d391a056\",\n \"name\": \"sessionId\",\n \"type\": \"string\",\n \"value\": \"={{ $json.sessionId }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4\n },\n {\n \"id\": \"a4593d64-e67a-490e-9cb4-936cc46273a0\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -460,\n -740\n ],\n \"parameters\": {\n \"width\": 180,\n \"height\": 400,\n \"content\": \"## Settings\\nSpecify the model\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"3ea3b09a-0ab7-4e0f-bb4f-3d807d072d4e\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -240,\n -740\n ],\n \"parameters\": {\n \"color\": 3,\n \"width\": 380,\n \"height\": 400,\n ...", "input": "", "output": "The workflow has a broken data flow. The node 'Settings' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Settings'.\n\n**Impact**: Data from 'Settings' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Settings' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Settings\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Settings' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"9320d08a-4868-4103-abdf-3f8f54a7a0a0\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 0,\n 0\n ],\n \"webhookId\": \"9024e29e-9080-4cf5-9a6b-0d918468f195\",\n \"parameters\": {\n \"path\": \"ytube\",\n \"options\": {},\n \"httpMethod\": \"POST\",\n \"responseMode\": \"responseNode\"\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"a5cc8922-8124-4269-9cfd-e891b29cc2b7\",\n \"name\": \"YouTube Transcript\",\n \"type\": \"n8n-nodes-youtube-transcription.youtubeTranscripter\",\n \"position\": [\n 800,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"ff3c0fd1-36d8-4d64-b405-0600efd4d93b\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 200,\n 260\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"transcript\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"423276e0-81bf-487a-bbdd-26e9b84fa755\",\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 1200,\n 140\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"27344649-8029-48ae-867b-7363d904fc59\",\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 1200,\n 380\n ],\n \"parameters\": {\n \"text\": \"={{ $json.title }}\\n{{ $json.youtubeUrl }}\",\n \"additionalFields\": {\n \"parse_mode\": \"HTML\",\n \"appendAttribution\": false\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"230c0325-d22a-4070-9460-748a6fef48d5\",\n \"name\": \"Get YouTube URL\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 200,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"OvuZIXwt9mdU2JGK\"\n \"meta\": {\n \"instanceId\": \"fb924c73af8f703905bc09c9ee8076f48c17b596ed05b18c0ff86915ef8a7c4a\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"FLUX-fill standalone\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"9f051c89-0243-48fb-baa4-666af3fe54b3\",\n \"name\": \"Merge\",\n \"type\": \"n8n-nodes-base.merge\",\n \"position\": [\n 940,\n 120\n ],\n \"parameters\": {\n \"mode\": \"combine\",\n \"options\": {},\n \"combineBy\": \"combineByPosition\"\n },\n \"typeVersion\": 3\n },\n {\n \"id\": \"5da963f7-4320-4359-aefa-bf8f6d6ef815\",\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 1520,\n 120\n ],\n \"parameters\": {\n \"options\": {},\n \"respondWith\": \"text\",\n \"responseBody\": \"={{ $json.html }}\"\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"05d877bc-b591-478c-b112-32b7efe1ca3f\",\n \"name\": \"Wait 3 sec\",\n \"type\": \"n8n-nodes-base.wait\",\n \"position\": [\n 920,\n 680\n ],\n \"webhookId\": \"90f31c1f-6707-4f2f-b525-d3961432cd81\",\n \"parameters\": {\n \"amount\": 3\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"a3cc4a50-4218-4a01-ab20-151fd707dd66\",\n \"name\": \"Is Ready?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1340,\n 680\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"3cf5b451-9ff5-4c2a-864f-9aa7d286871a\",\n \"operator\": {\n \"name\": \"filter.operator.equals\",\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.status }}\",\n ...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"IyhH1KHtXidKNSIA\",\n \"meta\": {\n \"instanceId\": \"31e69f7f4a77bf465b805824e303232f0227212ae922d12133a0f96ffeab4fef\"\n },\n \"name\": \"\\ud83d\\udc0bDeepSeek V3 Chat & R1 Reasoning Quick Start\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"54c59cae-fbd0-4f0d-b633-6304e6c66d89\",\n \"name\": \"When chat message received\",\n \"type\": \"@n8n/n8n-nodes-langchain.chatTrigger\",\n \"position\": [\n -840,\n -740\n ],\n \"webhookId\": \"b740bd14-1b9e-4b1b-abd2-1ecf1184d53a\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"ef85680e-569f-4e74-a1b4-aae9923a0dcb\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"onError\": \"continueErrorOutput\",\n \"position\": [\n -320,\n 40\n ],\n \"parameters\": {\n \"agent\": \"conversationalAgent\",\n \"options\": {\n \"systemMessage\": \"You are a helpful assistant.\"\n }\n },\n \"retryOnFail\": true,\n \"typeVersion\": 1.7,\n \"alwaysOutputData\": true\n },\n {\n \"id\": \"07a8c74c-768e-4b38-854f-251f2fe5b7bf\",\n \"name\": \"DeepSeek\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n -360,\n 220\n ],\n \"parameters\": {\n \"model\": \"=deepseek-reasoner\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"MSl7SdcvZe0SqCYI\",\n \"name\": \"deepseek\"\n }\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"a6d58a8c-2d16-4c91-adde-acac98868150\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryBufferWindow\",\n \"position\": [\n -220,\n 220\n ],\n \"parameters\": {},\n \"typeVersion\": 1.3\n },\n {\n \"id\": \"401a5932-9f3e-4b17-a531-3a19a6a7788a\",\n \"name\": \"Basic LLM Chain2\",\n \"type\": \"@n8n/n8n-nodes-langchain.chainLlm\",\n \"position\": [\n -320,\n -800\n ],\n \"parameters\": {\n ...", "input": "", "output": "In node 'DeepSeek JSON Body', the parameter 'authentication' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `genericCredentialType`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'DeepSeek JSON Body' parameter 'authentication'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"VY4TXYGmqth57Een\",\n \"meta\": {\n \"instanceId\": \"fb924c73af8f703905bc09c9ee8076f48c17b596ed05b18c0ff86915ef8a7c4a\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Docsify example\",\n \"tags\": [],\n \"nodes\": [\n {\n \"id\": \"f41906c3-ee4c-4333-bfd5-426f82ba4bd9\",\n \"name\": \"CONFIG\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 660,\n 60\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"b48986ec-f58d-4a7f-afba-677edcb28d31\",\n \"name\": \"project_path\",\n \"type\": \"string\",\n \"value\": \"./.n8n/test_docs\"\n },\n {\n \"id\": \"cf632419-f839-4045-922c-03784bb3ae07\",\n \"name\": \"instance_url\",\n \"type\": \"string\",\n \"value\": \"={{$env[\\\"N8N_PROTOCOL\\\"]}}://{{$env[\\\"N8N_HOST\\\"]}}\"\n },\n {\n \"id\": \"7a7c70a6-1853-4ca7-b5b1-e36bb0e190d0\",\n \"name\": \"HTML_headers\",\n \"type\": \"string\",\n \"value\": \"= \\n \\n \\n \\n \"\n },\n {\n \"id\": \"1e785afe-f05f-4e51-a164-f341da81ccac\",\n \"name\": \"HTML_styles_editor\",\n \"type\": \"string\",\n \"value\": \"= \\\\n\\\\n`);\\n\\nvar md_reportbody=md_style+md_reporthead;\\n\\n//declare several variables that are used for report generation\\nvar tablehead = \\\"| Date | Hours | Task Descr...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\" \"Very quick quickstart\",\n \"nodes\": [\n {\n \"id\": \"cbb6afcc-f900-434d-ad2e-affb31ccf7a9\",\n \"name\": \"Customer Datastore\",\n \"type\": \"n8n-nodes-base.n8nTrainingCustomerDatastore\",\n \"position\": [\n 1000,\n 740\n ],\n \"parameters\": {\n \"operation\": \"getAllPeople\",\n \"returnAll\": true\n },\n \"typeVersion\": 1,\n \"notes\": \"This n8nTrainingCustomerDatastore node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1eb939c0-e391-4e3b-9751-889da2de7cf7\",\n \"name\": \"Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 460,\n 460\n ],\n \"parameters\": {\n \"width\": 300,\n \"height\": 220,\n \"content\": \"## About the very quick quickstart workflow\\n\\nThis is an incomplete workflow, used in the [very quick quickstart]({{ $env.WEBHOOK_URL }} tutorial.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c53a8591-9efe-4fb8-993b-6cc309f3240e\",\n \"name\": \"Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 940,\n 640\n ],\n \"parameters\": {\n \"width\": 220,\n \"height\": 300,\n \"content\": \"**Get fake sample data**\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c7e35ca4-b180-4280-9e43-a5dda5d3ea97\",\n \"name\": \"Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1220,\n 640\n ],\n \"parameters\": {\n \"width\": 220,\n \"height\": 300,\n \"content\": \"**Extract data and prepare it for use in the next node**\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"94bba884-5cef-4fe6-ba7d-cc7dbe49839c\",\n \"name\": \"When clicking \\\"Test Work...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"170\",\n \"name\": \"Create, update, and get a post in Ghost\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 310,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"afd1b494-bdd9-4c27-99c2-a94228f28384\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Ghost\",\n \"type\": \"n8n-nodes-base.ghost\",\n \"position\": [\n 510,\n 300\n ],\n \"parameters\": {\n \"title\": \"Running ghost with n8n!\",\n \"source\": \"adminApi\",\n \"content\": \"

In this article, you will learn how to automate your Ghost site with n8n!

\",\n \"operation\": \"create\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"ghostAdminApi\": \"Ghost Admin API\"\n },\n \"typeVersion\": 1,\n \"id\": \"87fae161-644b-475b-a228-8a56398649d9\",\n \"notes\": \"This ghost node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Ghost1\",\n \"type\": \"n8n-nodes-base.ghost\",\n \"position\": [\n 710,\n 300\n ],\n \"parameters\": {\n \"postId\": \"={{ $env.UNDEFINED_ENV_VAR }}\",\n \"source\": \"adminApi\",\n \"operation\": \"update\",\n \"updateFields\": {\n \"status\": \"published\"\n }\n },\n \"credentials\": {\n \"ghostAdminApi\": \"Ghost Admin API\"\n },\n \"typeVersion\": 1,\n \"id\": \"ebb0602b-f045-45be-b987-3a9e60608b74\",\n \"notes\": \"This ghost node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Ghost2\",\n \"type\": \"n8n-nodes-base.ghost\",\n \"position\": [\n 910,\n 300\n ],\n \"parameters\": {\n \"by\": \"id\",\n \"source\": \"adminApi\",\n \"options\": {},\n \"identifier\": \"={{$node[\\\"Ghost\\\"].json[\\\"id\\\"]}}\"\n },\n \"credentials\": {\n \"ghostAdminApi\": \"Ghost Admin API\"\n },\n \"t...", "input": "", "output": "In node 'Ghost1', the parameter 'postId' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `={{$node[\"Ghost\"].json[\"id\"]}}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Ghost1' parameter 'postId'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"171\",\n \"name\": \"Insert and update data in Airtable\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 500,\n 350\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"2dc81718-e745-4156-8d6e-e4ad2c7ad530\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Airtable\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 900,\n 350\n ],\n \"parameters\": {\n \"table\": \"Table 1\",\n \"options\": {},\n \"operation\": \"append\",\n \"application\": \"\"\n },\n \"credentials\": {\n \"airtableApi\": \"Airtable Credentials n8n\"\n },\n \"typeVersion\": 1,\n \"id\": \"3f66f5dd-eb98-4c3b-af40-45119b5d764c\",\n \"notes\": \"This airtable node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Airtable1\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 1100,\n 350\n ],\n \"parameters\": {\n \"table\": \"={{$node[\\\"Airtable\\\"].parameter[\\\"table\\\"]}}\",\n \"operation\": \"list\",\n \"application\": \"={{$node[\\\"Airtable\\\"].parameter[\\\"application\\\"]}}\",\n \"additionalOptions\": {\n \"filterByFormula\": \"Name='n8n'\"\n }\n },\n \"credentials\": {\n \"airtableApi\": \"Airtable Credentials n8n\"\n },\n \"typeVersion\": 1,\n \"id\": \"50409437-9ec8-41c5-8252-115f660ad801\",\n \"notes\": \"This airtable node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 700,\n 350\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"ID\",\n \"value\": 3\n }\n ],\n \"string\": [\n {\n \"name\": \"Name\",\n \"value\": \"n8n\"\n }\n ]...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"172\",\n \"name\": \"Create a table, and insert and update data in the table in Snowflake\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"5a1fbad9-ef25-4bbc-ad88-0e132590cc18\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"id\",\n \"value\": 1\n }\n ],\n \"string\": [\n {\n \"name\": \"name\",\n \"value\": \"n8n\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"cac8336c-2f51-478f-9737-6b470ff88939\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Snowflake\",\n \"type\": \"n8n-nodes-base.snowflake\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"query\": \"CREATE TABLE docs (id INT, name STRING);\",\n \"operation\": \"executeQuery\"\n },\n \"typeVersion\": 1,\n \"id\": \"382ede54-30dd-4a89-be28-0ec7c40dfa40\",\n \"notes\": \"This snowflake node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Snowflake1\",\n \"type\": \"n8n-nodes-base.snowflake\",\n \"position\": [\n 850,\n 300\n ],\n \"parameters\": {\n \"table\": \"docs\",\n \"columns\": \"id, name\"\n },\n \"credentials\": {\n \"snowflake\": \"Snowflake n8n Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"1fa84be2-9f9d-497e-b882-f2764b531cb0\",\n \"notes\": \"This snowflake node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": ...", "input": "", "output": "The node 'Snowflake' (type: n8n-nodes-base.snowflake) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"snowflake\": \"Snowflake n8n Credentials\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Snowflake' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"173\"\n \"name\": \"Create and update a channel, and send a message on Twist\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 470,\n 260\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"5cd6ce9d-89b8-41c6-b653-a71158c24880\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Twist\",\n \"type\": \"n8n-nodes-base.twist\",\n \"position\": [\n 670,\n 260\n ],\n \"parameters\": {\n \"name\": \"n8n-docs\",\n \"resource\": \"channel\",\n \"workspaceId\": 150329,\n \"additionalFields\": {\n \"user_ids\": [\n 475370\n ]\n }\n },\n \"credentials\": {\n \"twistOAuth2Api\": \"Twist OAuth Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"a6547e43-a382-46ea-8f30-5c487803d0ca\",\n \"notes\": \"This twist node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Twist1\",\n \"type\": \"n8n-nodes-base.twist\",\n \"position\": [\n 870,\n 260\n ],\n \"parameters\": {\n \"resource\": \"channel\",\n \"channelId\": \"={{$node[\\\"Twist\\\"].json[\\\"id\\\"]}}\",\n \"operation\": \"update\",\n \"updateFields\": {\n \"description\": \"Discussion for documentation\"\n }\n },\n \"credentials\": {\n \"twistOAuth2Api\": \"Twist OAuth Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"90553466-1c1d-4cc9-9375-72f6990cf9c3\",\n \"notes\": \"This twist node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Twist2\",\n \"type\": \"n8n-nodes-base.twist\",\n \"position\": [\n 1070,\n 260\n ],\n \"parameters\": {\n \"content\": \"=Hey [Harshil](twist-mention://475370)!\\nYou have been added to the {{$node[\\\"Twist\\\"].json[\\\"name\\\"]}} channel.\\nClick on the button below to quickly navigate to the documentation website.\"...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\"\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 1140,\n 780\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"baaa5348-09b2-4e78-b31e-4e24ade5d22b\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1480,\n 760\n ],\n \"parameters\": {\n \"width\": 560,\n \"height\": 400,\n \"content\": \"## 2. Advanced way: Using Expressions\\nIn this `Set` node, we set dates using [Luxon expressions]({{ $env.WEBHOOK_URL }} for the following formats:\\n\\nNow - `{{$now}}`\\nCurrent time with seconds - `{{$now.toLocaleString(DateTime.TIME_WITH_SECONDS)}}`\\nToday - `{{$today}}`\\nTomorrow - `{{$today.plus({days: 1})}}`\\nOne hour ago - `{{$now.minus({hours: 1})}}`\\nWeekday name - `{{$today.weekdayLong}}`\\n\\n\"\n },\n \"typeVersion\": 1,\n \"id\": \"14b61adb-f252-4a81-8a03-3a19e2f657ae\",\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 660,\n 780\n ],\n \"parameters\": {\n \"width\": 420,\n \"height\": 100,\n \"content\": \"### Click the `Execute Workflow` button and double click on the nodes to see the input and output items.\"\n },\n \"typeVersion\": 1,\n \"id\": \"02764d7a-551c-40e3-8b03-e86f39f9ae30\",\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"12 Hours from now\",\n \"type\": \"n8n-nodes-base.dateTime\",\n \"position\": [\n 1520,\n 580\n ],\n \"parameters\": {\n \"value\": \"={{$now}}\",\n \"action\": \"calculate\",\n \"options\": {},\n \"duration\": 12,\n \"timeUnit\": \"hours\"\n },\n \"typeVersion\": 1,\n \"id\": \"dc12...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 20,\n 720\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"ee4ce933-842c-495a-b06c-bbe55f127b87\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Customer Datastore\",\n \"type\": \"n8n-nodes-base.n8nTrainingCustomerDatastore\",\n \"position\": [\n 220,\n 720\n ],\n \"parameters\": {\n \"operation\": \"getAllPeople\"\n },\n \"typeVersion\": 1,\n \"id\": \"7a5d136d-04f5-4c72-bef2-07cabbe2882b\",\n \"notes\": \"This n8nTrainingCustomerDatastore node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 500,\n 600\n ],\n \"parameters\": {\n \"width\": 520,\n \"height\": 280,\n \"content\": \"## 2. If with And/Or conditions\\nSet the **Combine** field to: \\n`ALL` for `AND` condition\\n`ANY` for `OR` condition\"\n },\n \"typeVersion\": 1,\n \"id\": \"5a2a5ab4-8496-4b1d-bb05-b27405e10442\",\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 500,\n 920\n ],\n \"parameters\": {\n \"width\": 520,\n \"height\": 360,\n \"content\": \"## 3. Multiple branches\\nWe use the `Switch` when there more than 2 possible outcomes to the filtering. We do that by specifying the condition under **Routing rules** inside the node.\\n\\nIn this example we send all **US-based** customers data to route 0, **customers from CO** to route 1, **customers from the UK** to route 2, and all the rest to route 3 as a fallback\"\n },\n \"typeVersion\": 1,\n \"id\": \"13ca8aa4-3b1e-4e83-9192-0e32e96ac16d\",\n \"notes\": \"This stickyNote node performs automa...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-9532ccbb\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.744032\",\n \"updatedAt\": \"2025-09-29T07:07:48.744053\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"25ac6cda-31fb-474a-b6b6-083ec03b9273\",\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 925,\n 285\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"93eaee43-7a39-4c83-aeaa-9ca14d0f4b4b\",\n \"name\": \"Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {\n \"width\": 440,\n \"height\": 200,\n \"content\": \"## HTTP Request\\n### This workflow shows the most common use cases of the HTTP request node, and how to handle its output\\n\\n\\n### Click the `Execute Workflow` button and double click on the nodes to see the input and output items.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3ccdc45b-aae1-4760-b45e-5b8dca2a9fcf\",\n \"name\": \"Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1280,\n 480\n ],\n \"parameters\": {\n \"width\": 986.3743856726365,\n \"height\": 460.847917534361,\n \"content\": \"## 3. Handle Pagination\\n### Sometimes you need to make the same request multiple times to get all the data you need (pagination).\\n\\n### The pagination process goes as follow:\\n### 1. Loop through the pages of the input source (`HTTP Request` node named \\\"Get my Starts\\\")\\n### 2. Increment the page at the end of each loop (done with the `set` node named \\\"Increment Page\\\") \\n### 3. Stop ...", "input": "", "output": "The node 'HTTP Request - Get my Stars' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'HTTP Request - Get my Stars'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 1160,\n 480\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"8ad37748-4466-404a-bc5d-eeba8ab0228d\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 800,\n 420\n ],\n \"parameters\": {\n \"width\": 320,\n \"height\": 200,\n \"content\": \"### Very often your data is not in the right format to insert in a node. you can use the set node to fix it.\\n\\n### Click the `Execute Workflow` button and double click on the nodes to see the input and output items.\"\n },\n \"typeVersion\": 1,\n \"id\": \"1466358c-aa92-452a-ae06-59a574d5f111\",\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Create or Update record in Google Sheet\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 1920,\n 480\n ],\n \"parameters\": {\n \"range\": \"A:C\",\n \"options\": {},\n \"sheetId\": \"13_bAEYNTzVXVY6SfAkBa9ijtJGSxPd8D-hcXXwXtdDo\",\n \"operation\": \"upsert\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"{{ $credentials.googleSheetsOAuth2Api.id }}\",\n \"name\": \"Sheets\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"bfe3d629-7f0a-482d-bb04-65002a73abbc\",\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1480,\n 360\n ],\n \"parameters\": {\n \"width\": 400,\n \"height\": 280,\n \"content\": \"\\nThis is where we put the data in the format that Google Sheets expect. \\nThis mean...", "input": "", "output": "The node 'Set - Prepare fields' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Set - Prepare fields'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 240,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"5266b0b3-ffa3-4c72-b66f-f091532293c7\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Is new?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 680,\n 300\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$json[\\\"Processed\\\"]}}\",\n \"operation\": \"isEmpty\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"8571d850-4fe0-4846-a439-69a2bf359711\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Do something here\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 900,\n 100\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"fa0c018c-adb9-413d-b6e3-931ced8fa60f\",\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Mark Row as processed\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 1120,\n 300\n ],\n \"parameters\": {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"options\": {},\n \"sheetId\": \"1SdnwaIJ6xwaZl006FmK2j4f-b00tq7tT7iQgdfe7Qh4\",\n \"operation\": \"update\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\",\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"{{ $credentials.googleSheetsOAuth2Api.id }}\",\n \"name\": \"Google Sheets account\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"35314056-ebf2-4e3f-9b30-1f02a8dfd3fb\",\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Read ...", "input": "", "output": "The node 'Mark Row as processed' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Mark Row as processed'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"175\",\n \"name\": \"Get messages with a certain label, remove the label, and add a new one\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"e55664fa-a13f-4ae4-8b99-7a13080cda6f\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Gmail\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"resource\": \"message\",\n \"operation\": \"getAll\",\n \"additionalFields\": {\n \"format\": \"full\",\n \"labelIds\": [\n \"Label_103811885290186237\"\n ]\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": \"Gmail\"\n },\n \"typeVersion\": 1,\n \"id\": \"34882df0-82e9-420e-8c49-576f975b6b55\",\n \"notes\": \"This gmail node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Gmail1\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"labelIds\": [\n \"Label_103811885290186237\"\n ],\n \"resource\": \"messageLabel\",\n \"messageId\": \"={{$node[\\\"Gmail\\\"].json[\\\"id\\\"]}}\",\n \"operation\": \"remove\",\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"gmailOAuth2\": \"Gmail\"\n },\n \"typeVersion\": 1,\n \"id\": \"3f045cd9-0cb9-4700-a551-4d2d58ecd79e\",\n \"notes\": \"This gmail node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Gmail2\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 850,\n 300\n ],\n \"parameters\": {\n \"labelIds\": [\n \"Label_140673791182006844\"\n ],\n \"resource\": \"messageLabel\",\n \"messageId\": \"={{$node[\\\"Gmail\\\"].json[\\\"id\\\"]}}\"\n },\n \"creden...", "input": "", "output": "The node 'Gmail1' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Gmail1'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"176\",\n \"name\": \"Get the logo, icon, and information of a company and store it in Airtable\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"e17e32c8-3ceb-409b-93da-dd27715236d5\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Brandfetch\",\n \"type\": \"n8n-nodes-base.Brandfetch\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"domain\": \"n8n.io\"\n },\n \"credentials\": {\n \"brandfetchApi\": \"Brandfetch n8n credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"dd22c8cd-5af8-4981-83d8-cca348331fe7\",\n \"notes\": \"This Brandfetch node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Brandfetch1\",\n \"type\": \"n8n-nodes-base.Brandfetch\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"domain\": \"={{$node[\\\"Brandfetch\\\"].parameter[\\\"domain\\\"]}}\",\n \"operation\": \"company\"\n },\n \"credentials\": {\n \"brandfetchApi\": \"Brandfetch n8n credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"f09c1b9b-2bd1-4bb1-a143-42c1037b34c3\",\n \"notes\": \"This Brandfetch node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 850,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"Name\",\n \"value\": \"={{$node[\\\"Brandfetch1\\\"].json[\\\"name\\\"]}}\"\n },\n {\n \"name\": \"Icon URL\",\n \"value\": \"={{$node[\\\"Brandfetch\\\"].json[\\\"icon\\\"][\\\"image\\\"]}}\"\n },\n {\n \"name\": \"Logo URL\",\n \"value\": \"={{$node[\\\"Brandfetch\\\"].json[\\\"logo\\\"][\\\"image\\\"]}}\"...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"70a44436-4b51-458a-ae93-60edeed170de\",\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 240,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d4c2dfa2-30bb-4f06-96c2-5811472302d2\",\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 240,\n 100\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"mode\": \"custom\",\n \"cronExpression\": \"15 7 * * 1-6\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"86924546-e4f2-4795-8e80-9e49626d2c42\",\n \"name\": \"Baserow\",\n \"type\": \"n8n-nodes-base.baserow\",\n \"position\": [\n 460,\n 200\n ],\n \"parameters\": {\n \"tableId\": 680,\n \"databaseId\": 146,\n \"additionalOptions\": {}\n },\n \"credentials\": {\n \"baserowApi\": {\n \"id\": \"{{ $credentials.baserowApi.id }}\",\n \"name\": \"Baserow account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This baserow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"36f2947b-67cf-47eb-891f-e7e3b5ba9eac\",\n \"name\": \"Fetch tradegate stock page\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 680,\n 200\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"options\": {},\n \"responseFormat\": \"string\",\n \"queryParametersUi\": {\n \"parameter\": [\n {\n \"name\": \"isin\",\n \"value\": \"={{$json[\\\"ISIN\\\"]}}\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This httpRequest node performs automat...", "input": "", "output": "In node 'SendGrid', the parameter 'subject' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `Investment report`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'SendGrid' parameter 'subject'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"178\",\n \"name\": \"Create a channel, add a member, and post a message to the channel\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 270,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"f5345efb-7ff5-4019-8231-64989b3b9083\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Mattermost\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 470,\n 340\n ],\n \"parameters\": {\n \"teamId\": \"4zhpirmh97fn7jgp7qhyue5a6e\",\n \"channel\": \"docs\",\n \"resource\": \"channel\",\n \"displayName\": \"Docs\"\n },\n \"credentials\": {\n \"mattermostApi\": \"Mattermost Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"00a14ba6-6b96-47c8-bedf-cdc9f8cd2790\",\n \"notes\": \"This mattermost node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Mattermost1\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 670,\n 340\n ],\n \"parameters\": {\n \"userId\": \"5oiy71hukjgd9eprj1o4a3poio\",\n \"resource\": \"channel\",\n \"channelId\": \"={{$node[\\\"Mattermost\\\"].json[\\\"id\\\"]}}\",\n \"operation\": \"={{ $env.UNDEFINED_ENV_VAR }}\"\n },\n \"credentials\": {\n \"mattermostApi\": \"Mattermost Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"b767bd9f-87e5-490e-9f5f-7f2c4d294ba2\",\n \"notes\": \"This mattermost node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Mattermost2\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 870,\n 340\n ],\n \"parameters\": {\n \"message\": \"Hey! Welcome to the channel!\",\n \"channelId\": \"={{$node[\\\"Mattermost\\\"].json[\\\"id\\\"]}}\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"credentials\": {\n \"mattermostApi\": \"Matt...", "input": "", "output": "In node 'Mattermost1', the parameter 'operation' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `addUser`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Mattermost1' parameter 'operation'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"29451054-fcd6-4054-b072-a87c716f6c67\",\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 240,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"995ae9b0-130c-4989-8e94-81a14b7743c4\",\n \"name\": \"Read Google Sheet\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 460,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"sheetId\": \"1cz-4tVi7Nn3j1gh147hROq9l6S4ta06sMfhm2AAI6js\"\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"{{ $credentials.googleSheetsOAuth2Api.id }}\",\n \"name\": \"Tom's Google Sheets account\"\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2c1ed019-85f1-4b0f-bcf5-ce59ff13ea49\",\n \"name\": \"Search Salesforce accounts\",\n \"type\": \"n8n-nodes-base.salesforce\",\n \"position\": [\n 680,\n 240\n ],\n \"parameters\": {\n \"query\": \"=SELECT id, Name FROM Account WHERE Name = '{{$json[\\\"Company Name\\\"].replace(/'/g, '\\\\\\\\\\\\'')}}'\",\n \"resource\": \"search\"\n },\n \"credentials\": {\n \"salesforceOAuth2Api\": {\n \"id\": \"{{ $credentials.salesforceOAuth2Api.id }}\",\n \"name\": \"Salesforce account\"\n }\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": false,\n \"notes\": \"This salesforce node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c6978a27-3cdc-44a2-a961-94557b2aed88\",\n \"name\": \"Keep new companies\",\n \"type\": \"n8n-nodes-base.merge\",\n \"position\": [\n 900,\n 40\n ],\n \"parameters\": {\n \"mode\": \"removeKeyMatches\",\n \"propertyName1\": \"Company Name\",\n \"propertyName2\": \"Name\"\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"76f6b074-32a5-4419-aa0f-80505b3a31ad:\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 20,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"42289f01-3af9-4bc3-babb-54b983de7e77\",\n \"name\": \"Search Salesforce accounts\",\n \"type\": \"n8n-nodes-base.salesforce\",\n \"position\": [\n 680,\n 240\n ],\n \"parameters\": {\n \"query\": \"=SELECT id, Name FROM Account WHERE Name = '{{$json[\\\"Company Name\\\"].replace(/'/g, '\\\\\\\\\\\\'')}}'\",\n \"resource\": \"search\"\n },\n \"credentials\": {\n \"salesforceOAuth2Api\": {\n \"id\": \"{{ $credentials.salesforceOAuth2Api.id }}\",\n \"name\": \"Salesforce account\"\n }\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": false,\n \"notes\": \"This salesforce node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"954ef43f-4dc1-4955-9c56-c5d11bcd5d6e\",\n \"name\": \"Keep new companies\",\n \"type\": \"n8n-nodes-base.merge\",\n \"position\": [\n 900,\n 40\n ],\n \"parameters\": {\n \"mode\": \"removeKeyMatches\",\n \"propertyName1\": \"Company Name\",\n \"propertyName2\": \"Name\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This merge node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ec23bd4f-c6ee-4c2a-a352-8ff521a5ddf6\",\n \"name\": \"Merge existing account data\",\n \"type\": \"n8n-nodes-base.merge\",\n \"position\": [\n 900,\n 440\n ],\n \"parameters\": {\n \"mode\": \"mergeByKey\",\n \"propertyName1\": \"Company Name\",\n \"propertyName2\": \"Name\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This merge node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"85b460ee-e6b4-48c8-8315-ccf7875ec345\",\n...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"179\",\n \"name\": \"Create, update, and get a document in Google Cloud Firestore\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"f5b5b207-b5d4-47b1-81ee-89d4b2f27b8d\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Cloud Firestore\",\n \"type\": \"n8n-nodes-base.googleFirebaseCloudFirestore\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"columns\": \"id, name\",\n \"operation\": \"create\",\n \"projectId\": \"docs-f8925\",\n \"collection\": \"n8n\"\n },\n \"typeVersion\": 1,\n \"id\": \"cc6e9d96-39ca-47eb-a3d7-cc4dd024d01b\",\n \"notes\": \"This googleFirebaseCloudFirestore node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"id\",\n \"value\": 1\n }\n ],\n \"string\": [\n {\n \"name\": \"name\",\n \"value\": \"n8n\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"86548bc9-c3e4-48ea-90c4-0ac21e3d421f\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set1\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 850,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"name\",\n \"value\": \"nodemation\"\n },\n {\n \"name\": \"document_id\",\n \"value\": \"={{$node[\\\"Google Cloud Firestore\\\"].json[\\\"_id\\\"]}}\"\n }\n ]\n },\n ...", "input": "", "output": "The node 'Google Cloud Firestore' (type: n8n-nodes-base.googleFirebaseCloudFirestore) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googleFirebaseCloudFirestoreOAuth2Api\": \"Cloud Firestore Credentials\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Google Cloud Firestore' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"d0c92688-14fc-4393-a1d6-926eb867b81e\",\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 180,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0edbad78-249b-441c-877d-bac57fb44a91\",\n \"name\": \"Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 180,\n 31\n ],\n \"parameters\": {\n \"width\": 436,\n \"height\": 169,\n \"content\": \"## n8n version\\n\\nThis workflow was created using n8n version 0.197.1 and uses a new [expression syntax]({{ $env.WEBHOOK_URL }} as well as a new version of the Merge node. Make sure you're also using n8n version 0.197.1 or newer when running this workflow.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"251d893c-11cb-4702-a289-44f198581722\",\n \"name\": \"Download XML File\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 400,\n 240\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 3,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0973b302-1ba9-4faf-9d6c-2caca1b301f5\",\n \"name\": \"Parse XML content\",\n \"type\": \"n8n-nodes-base.xml\",\n \"position\": [\n 620,\n 240\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This xml node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"01854111-27cb-40c1-b95e-14f91f89e9f1\",\n \"name\": \"Create new spreadsheet file\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 1060,\n 140\n ],\n \"parameters\": {\n \"title\"...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-f4bb82e5\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.791423\",\n \"updatedAt\": \"2025-09-29T07:07:48.791432\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"aecce7a8-24f6-48c0-a7f0-f48a421d1d8c\",\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 540,\n 400\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"66822f20-83a9-4272-920c-5d8c9140f912\",\n \"name\": \"Read From File\",\n \"type\": \"n8n-nodes-base.readBinaryFile\",\n \"position\": [\n 740,\n 400\n ],\n \"parameters\": {\n \"filePath\": \"/home/node/.n8n/concerts-2023.csv\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This readBinaryFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9b469774-7c1d-41a3-9bfe-18fc3527f96e\",\n \"name\": \"Convert To Spreadsheet\",\n \"type\": \"n8n-nodes-base.spreadsheetFile\",\n \"position\": [\n 940,\n 400\n ],\n \"parameters\": {\n \"options\": {\n \"rawData\": true,\n \"readAsString\": true\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This spreadsheetFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a10bd105-16f7-47c8-b5a0-a5a10e51ae10\",\n \"name\": \"Insert into MySQL\",\n \"type\": \"n8n-nodes-base.mySql\",\n \"position\": [\n 1140,\n 400\n ],\n \"parameters\": {\n \"table\": {\n \"__rl\": true,\n \"mode\": \"name\",\n \"value\": \"concerts_2023_csv\"\n },\n \"columns\": \"Date, Band, ConcertName, Country, City, Location, LocationAddress\",\n \"options\": {}\n },\n \"credentials...", "input": "", "output": "The workflow has a broken data flow. The node '9b469774-7c1d-41a3-9bfe-18fc3527f96e' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '9b469774-7c1d-41a3-9bfe-18fc3527f96e'.\n\n**Impact**: Data from '9b469774-7c1d-41a3-9bfe-18fc3527f96e' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '9b469774-7c1d-41a3-9bfe-18fc3527f96e' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"9b469774-7c1d-41a3-9bfe-18fc3527f96e\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '9b469774-7c1d-41a3-9bfe-18fc3527f96e' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-66f78b2e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.791176\",\n \"updatedAt\": \"2025-09-29T07:07:48.791190\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f60e3d5f-4da5-4201-8c78-00f4f410b397\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 600,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"724f285b-723e-4452-81a6-c066c6b6a0e4\",\n \"name\": \"TableName\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 780,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"TableName\",\n \"value\": \"concerts2\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"637356f0-fcde-4555-982c-a28159ce6885\",\n \"name\": \"LoadMySQLData\",\n \"type\": \"n8n-nodes-base.mySql\",\n \"position\": [\n 960,\n 300\n ],\n \"parameters\": {\n \"query\": \"=SELECT * FROM {{ $json[\\\"TableName\\\"] }}\",\n \"operation\": \"executeQuery\"\n },\n \"credentials\": {\n \"mySql\": {\n \"id\": \"{{ $credentials.mySql.id }}\",\n \"name\": \"MySQL n8n articles\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This mySql node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b3270629-35de-4746-aa51-293e7d20660d\",\n \"name\": \"SaveSpreadsheet\",\n \"type\": \"n8n-nodes-base.spreadsheetFile\",\n \"position\": [\n 1160,\n 300\n ],\n \"parameters\": {\n ...", "input": "", "output": "In node 'Sticky Note', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `## Save SQL table as a binary XLSX file\n### You can send it via e-mail, upload to the file storage or download on your computer.\n### Just connect one or two extra n8n Nodes here!`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-afc176f3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.791623\",\n \"updatedAt\": \"2025-09-29T07:07:48.791631\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"d9bae984-2ce7-4f6b-ab53-527ac9dfea3d\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 680,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"32ecf73c-b6e9-4bd6-9ecc-d82c4c50d7b5\",\n \"name\": \"Reddit\",\n \"type\": \"n8n-nodes-base.reddit\",\n \"position\": [\n 880,\n 320\n ],\n \"parameters\": {\n \"keyword\": \"YOUR_CREDENTIAL_HERE\",\n \"location\": \"allReddit\",\n \"operation\": \"search\",\n \"additionalFields\": {\n \"sort\": \"new\"\n }\n },\n \"credentials\": {},\n \"typeVersion\": 1,\n \"notes\": \"This reddit node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4b560620-a101-4566-b066-4ce3f44d8b0c\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 120,\n 180\n ],\n \"parameters\": {\n \"width\": 507.1052631578949,\n \"height\": 210.99380804953552,\n \"content\": \"## What this workflow does\\n\\u2714\\ufe0e 1) Get posts from reddit that might be about n8n\\n - Filter for the most relevant posts (posted in last 7 days and more than 5 upvotes and is original content)\\n\\n\\u2714\\ufe0e 2) Check if the post is actually about n8n\\n\\n\\u2714\\ufe0e 3) if it is, categorise with OpenAi.\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f3be9af5-b4f...", "input": "", "output": "The node 'OpenAI Summary' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'OpenAI Summary'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"189\",\n \"name\": \"Create, update, and get a subscriber using the e-goi node\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 270,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"03a24f31-a815-4dcb-a913-3477f0072f6d\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"e-goi\",\n \"type\": \"n8n-nodes-base.egoi\",\n \"position\": [\n 470,\n 300\n ],\n \"parameters\": {\n \"list\": 1,\n \"email\": \"nathan@testmail.com\",\n \"additionalFields\": {\n \"first_name\": \"Nathan\"\n }\n },\n \"credentials\": {\n \"egoiApi\": \"e-goi Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"7c1a806b-6580-4c82-a776-965d89ec6d4b\",\n \"notes\": \"This egoi node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"e-goi1\",\n \"type\": \"n8n-nodes-base.egoi\",\n \"position\": [\n 670,\n 300\n ],\n \"parameters\": {\n \"list\": \"={{$node[\\\"e-goi\\\"].parameter[\\\"list\\\"]}}\",\n \"contactId\": \"={{$node[\\\"e-goi\\\"].json[\\\"base\\\"][\\\"contact_id\\\"]}}\",\n \"operation\": \"update\",\n \"updateFields\": {\n \"first_name\": \"Nat\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"551808ba-b8c8-436f-b17f-856b99916e60\",\n \"notes\": \"This egoi node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"e-goi2\",\n \"type\": \"n8n-nodes-base.egoi\",\n \"position\": [\n 870,\n 300\n ],\n \"parameters\": {\n \"list\": \"={{$node[\\\"e-goi\\\"].parameter[\\\"list\\\"]}}\",\n \"contactId\": \"={{$node[\\\"e-goi1\\\"].json[\\\"base\\\"][\\\"contact_id\\\"]}}\",\n \"operation\": \"get\"\n },\n \"credentials\": {\n \"egoiApi\": \"e-goi Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"f2d989ae-0e45-4a2b-9b63-1b7172ec2b91\",\n \"notes\": \"This...", "input": "", "output": "The node 'e-goi1' (type: n8n-nodes-base.egoi) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"egoiApi\": \"e-goi Credentials\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'e-goi1' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-90ec9a69\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.828086\",\n \"updatedAt\": \"2025-09-29T07:07:48.828095\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"4e670880-61cf-4870-8d29-525f4e677162\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -40,\n 600\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cd21e063-59fe-42a5-87c7-b4d63df2e2b7\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 500,\n 480\n ],\n \"parameters\": {\n \"width\": 682,\n \"height\": 280,\n \"content\": \"## Save SQL table as a CSV file\\n### You can send it via e-mail, upload to the file storage or download on your computer.\\n### Just connect one or two extra n8n Nodes here!\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f960451e-d04e-4023-aed2-e039898b7cab\",\n \"name\": \"TableName\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 160,\n 600\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"TableName\",\n \"value\": \"SalesLT.ProductCategory\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e2b4f557-663e-4b1c-b90e-9fde44dcd63a\",\n \"name\": \"LoadMSSQLData\",\n \"type\": \"n8n-nodes-base.microsoftSql\",\n \"position\": [\n 340,\n 600\n ],\n \"parameters...", "input": "", "output": "The workflow has a broken data flow. The node 'cec2452f-e3e9-47ad-bcc6-4d411b1cd532' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'cec2452f-e3e9-47ad-bcc6-4d411b1cd532'.\n\n**Impact**: Data from 'cec2452f-e3e9-47ad-bcc6-4d411b1cd532' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'cec2452f-e3e9-47ad-bcc6-4d411b1cd532' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"cec2452f-e3e9-47ad-bcc6-4d411b1cd532\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'cec2452f-e3e9-47ad-bcc6-4d411b1cd532' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"9d09405e-64a3-47ef-9d46-4942de51444b\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 400,\n 460\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4fdc396b-07bd-471e-9e62-136300804809\",\n \"name\": \"Set URLs\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 620,\n 460\n ],\n \"parameters\": {\n \"jsCode\": \"return [{\\n json: {\\n url: \\\"{{ $env.WEBHOOK_URL }}\\\"\\n }\\n}, {\\n json: {\\n url: \\\"{{ $env.WEBHOOK_URL }}\\\"\\n }\\n}, {\\n json: {\\n url: \\\"{{ $env.WEBHOOK_URL }}\\\"\\n }\\n}]\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"17482568-2117-4a8c-a307-ebf30dc9c560\",\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 840,\n 460\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {\n \"response\": {\n \"response\": {\n \"responseFormat\": \"file\"\n }\n }\n }\n },\n \"typeVersion\": 4,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"de27f52b-8f7e-4b9c-a097-987db4cef5aa\",\n \"name\": \"Merge items\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 1060,\n 460\n ],\n \"parameters\": {\n \"jsCode\": \"let binaries = {}, binary_keys = [];\\n\\nfor (const [index, inputItem] of Object.entries($input.all())) {\\n binaries[`data_${index}`] = inputItem.binary.data;\\n binary_keys.push(`data_${index}`);\\n}\\n\\nreturn [{\\n json: {\\n binary_keys: binary_keys.join(',')\\n },\\n binary: binaries\\n}];\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This co...", "input": "", "output": "The workflow has a broken data flow. The node '17482568-2117-4a8c-a307-ebf30dc9c560' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '17482568-2117-4a8c-a307-ebf30dc9c560'.\n\n**Impact**: Data from '17482568-2117-4a8c-a307-ebf30dc9c560' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '17482568-2117-4a8c-a307-ebf30dc9c560' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"17482568-2117-4a8c-a307-ebf30dc9c560\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '17482568-2117-4a8c-a307-ebf30dc9c560' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"191\",\n \"name\": \"Create a screenshot of a website and send it to a telegram channel\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"3b61edd6-0626-462b-85fb-891385f42150\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"file\": \"={{$node[\\\"uProc\\\"].json[\\\"message\\\"][\\\"result\\\"]}}\",\n \"chatId\": \"\",\n \"operation\": \"sendPhoto\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": \"Telegram n8n bot\"\n },\n \"typeVersion\": 1,\n \"id\": \"15612eca-b4fb-423b-8b18-21bf8bf919d9\",\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"uProc\",\n \"type\": \"n8n-nodes-base.uproc\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"tool\": \"getUrlScreenshot\",\n \"group\": \"image\",\n \"width\": \"1024\",\n \"fullpage\": \"yes\",\n \"additionalOptions\": {},\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"uprocApi\": \"uProc credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"ed26ff5c-38c9-4955-b8b7-1cbcaec5a920\",\n \"notes\": \"This uproc node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-da1cac2d\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1...", "input": "", "output": "The node 'uProc' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'uProc'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"193\",\n \"name\": \"Create, add an attachment, and send a draft using the Microsoft Outlook node\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-78417d2a\"\n },\n {\n \"name\": \"Microsoft Outlook\",\n \"type\": \"n8n-nodes-base.microsoftOutlook\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"subject\": \"Hello from n8n!\",\n \"resource\": \"draft\",\n \"bodyContent\": \"

Hello from n8n!

We are sending this email using the Microsoft Outlook node in n8n

Best,

Sender

\",\n \"additionalFields\": {\n \"bodyContentType\": \"html\"\n }\n },\n \"credentials\": {\n \"microsoftOutlookOAuth2Api\": \"Micrsoft Outlook Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-5598b45f\"\n },\n {\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"responseFormat\": \"file\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-4ddcf9f7\"\n },\n {\n \"name\": \"Microsoft Outlook1\",\n \"type\": \"n8n-nodes-base.microsoftOutlook\",\n \"position\": [\n 850,\n 300\n ],\n \"parameters\": {\n \"resource\": \"messageAttachment\",\n \"messageId\": \"={{$node[\\\"Microsoft Outlook\\\"].json[\\\"id\\\"]}}\",\n \"additionalFields\": {\n \"fileName\": \"n8n.png\"\n }\n },\n \"credentials\": {\n \"microsoftOutlookOAuth2Api\": \"Micrsoft Outlook Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-2d129aec\"\n },\n {\n \"name\": \"Microsoft Outlook2\",\n \"type\": \"n8n-nodes-base.microsoftOutlook\",\n \"position\": [\n 1050,\n 300\n ],\n \"par...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-724fa590\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.827290\",\n \"updatedAt\": \"2025-09-29T07:07:48.827298\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"31a9f34c-c5b0-462e-885d-f394b6d83f3a\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 840,\n 500\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a16c48dd-070d-4d0b-b220-20a5e98288a6\",\n \"name\": \"Dataset 1\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 1060,\n 360\n ],\n \"parameters\": {\n \"jsCode\": \" return [\\n{\\n\\\"fruit\\\": \\\"apple\\\",\\n\\\"color\\\": \\\"green\\\",\\n},\\n{\\n\\\"fruit\\\": \\\"orange\\\",\\n\\\"color\\\": \\\"orange\\\",\\n},\\n{\\n\\\"fruit\\\": \\\"grape\\\",\\n\\\"color\\\": \\\"green\\\", \\n},\\n{\\n\\\"fruit\\\": \\\"strawberry\\\",\\n\\\"color\\\": \\\"red\\\",\\n},\\n{\\n\\\"fruit\\\": \\\"banana\\\",\\n\\\"color\\\": \\\"yellow\\\",\\n}\\n];\\n\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"11b41146-8682-4c8d-84db-259acddced4b\",\n \"name\": \"Dataset 2\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 1060,\n 620\n ],\n \"parameters\": {\n \"jsCode\": \" return [\\n{\\n\\\"fruit\\\": \\\"apple\\\",\\n\\\"color\\\": \\\"green\\\",\\n},\\n{\\n\\\"fruit\\\": \\\"grape\\\",\\n\\\"color\\\": \\\"purple\\\",\\n},\\n{\\n\\\"fruit\\\": \\\"orange\\\",\\n\\\"color\\\": \\\"orange\\\",\\n},\\n{\\n \\\"fruit\\\": \\\"kiwi\\\",\\n \\\"color\\\": \\\"mostly green\\\"\\n},\\n{\\n\\\"fruit\\\": \\\"banana\\\",\\n\\\"color\\\": \\\"yellow\\\",\\n}\\n];\\n\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"dc976f9e-e645-...", "input": "", "output": "The node 'Error Handler' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Error Handler'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-264dd89f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.839316\",\n \"updatedAt\": \"2025-09-29T07:07:48.839344\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"ef32b2b5-9739-4622-aa50-ac9e6a93c43c\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 720,\n 360\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d39d67b6-3f3c-4296-affc-cfc786b877c3\",\n \"name\": \"Show 16 random products\",\n \"type\": \"n8n-nodes-base.mySql\",\n \"position\": [\n 900,\n 360\n ],\n \"parameters\": {\n \"query\": \"SELECT * from products\\nORDER BY RAND()\\nLIMIT 16;\",\n \"options\": {},\n \"operation\": \"executeQuery\"\n },\n \"credentials\": {\n \"mySql\": {\n \"id\": \"EEPqCgKBDiRRZ3ua\",\n \"name\": \"db4free MySQL\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This mySql node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8ca3e11c-d1b0-4ee6-94f0-b16c46b804d7\",\n \"name\": \"Define file structure\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1120,\n 200\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"Product.Code\",\n \"value\": \"={{ $json.productCode }}\"\n },\n {\n \"name\": \"Product.Name\",\n \"value\": \"={{ $json.productName }}\"\n },\n {\n \"name\": \"Product.Line\",\n \"value\": \"={{ $json.productLine }}\"\n },\n {\n \"name\": \"Product.Scale\",\n \"value\": \"={{ $json.product...", "input": "", "output": "In node 'Convert to XML', the parameter 'mode' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `jsonToxml`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Convert to XML' parameter 'mode'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-0903c371\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.816962\",\n \"updatedAt\": \"2025-09-29T07:07:48.816980\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"5a421900-20d7-4d64-a064-3211c3338676\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -520,\n -820\n ],\n \"parameters\": {\n \"width\": 432,\n \"height\": 397,\n \"content\": \"## Self-coded LLM Chain Node\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"93e3641b-d365-456d-b939-11fd92da8155\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1060,\n -740\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"235e436f-353f-4bb4-a619-35ebb17011d0\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -300,\n -100\n ],\n \"parameters\": {\n \"width\": 320.2172923777021,\n \"height\": 231,\n \"content\": \"## Self-coded Tool Node\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4265a9d3-7c7e-4511-9a41-fa5a940f8869\",\n \"name\": \"Set2\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -820,\n -740\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"6c3d9c41-58b0-4d0d-8892-0b1a96428da3\",\n \"name\": \"chatInput\",\n \"type\": \"string\",\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-74830df3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.845095\",\n \"updatedAt\": \"2025-09-29T07:07:48.845106\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"1116cae7-c7f3-424d-8b87-06ecbac0539f\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 1040,\n -260\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c01d02c0-a41b-445e-b006-8b46ad1c437d\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 2000,\n 260\n ],\n \"parameters\": {\n \"height\": 264.69900963477494,\n \"content\": \"### Parser which defines the output format and which gets used to validate the output\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"97f977e2-eb78-4ad9-ab21-816ff94c8f0c\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1600,\n 260\n ],\n \"parameters\": {\n \"height\": 266.9506012398238,\n \"content\": \"### The LLM which gets used to try to autofix the output in case it was not valid\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5325a0d4-9422-445c-bd21-3290c2b14415\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1320,\n -40\n ],\n \"parameters\": {\n \"height\": 245.56048099185898,\n \"content\": \"### The LLM to process the original prompt\"\n },\n \"typeVersion\"...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-53f74bff\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.877637\",\n \"updatedAt\": \"2025-09-29T07:07:48.877647\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"9ec28e5e-8f1a-4f18-82bb-6c51a03f83e9\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -940,\n 500\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"800f3bb9-09bb-41b6-84c5-d9d7abd6c7a8\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -560,\n 440\n ],\n \"parameters\": {\n \"width\": 363,\n \"height\": 211.90203341144422,\n \"content\": \"### Q&A on data returned from a workflow\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"278b573c-70cc-4439-85c0-e415bcf7c4ee\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -320,\n 700\n ],\n \"parameters\": {\n \"width\": 262.67019427016413,\n \"height\": 255.8330939602389,\n \"content\": \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nReplace \\\"Workflow ID\\\" with the ID the Subworkflow got saved as\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"313d8f8b-b7d4-4aee-9725-005aa5c5a984\",\n \"name\": \"Edit Fields\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -720,\n 500\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"a3...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-bcf845f0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.853558\",\n \"updatedAt\": \"2025-09-29T07:07:48.853654\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"1f2bb917-6d65-4cfa-9474-fc3b19a8c3bd\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -440,\n -120\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 918,\n \"height\": 627,\n \"content\": \"### Load data into database\\nFetch file from Google Drive, split it into chunks and insert into Pinecone index\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"eabbc944-5b62-4959-8ea4-879f28e19ab8\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 740,\n -120\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 534,\n \"height\": 627,\n \"content\": \"### Chat with database\\nEmbed the incoming chat message and use it retrieve relevant chunks from the vector store. These are passed to the model to formulate an answer \"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ab577f4d-8906-4e0c-bc62-e8a4b2610551\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -720,\n 240\n ],\n \"parameters\": {\n \"height\": 264.61498034081166,\n \"content\": \"## Try me out\\n1. In Pinecone, create an index with 1536 dimensions and select it in *both* Pinecone nodes\\n2. Click 'test workflow' at the bottom of the canvas to load data into the vector store\\n3. Click 'chat' at the bottom of the canvas to ask questions abou...", "input": "", "output": "The node 'OpenAI Chat Model' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'OpenAI Chat Model'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-84e564ba\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.857835\",\n \"updatedAt\": \"2025-09-29T07:07:48.857847\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"96d41f6a-3534-4286-a514-c39fa3100897\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -40,\n 520\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8fc1ced3-3007-4a18-9619-b7c72589d784\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 360,\n 740\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e12e4360-50e6-421a-ba95-8474fb06448c\",\n \"name\": \"Default Data Loader\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 540,\n 740\n ],\n \"parameters\": {\n \"options\": {},\n \"dataType\": \"binary\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This documentDefaultDataLoader node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"244ed66f-1dde-4a56-90ec-cb31644f3d5a\",\n \"name\": \"Token Splitter1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 620,\n 880\n ],\n \"parameters\": {\n \"chunkSize\": 3000\n },\n \"typeVersion\": 1,\n \"notes\": \"This ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-917588fa\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.877337\",\n \"updatedAt\": \"2025-09-29T07:07:48.877361\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"912b279c-30e5-4991-92ab-040fc1e89c7a\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -60,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"749d8762-d213-4dd3-b404-4c6518fcd28f\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -60,\n 200\n ],\n \"webhookId\": \"c2e664e6-645f-422a-99d3-cf0f4c53c345\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1eeff044-b914-40f7-8d37-8b69007862cd\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 460,\n 0\n ],\n \"parameters\": {\n \"text\": \"={{ $json.chatInput }}\",\n \"options\": {},\n \"promptType\": \"define\",\n \"_injected_number_field\": \"not_a_number\"\n },\n \"typeVersion\": 1.8,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ac34f7f0-d1dc-4ffb-8f49-6ddc925e97bc\",\n \"name\": \"Debug Input\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 160,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"25d97d59-b0cf-46ae-916d-18059b3d6847\",\n \"name\": \"chatInput\",\n \"type...", "input": "", "output": "The node 'AI Agent' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'AI Agent'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"19\",\n \"meta\": {\n \"instanceId\": \"workflow-d7d9e571\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.856264\",\n \"updatedAt\": \"2025-09-29T07:07:48.856281\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Snowflake CSV\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"da710a80-484b-4fe3-80fa-e699bb6499ad\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 440,\n 380\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f419ebfb-9eae-4fea-b05b-aabc97b5f47f\",\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 640,\n 380\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {\n \"response\": {\n \"response\": {\n \"responseFormat\": \"file\"\n }\n }\n }\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fe45e2a2-b50f-4459-a8ee-78615239dee0\",\n \"name\": \"Spreadsheet File\",\n \"type\": \"n8n-nodes-base.spreadsheetFile\",\n \"position\": [\n 820,\n 380\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This spreadsheetFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"54e31892-c8e1-423c-a24a-8e5eb1312b0a\",\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1000,\n 380\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n ...", "input": "", "output": "The node 'Snowflake' (type: n8n-nodes-base.snowflake) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"snowflake\": {\n \"id\": \"{{ $credentials.snowflake.id }}\",\n \"name\": \"Snowflake account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Snowflake' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"1GOrjyc9mtZCMvCr\",\n \"meta\": {\n \"instanceId\": \"workflow-0d09e8ed\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.878220\",\n \"updatedAt\": \"2025-09-29T07:07:48.878229\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Structured Data Extract, Data Mining with Bright Data & Google Gemini\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"1e9038e6-9ebc-4460-bee2-3faea3b38f4c\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 200,\n -420\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fd4ace46-7261-4380-8b65-1e00bb574f27\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 200,\n -780\n ],\n \"parameters\": {\n \"width\": 400,\n \"height\": 300,\n \"content\": \"## Note\\n\\nThis workflow deals with the structured data extraction by utilizing Bright Data Web Unlocker Product.\\n\\nThe Basic LLM Chain, Information Extraction, are being used to demonstrate the usage of the N8N AI capabilities.\\n\\n**Please make sure to set the web URL of your interest within the \\\"Set URL and Bright Data Zone\\\" node and update the Webhook Notification URL**\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1c1dd10f-beb2-4cc7-9118-77efd3172651\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 620,\n -780\n ],\n \"parameters\": {\n \"width\": 480,\n \"height\": 300,\n \"content\": \"## LLM Usages\\n\\nGoogle...", "input": "", "output": "The node 'Write the trends file to disk' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Write the trends file to disk'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"1U5Jf4NMQEw9LtxY\",\n \"meta\": {\n \"instanceId\": \"workflow-22239456\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.870901\",\n \"updatedAt\": \"2025-09-29T07:07:48.870918\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Capture Website Screenshots with Bright Data Web Unlocker and Save to Disk\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"d61cb066-1d5f-47d5-a4dd-4534f3d3c6d8\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -520,\n -160\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"eb99305b-0375-4cdd-8682-637d281598a0\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -540,\n -500\n ],\n \"parameters\": {\n \"width\": 360,\n \"height\": 260,\n \"content\": \"## Note\\n\\nThe \\\"**Set URL, Filename and Bright Data Zone**\\\" node must be updated with the appropriate url, file name and **Bright Data Proxies & Infrastructure** zone.\\n\\nThe \\\"**Write a file to disk**\\\" node has the location to download the website screenshot. Please make sure to set the path\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"205f64e9-5b31-4c76-912a-307eccde159e\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -160,\n -240\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 260,\n \"height\": 280,\n \"content\": \"## Website Screenshot\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This ...", "input": "", "output": "The node 'Set URL, Filename and Bright Data Zone' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Set URL, Filename and Bright Data Zone'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"1\",\n \"name\": \"Add a event to Calender\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 410,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"b923d529-15ac-4737-af25-2af5ebf98f36\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Calendar\",\n \"type\": \"n8n-nodes-base.googleCalendar\",\n \"position\": [\n 830,\n 320\n ],\n \"parameters\": {\n \"end\": \"2020-06-27T07:00:00.000Z\",\n \"start\": \"2020-06-25T07:00:00.000Z\",\n \"calendar\": \"shaligramshraddha@gmail.com\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"googleCalendarOAuth2Api\": \"new one\"\n },\n \"typeVersion\": 1,\n \"id\": \"a263abd6-0c33-495f-bc3e-2a915786b88c\",\n \"notes\": \"This googleCalendar node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-8637690e\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Add a event to Calender. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-c9cded63\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.868523\",\n \"updatedAt\": \"2025-09-29T07:07:48.868542\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"catego...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"1\",\n \"name\": \"Add text to an image downloaded from the internet\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 620,\n 170\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-24e8efdb\"\n },\n {\n \"name\": \"Edit Image\",\n \"type\": \"n8n-nodes-base.editImage\",\n \"position\": [\n 1020,\n 170\n ],\n \"parameters\": {\n \"text\": \"={{ $env.UNDEFINED_ENV_VAR }}\",\n \"options\": {},\n \"fontSize\": 100,\n \"operation\": \"text\",\n \"positionX\": 300,\n \"positionY\": 500\n },\n \"typeVersion\": 1,\n \"id\": \"node-93705716\"\n },\n {\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 820,\n 170\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"responseFormat\": \"file\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-d335a372\"\n },\n {\n \"id\": \"error-c86905b8\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3\n },\n \"connections\": {},\n \"meta\": {\n \"instanceId\": \"workflow-550d5c13\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.882083\",\n \"updatedAt\": \"2025-09-29T07:07:48.882142\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": ...", "input": "", "output": "In node 'Edit Image', the parameter 'text' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `This is n8n`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Edit Image' parameter 'text'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"1\",\n \"name\": \"Send a message on Twake\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 600,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"a343903b-8b1c-4aa5-8c8c-6644ec69ce3c\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Twake\",\n \"type\": \"n8n-nodes-base.twake\",\n \"position\": [\n 800,\n 300\n ],\n \"parameters\": {\n \"content\": \"\",\n \"channelId\": \"\",\n \"additionalFields\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"99537f3d-b2e1-4543-8d96-e529e36b5bc8\",\n \"notes\": \"This twake node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-83276ffb\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Send a message on Twake. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-f1774ccd\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.925958\",\n \"updatedAt\": \"2025-09-29T07:07:48.925976\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optim...", "input": "", "output": "The node 'Twake' (type: n8n-nodes-base.twake) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"twakeCloudApi\": \"\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Twake' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"1\",\n \"name\": \"TwitterWorkflow\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"disabled\": true,\n \"position\": [\n 400,\n 850\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"7770b446-671f-40a2-ad0e-88f9228896b1\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Filter Tweet Data\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 680,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"Tweet\",\n \"value\": \"={{$node[\\\"n8n.io mentions\\\"].json[\\\"text\\\"]}}\"\n },\n {\n \"name\": \"Tweet ID\",\n \"value\": \"={{$node[\\\"n8n.io mentions\\\"].json[\\\"id\\\"]}}\"\n },\n {\n \"name\": \"Tweet URL\",\n \"value\": \"={{ $env.WEBHOOK_URL }}{{$node[\\\"n8n.io mentions\\\"].json[\\\"user\\\"][\\\"screen_name\\\"]}}/status/{{$node[\\\"n8n.io mentions\\\"].json[\\\"id_str\\\"]}}\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"d072d51c-5fdc-4518-ab32-bde1456d6049\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Only get new tweets\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 910,\n 300\n ],\n \"parameters\": {\n \"functionCode\": \"const staticData = getWorkflowStaticData('global');\\nconst newTweetIds = items.map(item => item.json[\\\"Tweet ID\\\"]);\\nconst oldTweetIds = staticData.oldTweetIds; \\n\\nif (!oldTweetIds) {\\n staticData.oldTweetIds = newTweetIds;\\n return items;\\n}\\n\\n\\nconst actualNewTweetIds = newTweetIds.filter((id) => !oldTweetIds.includes(id));\\nconst actualNewTweets = items.filter((data) => actualNewTweetIds.includes(data.json['Tweet ID']));\\nstaticData.oldTweetId...", "input": "", "output": "In node 'Error Handler', the parameter 'message' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `Workflow execution error`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Error Handler' parameter 'message'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"1\",\n \"name\": \"Wordpress-to-csv\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"224efbd5-023e-4008-8296-b0d943ae2f9a\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Wordpress\",\n \"type\": \"n8n-nodes-base.wordpress\",\n \"position\": [\n 430,\n 300\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"getAll\",\n \"returnAll\": true\n },\n \"credentials\": {\n \"wordpressApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"4b2b2bac-7db4-4e7a-930e-5d0dddd9d557\",\n \"notes\": \"This wordpress node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Spreadsheet File\",\n \"type\": \"n8n-nodes-base.spreadsheetFile\",\n \"position\": [\n 590,\n 300\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"toFile\",\n \"fileFormat\": \"csv\"\n },\n \"typeVersion\": 1,\n \"id\": \"6a343cf4-a2aa-4f22-9cb1-1a189ef7ebbe\",\n \"notes\": \"This spreadsheetFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Write Binary File\",\n \"type\": \"n8n-nodes-base.writeBinaryFile\",\n \"position\": [\n 740,\n 300\n ],\n \"parameters\": {\n \"fileName\": \"data.csv\"\n },\n \"typeVersion\": 1,\n \"id\": \"c37968cc-49f1-4c2b-a2ef-fd87048ed46e\",\n \"notes\": \"This writeBinaryFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-9057e3a1\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"201\",\n \"name\": \"Store the output of a phantom in Airtable\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 270,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"bd64a8d1-93f6-43d9-b7de-c2031e729067\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Phantombuster\",\n \"type\": \"n8n-nodes-base.phantombuster\",\n \"position\": [\n 470,\n 300\n ],\n \"parameters\": {\n \"agentId\": \"\",\n \"operation\": \"getOutput\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"phantombusterApi\": \"Phantombuster Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"d42fa86b-655d-4a36-925a-6fe0decc7166\",\n \"notes\": \"This phantombuster node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 670,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"Name\",\n \"value\": \"={{$node[\\\"Phantombuster\\\"].json[\\\"general\\\"][\\\"fullName\\\"]}}\"\n },\n {\n \"name\": \"Email\",\n \"value\": \"={{$node[\\\"Phantombuster\\\"].json[\\\"details\\\"][\\\"mail\\\"]}}\"\n },\n {\n \"name\": \"Company\",\n \"value\": \"={{$node[\\\"Phantombuster\\\"].json[\\\"jobs\\\"][0][\\\"companyName\\\"]}}\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"e897c106-e9db-4862-a774-96736170234e\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Airtable\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 870,\n 300\n ],\n \"parameters\": {\n \"table\": \"\",\n \"options...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"31b6611c-e4d1-4ab8-9351-74718caf938d\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 820,\n 360\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5b8a2148-f8e3-4c21-ba39-6aa8cc492c5e\",\n \"name\": \"Get mailboxes\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1260,\n 360\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"using\",\n \"value\": \"={{ [ \\\"urn:ietf:params:jmap:core\\\", \\\"urn:ietf:params:jmap:mail\\\" ] }}\"\n },\n {\n \"name\": \"methodCalls\",\n \"value\": \"={{\\n[\\n [ \\n \\\"Mailbox/get\\\",\\n {\\n \\\"accountId\\\": $json.primaryAccounts['urn:ietf:params:jmap:mail'],\\n \\\"ids\\\": null\\n },\\n \\\"mailboxes\\\"\\n ] \\n]\\n}}\"\n }\n ]\n },\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"ZzWBkLUs2mg2xJBW\",\n \"name\": \"Fastmail\"\n }\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8477a075-1341-4b69-8e20-4a56b2a96711\",\n \"name\": \"Fetch API details\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1040,\n 360\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"credentials\"...", "input": "", "output": "The workflow has a broken data flow. The node '550b20c1-57ff-497e-b20a-e772e5fbfe86' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '550b20c1-57ff-497e-b20a-e772e5fbfe86'.\n\n**Impact**: Data from '550b20c1-57ff-497e-b20a-e772e5fbfe86' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '550b20c1-57ff-497e-b20a-e772e5fbfe86' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"550b20c1-57ff-497e-b20a-e772e5fbfe86\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '550b20c1-57ff-497e-b20a-e772e5fbfe86' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-2b131704\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.973973\",\n \"updatedAt\": \"2025-09-29T07:07:48.973984\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"b58964ca-d7a9-435d-a7cc-b09cac5c0a30\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 1000,\n 720\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"08dcd330-232d-48bf-b3fc-275513be9c62\",\n \"name\": \"Get all records with an image URL\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 1200,\n 720\n ],\n \"parameters\": {\n \"base\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"app5TBVbHPs64w5lE\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"N8N Image Automation\"\n },\n \"table\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"tblTVTofgqfzqyIZk\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Frogs\"\n },\n \"options\": {},\n \"operation\": \"search\",\n \"filterByFormula\": \"=NOT({Image source URL} = '')\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This airtable node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"331b2a4f-2168-443e-9827-f4967587d643\",\n \"name\": \"Update attachment field with images\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 1400,\n 720\n ],\n \"parameters\": {\n \"base\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"app5TBVbHPs64w5lE\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"205\",\n \"name\": \"Get analytics of a website and store it Airtable\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 270,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"3170031a-de03-4f9c-9e68-756c5925272d\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Analytics\",\n \"type\": \"n8n-nodes-base.googleAnalytics\",\n \"position\": [\n 470,\n 300\n ],\n \"parameters\": {\n \"viewId\": \"\",\n \"additionalFields\": {\n \"metricsUi\": {\n \"metricValues\": [\n {\n \"alias\": \"Sessions\",\n \"expression\": \"ga:sessions\"\n }\n ]\n },\n \"dimensionUi\": {\n \"dimensionValues\": [\n {\n \"name\": \"ga:country\"\n }\n ]\n },\n \"dateRangesUi\": {\n \"dateRanges\": {\n \"endDate\": \"2020-08-30T18:30:00.000Z\",\n \"startDate\": \"2019-12-31T18:30:00.000Z\"\n }\n }\n }\n },\n \"credentials\": {\n \"googleAnalyticsOAuth2\": \"analytics-dev\"\n },\n \"typeVersion\": 1,\n \"id\": \"f4facfc3-66e4-449d-bd10-9592eee5ee79\",\n \"notes\": \"This googleAnalytics node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 670,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"Metric\",\n \"value\": \"={{$json[\\\"total\\\"]}}\"\n }\n ],\n \"string\": [\n {\n \"name\": \"Country\",\n \"value\": \"={{$json[\\\"ga:country\\\"]}}\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVer...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-f34412ed\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.973315\",\n \"updatedAt\": \"2025-09-29T07:07:48.973329\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"b7e2de27-e52c-46d1-aaa9-a67c11c48a8f\",\n \"name\": \"Sticky Note7\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -420,\n -60\n ],\n \"parameters\": {\n \"width\": 328.41313484548044,\n \"height\": 211.30313955500145,\n \"content\": \"Before executing, replace `YOUR_API_KEY` with an API key for searchapi.io\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fd2ac655-73fd-434a-bba4-e460af8dfa8a\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -820,\n 20\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e1bd87f7-283b-496d-910d-b92d1cb19237\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1140,\n -20\n ],\n \"parameters\": {\n \"color\": 7,\n \"height\": 220.82906011310624,\n \"content\": \"## About\\nThis workflow shows how you can write LangChain code in n8n (and import its modules if required).\\n\\nThe workflow fetches a video from YouTube and produces a textual summary of it.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a43bb1c5-dd90-4331-930c-128ef0ecb38a\",\n \"name\": \"LangChain Code\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -380,\n 20\n ],\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-ad008248\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.980188\",\n \"updatedAt\": \"2025-09-29T07:07:48.980201\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f2ec712a-5120-44d8-9581-285d8b866322\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -160,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b16a56a5-0b0c-43cc-952c-f6db1b63d1e9\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 20,\n 60\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 199.37543798209555,\n \"height\": 420.623805972039,\n \"content\": \"1] In ElevenLabs, add a voice to your [voice lab]({{ $env.WEBHOOK_URL }} and copy its ID. Open this node and add the ID there\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"08e26051-58e9-42c5-b198-7854ab3e58d6\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 240,\n 60\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 212,\n \"height\": 418,\n \"content\": \"2] Get your ElevenLabs API key (click your name in the bottom-left of [ElevenLabs]({{ $env.WEBHOOK_URL }} and choose \\u2018profile\\u2019)\\n\\nIn this node, create a new header auth cred. Set the name to `xi-api-key` and the value to your API key\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"de6eb950-862e-472b-8776-b45e3109561a\",...", "input": "", "output": "In node 'Translate English text to speech', the parameter 'method' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `POST`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Translate English text to speech' parameter 'method'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"209\",\n \"name\": \"Create, update and get a contact using the SendGrid node\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 270,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"ac46d485-b6cf-46d2-ab96-da448603d725\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"SendGrid\",\n \"type\": \"n8n-nodes-base.sendGrid\",\n \"position\": [\n 470,\n 300\n ],\n \"parameters\": {\n \"email\": \"\",\n \"resource\": \"={{ $env.UNDEFINED_ENV_VAR }}\",\n \"additionalFields\": {\n \"firstName\": \"\"\n }\n },\n \"credentials\": {\n \"sendGridApi\": \"SendGrid Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"5e0287bb-8507-4da2-90bf-3ea677cd3134\",\n \"notes\": \"This sendGrid node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"SendGrid1\",\n \"type\": \"n8n-nodes-base.sendGrid\",\n \"position\": [\n 670,\n 300\n ],\n \"parameters\": {\n \"email\": \"={{$node[\\\"SendGrid\\\"].parameter[\\\"email\\\"]}}\",\n \"resource\": \"contact\",\n \"additionalFields\": {\n \"lastName\": \"\"\n }\n },\n \"credentials\": {\n \"sendGridApi\": \"SendGrid Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"60b07e5b-1f93-493e-b7d7-30855ca67993\",\n \"notes\": \"This sendGrid node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"SendGrid2\",\n \"type\": \"n8n-nodes-base.sendGrid\",\n \"position\": [\n 870,\n 300\n ],\n \"parameters\": {\n \"by\": \"email\",\n \"email\": \"={{$node[\\\"SendGrid\\\"].parameter[\\\"email\\\"]}}\",\n \"resource\": \"contact\",\n \"operation\": \"get\"\n },\n \"credentials\": {\n \"sendGridApi\": \"SendGrid Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"bb685034-28ab-49b8-a8bb...", "input": "", "output": "In node 'SendGrid', the parameter 'resource' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `contact`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'SendGrid' parameter 'resource'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"20\",\n \"name\": \"Create, update and get a contact in Google Contacts\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 190,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"cf14e3bf-0075-4367-865e-8cb06701216e\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Contacts\",\n \"type\": \"n8n-nodes-base.googleContacts\",\n \"position\": [\n 390,\n 300\n ],\n \"parameters\": {\n \"givenName\": \"n8n\",\n \"familyName\": \"n8n\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"googleContactsOAuth2Api\": \"google-contact\"\n },\n \"typeVersion\": 1,\n \"id\": \"b352b902-dfa9-46d8-bada-cfa5c3ec843f\",\n \"notes\": \"This googleContacts node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Contacts1\",\n \"type\": \"n8n-nodes-base.googleContacts\",\n \"position\": [\n 590,\n 300\n ],\n \"parameters\": {\n \"fields\": [],\n \"contactId\": \"={{$node[\\\"Google Contacts\\\"].json[\\\"contactId\\\"]}}\",\n \"operation\": \"update\",\n \"updateFields\": {\n \"companyUi\": {\n \"companyValues\": [\n {\n \"name\": \"n8n\",\n \"title\": \"n8n\",\n \"domain\": \"n8n.io\",\n \"current\": true\n }\n ]\n }\n }\n },\n \"credentials\": {\n \"googleContactsOAuth2Api\": \"google-contact\"\n },\n \"typeVersion\": 1,\n \"id\": \"9085b4c1-af86-46d0-8eb8-f3212eac8aa2\",\n \"notes\": \"This googleContacts node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Contacts2\",\n \"type\": \"n8n-nodes-base.googleContacts\",\n \"position\": [\n 790,\n 300\n ],\n \"parameters\": {\n \"fields\": [\n \"organizati...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-dd450c34\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.991052\",\n \"updatedAt\": \"2025-09-29T07:07:48.991064\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"ea9ddb4c-af49-480c-8b73-221b3741069d\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 920,\n 400\n ],\n \"parameters\": {\n \"width\": 389,\n \"height\": 265,\n \"content\": \"## Scheduled posting \\nWrite a tweet every 6 hours and randomize the minutes that it's posted at to make it seem natural.\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9650b047-7d5e-4ed2-948c-d5be77a94b5d\",\n \"name\": \"Post tweet\",\n \"type\": \"n8n-nodes-base.twitter\",\n \"position\": [\n 2940,\n 520\n ],\n \"parameters\": {\n \"text\": \"={{ $json.message.content.tweet }}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"twitterOAuth2Api\": {\n \"id\": \"b3qa9dBp2PxbufK3\",\n \"name\": \"X account\"\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This twitter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fd7fc941-37de-4f88-87c0-f62ad1ebe2d6\",\n \"name\": \"Schedule posting every 6 hours\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 1140,\n 500\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\",\n \"hoursInterval\": 6,\n \"triggerAtMinute\": \"={{ Math.floor(Math.random() * 60) }}\"\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of th...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"215\",\n \"name\": \"Create, update, and get a user using the G Suite Admin node\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 240,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"27d11e5b-e04e-4e91-8b54-81599622147f\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"G Suite Admin\",\n \"type\": \"n8n-nodes-base.gSuiteAdmin\",\n \"position\": [\n 440,\n 300\n ],\n \"parameters\": {\n \"domain\": \"n8n.io\",\n \"lastName\": \"Nat\",\n \"password\": \"YOUR_PASSWORD_HERE\",\n \"username\": \"nat\",\n \"firstName\": \"Nathan\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"gSuiteAdminOAuth2Api\": \"Google\"\n },\n \"typeVersion\": 1,\n \"id\": \"2f8e2d62-2c92-44c9-bbf9-09f71f387d53\",\n \"notes\": \"This gSuiteAdmin node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"G Suite Admin1\",\n \"type\": \"n8n-nodes-base.gSuiteAdmin\",\n \"position\": [\n 640,\n 300\n ],\n \"parameters\": {\n \"userId\": \"={{$node[\\\"G Suite Admin\\\"].json[\\\"id\\\"]}}\",\n \"operation\": \"update\",\n \"updateFields\": {\n \"lastName\": \"Nate\"\n }\n },\n \"credentials\": {\n \"gSuiteAdminOAuth2Api\": \"Google\"\n },\n \"typeVersion\": 1,\n \"id\": \"2e9726fa-b449-4a93-b220-8c28ce06778a\",\n \"notes\": \"This gSuiteAdmin node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"G Suite Admin2\",\n \"type\": \"n8n-nodes-base.gSuiteAdmin\",\n \"position\": [\n 840,\n 300\n ],\n \"parameters\": {\n \"userId\": \"={{$node[\\\"G Suite Admin\\\"].json[\\\"id\\\"]}}\",\n \"options\": {},\n \"operation\": \"get\"\n },\n \"credentials\": {\n \"gSuiteAdminOAuth2Api\": \"Google\"\n },\n \"typeVersion\": 1,\n \"...", "input": "", "output": "In node 'Error Handler', the parameter 'message' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `Workflow execution error`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Error Handler' parameter 'message'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-f572e607\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:48.990501\",\n \"updatedAt\": \"2025-09-29T07:07:48.990549\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"e2e61eae-6306-47db-908c-9d82758f6516\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -660,\n 40\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a45afcc0-d780-462a-9ed7-27daf01363a7\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -500,\n -140\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 1086.039382705461,\n \"height\": 728.4168721167887,\n \"content\": \"## 1. Setup: Fetch file from Google Drive, split it into chunks and insert into a vector database\\nNote that running this part multiple times will insert multiple copies into your DB\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a3c56569-0728-4246-8d87-fa106d373566\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -960,\n -60\n ],\n \"parameters\": {\n \"height\": 350.7942096493649,\n \"content\": \"# Try me out\\n1. In Pinecone, create an index with 1536 dimensions and select it in the two vector store nodes\\n2. Populate Pinecone by clicking the 'test workflow' button below\\n3. Click the 'chat' button below and enter the following:\\n\\n_Which email provider does the creator of Bitcoin use?_\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as par...", "input": "", "output": "In node 'Answer the query based on chunks', the parameter 'text' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `={{ $json.context }}\n\nQuestion: {{ $('When chat message received').first().json.chatInput }}\nHelpful Answer:`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Answer the query based on chunks' parameter 'text'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"21\",\n \"name\": \"Upload video, create playlist and add video to playlist\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 210,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"baac4730-a65b-42c0-b266-e87813abfc9c\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"YouTube\",\n \"type\": \"n8n-nodes-base.youTube\",\n \"position\": [\n 610,\n 300\n ],\n \"parameters\": {\n \"title\": \"n8n\",\n \"options\": {},\n \"resource\": \"video\",\n \"operation\": \"upload\",\n \"categoryId\": \"28\",\n \"regionCode\": \"IN\",\n \"binaryProperty\": \"=data\"\n },\n \"typeVersion\": 1,\n \"id\": \"89b4792c-3fcf-47d4-8a6d-818d0e07fa2d\",\n \"notes\": \"This youTube node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Read Binary File\",\n \"type\": \"n8n-nodes-base.readBinaryFile\",\n \"position\": [\n 410,\n 300\n ],\n \"parameters\": {\n \"filePath\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"dd14f545-b1c9-41a3-8580-86cd5e67f9f5\",\n \"notes\": \"This readBinaryFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"YouTube1\",\n \"type\": \"n8n-nodes-base.youTube\",\n \"position\": [\n 810,\n 300\n ],\n \"parameters\": {\n \"title\": \"n8n\",\n \"options\": {},\n \"resource\": \"playlist\",\n \"operation\": \"create\"\n },\n \"credentials\": {\n \"youTubeOAuth2Api\": \"google-youtube\"\n },\n \"typeVersion\": 1,\n \"id\": \"a58767a3-a61d-4773-82da-b58a90b629be\",\n \"notes\": \"This youTube node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"YouTube2\",\n \"type\": \"n8n-nodes-base.youTube\",\n \"position\": [\n 1010,\n 300\n ],\n \"parameters\": {\n ...", "input": "", "output": "The node 'YouTube' (type: n8n-nodes-base.youTube) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"youTubeOAuth2Api\": \"google-youtube\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'YouTube' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\" {\n \"instanceId\": \"workflow-24f4f4f8\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.028845\",\n \"updatedAt\": \"2025-09-29T07:07:49.028850\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"2f7c95cb-2545-48b6-aa77-55a6619aa3b6\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 140,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1cb42024-9743-4002-b0f5-180d3d95fc44\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 100,\n 22\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 818,\n \"height\": 446,\n \"content\": \"## Email Validation and extract domain\\n** This workflow is aimed at making email validation and domain extract using the native functionalities in n8n\\n\\n** Replace the debugger node with your actual data source to validate your own emails\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"215ff8f7-f94b-4999-a0db-c3ee93041001\",\n \"name\": \"Set these fields to extract domain\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 660,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"be48e606-536b-48a0-a0b9-ba1ca0296e75\",\n \"name\": \"Valid EmailIs email \",\n \"type\": \"string\",\n \"value\": \"={{ $json.email.isEmail() }}\"\n },\n {\n \"id\": \"68e983c1-3f12-45ab-a441-ca54444a1f42\",\n \"name\": \"Extract Domain\",\n ...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a8769afb\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.025637\",\n \"updatedAt\": \"2025-09-29T07:07:49.025649\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"b9962fd6-af11-4a3a-935c-c168ac85eaa1\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 80,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2ba3fe3a-e4c5-4014-8cb2-80716f18b222\",\n \"name\": \"Get records\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 300,\n 300\n ],\n \"parameters\": {\n \"base\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"appkkDhXu7vZCFspD\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"n8n test\"\n },\n \"limit\": 10,\n \"table\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"tblMdmUiSTBrvrLq3\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"SEO meta title & desc\"\n },\n \"options\": {},\n \"operation\": \"search\",\n \"returnAll\": false,\n \"filterByFormula\": \"=AND(url != \\\"\\\", {title tag} = \\\"\\\", {meta desc} = \\\"\\\")\"\n },\n \"credentials\": {\n \"airtableTokenApi\": {\n \"id\": \"yw6pm1U4Hw8kKDhu\",\n \"name\": \"Airtable Personal Access Token account\"\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This airtable node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0f26bb3c-f2cc-476b-b1af-3d4cd98463ce\",\n \"name\": \"Get url content\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 500,\n ...", "input": "", "output": "The node 'Update original record' (type: n8n-nodes-base.airtable) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"airtableTokenApi\": {\n \"id\": \"yw6pm1U4Hw8kKDhu\",\n \"name\": \"Airtable Personal Access Token account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Update original record' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-1c2f2ffe\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.026664\",\n \"updatedAt\": \"2025-09-29T07:07:49.026673\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"e7725ddb-8cdc-4e36-8a9e-5bf079d94972\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 460,\n 460\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7cd477d3-e7fd-4a2b-b39e-f5b00271540a\",\n \"name\": \"Compose message\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1340,\n 460\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"2addc1b4-68a0-4c72-87d6-d47286eef70c\",\n \"name\": \"raw\",\n \"type\": \"string\",\n \"value\": \"={{ \\\"From: \\\"+$('Message settings').item.json.from+\\\"\\\\nTo: \\\"+$('Message settings').item.json.to+\\\"\\\\nSubject: \\\"+$('Message settings').item.json.subject+\\\"\\\\nMIME-Version: 1.0\\\\nContent-Type: multipart/related; boundary=boundary1\\\\n\\\\n--boundary1\\\\nContent-Type: text/html; charset=UTF-8\\\\n\\\\n\\\\n\\\\n\\\"+$('Message settings').item.json.body_html+\\\"\\\\n\\\\n\\\\n\\\\n--boundary1\\\\nContent-Type: \\\"+$('Get image').item.binary.data.mimeType+\\\"\\\\nContent-Transfer-Encoding: base64\\\\nContent-Disposition: inline\\\\nContent-ID: \\\\n\\\\n\\\"+$json.chart1+\\\"\\\\n\\\\n--boundary1--\\\\n\\\" }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4aca2efe-cf79-4cec-8912-44761595e9ea\",\n \"name\": \"Send message\",\n \"type...", "input": "", "output": "The node 'Send message' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"{{ $credentials.gmailOAuth2.id }}\",\n \"name\": \"Gmail account (David)\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Send message' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-cd494a44\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.031802\",\n \"updatedAt\": \"2025-09-29T07:07:49.031875\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"463ebdc7-9c6f-4464-9a0e-4078be11a787\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 280,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"531d78cd-9f44-468a-9f88-30816922eb1b\",\n \"name\": \"Write Result File to Disk\",\n \"type\": \"n8n-nodes-base.readWriteFile\",\n \"position\": [\n 1140,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"fileName\": \"document.pdf\",\n \"operation\": \"write\",\n \"dataPropertyName\": \"=data\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This readWriteFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7702ad91-05fd-4bfc-816a-3e863c1ca148\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 640,\n 60\n ],\n \"parameters\": {\n \"width\": 420,\n \"height\": 361,\n \"content\": \"## Authentication\\nConversion requests must be authenticated. Please create \\n[ConvertAPI account to get authentication secret]({{ $env.API_BASE_URL }}\\n\\nCreate a query auth credential with __secret__ as name and your secret from the convertAPI dashboard as value\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"09d95adb-3c05-4727-8d0b-498870d08cca\",\n \"name\": \"Download File\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"positio...", "input": "", "output": "The node 'File conversion' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"httpQueryAuth\": {\n \"id\": \"oHfHaXdP6a8AieHO\",\n \"name\": \"Convertapi token\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'File conversion' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-c749d9c5\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.028575\",\n \"updatedAt\": \"2025-09-29T07:07:49.028586\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"41ce128f-e9e5-478f-8954-c94019884721\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -160,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3a3b3212-2eb3-411e-981e-37bd3f3e46fe\",\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 680,\n 240\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {\n \"response\": {\n \"response\": {\n \"responseFormat\": \"file\"\n }\n }\n },\n \"sendBody\": true,\n \"contentType\": \"multipart-form-data\",\n \"sendHeaders\": true,\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"file\",\n \"value\": \"={{ $json.url_to_file }}\"\n }\n ]\n },\n \"genericAuthType\": \"httpQueryAuth\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Accept\",\n \"value\": \"application/octet-stream\"\n }\n ]\n }\n },\n \"credentials\": {\n \"httpQueryAuth\": {\n \"id\": \"WdAklDMod8fBEMRk\",\n \"name\": \"Query Auth account\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-7cc349bb\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.052805\",\n \"updatedAt\": \"2025-09-29T07:07:49.052822\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"6882e5c9-a468-4089-bffa-c8c04d28d8aa\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5688dfe6-aeba-4c00-8626-396eb1a5d695\",\n \"name\": \"Write Result File to Disk\",\n \"type\": \"n8n-nodes-base.readWriteFile\",\n \"position\": [\n 980,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"fileName\": \"document.pdf\",\n \"operation\": \"write\",\n \"dataPropertyName\": \"=data\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This readWriteFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fde98636-e4a2-4950-9b82-015ff841f24b\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 720,\n 100\n ],\n \"parameters\": {\n \"width\": 218,\n \"height\": 132,\n \"content\": \"={{ $items[999].json.value }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c322b7d4-0858-45de-a5ed-0efddb2608c9\",\n \"name\": \"Download XLSX File\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 580,\n 240\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {\n \"response\": {\n \"response\": {\n \"responseFormat\": \"file\"\n }\n ...", "input": "", "output": "In node 'Sticky Note', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `## Authentication\nConversion requests must be authenticated. Please create \n[ConvertAPI account to get authentication secret]({{ $env.API_BASE_URL }}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-ee6be08b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.060007\",\n \"updatedAt\": \"2025-09-29T07:07:49.060024\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"853bd85f-66c8-4ed1-bd86-38f7bb24c02c\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0c06c484-7f84-48a7-803c-1788c15582d5\",\n \"name\": \"Write Result File to Disk\",\n \"type\": \"n8n-nodes-base.readWriteFile\",\n \"position\": [\n 980,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"fileName\": \"document.pdf\",\n \"operation\": \"write\",\n \"dataPropertyName\": \"=data\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This readWriteFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3d75bdd7-5b69-421a-a0e4-a2f123feca08\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 720,\n 100\n ],\n \"parameters\": {\n \"width\": 218,\n \"height\": 132,\n \"content\": \"## Authentication\\nConversion requests must be authenticated. Please create \\n[ConvertAPI account to get authentication secret]({{ $env.API_BASE_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ab417c81-d9ca-4fd2-9f39-d741738f47ee\",\n \"name\": \"Download PPTX File\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 580,\n 240\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-e72c78dc\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.063492\",\n \"updatedAt\": \"2025-09-29T07:07:49.063511\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"1ef81384-b424-49bc-a6b5-922d1b0f5a7b\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 340,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3052f841-9e65-4284-a84d-3bb5d0c146ea\",\n \"name\": \"Write Result File to Disk\",\n \"type\": \"n8n-nodes-base.readWriteFile\",\n \"position\": [\n 1200,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"fileName\": \"document.pdf\",\n \"operation\": \"write\",\n \"dataPropertyName\": \"=data\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This readWriteFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"852e30be-e145-4e73-b646-94e2ceec536c\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 720,\n 100\n ],\n \"parameters\": {\n \"width\": 218,\n \"height\": 132,\n \"content\": \"## Authentication\\nConversion requests must be authenticated. Please create \\n[ConvertAPI account to get authentication secret]({{ $env.API_BASE_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"69f4d125-8990-4c98-9743-9f877325c958\",\n \"name\": \"Download PDF File\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 580,\n 240\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n ...", "input": "", "output": "In node 'Google Drive', the parameter 'name' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `test-password.pdf`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Google Drive' parameter 'name'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a0ba4c03\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.073571\",\n \"updatedAt\": \"2025-09-29T07:07:49.073582\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"7f4ecd85-1f6e-418e-a224-1a690741192b\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"43a0e1f6-f9d1-4be2-8e84-8cf8be4add8e\",\n \"name\": \"Write Result File to Disk\",\n \"type\": \"n8n-nodes-base.readWriteFile\",\n \"position\": [\n 1200,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"fileName\": \"document.pdf\",\n \"operation\": \"write\",\n \"dataPropertyName\": \"=data\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This readWriteFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1094bca9-c48c-45bf-8cd4-17f074cd269a\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 720,\n 100\n ],\n \"parameters\": {\n \"width\": 218,\n \"height\": 132,\n \"content\": \"## Authentication\\nConversion requests must be authenticated. Please create \\n[ConvertAPI account to get authentication secret]({{ $env.API_BASE_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3e168f2e-f811-489a-b1ad-4973a86a2a6a\",\n \"name\": \"Download Image\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 580,\n 240\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a3ab523c\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.096087\",\n \"updatedAt\": \"2025-09-29T07:07:49.096101\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"30aca7bf-cf50-4182-97b5-0e8f006e1429\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f43cc22f-00c0-4881-b610-ade09a3a2340\",\n \"name\": \"Write Result File to Disk\",\n \"type\": \"n8n-nodes-base.readWriteFile\",\n \"position\": [\n 1200,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"fileName\": \"document.pdf\",\n \"operation\": \"write\",\n \"dataPropertyName\": \"=data\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This readWriteFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1fdac712-f93c-4001-9510-d533a81304e3\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 720,\n 100\n ],\n \"parameters\": {\n \"width\": 218,\n \"height\": 132,\n \"content\": \"## Authentication\\nConversion requests must be authenticated. Please create \\n[ConvertAPI account to get authentication secret]({{ $env.API_BASE_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b79ad903-15c2-48b8-8108-e9e3ec8e6134\",\n \"name\": \"Download PDF File\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 580,\n 240\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n ...", "input": "", "output": "The workflow has a broken data flow. The node 'f43cc22f-00c0-4881-b610-ade09a3a2340' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'f43cc22f-00c0-4881-b610-ade09a3a2340'.\n\n**Impact**: Data from 'f43cc22f-00c0-4881-b610-ade09a3a2340' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'f43cc22f-00c0-4881-b610-ade09a3a2340' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"f43cc22f-00c0-4881-b610-ade09a3a2340\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'f43cc22f-00c0-4881-b610-ade09a3a2340' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\" {\n \"instanceId\": \"workflow-74082d9c\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.101854\",\n \"updatedAt\": \"2025-09-29T07:07:49.101903\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"192d3e4f-6bb0-4b87-a1fa-e32c9efb49cc\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 336,\n 34\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"32a7a772-76a6-4614-a6ab-d2b152a5811f\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1220,\n 180\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {\n \"temperature\": 0\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8c444314-ed7d-4ca0-b0fa-b6d1e964c698\",\n \"name\": \"Get Applicable Rows\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 516,\n 34\n ],\n \"parameters\": {\n \"base\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"appbgxPBurOmQK3E7\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Building Inventory Survey Example\"\n },\n \"table\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"tblEHkoTvKpa4Aa0Q\"\n },\n \"options\": {},\n \"operation\": \"search\",\n \"returnAll\": false,\n \"filterByFormula\": \"AND(Image!=\\\"\\\", AI_status=FALSE())\"\n },\n \"credentials...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-7f64a0f0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.072706\",\n \"updatedAt\": \"2025-09-29T07:07:49.072734\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"abccacce-bbdc-428e-94e0-19996c5bfe02\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1720,\n 160\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 319.5392879244982,\n \"height\": 218.88813194060202,\n \"content\": \"### AI agent that can scrape webpages\\nRemake of {{ $env.WEBHOOK_URL }}\\n\\n**Changes**:\\n* Replaces Execute Workflow Tool and Subworkflow\\n* Replaces Response Formatting\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9fc05c79-5a2d-4ac4-a4f5-32b9c1b385e1\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1340,\n 340\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"45c9bdaf-d51e-4026-8911-4b04c5473b06\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1720,\n 560\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 365.9021913627245,\n \"height\": 245.35379866205295,\n \"content\": \"### Allow your AI to call an API to fetch data\\nRemake of {{ $env.API_BASE_URL }}\\n\\n**Changes**:\\n* Replaces Execute Workflow Tool and Subworkflow\\n* Replaces Manual Query Params Definitions\\n* Replaces Response Fo...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\" {\n \"instanceId\": \"workflow-64c47810\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.124028\",\n \"updatedAt\": \"2025-09-29T07:07:49.124048\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"141638a4-b340-473f-a800-be7dbdcff131\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 695,\n 380\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6ccdaca5-f620-4afa-bed6-92f3a450687d\",\n \"name\": \"Google Drive\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 875,\n 380\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"0B43u2YYOTJR2cC1BRkptZ3N4QTk4NEtxRko5cjhKUUFyemw0\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"0B0A0255.jpeg\"\n },\n \"options\": {},\n \"operation\": \"download\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"yOwz41gMQclOadgu\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 3,\n \"notes\": \"This googleDrive node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b0c2f7a4-a336-4705-aeda-411f2518aaef\",\n \"name\": \"Get Color Information\",\n \"type\": \"n8n-nodes-base.editImage\",\n \"position\": [\n 1200,\n 200\n ],\n \"parameters\": {\n \"operation\": \"information\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This editImage node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3e42b3f1-6900-4622-8c0d-2d9a27a7e1c9\",\n \"name\": \"Resize Image\",\n \"type\": \"n8n-nodes-base.editI...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-fab331d3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.107494\",\n \"updatedAt\": \"2025-09-29T07:07:49.107514\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"382dddd4-da50-49fa-90a2-f7d6d160afdf\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 920,\n 280\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"efa8f415-62f7-43b3-a76a-a2eabf779cb8\",\n \"name\": \"Map Workflows & Credentials\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1360,\n 280\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"0fd19a68-c561-4cc2-94d6-39848977e6d2\",\n \"name\": \"workflow_id\",\n \"type\": \"string\",\n \"value\": \"={{ $json.id }}\"\n },\n {\n \"id\": \"a81f9e6f-9c78-4c3d-9b79-e820f8c5ba29\",\n \"name\": \"workflow_name\",\n \"type\": \"string\",\n \"value\": \"={{ $json.name }}\"\n },\n {\n \"id\": \"58ab0f2f-7598-48de-bea1-f3373c5731fe\",\n \"name\": \"credentials\",\n \"type\": \"array\",\n \"value\": \"={{ $json.nodes.map(node => node.credentials).compact().reduce((acc,cred) => { const keys = Object.keys(cred); const items = keys.map(key => ({ type: key, ...cred[key] })); acc.push(...items); return acc; }, []) }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9e9b4f9c-12b7-47ba-8cf4-a9818902a538\",\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"TOTP VALIDATION (WITHOUT CREATING CREDENTIAL)\",\n \"nodes\": [\n {\n \"id\": \"56f102c4-5b84-4e30-955c-0ea1221c328f\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 480,\n 680\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4f562819-ee42-42ad-b821-aff2cbebbc0f\",\n \"name\": \"TOTP VALIDATION\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 920,\n 680\n ],\n \"parameters\": {\n \"language\": \"python\",\n \"pythonCode\": \"import hmac\\nimport hashlib\\nimport time\\nimport base64\\n\\ndef base32_decode(key):\\n \\\"\\\"\\\"Decodes a base32 key into bytes\\\"\\\"\\\"\\n key += '=' * (-len(key) % 8) # Add necessary '=' for valid length\\n return base64.b32decode(key.upper(), casefold=True)\\n\\ndef generate_totp(secret, interval=30, digits=6):\\n \\\"\\\"\\\"Generates a TOTP code based on a secret key\\\"\\\"\\\"\\n interval_count = int(time.time() // interval)\\n interval_bytes = interval_count.to_bytes(8, byteorder='big')\\n\\n hmac_hash = hmac.new(secret, interval_bytes, hashlib.sha1).digest()\\n \\n offset = hmac_hash[-1] & 0x0F\\n binary_code = ((hmac_hash[offset] & 0x7F) << 24 |\\n (hmac_hash[offset + 1] & 0xFF) << 16 |\\n (hmac_hash[offset + 2] & 0xFF) << 8 |\\n (hmac_hash[offset + 3] & 0xFF))\\n \\n otp_code = binary_code % (10 ** digits)\\n \\n # Format with leading zeros if necessary\\n otp_code_str = str(otp_code).zfill(digits)\\n \\n return otp_code_str\\n\\ndef verify_totp(secret, code, interval=30, digits=6):\\n \\\"\\\"\\\"Checks whether the TOTP code is valid\\\"\\\"\\\"\\n secret_bytes = base32_decode(secret)\\n generated_code = generate_totp(secret_bytes, interval, digits)\\n \\n return generated_code == code\\n\\n# Example of use\\nsecret = _...", "input": "", "output": "The node 'Sticky Note' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-1e3b323f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.145781\",\n \"updatedAt\": \"2025-09-29T07:07:49.145795\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f4570aad-db25-4dcd-8589-b1c8335935de\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 20,\n 5220\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"675243b0-080f-4d5e-a0ca-a0fe0e7c04a9\",\n \"name\": \"Sticky Note9\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 185,\n 5140\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 426.32566328767217,\n \"height\": 260.3707944299243,\n \"content\": \"**Find and replace image in docx. Connect to a datasource with an image URL you want to insert into the Docx file**\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"16bbf5da-5ebc-4e9c-8b3c-80d0077c51b8\",\n \"name\": \"Find Image ID in Docx\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 900,\n 5220\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"notesInFlow\": true,\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"60325192-4730-4410-ae33-9127ff8cc5f7\",\n \"name\": \"Make file shareable publically (optional)\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"25\",\n \"name\": \"Add subscriber to form, create tag and subscriber to the tag\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 300,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"8680b093-4a01-4d3c-8431-1eede00cf41c\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"ConvertKit\",\n \"type\": \"n8n-nodes-base.convertKit\",\n \"position\": [\n 500,\n 300\n ],\n \"parameters\": {\n \"id\": 1657198,\n \"email\": \"\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"convertKitApi\": \"convertkit\"\n },\n \"typeVersion\": 1,\n \"id\": \"e4ab6ef0-9506-4bcf-aa6d-f87141b2bcd6\",\n \"notes\": \"This convertKit node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"ConvertKit1\",\n \"type\": \"n8n-nodes-base.convertKit\",\n \"position\": [\n 710,\n 300\n ],\n \"parameters\": {\n \"name\": \"\",\n \"resource\": \"tag\"\n },\n \"credentials\": {\n \"convertKitApi\": \"convertkit\"\n },\n \"typeVersion\": 1,\n \"id\": \"9374e563-ba69-47c0-b405-a6b5d28a1dbb\",\n \"notes\": \"This convertKit node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"ConvertKit2\",\n \"type\": \"n8n-nodes-base.convertKit\",\n \"position\": [\n 910,\n 300\n ],\n \"parameters\": {\n \"email\": \"={{$node[\\\"ConvertKit\\\"].json[\\\"subscriber\\\"][\\\"email_address\\\"]}}\",\n \"tagId\": 1850395,\n \"resource\": \"tagSubscriber\",\n \"operation\": \"add\",\n \"additionalFields\": {\n \"fields\": {\n \"field\": []\n }\n },\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"convertKitApi\": \"convertkit\"\n },\n \"typeVersion\": 1,\n \"id\": \"10625451-3663-4b98-bae4-ee2197...", "input": "", "output": "The node 'ConvertKit2' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'ConvertKit2'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-b5fde7c7:\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.152270\",\n \"updatedAt\": \"2025-09-29T07:07:49.152439\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"648130c4-5195-4b91-995b-443624019cd0\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 820,\n 280\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c25e5656-9ce2-4429-98f5-f86a88a8fe16\",\n \"name\": \"n8n1\",\n \"type\": \"n8n-nodes-base.n8n\",\n \"position\": [\n 2380,\n 140\n ],\n \"parameters\": {\n \"filters\": {},\n \"options\": {},\n \"resource\": \"execution\",\n \"returnAll\": true,\n \"requestOptions\": {}\n },\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"{{ $credentials.n8nApi.id }}\",\n \"name\": \"n8n account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This n8n node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"93acd82f-22ce-435c-b89e-a3f8ae876bc5\",\n \"name\": \"n8n list execution\",\n \"type\": \"n8n-nodes-base.n8n\",\n \"position\": [\n 1040,\n 380\n ],\n \"parameters\": {\n \"filters\": {},\n \"options\": {},\n \"resource\": \"execution\",\n \"returnAll\": true,\n \"requestOptions\": {}\n },\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"{{ $credentials.n8nApi.id }}\",\n \"name\": \"n8n account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This n8n node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"da03ff80-480d-4616-8aed-dd955d5e92d8\",\n \"name\": \"If Node\",\n \"type\":...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"fcd82fb8-4ba9-4379-96fd-4dca17a35fa3\",\n \"name\": \"Document\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -600,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"dba7b91b-17e3-4096-92aa-a6e5fe60eb55\",\n \"name\": \"twitch\",\n \"type\": \"string\",\n \"value\": \"YOUR-TWITCH-USERNAME\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5c608f47-3d94-4c87-926f-36eb5564c778\",\n \"name\": \"Twitch GraphQL\",\n \"type\": \"n8n-nodes-base.graphql\",\n \"position\": [\n -380,\n 240\n ],\n \"parameters\": {\n \"query\": \"={\\n user(login: \\\"{{ $('Document').item.json.twitch }}\\\") {\\n stream {\\n id\\n viewersCount\\n title\\n type\\n game {\\n id\\n }\\n }\\n }\\n}\",\n \"endpoint\": \"{{ $env.WEBHOOK_URL }}\",\n \"variables\": \"=\",\n \"requestFormat\": \"json\",\n \"headerParametersUi\": {\n \"parameter\": [\n {\n \"name\": \"client-id\",\n \"value\": \"kimne78kx3ncx6brgo4mv6wki5h1ko\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This graphql node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fcc08d0d-33ea-427c-bdea-2e219baa7191\",\n \"name\": \"Is Online\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n -160,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"311e3b31-03e7-4763-8b4a-ebc9a18b7...", "input": "", "output": "The workflow has a broken data flow. The node '5c608f47-3d94-4c87-926f-36eb5564c778' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '5c608f47-3d94-4c87-926f-36eb5564c778'.\n\n**Impact**: Data from '5c608f47-3d94-4c87-926f-36eb5564c778' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '5c608f47-3d94-4c87-926f-36eb5564c778' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"5c608f47-3d94-4c87-926f-36eb5564c778\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '5c608f47-3d94-4c87-926f-36eb5564c778' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"27\",\n \"name\": \"Create a release and get all releases\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 210,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"8674f421-0667-4051-8c12-6a3533f71769\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Sentry.io\",\n \"type\": \"n8n-nodes-base.sentryIo\",\n \"position\": [\n 410,\n 300\n ],\n \"parameters\": {\n \"url\": \"\",\n \"version\": \"0.0.1\",\n \"projects\": [\n \"\"\n ],\n \"resource\": \"release\",\n \"operation\": \"create\",\n \"additionalFields\": {},\n \"organizationSlug\": \"\"\n },\n \"credentials\": {\n \"sentryIoApi\": \"sentry\"\n },\n \"typeVersion\": 1,\n \"id\": \"e43b0dc7-4c5d-4d72-a06a-88210e3a7f0d\",\n \"notes\": \"This sentryIo node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Sentry.io1\",\n \"type\": \"n8n-nodes-base.sentryIo\",\n \"position\": [\n 610,\n 300\n ],\n \"parameters\": {\n \"resource\": \"release\",\n \"operation\": \"getAll\",\n \"returnAll\": true,\n \"additionalFields\": {},\n \"organizationSlug\": \"\"\n },\n \"credentials\": {\n \"sentryIoApi\": \"sentry\"\n },\n \"typeVersion\": 1,\n \"id\": \"ee2eded4-924f-4205-af66-9d61ae09fafe\",\n \"notes\": \"This sentryIo node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-64c49c06\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"wor...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"293b70f0-06e8-4db5-befd-bfaed1f3575a\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -460,\n 80\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1c473546-6280-412d-9f8e-b43962365d78\",\n \"name\": \"Set Params\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -160,\n -60\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"8b5c6ca0-5ca8-4f67-abc1-44341cf419bc\",\n \"name\": \"system_prompt\",\n \"type\": \"string\",\n \"value\": \"You are an n8n fanboy.\"\n },\n {\n \"id\": \"7c36c362-6269-4564-b6fe-f82126bc8f5e\",\n \"name\": \"user_prompt\",\n \"type\": \"string\",\n \"value\": \"What are the differences between n8n and Make?\"\n },\n {\n \"id\": \"4366d2b5-ad22-445a-8589-fddab1caa1ab\",\n \"name\": \"domains\",\n \"type\": \"string\",\n \"value\": \"n8n.io, make.com\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"894bd6a4-5db7-45fb-a8e0-1a81af068bbf\",\n \"name\": \"Clean Output\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 580,\n -100\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"5859093c-6b22-41db-ac6c-9a9f6f18b7e3\",\n \"name\": \"output\",\n \"type\": \"string\",\n \"value\": \"={{ $json.choices[0].message.content }}\"\n },\n {\n \"id\": \"13208fff-5153-45a7-a1cb-fe49e32d9a03\",\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-d9c8922f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.209528\",\n \"updatedAt\": \"2025-09-29T07:07:49.209541\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"53e93a66-468a-4df8-b2cb-58ff0563f83f\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -160,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"70692fd5-d575-49d2-9e3c-71bdddb0782e\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1000,\n 0\n ],\n \"parameters\": {\n \"text\": \"=keyword: {{ $json.Keyword }}\",\n \"options\": {\n \"systemMessage\": \"=Check the keyword I provided and define if this keyword has a name of the known IT software, service, tool or app as a part of it (for example, ServiceNow or Salesforce) and return yes or no.\"\n },\n \"promptType\": \"define\",\n \"hasOutputParser\": true\n },\n \"typeVersion\": 1.7,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"587e6283-32c0-4599-a024-2ce0079bdaeb\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1000,\n 240\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"ju5aHhTljmCDxSl9\",\n \"name\": \"OpenAi account Polina's\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the wor...", "input": "", "output": "The node 'Error Handler' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Error Handler'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Generate Image Workflow\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"0a657f21-f0fe-4521-be7f-aa245f86f5d3\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 340,\n -200\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"54ead951-03fb-4741-9e66-bffa0ff42302\",\n \"name\": \"Fetch Image from API\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 780,\n -200\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"sendQuery\": true,\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"text\",\n \"value\": \"={{ $json.text }}\"\n },\n {\n \"name\": \"fontSize\",\n \"value\": \"={{ $json.fontSize }}\"\n },\n {\n \"name\": \"type\",\n \"value\": \"={{ $json.type }}\"\n },\n {\n \"name\": \"fontFamily\",\n \"value\": \"={{ $json.fontFamily }}\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9b60f208-7bbc-4c35-9303-797aabef478d\",\n \"name\": \"Set Image Properties\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 560,\n -200\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"25b4c572-4ba6-4719-b547-8d3787ba557b\",\n \"name\": \"size\",\n \"type\": \"string\",\n \"value\": \"600x400\"\n },\n {\n \"id\": \"a6689fdb-b212-4c88-b80f-64aabe61daa1\",\n ...", "input": "", "output": "The node 'Set Image Properties' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Set Image Properties'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"2\",\n \"name\": \"Add task to tasklist\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 500,\n 310\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"c716e546-e8a1-49d0-8030-1799e5be8b3b\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Tasks\",\n \"type\": \"n8n-nodes-base.googleTasks\",\n \"position\": [\n 920,\n 310\n ],\n \"parameters\": {\n \"task\": \"={{ $items[999].json.value }}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"googleTasksOAuth2Api\": \"shraddha\"\n },\n \"typeVersion\": 1,\n \"id\": \"7764ad22-1f7c-4677-a60e-160c87c1cd6e\",\n \"notes\": \"This googleTasks node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-90ee3540\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Add task to tasklist. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-afe0f26e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.225954\",\n \"updatedAt\": \"2025-09-29T07:07:49.225965\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"...", "input": "", "output": "In node 'Google Tasks', the parameter 'task' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `MDY3OTAyNjUyMDk5NDY5ODIzMzM6MDow`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Google Tasks' parameter 'task'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"2\",\n \"name\": \"Discord Intro\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 510,\n 330\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"00d0747c-4369-41ee-a644-bf032c035e48\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Discord\",\n \"type\": \"n8n-nodes-base.discord\",\n \"position\": [\n 800,\n 330\n ],\n \"parameters\": {\n \"text\": \"Hello World!\",\n \"webhookUri\": \"{{ $env.API_BASE_URL }}\"\n },\n \"typeVersion\": 1,\n \"id\": \"36a5c3a2-ef9b-4d7d-a7a6-90041c8ce6ed\",\n \"notes\": \"This discord node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-1d7e0732\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Discord Intro. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-bde4153f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.222256\",\n \"updatedAt\": \"2025-09-29T07:07:49.222319\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-5e99c06e:\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.241907\",\n \"updatedAt\": \"2025-09-29T07:07:49.241916\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"468084ed-ce7d-45c5-bf27-ea9c91d5898a\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 0,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fbde6cfe-9fac-46d2-958a-f42c9ef383a3\",\n \"name\": \"Retrieve WordPress Article\",\n \"type\": \"n8n-nodes-base.wordpress\",\n \"position\": [\n 440,\n 0\n ],\n \"parameters\": {\n \"postId\": \"1032\",\n \"options\": {},\n \"operation\": \"get\"\n },\n \"credentials\": {\n \"wordpressApi\": {\n \"id\": \"T0ygUN7hNFQVztP2\",\n \"name\": \"Wordpress account 2\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This wordpress node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"54241e39-7a5f-45f4-9dab-72b5424f4061\",\n \"name\": \"Generate Summary or Transcription\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 680,\n 0\n ],\n \"parameters\": {\n \"text\": \"={{ $json.content }}\",\n \"messages\": {\n \"messageValues\": [\n {\n \"message\": \"Summarize or transcribe this article, depending on the workflow setting.\"\n }\n ]\n },\n \"promptType\": \"define\",\n \"hasOutputParser\": true\n },\n \"typeVersion\": 1.5,\n \"notes\": \"This chainLlm node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"49cfaab6-a0c1-4319-904d-c1e0a2c6aa91\",\n \"name\": \"Gene...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-f09aec22\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.231967\",\n \"updatedAt\": \"2025-09-29T07:07:49.232021\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"0f70dc82-f4af-444a-a3eb-381623091cb1\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -980,\n -200\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cff3d74c-b381-42f9-96c0-b607a410ffeb\",\n \"name\": \"Wait\",\n \"type\": \"n8n-nodes-base.wait\",\n \"position\": [\n -180,\n -200\n ],\n \"webhookId\": \"1c3e61f9-9bd3-489b-a0a1-e20c1f52d496\",\n \"parameters\": {\n \"amount\": 10\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This wait node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0ec6969b-17e2-41c3-a2c1-2c362cda54ce\",\n \"name\": \"Output\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 440,\n -180\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"53226f92-5381-4f9f-9be5-4b25f31db99c\",\n \"name\": \"data.video_url\",\n \"type\": \"string\",\n \"value\": \"={{ $json.data.video_url }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"887660ad-0ca3-4364-a2d2-443349de19de\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -260,\n -300\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 660,\n \"he...", "input": "", "output": "The node 'Create Video' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Create Video'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"30\",\n \"name\": \"Receive updates when a subscriber is added to a group and strore the information in Airtable\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"disabled\": true,\n \"position\": [\n 110,\n 600\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"383308e6-10b0-4da3-b303-0c0cd193c408\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"MailerLite Trigger\",\n \"type\": \"n8n-nodes-base.mailerLiteTrigger\",\n \"position\": [\n 530,\n 300\n ],\n \"webhookId\": \"dd15d919-18b3-4af7-a5c9-c4583cdda9f5\",\n \"parameters\": {\n \"event\": \"subscriber.add_to_group\",\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"mailerLiteApi\": \"mailerlite\"\n },\n \"typeVersion\": 1,\n \"id\": \"5f368934-a1d4-496a-9d13-fd2b6d3d32d5\",\n \"notes\": \"This mailerLiteTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 730,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"Name\",\n \"value\": \"={{$node[\\\"MailerLite Trigger\\\"].json[\\\"data\\\"][\\\"subscriber\\\"][\\\"name\\\"]}}\"\n },\n {\n \"name\": \"Email\",\n \"value\": \"={{$node[\\\"MailerLite Trigger\\\"].json[\\\"data\\\"][\\\"subscriber\\\"][\\\"email\\\"]}}\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"cb201f55-5e1b-4593-83c6-18cefdb92746\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Airtable\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 930,\n 300\n ],\n \"parameters\": {\n \"table\": \"Data\"...", "input": "", "output": "The node 'MailerLite Trigger' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'MailerLite Trigger'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-579ccdab\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.242996\",\n \"updatedAt\": \"2025-09-29T07:07:49.243004\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"fe599878-c955-4354-bbd0-a24fc1e3e933\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -340,\n -40\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e03c7cef-4897-4234-b285-7be69e3c970d\",\n \"name\": \"Create Transcript1\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 100,\n -40\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"contentType\": \"multipart-form-data\",\n \"sendHeaders\": true,\n \"authentication\": \"={{ $items[999].json.value }}\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"file\",\n \"parameterType\": \"formBinaryData\",\n \"inputDataFieldName\": \"data\"\n },\n {\n \"name\": \"model_id\",\n \"value\": \"scribe_v1\"\n }\n ]\n },\n \"genericAuthType\": \"httpCustomAuth\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Content-Type\",\n \"value\": \"multipart/form-data\"\n }\n ]\n }\n },\n \"credentials\": {\n \"httpCustomAuth\": {\n \"id\": \"rDkSKjIA0mjmEv5k\",\n \"name\": \"Eleven Labs\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n ...", "input": "", "output": "In node 'Create Transcript1', the parameter 'authentication' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `{{ $credentials.genericCredentialType }}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Create Transcript1' parameter 'authentication'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"32\",\n \"name\": \"Create a customer and add them to a segment in Customer.io\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 440,\n 260\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"81399e65-f538-46c8-8552-c9475c268af6\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"CustomerIo\",\n \"type\": \"n8n-nodes-base.customerIo\",\n \"position\": [\n 650,\n 260\n ],\n \"parameters\": {\n \"id\": \"2\",\n \"additionalFields\": {\n \"customProperties\": {\n \"customProperty\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"value\": \"n8n\"\n }\n ]\n }\n }\n },\n \"credentials\": {\n \"customerIoApi\": \"cust\"\n },\n \"typeVersion\": 1,\n \"id\": \"9d81afc9-f27a-4e2d-91ae-8af6e8d7d74d\",\n \"notes\": \"This customerIo node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"CustomerIo1\",\n \"type\": \"n8n-nodes-base.customerIo\",\n \"position\": [\n 840,\n 260\n ],\n \"parameters\": {\n \"resource\": \"segment\",\n \"customerIds\": \"={{$node[\\\"CustomerIo\\\"].json[\\\"id\\\"]}}\"\n },\n \"credentials\": {\n \"customerIoApi\": \"cust\"\n },\n \"typeVersion\": 1,\n \"id\": \"6a158d0b-8475-49d3-9c6d-c289fe6fe88b\",\n \"notes\": \"This customerIo node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-7377bb00\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n },\n {\n \"parameters\": {\n \"url\": \"https://api.example.com/data\",\n \"method\": \"GET\",\n \"...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-e507a58c\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.250744\",\n \"updatedAt\": \"2025-09-29T07:07:49.250816\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"93a8b03f-ff6b-4559-9cb1-9f439ff5e990\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1180,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0aed449c-c60a-4309-91d2-4db9ed1f4ad2\",\n \"name\": \"Variables\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -120,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"a6c47778-33f4-46a3-a86a-fd1e75930d93\",\n \"name\": \"firstname\",\n \"type\": \"string\",\n \"value\": \"={{ $json.properties.firstname }}\"\n },\n {\n \"id\": \"0e50b2bc-4bea-4fd0-95c0-46a87da69c19\",\n \"name\": \"lastname\",\n \"type\": \"string\",\n \"value\": \"={{ $json.properties.lastname }}\"\n },\n {\n \"id\": \"ee15f298-77f6-4c4a-b03b-c2cf9a53bdc2\",\n \"name\": \"email\",\n \"type\": \"string\",\n \"value\": \"={{ $json.properties.email }}\"\n },\n {\n \"id\": \"98a718f5-4372-4282-8a9a-46f2af39677a\",\n \"name\": \"product_to_sell\",\n \"type\": \"string\",\n \"value\": \"=AI partnerships: a consulting package of AI development and services. We help customers find a strong foothold on AI initiatives bringing them to life cost effectively and always with results.\"\n }\n ...", "input": "", "output": "The node 'Google Gemini Chat Model1' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"dSxo6ns5wn658r8N\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Google Gemini Chat Model1' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"340\",\n \"name\": \"Email body parser by aprenden8n.com\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"467865b5-a95d-4bb7-b2cd-09f6f3192f24\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Email Parser Snippet\",\n \"type\": \"n8n-nodes-base.functionItem\",\n \"position\": [\n 670,\n 300\n ],\n \"parameters\": {\n \"functionCode\": \"var obj = {};\\nvar labels = item.labels.split(\\\",\\\");\\nitem.labels.split(\\\",\\\").forEach(function(label) {\\n var re = labels.indexOf(label) === labels.length - 1 ? \\\"\\\\\\\\b\\\" + label + \\\"\\\\\\\\b[: ]+([^$]+)\\\" : \\\"\\\\\\\\b\\\" + label + \\\"\\\\\\\\b[: ]+([^\\\\\\\\n$]+)\\\";\\n var found = item.body.match(new RegExp(re, \\\"i\\\"));\\n if (found && found.length > 1) {\\n obj[label] = found[1].trim();\\n }\\n});\\n\\nreturn obj;\"\n },\n \"typeVersion\": 1,\n \"id\": \"a39029d9-073d-4a10-a585-1b084bbb88dc\",\n \"notes\": \"This functionItem node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set values\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 460,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [],\n \"string\": [\n {\n \"name\": \"body\",\n \"value\": \"Name: Miquel\\nEmail: miquel@aprenden8n.com\\nSubject: Welcome aboard\\nMessage: Hi Miquel!\\n\\nThank you for your signup!\"\n },\n {\n \"name\": \"labels\",\n \"value\": \"Name,Email,Subject,Message\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"f9f6a2c1-580d-4a88-a5f5-d777a492e217\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-d322b6ba\",\n \"name\": \"Er...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-ca526ff9\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.244416\",\n \"updatedAt\": \"2025-09-29T07:07:49.244426\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"45ae6e88-3fda-4e95-84db-085a895cc564\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 260,\n -100\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"09f71a7c-1219-426d-8563-fa05654cab44\",\n \"name\": \"Calculate ICP PersonScoring\",\n \"type\": \"n8n-nodes-base.airtop\",\n \"position\": [\n 700,\n -100\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"prompt\": \"Please extract the following information from the LinkedIn profile page:\\n\\n1. **Full Name**: Extract the full name of the individual.\\n2. **Current or Most Recent Job Title**: Identify the job title next to the logo of the current or last employer.\\n3a. **Current or Most Recent Employer**: Extract the name of the first company in the employment experience block. \\n3b. Linkedin Company URL of the Current or Most Recent Employer: Extract the link of the first company in the employment experience block\\n4. **Location**: Extract the location of the individual.\\n5. **Number of Connections**: Extract the number of connections the individual has.\\n6. **Number of Followers**: Extract the number of followers the individual has.\\n7. **About Section Text**: Extract the text from the 'About' section.\\n8. **Interest Level in AI**: Determine the person's interest level in AI (e.g., beginner, intermediate, advanced, expert).\\n9. **Seniority Level**: Determine the seniority level of the person (e.g., junior, mid-l...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-3fb99517\"\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.278868\",\n \"updatedAt\": \"2025-09-29T07:07:49.278881\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"fcf1064e-557f-4514-9109-bb10ac837f8b\",\n \"name\": \"Run python script\",\n \"type\": \"n8n-nodes-base.executeCommand\",\n \"position\": [\n -100,\n 20\n ],\n \"parameters\": {\n \"command\": \"=python C:\\\\KOKORO\\\\voicegen.py \\\"{{ $json.text }}\\\" \\\"{{ $json.voice }}\\\" 1\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This executeCommand node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"199a3212-69c0-4314-92c8-783573f165d7\",\n \"name\": \"Passing variables\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -320,\n 20\n ],\n \"parameters\": {\n \"mode\": \"raw\",\n \"options\": {},\n \"jsonOutput\": \"{\\n \\\"voice\\\": \\\"af_sarah\\\",\\n \\\"text\\\": \\\"Hello world!\\\"\\n}\\n\"\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"deb008d0-53ae-4348-a555-9e54b6e0efd4\",\n \"name\": \"Start\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -540,\n 20\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ffa1b2bf-abc3-45d8-8b7b-de4c0780a609\",\n \"name\": \"Play sound\",\n \"type\": \"n8n-nodes-base.readBinaryFiles\",\n \"position\": [\n 120,\n 20\n ],\n \"parameters\": {\n \"fileSelector\": \"D:/output.mp3\"\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": false,\n \"notes\": \"This readBinaryFiles node performs automated tasks as part of the workflow.\"\n },\n...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-0dd587ac\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.295303\",\n \"updatedAt\": \"2025-09-29T07:07:49.295318\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"e0721f8a-d157-4ec4-91b3-94060a841dc8\",\n \"name\": \"QuickChart\",\n \"type\": \"n8n-nodes-base.quickChart\",\n \"position\": [\n 240,\n -40\n ],\n \"parameters\": {\n \"data\": \"={{ $json.jsonData.salesData }}\",\n \"chartType\": \"line\",\n \"labelsMode\": \"array\",\n \"labelsArray\": \"={{ $json.jsonData.labels }}\",\n \"chartOptions\": {},\n \"datasetOptions\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This quickChart node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b178ca51-357f-4731-8953-75e2370edc2d\",\n \"name\": \"Edit Fields: Set JSON data to test\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -80,\n -40\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"1b3ae0ac-7fa5-406c-8e61-d6a9a6c27f07\",\n \"name\": \"jsonData\",\n \"type\": \"object\",\n \"value\": \"={ \\\"reportTitle\\\": \\\"Quarterly Sales\\\", \\\"labels\\\": [\\\"Q1\\\", \\\"Q2\\\", \\\"Q3\\\", \\\"Q4\\\"], \\\"salesData\\\": [1250, 1800, 1550, 2100] }\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"393665db-f6a6-4294-afd8-3a9f32192c64\",\n \"name\": \"Google Drive: Upload File\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 520,\n -40\n ],\n \"parameters\": {\n \"name\": \"=chart.{{ $binary.data.fileExtension }}\",\n \"driveId\": {\n \"__rl\": true,\n \"mode\": \"li...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-abf2c4ab\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.292706\",\n \"updatedAt\": \"2025-09-29T07:07:49.292716\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"1ec0e1ad-0666-417b-b5af-b381b06e126f\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -120,\n 180\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c34a92d3-b4bd-4c2f-9fa0-66832729a31c\",\n \"name\": \"Upload photo\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 980,\n 180\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"method\": \"PUT\",\n \"options\": {},\n \"sendBody\": true,\n \"contentType\": \"binaryData\",\n \"sendHeaders\": true,\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Authorization\",\n \"value\": \"=Bearer {{ $json.access_token }}\"\n },\n {\n \"name\": \"Content-Type\",\n \"value\": \"application/octet-stream\"\n }\n ]\n },\n \"inputDataFieldName\": \"data\"\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"49ce594c-83c7-4b47-be03-6811ebdcc57b\",\n \"name\": \"Set config (sensitive data)\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 100,\n 180\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"399d42f3-41e0-4043-9a57-85771bf5cd07\",\n \"name\": \"TENANT_ID\",\n \"t...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-8b774e51\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.280768\",\n \"updatedAt\": \"2025-09-29T07:07:49.280792\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"0e78a29e-87ba-4665-84c1-a413c45e25dc\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -420,\n -40\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fe7b054a-e0c9-4642-a97f-6bec60a1ec55\",\n \"name\": \"Edit Image (OpenAI)\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 500,\n -40\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"contentType\": \"multipart-form-data\",\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"image\",\n \"parameterType\": \"formBinaryData\",\n \"inputDataFieldName\": \"data\"\n },\n {\n \"name\": \"prompt\",\n \"value\": \"add a mask with horns\"\n },\n {\n \"name\": \"model\",\n \"value\": \"gpt-image-1\"\n },\n {\n \"name\": \"n\",\n \"value\": \"1\"\n },\n {\n \"name\": \"size\",\n \"value\": \"1024x1024\"\n },\n {\n \"name\": \"quality\",\n \"value\": \"high\"\n }\n ]\n },\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"JyI0PkPec1Fr...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-1071e242\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.300964\",\n \"updatedAt\": \"2025-09-29T07:07:49.301015\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"b0a2f427-1788-4707-b2ca-07b7ba9878ab\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -2040,\n 1040\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9bf6edaf-e2ad-4702-8730-0600775531cb\",\n \"name\": \"Post Summarization\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 20,\n 680\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 2,\n \"notes\": \"This chainSummarization node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9541106a-af9c-4326-91b1-07f68c9ee386\",\n \"name\": \"Merge Input\",\n \"type\": \"n8n-nodes-base.merge\",\n \"position\": [\n -720,\n 980\n ],\n \"parameters\": {\n \"mode\": \"combine\",\n \"options\": {},\n \"combineBy\": \"combineByPosition\"\n },\n \"typeVersion\": 3,\n \"notes\": \"This merge node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b0ad0465-0daa-48f6-a9c5-8dadca2ca4e1\",\n \"name\": \"Output The Results\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 1140,\n 820\n ],\n \"parameters\": {\n \"columns\": {\n \"value\": {},\n \"schema\": [],\n \"mappingMode\": \"autoMapInputData\",\n \"matchingColumns\": [],\n \"attemptToConvertTypes\": false,\n \"convertFieldsToString\": false\n },\n \"options\": {},\n \"operation\": \"append\"...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-cc8ab0ea\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.295574\",\n \"updatedAt\": \"2025-09-29T07:07:49.295585\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f3001828-f10b-41d5-a056-5327e1f694f3\",\n \"name\": \"HTML to PDF\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -500,\n 380\n ],\n \"parameters\": {\n \"htmlInput\": \"

Hello World

\"\n },\n \"credentials\": {\n \"customJsApi\": {\n \"id\": \"h29wo2anYKdANAzm\",\n \"name\": \"CustomJS account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This html2Pdf node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f3141220-b384-4efe-84f5-0a896b09a887\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -720,\n 460\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cee26b9b-7109-4336-8d7e-762cf40b4d8b\",\n \"name\": \"Convert PDF into PNG1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -280,\n 540\n ],\n \"parameters\": {\n \"resource\": \"url\",\n \"field_name\": \"={{ $json.path }}\"\n },\n \"credentials\": {\n \"customJsApi\": {\n \"id\": \"h29wo2anYKdANAzm\",\n \"name\": \"CustomJS account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This PdfToPng node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"46f47df0-a301-41a9-8d3a-f98977b56eda\",\n \"name\": \"Convert PDF into PNG\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -280,\n 380\n ],\n \"parameters\": {},\n \"typeVersion\": ...", "input": "", "output": "The node 'Convert PDF into PNG' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"customJsApi\": {\n \"id\": \"h29wo2anYKdANAzm\",\n \"name\": \"CustomJS account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Convert PDF into PNG' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"142277c6-73a5-4b99-9e94-72655bbe0ea8\",\n \"name\": \"n8n\",\n \"type\": \"n8n-nodes-base.n8n\",\n \"position\": [\n -420,\n -120\n ],\n \"parameters\": {\n \"filters\": {},\n \"requestOptions\": {}\n },\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"4v19HuBPwx43oswi\",\n \"name\": \"n8n account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This n8n node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6adf03cb-4194-4616-99d0-6495a660c283\",\n \"name\": \"TAG? Auto start\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n -180,\n -120\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"03241d00-9ec1-4215-8036-2d219a7874cb\",\n \"operator\": {\n \"type\": \"array\",\n \"operation\": \"contains\",\n \"rightType\": \"any\"\n },\n \"leftValue\": \"={{ $json.tags.map((obj) => obj.name) }}\",\n \"rightValue\": \"Auto start\"\n }\n ]\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8bd4868a-6dec-48b9-8593-36badf42d7ff\",\n \"name\": \"n8n1\",\n \"type\": \"n8n-nodes-base.n8n\",\n \"position\": [\n 100,\n -120\n ],\n \"parameters\": {\n \"operation\": \"activate\",\n \"workflowId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"={{ $json.id }}\"\n },\n \"requestOptions\": {}\n },\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"4v19HuBPwx43oswi\",\n \"name\": \"n8n account\"\n }\n },\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"39\",\n \"meta\": {\n \"instanceId\": \"workflow-a1837d30\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.313400\",\n \"updatedAt\": \"2025-09-29T07:07:49.313411\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"PostgreSQL export to CSV\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"ed94b34e-9ae6-4925-b292-b64a7e0bd602\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 660,\n 420\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f5ada70d-c186-4d28-a64b-3847e2625c8d\",\n \"name\": \"Spreadsheet File\",\n \"type\": \"n8n-nodes-base.spreadsheetFile\",\n \"position\": [\n 1260,\n 420\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"toFile\",\n \"fileFormat\": \"csv\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This spreadsheetFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4e06ae2b-ef42-4ef4-b7b2-56eb70738a03\",\n \"name\": \"TableName\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 840,\n 420\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"TableName\",\n \"value\": \"booksRead\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"457ed549-507d-422a-bd14-1736252bd2e9\",\n \"name\": \"Postgres\",\n \"type\": \"n8n-nodes-base.postgres\",\n \"position\": [\n 1060,\n 420\n ],\n \"parameters\": {\n ...", "input": "", "output": "The node 'Postgres' (type: n8n-nodes-base.postgres) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"postgres\": {\n \"id\": \"{{ $credentials.postgres.id }}\",\n \"name\": \"Postgres account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Postgres' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"3Lih0LVosR8dZbla\",\n \"meta\": {\n \"instanceId\": \"workflow-2df76d89\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.316470\",\n \"updatedAt\": \"2025-09-29T07:07:49.316519\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Create AI-Ready Vector Datasets for LLMs with Bright Data, Gemini & Pinecone\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"0a468953-e348-420e-a6b3-c55fb20d3cbf\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 200,\n -710\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3725e480-246f-4f32-b0a7-b946cacbe830\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1236,\n -60\n ],\n \"parameters\": {\n \"text\": \"=Format the below search result\\n\\n{{ $json.output.search_result }}\",\n \"options\": {},\n \"promptType\": \"define\",\n \"hasOutputParser\": true\n },\n \"typeVersion\": 1.8,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"30a12b8e-02f5-4b2e-bf9f-20fd9658405e\",\n \"name\": \"Pinecone Vector Store\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1628,\n -10\n ],\n \"parameters\": {\n \"mode\": \"insert\",\n \"options\": {},\n \"pineconeIndex\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"hacker-news\",\n \"cachedResultName\": \"hacker-news\"\n }\n },\n \"credentials\": {\n \"pineconeApi\": {\n \"id\": \"wdfRQ6NE8yjCDFhY\",\n \"name\": \"PineconeApi account\"\n }\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"3\",\n \"name\": \"Mailchimp\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 480,\n 310\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"9c13311c-496c-4563-9a79-0859cad14387\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Mailchimp\",\n \"type\": \"n8n-nodes-base.mailchimp\",\n \"position\": [\n 780,\n 310\n ],\n \"parameters\": {\n \"list\": \"97542c5cf8\",\n \"email\": \"xxxx@email.com\",\n \"status\": \"subscribed\",\n \"options\": {},\n \"mergeFieldsUi\": {\n \"mergeFieldsValues\": [\n {\n \"name\": \"FNAME\",\n \"value\": \"Joe\"\n }\n ]\n }\n },\n \"credentials\": {\n \"mailchimpApi\": \"mailchimpAPI\"\n },\n \"typeVersion\": 1,\n \"id\": \"e2cce11d-4321-4881-83bb-4a03c0260939\",\n \"notes\": \"This mailchimp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-afcf8e27\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Mailchimp. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-9a6c67f3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.329557\",\n \"updatedAt\": \"2025-09-29T07:07:...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"A workflow with the Twilio node\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"50a2e527-a2ec-43b3-9447-1d8a86498574\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Twilio\",\n \"type\": \"n8n-nodes-base.twilio\",\n \"position\": [\n 430,\n 300\n ],\n \"parameters\": {},\n \"credentials\": {\n \"twilioApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"c405e115-eed8-45df-be2a-1550660bf3a5\",\n \"notes\": \"This twilio node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-8bac5e6b\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: A workflow with the Twilio node. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-353463ba\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.346267\",\n \"updatedAt\": \"2025-09-29T07:07:49.346280\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"notes\": \"E...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Manualtrigger Workflow\"\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 600,\n 250\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"58ebf1b7-36b0-4d94-a5d4-1c4afe2c2ba6\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"ActiveCampaign\",\n \"type\": \"n8n-nodes-base.activeCampaign\",\n \"position\": [\n 800,\n 250\n ],\n \"parameters\": {\n \"email\": \"\",\n \"updateIfExists\": true,\n \"additionalFields\": {\n \"lastName\": \"\",\n \"firstName\": \"\"\n }\n },\n \"credentials\": {\n \"activeCampaignApi\": \"ActiveCampaign\"\n },\n \"typeVersion\": 1,\n \"id\": \"64649e76-e804-4337-a3b4-77ba30356e05\",\n \"notes\": \"This activeCampaign node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-bbfeaee3\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-829640c5\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.346621\",\n \"updatedAt\": \"2025-09-29T07:07:49.346628\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\"...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-d25e535c\"\n },\n {\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"responseFormat\": \"string\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-8b3a03f5\"\n },\n {\n \"name\": \"HTML Extract\",\n \"type\": \"n8n-nodes-base.htmlExtract\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"options\": {},\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"item\",\n \"cssSelector\": \"h2\",\n \"returnArray\": true,\n \"returnValue\": \"html\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-f85cc5e9\"\n },\n {\n \"name\": \"HTML Extract1\",\n \"type\": \"n8n-nodes-base.htmlExtract\",\n \"position\": [\n 850,\n 300\n ],\n \"parameters\": {\n \"options\": {},\n \"dataPropertyName\": \"item\",\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"title\",\n \"cssSelector\": \"a\"\n },\n {\n \"key\": \"url\",\n \"attribute\": \"href\",\n \"cssSelector\": \"a\",\n \"returnValue\": \"attribute\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-5ede6a55\"\n },\n {\n \"id\": \"error-1307c3cc\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Prod...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"20010d9f-1545-4ad9-aa45-8ff2eada87c6\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"SIGNL4\",\n \"type\": \"n8n-nodes-base.signl4\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"message\": \"This is a test alert sent from n8n to SIGNL4\",\n \"additionalFields\": {\n \"title\": \"Sample Title\"\n }\n },\n \"credentials\": {\n \"signl4Api\": \"Signl4 Team Secret\"\n },\n \"typeVersion\": 1,\n \"id\": \"3b96634b-d7cb-49fd-b2b1-072a84f16ef4\",\n \"notes\": \"This signl4 node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-3d8b9a3e\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-a0427973\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.428738\",\n \"updatedAt\": \"2025-09-29T07:07:49.428745\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"prod...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"8f8f6c32-c6fa-48a1-8be6-128a300f8340\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Freshdesk\",\n \"type\": \"n8n-nodes-base.freshdesk\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"status\": \"open\",\n \"options\": {},\n \"requester\": \"email\",\n \"requesterIdentificationValue\": \"user@example.com\"\n },\n \"typeVersion\": 1,\n \"id\": \"e6ad047f-7916-43ca-aab7-aee8f962a629\",\n \"notes\": \"This freshdesk node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-16259aa8\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-9b449b44\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.351508\",\n \"updatedAt\": \"2025-09-29T07:07:49.351522\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"productio...", "input": "", "output": "The node 'Freshdesk' (type: n8n-nodes-base.freshdesk) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"freshdeskApi\": \"freshdesk-api\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Freshdesk' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"a6b8d8bc-1779-456c-a504-ccc1a563a7dd\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Postgres\",\n \"type\": \"n8n-nodes-base.postgres\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"query\": \"SELECT * from sometable;\",\n \"operation\": \"executeQuery\"\n },\n \"credentials\": {\n \"postgres\": \"postgres-creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"5f5a3035-3a63-468f-80b4-de7366df7bcb\",\n \"notes\": \"This postgres node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-b9f007c8\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-d5672d82\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.427817\",\n \"updatedAt\": \"2025-09-29T07:07:49.427826\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 4,\n \"name\": \"Zammad Open Tickets\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -40,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"1a2437f6-be0d-4424-9ab1-435d3f902ec9\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Ticket Filtering\",\n \"type\": \"n8n-nodes-base.function\",\n \"notes\": \"Filter tickets by status.\",\n \"position\": [\n 400,\n 460\n ],\n \"parameters\": {\n \"functionCode\": \"let newTickets = 0\\nlet openTickets = 0\\nlet pendingReminder = 0\\nlet pendingClose = 0\\n\\nfor (let i = 0; i < items.length; i++) {\\n const ticket = items[i]\\n if (ticket.json.state_id === 1) {\\n newTickets++\\n }\\n if (ticket.json.state_id === 2) {\\n openTickets++\\n }\\n if (ticket.json.state_id === 3) {\\n pendingReminder++\\n }\\n if (ticket.json.state_id === 7) {\\n pendingClose++\\n }\\n}\\n\\nreturn [{\\n json: {\\n \\\"new\\\": newTickets,\\n open: openTickets,\\n pendingReminder: pendingReminder,\\n pendingClose: pendingClose\\n }\\n}];\"\n },\n \"executeOnce\": true,\n \"notesInFlow\": true,\n \"typeVersion\": 1,\n \"id\": \"b0ce106d-18b6-4e13-a324-52c5fc9943c9\"\n },\n {\n \"name\": \"List Tickets\",\n \"type\": \"n8n-nodes-base.zammad\",\n \"notes\": \"Get all tickets.\",\n \"position\": [\n 200,\n 460\n ],\n \"parameters\": {\n \"resource\": \"ticket\",\n \"operation\": \"getAll\",\n \"returnAll\": true\n },\n \"credentials\": {\n \"zammadTokenAuthApi\": {\n \"id\": \"{{ $credentials.zammadTokenAuthApi.id }}\",\n \"name\": \"Zammad Token Auth account\"\n }\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1,\n \"id\": \"5500d6a6-37b2-464b-86ea-f3d2314d2453\"\n },\n {\n \"name\": \"Notify for Standup\",\n \"type\": \"n8n-nodes-base.zulip\",\n \"note...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"4\",\n \"name\": \"post to wallabag\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 120,\n 250\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-6acba427\"\n },\n {\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1280,\n 380\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"requestMethod\": \"POST\",\n \"bodyParametersUi\": {\n \"parameter\": [\n {\n \"name\": \"url\",\n \"value\": \"={{$json[\\\"url\\\"]}}\"\n }\n ]\n },\n \"queryParametersUi\": {\n \"parameter\": []\n },\n \"headerParametersUi\": {\n \"parameter\": [\n {\n \"name\": \"Authorization\",\n \"value\": \"=Bearer {{$json[\\\"access_token\\\"]}}\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-adb08896\"\n },\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 120,\n 400\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"mode\": \"everyX\",\n \"unit\": \"minutes\",\n \"value\": 10\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-28eac42b\"\n },\n {\n \"name\": \"Function\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 900,\n 470\n ],\n \"parameters\": {\n \"functionCode\": \"// Get the global workflow static data\\nconst staticData = getWorkflowStaticData('global')\\n\\n// Access its data\\nconst lastStarRssId = staticData.lastStarRssId\\n\\nlet list = []\\n\\nfor (const item of items[0].json.content){\\n let currentId = item.id\\n if(currentId == lastStarRssId) break;\\n list.push({'json':{\\n 'id': currentId,\\n 'lastId': lastStarRssId,\\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"64e1e364-8cc6-4389-9c78-86151dae0a65\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"AWS SNS\",\n \"type\": \"n8n-nodes-base.awsSns\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"topic\": \"n8n-rocks\",\n \"message\": \"This is a test message\",\n \"subject\": \"={{ $json[\\\"non_existent_field\\\"] }}\"\n },\n \"credentials\": {\n \"aws\": \"aws\"\n },\n \"typeVersion\": 1,\n \"id\": \"4bf1793c-3fa3-41c2-8587-f34a1fc95047\",\n \"notes\": \"This awsSns node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-67e0c9b1\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-dce30a7b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.428572\",\n \"updatedAt\": \"2025-09-29T07:07:49.428583\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n ...", "input": "", "output": "In node 'AWS SNS', the parameter 'subject' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `This is a test subject`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'AWS SNS' parameter 'subject'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 220,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"e64fe293-4a4a-4f33-b279-184b5bd459f2\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 420,\n 320\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"my_key\",\n \"value\": \"my_value\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"a88dacb2-3a0f-43ef-a160-473c990388ce\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"MongoDB\",\n \"type\": \"n8n-nodes-base.mongoDb\",\n \"position\": [\n 620,\n 320\n ],\n \"parameters\": {\n \"fields\": \"my_key\",\n \"operation\": \"insert\",\n \"collection\": \"n8n-collection\"\n },\n \"credentials\": {\n \"mongoDb\": \"mongodb_credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"06817c71-ad6a-4c19-b222-d2f1aefb0928\",\n \"notes\": \"This mongoDb node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-6d659369\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"3a6d22de-d1c1-4d3a-b3ae-fbc62c7e8df5\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"AWS SES\",\n \"type\": \"n8n-nodes-base.awsSes\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"body\": \"This is a sample message body in an email\\n\",\n \"subject\": \"n8n Rocks\",\n \"fromEmail\": \"n8n@n8n.io\",\n \"toAddresses\": [\n \"user@example.com\",\n \"user2@example.com\"\n ],\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"aws\": \"aws\"\n },\n \"typeVersion\": 1,\n \"id\": \"a3de9042-59a3-438f-b480-0514722006ad\",\n \"notes\": \"This awsSes node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-5ee066cf\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {},\n \"_injected_number_field\": \"not_a_number\"\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-da2b41e4\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.435628\",\n \"updatedAt\": \"2025-09-29T07:07:49.435670\",\n ...", "input": "", "output": "The node 'Error Handler' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Error Handler'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"413cd959-c9e9-4172-9d5e-8060ecbef89d\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"AWS Lambda\",\n \"type\": \"n8n-nodes-base.awsLambda\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"function\": \"arn:aws:lambda:ap-south-1:100558637562:function:hello-world-sample\"\n },\n \"credentials\": {\n \"aws\": \"amudhan-aws\"\n },\n \"typeVersion\": 1,\n \"id\": \"90c2b77a-5eb7-45c5-b738-d0589f674b80\",\n \"notes\": \"This awsLambda node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-f0aec01e\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-1b2d9df7\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.457731\",\n \"updatedAt\": \"2025-09-29T07:07:49.457744\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n ...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-aeffeb78\"\n },\n {\n \"name\": \"Facebook Graph API\",\n \"type\": \"n8n-nodes-base.facebookGraphApi\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"node\": \"me\",\n \"options\": {\n \"fields\": {\n \"field\": [\n {\n \"name\": \"last_name\"\n },\n {\n \"name\": \"first_name\"\n }\n ]\n }\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-7af324cb\"\n },\n {\n \"id\": \"error-35a57cec\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Production Workflow\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3\n },\n \"meta\": {\n \"instanceId\": \"workflow-ed452cb0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.440562\",\n \"updatedAt\": \"2025-09-29T07:07:49.440573\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"description\": \"Production-ready workflow: Production Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation.\"\n}...", "input": "", "output": "The node 'Facebook Graph API' (type: n8n-nodes-base.facebookGraphApi) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"facebookGraphApi\": \"graph_credentials\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Facebook Graph API' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"445027ad-3980-4846-ac55-3aae4bb7b7c8\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Drive\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"fileId\": \"1dJEBaECGmua09YP7W6WCBu66icIq32yRadQpk\",\n \"options\": {},\n \"operation\": \"={{ $items[999].json.value }}\"\n },\n \"credentials\": {\n \"googleApi\": \"n8n-test-service-account\"\n },\n \"typeVersion\": 1,\n \"id\": \"3ece427d-e410-4f66-b1e9-837481fca7b1\",\n \"notes\": \"This googleDrive node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Write Binary File\",\n \"type\": \"n8n-nodes-base.writeBinaryFile\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"fileName\": \"/data/downloaded_file.pdf\"\n },\n \"typeVersion\": 1,\n \"id\": \"ca6ba8bb-9994-4264-a05d-f9e05bed6379\",\n \"notes\": \"This writeBinaryFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-909248dd\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"m...", "input": "", "output": "In node 'Google Drive', the parameter 'operation' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `download`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Google Drive' parameter 'operation'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 750,\n 360\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"35d6b14e-7200-4d13-8eab-037f5e28abb9\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Cockpit\",\n \"type\": \"n8n-nodes-base.cockpit\",\n \"position\": [\n 950,\n 360\n ],\n \"parameters\": {\n \"options\": {},\n \"collection\": \"samplecollection\",\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"cockpitApi\": \"cockpit api\"\n },\n \"typeVersion\": 1,\n \"id\": \"38d733f0-42e1-4875-950e-18ac3bf7d5f0\",\n \"notes\": \"This cockpit node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-e05120a7\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-0d86115c\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.441565\",\n \"updatedAt\": \"2025-09-29T07:07:49.441575\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"...", "input": "", "output": "The node 'Cockpit' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Cockpit'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"72ac32f7-e82a-467f-9f51-54cc77378431\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Hunter\",\n \"type\": \"n8n-nodes-base.hunter\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"email\": \"user@example.com\",\n \"operation\": \"emailVerifier\"\n },\n \"credentials\": {\n \"hunterApi\": \"hunter api creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"409ef9e5-b32e-4fc1-88e0-960ba74ca681\",\n \"notes\": \"This hunter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-183e57ec\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-7a5196f9\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.460387\",\n \"updatedAt\": \"2025-09-29T07:07:49.460400\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"578dd4a6-7651-4b39-9c94-9edfde781af7\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Mailjet\",\n \"type\": \"n8n-nodes-base.mailjet\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"text\": \"This is a test message\",\n \"subject\": \"Sample Subject\",\n \"toEmail\": \"user2@example.com\",\n \"fromEmail\": \"user@example.com\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"mailjetEmailApi\": \"mailjet creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"35b0eefe-c233-4dd5-a2e7-ff23147bf1c8\",\n \"notes\": \"This mailjet node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-efc26d2b\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-3476cf97\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.458725\",\n \"updatedAt\": \"2025-09-29T07:07:49.458735\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"act...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"1f7abe93-1330-4862-ac1c-d7eb1f8efdf7\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Mailgun\",\n \"type\": \"n8n-nodes-base.mailgun\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"text\": \"This is a test message \",\n \"subject\": \"This is a Subject\",\n \"toEmail\": \"user2@example.com\",\n \"fromEmail\": \"user@example.com\"\n },\n \"credentials\": {\n \"mailgunApi\": \"mailgun-creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"007862bc-bad0-41a7-b869-12929176821a\",\n \"notes\": \"This mailgun node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-d6cb4ca9\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-414b8539\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.461201\",\n \"updatedAt\": \"2025-09-29T07:07:49.461215\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"52\",\n \"name\": \"Trigger a build using the TravisCI node\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 510,\n 350\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"8b007c8a-c599-4725-ba7b-a6a3e4a7fbfe\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"TravisCI\",\n \"type\": \"n8n-nodes-base.travisCi\",\n \"position\": [\n 710,\n 350\n ],\n \"parameters\": {\n \"slug\": \"\",\n \"branch\": \"\",\n \"operation\": \"trigger\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"travisCiApi\": \"travisCI\"\n },\n \"typeVersion\": 1,\n \"id\": \"7fba4c81-0360-48f9-aa62-bb6dfb83545c\",\n \"notes\": \"This travisCi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-8103977f\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Trigger a build using the TravisCI node. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-d1ecf58b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.452607\",\n \"updatedAt\": \"2025-09-29T07:07:49.452616\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"hig...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 220,\n 310\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"d17df5b5-cff6-42db-9020-0595ed7df25f\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Invoice Ninja\",\n \"type\": \"n8n-nodes-base.invoiceNinja\",\n \"position\": [\n 410,\n 310\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"getAll\"\n },\n \"credentials\": {\n \"invoiceNinjaApi\": \"invoice_ninja_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"97ad81c2-2b13-4a30-abf1-82d81aa35190\",\n \"notes\": \"This invoiceNinja node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-48bf0334\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-1fc7fcf5\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.463130\",\n \"updatedAt\": \"2025-09-29T07:07:49.463142\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"pro...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"837e3e87-afe3-4499-be5d-678b60b1451b\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Rundeck\",\n \"type\": \"n8n-nodes-base.rundeck\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"jobid\": \"f02c7661-6f75-4ffe-958c-c0ed5f9bc9e6\"\n },\n \"typeVersion\": 1,\n \"id\": \"2df4544f-9784-4909-a62d-782205fbab07\",\n \"notes\": \"This rundeck node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-7fad8764\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-7c25fcf5\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.464505\",\n \"updatedAt\": \"2025-09-29T07:07:49.464557\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"notes\": \"Excellent quality workflow: ...", "input": "", "output": "The node 'Rundeck' (type: n8n-nodes-base.rundeck) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"rundeckApi\": \"rundeck_creds\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Rundeck' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"cd144f98-2202-44a0-9c28-ca0b6ad2bff0\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Xero\",\n \"type\": \"n8n-nodes-base.xero\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"getAll\",\n \"organizationId\": \"ab7e9014-5d01-418f-a64c-dbb6bf5ba2ea\"\n },\n \"credentials\": {\n \"xeroOAuth2Api\": \"n8n_xero\"\n },\n \"typeVersion\": 1,\n \"id\": \"b8d9c71b-1cf0-407b-9897-0a5cc769598e\",\n \"notes\": \"This xero node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-a09f1913\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n },\n {\n \"parameters\": {\n \"url\": \"https://api.example.com/data\",\n \"method\": \"GET\",\n \"options\": {}\n },\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 450,\n 300\n ]\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-785b0567\",\n \"versionId\": \"1.0.0\",\n \"created...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"5598dffd-0365-4fa9-8a9d-9a14eedde69a\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Wordpress\",\n \"type\": \"n8n-nodes-base.wordpress\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"getAll\"\n },\n \"credentials\": {\n \"wordpressApi\": \"wp_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"4683d6eb-869c-464a-8854-ef82b02322f9\",\n \"notes\": \"This wordpress node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-1b987716\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-b7ebe548\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.491847\",\n \"updatedAt\": \"2025-09-29T07:07:49.491860\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"exc...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 230,\n 310\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"d256db25-9c34-4820-aaae-0a24dbde1b73\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Shopify\",\n \"type\": \"n8n-nodes-base.shopify\",\n \"position\": [\n 430,\n 310\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"getAll\"\n },\n \"credentials\": {\n \"shopifyApi\": \"shopify_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"f9c76609-d8a3-4ade-9b71-968579d0fe01\",\n \"notes\": \"This shopify node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-45408d44\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {},\n \"_injected_number_field\": \"not_a_number\"\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-6a26ee84\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.508560\",\n \"updatedAt\": \"2025-09-29T07:07:49.508574\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automatio...", "input": "", "output": "The node 'Error Handler' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Error Handler'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"3f6eb39d-30f4-4db9-9252-f9d5d13fc7b4\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Mautic\",\n \"type\": \"n8n-nodes-base.mautic\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"getAll\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"mauticOAuth2Api\": \"mautic_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"f116b7cf-3ee4-472e-ac70-fe445888da21\",\n \"notes\": \"This mautic node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-d6b3015c\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n },\n {\n \"parameters\": {\n \"url\": \"https://api.example.com/data\",\n \"method\": \"GET\",\n \"options\": {}\n },\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 450,\n 300\n ]\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-6c7acec2\",\n \"versionId\": \"1.0.0\",\n \"create...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"ec113885-7699-4f98-8d11-ff3ae46e734f\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Zoho CRM\",\n \"type\": \"n8n-nodes-base.zohoCrm\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"getAll\"\n },\n \"typeVersion\": 1,\n \"id\": \"4c5bf532-f7a3-4ac2-a932-f5dfe7bfaa71\",\n \"notes\": \"This zohoCrm node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-10ed8c70\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-d546321d\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.527136\",\n \"updatedAt\": \"2025-09-29T07:07:49.527152\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"notes\": \"Excellent quality workflow: Ma...", "input": "", "output": "The node 'Zoho CRM' (type: n8n-nodes-base.zohoCrm) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"zohoOAuth2Api\": \"zoho_creds\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Zoho CRM' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"18707d37-effa-4325-bcc0-56c1a0576396\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Monday.com\",\n \"type\": \"n8n-nodes-base.mondayCom\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"boardId\": \"663435997\",\n \"operation\": \"get\"\n },\n \"credentials\": {\n \"mondayComApi\": \"monday\"\n },\n \"typeVersion\": 1,\n \"id\": \"cf7673db-7488-4694-a413-df5ffcead9e5\",\n \"notes\": \"This mondayCom node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-00a60ae2\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {},\n \"_injected_number_field\": \"not_a_number\"\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-acd8b6ca\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.512024\",\n \"updatedAt\": \"2025-09-29T07:07:49.512059\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"a...", "input": "", "output": "The node 'Error Handler' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Error Handler'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 270,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"da6a54b5-bd4a-4488-8212-5aa7ef0f9b38\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Redis\",\n \"type\": \"n8n-nodes-base.redis\",\n \"position\": [\n 470,\n 320\n ],\n \"parameters\": {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"options\": {},\n \"operation\": \"get\"\n },\n \"credentials\": {\n \"redis\": \"redis-docker_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"ca83510a-bf40-4139-88f1-1b1aae517bec\",\n \"notes\": \"This redis node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-7af5628a\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {},\n \"_injected_number_field\": \"not_a_number\"\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-50cc35d9\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.540957\",\n \"updatedAt\": \"2025-09-29T07:07:49.540972\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n ...", "input": "", "output": "The node 'Error Handler' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Error Handler'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"96979d1f-5248-4b9d-83c1-311b1c9badc3\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Box\",\n \"type\": \"n8n-nodes-base.box\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"name\": \"n8n-rocks\",\n \"options\": {},\n \"resource\": \"folder\"\n },\n \"credentials\": {\n \"boxOAuth2Api\": \"box\"\n },\n \"typeVersion\": 1,\n \"id\": \"b43e12b9-3caf-4383-bd20-cb6127910edf\",\n \"notes\": \"This box node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-5e172ef3\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-f5e1137a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.542712\",\n \"updatedAt\": \"2025-09-29T07:07:49.542719\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"55\",\n \"name\": \"CFP Selection 2\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 400,\n 250\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"14725eac-0be5-4b30-a9dd-cce0b921c37b\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Airtable\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 600,\n 250\n ],\n \"parameters\": {\n \"table\": \"\",\n \"operation\": \"list\",\n \"application\": \"\",\n \"additionalOptions\": {\n \"filterByFormula\": \"{Total Score} > 15\"\n }\n },\n \"credentials\": {\n \"airtableApi\": \"Airtable\"\n },\n \"typeVersion\": 1,\n \"id\": \"9613dbca-8f8c-422f-9176-38d93ad57ce0\",\n \"notes\": \"This airtable node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Bannerbear\",\n \"type\": \"n8n-nodes-base.bannerbear\",\n \"position\": [\n 800,\n 250\n ],\n \"parameters\": {\n \"templateId\": \"\",\n \"modificationsUi\": {\n \"modificationsValues\": [\n {\n \"name\": \"talk title\",\n \"text\": \"={{$node[\\\"Airtable\\\"].json[\\\"fields\\\"][\\\"What's the title of your talk?\\\"]}}\"\n },\n {\n \"name\": \"abstract\",\n \"text\": \"={{$node[\\\"Airtable\\\"].json[\\\"fields\\\"][\\\"Please share the abstract of your talk.\\\"]}}\"\n },\n {\n \"name\": \"profile image\",\n \"imageUrl\": \"{{ $env.BASE_URL }}\"\n },\n {\n \"name\": \"username\",\n \"text\": \"={{$node[\\\"Airtable\\\"].json[\\\"fields\\\"][\\\"Your twitter handle\\\"]}}\"\n },\n {\n \"name\": \"full name\",\n \"text\": \"={{$node[\\\"Airtable\\\"].json[\\\"fields\\\"][\\\"Great, can we get your full name?\\\"]}}\"\n }\n ]\n ...", "input": "", "output": "In node 'Trello', the parameter 'name' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `={{$node[\"Airtable\"].json[\"fields\"][\"What's the title of your talk?\"]}}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Trello' parameter 'name'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"610afd4d-e031-4754-86a4-382e95250226\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Microsoft OneDrive\",\n \"type\": \"n8n-nodes-base.microsoftOneDrive\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"name\": \"n8n-rocks\",\n \"options\": {},\n \"resource\": \"folder\",\n \"operation\": \"create\",\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"microsoftOneDriveOAuth2Api\": \"n8n-docs-creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"ff73d3ca-2d4a-4082-a637-bbd004c8f77c\",\n \"notes\": \"This microsoftOneDrive node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-5ed8da60\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-8d62403b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.543377\",\n \"updatedAt\": \"2025-09-29T07:07:49.543387\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n ...", "input": "", "output": "The node 'Microsoft OneDrive' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Microsoft OneDrive'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"223e4844-402f-4185-9a08-e24ad621be22\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Microsoft Excel\",\n \"type\": \"n8n-nodes-base.microsoftExcel\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"filters\": {},\n \"operation\": \"getAll\"\n },\n \"credentials\": {\n \"microsoftExcelOAuth2Api\": \"ms-oauth-creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"ce9cf2ca-19c6-457f-b018-c72c66f6906e\",\n \"notes\": \"This microsoftExcel node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-d5423dea\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"={{ $items[999].json.value }}\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-59247322\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.546972\",\n \"updatedAt\": \"2025-09-29T07:07:49.546997\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"...", "input": "", "output": "In node 'Error Handler', the parameter 'message' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `Workflow execution error`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Error Handler' parameter 'message'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"97720984-16c4-4728-b99e-a6248e44da02\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"HelpScout\",\n \"type\": \"n8n-nodes-base.helpScout\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"resource\": \"mailbox\",\n \"operation\": \"getAll\"\n },\n \"typeVersion\": 1,\n \"id\": \"ee254be5-964a-42c9-87bd-760219373768\",\n \"notes\": \"This helpScout node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-0728fc76\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-765b3e5f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.563548\",\n \"updatedAt\": \"2025-09-29T07:07:49.563568\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"notes\": \"Excellent quality...", "input": "", "output": "The node 'HelpScout' (type: n8n-nodes-base.helpScout) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"helpScoutOAuth2Api\": \"helpscout_creds\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'HelpScout' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"76e7b853-a935-4365-9331-f28520670a8f\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Mandrill\",\n \"type\": \"n8n-nodes-base.mandrill\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"options\": {},\n \"toEmail\": \"user@example.com\",\n \"template\": \"welcomeemailv2\",\n \"fromEmail\": \"example@yourdomain.com\"\n },\n \"credentials\": {\n \"mandrillApi\": \"mandrill_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"a7b30dd7-0607-4762-a73d-e2d6f1b34e05\",\n \"notes\": \"This mandrill node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-d77eb9aa\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-6962fd74\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.562100\",\n \"updatedAt\": \"2025-09-29T07:07:49.562113\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environmen...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"63639ed8-7a61-4ec4-9793-f79a70bcc413\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Crypto\",\n \"type\": \"n8n-nodes-base.crypto\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"value\": \"n8n rocks!\"\n },\n \"typeVersion\": 1,\n \"id\": \"ea6c2fc1-80f9-4477-908f-f7f9029346e7\",\n \"notes\": \"This crypto node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-064d3879\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-4c93dc1a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.576782\",\n \"updatedAt\": \"2025-09-29T07:07:49.576788\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"notes\": \"Excellent quality workflow: Manualtrigger Workflow. This ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"53527830-3d53-4557-8b88-19eb5a6e80e2\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Date & Time\",\n \"type\": \"n8n-nodes-base.dateTime\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"value\": \"14/02/2020\",\n \"options\": {\n \"fromFormat\": \"DD/MM/YYYY\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"9c456ae8-75a7-4e33-b3e1-aacbeaa12867\",\n \"notes\": \"This dateTime node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-433015f5\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n },\n {\n \"parameters\": {\n \"url\": \"https://api.example.com/data\",\n \"method\": \"GET\",\n \"options\": {}\n },\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 450,\n 300\n ]\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-a4de64dd\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.574950\",\n \"updatedAt\": \"2025-09-29T07:07:49....", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 270,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"3968e372-d611-4be8-8b48-b00dda327d04\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Read Binary File\",\n \"type\": \"n8n-nodes-base.readBinaryFile\",\n \"position\": [\n 470,\n 320\n ],\n \"parameters\": {\n \"filePath\": \"/data/picture.jpg\"\n },\n \"typeVersion\": 1,\n \"id\": \"4c17b39c-769e-4afd-9882-09509938f7b4\",\n \"notes\": \"This readBinaryFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-e69b76e7\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"={{ $json.deeply.nested.undefined.path }}\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-d70b4aed\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.576586\",\n \"updatedAt\": \"2025-09-29T07:07:49.576600\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"notes\": \"Exce...", "input": "", "output": "In node 'Error Handler', the parameter 'message' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `Workflow execution error`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Error Handler' parameter 'message'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"89b0437e-6883-4393-9a5e-31a6d479e291\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Function\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"functionCode\": \"return [\\n {\\n json: {\\n id: 0,\\n }\\n },\\n {\\n json: {\\n id: 1,\\n }\\n }\\n];\"\n },\n \"typeVersion\": 1,\n \"id\": \"b03b08d8-d92e-4607-9d11-7e7a5b8acbc7\",\n \"notes\": \"This function node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [\n {\n \"value1\": \"={{$node[\\\"Function\\\"].json[\\\"id\\\"]}}\",\n \"operation\": \"equal\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"4cc124a0-9fd6-45d0-b7ce-b0488d61e235\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 850,\n 200\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"name\",\n \"value\": \"n8n\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"425bcfd6-525e-4ac3-94c7-9a92ae28ec85\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set1\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 850,\n 400\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"bc718648-966c-482f-8a66-a0df725b9422\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 450,\n 320\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"key\",\n \"value\": \"somevalue\"\n }\n ]\n },\n \"options\": {},\n \"_injected_number_field\": \"not_a_number\"\n },\n \"typeVersion\": 1,\n \"id\": \"0fd1bb1c-c0ea-4fd1-8dcf-08b1e8c8a2d7\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Rename Keys\",\n \"type\": \"n8n-nodes-base.renameKeys\",\n \"position\": [\n 650,\n 320\n ],\n \"parameters\": {\n \"keys\": {\n \"key\": [\n {\n \"newKey\": \"{{ $credentials.newKey }}\",\n \"currentKey\": \"{{ $credentials.currentKey }}\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"ea93683b-59ce-4c6b-997f-40e9767d905a\",\n \"notes\": \"This renameKeys node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-aeb41a3c\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"cal...", "input": "", "output": "The node 'Set' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Set'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\" [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 260,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"3161034e-a6cf-45e1-925a-9972c747b4ce\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"RSS Feed Read\",\n \"type\": \"n8n-nodes-base.rssFeedRead\",\n \"position\": [\n 460,\n 320\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\"\n },\n \"typeVersion\": 1,\n \"id\": \"0f87d76b-e210-4c05-a735-ac5d7a42295e\",\n \"notes\": \"This rssFeedRead node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-8c332aaf\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-e88d1cc0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.593153\",\n \"updatedAt\": \"2025-09-29T07:07:49.593160\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"notes\": \"Excellent quality workflow: Man...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"47fb9089-2a84-47d0-886d-9eba9dbd2b72\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Send Email\",\n \"type\": \"n8n-nodes-base.emailSend\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"text\": \"This is a message to demonstrate the n8n Send Email workflow!\",\n \"options\": {\n \"allowUnauthorizedCerts\": false\n },\n \"subject\": \"n8n rocks!\",\n \"toEmail\": \"user@example.com\",\n \"fromEmail\": \"user@from.email\"\n },\n \"credentials\": {\n \"smtp\": \"your@smtp_creds.here\"\n },\n \"typeVersion\": 1,\n \"id\": \"6550c7a4-6433-46cd-a2e8-a7d7df90fbe2\",\n \"notes\": \"This emailSend node performs automated tasks as part of the workflow.\"\n }\n ],\n \"connections\": {\n \"6550c7a4-6433-46cd-a2e8-a7d7df90fbe2\": {\n \"main\": [\n [\n {\n \"node\": \"error-handler-6550c7a4-6433-46cd-a2e8-a7d7df90fbe2-9c4f07bd\",\n \"type\": \"main\",\n \"index\": 0\n }\n ],\n [\n {\n \"node\": \"error-handler-6550c7a4-6433-46cd-a2e8-a7d7df90fbe2-3fea6167\",\n \"type\": \"main\",\n \"index\": 0\n }\n ],\n [\n {\n \"node\": \"error-handler-6550c7a4-6433-46cd-a2e8-a7d7df90fbe2-85d67252\",\n \"type\": \"main\",\n \"index\": 0\n }\n ],\n [\n {\n \"node\": \"error-handler-6550c7a4-6433-46cd-a2e8-a7d7df90fbe2-23478388\",\n \"type\": \"main\",\n \"index\": 0\n }\n ],\n [\n {\n \"node\": \"error-handler-6550c7a4-6433-46cd-a2e8-a7d7df90fbe2-60bf1693\",\n \"type\": \"main\",\n \"index\": 0\n }\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 680,\n 400\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"a7eeebb8-a67d-4ffa-8615-c1757c870e0e\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Read Binary File\",\n \"type\": \"n8n-nodes-base.readBinaryFile\",\n \"position\": [\n 880,\n 400\n ],\n \"parameters\": {\n \"filePath\": \"/data/pdf.pdf\"\n },\n \"typeVersion\": 1,\n \"id\": \"7bbb769c-4a3b-4670-8d23-70032e673ac4\",\n \"notes\": \"This readBinaryFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Read PDF\",\n \"type\": \"n8n-nodes-base.readPDF\",\n \"position\": [\n 1090,\n 400\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"31f574ef-73c5-4a24-8819-4b55553705f4\",\n \"notes\": \"This readPDF node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-acd039e9\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-702aa19a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.592475\",\n \"updatedAt\": \"2025-09-29T0...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"e8ce2225-f0fd-44c1-bdd6-280feca0abf9\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Spreadsheet File\",\n \"type\": \"n8n-nodes-base.spreadsheetFile\",\n \"position\": [\n 650,\n 320\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"6c6b514b-5f3f-43f7-ba0f-530cd536bc66\",\n \"notes\": \"This spreadsheetFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Read Binary File\",\n \"type\": \"n8n-nodes-base.readBinaryFile\",\n \"position\": [\n 450,\n 320\n ],\n \"parameters\": {\n \"filePath\": \"/data/sample_spreadsheet.csv\"\n },\n \"typeVersion\": 1,\n \"id\": \"d5778d51-0f36-4839-86c4-4d4e872f8ebf\",\n \"notes\": \"This readBinaryFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-e45dc873\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-e80f7eaa\",\n \"versionId\": \"1.0.0\",\n \"creat...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 220,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"8ac859fd-8f8a-46a2-ae2d-dc32ac55dd99\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Execute Workflow\",\n \"type\": \"n8n-nodes-base.executeWorkflow\",\n \"position\": [\n 410,\n 340\n ],\n \"parameters\": {\n \"workflowId\": \"1\"\n },\n \"typeVersion\": 1,\n \"id\": \"2527eb37-3ba6-44dd-979b-6a864db9c23e\",\n \"notes\": \"This executeWorkflow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-97dfe388\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-88327fd4\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.608272\",\n \"updatedAt\": \"2025-09-29T07:07:49.608288\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"notes\": \"Excellent quality workflow: Manua...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"58\",\n \"name\": \"Turn on a light and set its brightness\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 590,\n 260\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"5c8f8497-7182-4015-92d8-7d9a7a7567bd\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Philips Hue\",\n \"type\": \"n8n-nodes-base.philipsHue\",\n \"position\": [\n 790,\n 260\n ],\n \"parameters\": {\n \"lightId\": \"123\",\n \"additionalFields\": {\n \"bri\": 90\n }\n },\n \"credentials\": {\n \"philipsHueOAuth2Api\": \"philips-hue\"\n },\n \"typeVersion\": 1,\n \"id\": \"c5275016-dc2b-46c7-8d32-d823cc1893c0\",\n \"notes\": \"This philipsHue node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-97cd67b4\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Turn on a light and set its brightness. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-127248a8\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.613467\",\n \"updatedAt\": \"2025-09-29T07:07:49.613474\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\"...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 460,\n 230\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"ce1eb445-2e8c-4333-a844-b2d807ff51e0\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"MySQL\",\n \"type\": \"n8n-nodes-base.mySql\",\n \"position\": [\n 660,\n 230\n ],\n \"parameters\": {\n \"query\": \"CREATE TABLE test (id INT, name VARCHAR(255), PRIMARY KEY (id));\",\n \"operation\": \"executeQuery\"\n },\n \"credentials\": {\n \"mySql\": \"mysql_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"18e7b906-9633-424d-8e7f-89ccf9a4b4ab\",\n \"notes\": \"This mySql node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"MySQL1\",\n \"type\": \"n8n-nodes-base.mySql\",\n \"position\": [\n 1060,\n 230\n ],\n \"parameters\": {\n \"table\": \"test\",\n \"columns\": \"id, name\"\n },\n \"credentials\": {\n \"mySql\": \"mysql_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"f3d5e1a1-1df9-400c-85c3-809f8f4275c8\",\n \"notes\": \"This mySql node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 860,\n 230\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"id\"\n }\n ],\n \"string\": [\n {\n \"name\": \"name\",\n \"value\": \"n8n\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": false,\n \"id\": \"e5191159-d996-4db6-a06f-080d37c8c4e8\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-71502e36\",\n \"name\": \"Error Handler...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 260,\n 290\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"08b09726-9cfd-4219-aa91-774cd0e38899\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 660,\n 290\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"id\"\n }\n ],\n \"string\": [\n {\n \"name\": \"name\",\n \"value\": \"n8n\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": false,\n \"id\": \"85fd2976-0cf4-49dc-9038-4e23043a3f72\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Postgres\",\n \"type\": \"n8n-nodes-base.postgres\",\n \"position\": [\n 460,\n 290\n ],\n \"parameters\": {\n \"query\": \"CREATE TABLE test (id INT, name VARCHAR(255), PRIMARY KEY (id));\",\n \"operation\": \"executeQuery\"\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": true,\n \"id\": \"0695202f-4805-46fd-bc45-cc3109715362\",\n \"notes\": \"This postgres node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Postgres1\",\n \"type\": \"n8n-nodes-base.postgres\",\n \"position\": [\n 860,\n 290\n ],\n \"parameters\": {\n \"table\": \"test\",\n \"columns\": \"id, name\"\n },\n \"credentials\": {\n \"postgres\": \"postgres_docker_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"9f2b3e96-01f7-4fc9-a05f-b270731c79e3\",\n \"notes\": \"This postgres node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-53637849\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-ba...", "input": "", "output": "The node 'Postgres' (type: n8n-nodes-base.postgres) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"postgres\": \"postgres_docker_creds\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Postgres' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"5\",\n \"name\": \"Append, lookup, update, and read data from a Google Sheets spreadsheet\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 450,\n 450\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"dd536ac6-fa16-4bf8-b07c-06fd82aa94c4\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Sheets2\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 1450,\n 450\n ],\n \"parameters\": {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"range\": \"A:D\",\n \"options\": {\n \"valueInputMode\": \"USER_ENTERED\",\n \"valueRenderMode\": \"UNFORMATTED_VALUE\"\n },\n \"sheetId\": \"1remFwo--5ehUgIU7UUndKldPI0Xm93e1T3DldD9GOg0\",\n \"operation\": \"update\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": \"google-sheet\"\n },\n \"typeVersion\": 1,\n \"id\": \"003db6d4-b010-4ee6-9ba2-f146cd61472e\",\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set1\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1250,\n 450\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"Rent\",\n \"value\": \"={{$node[\\\"Google Sheets1\\\"].json[\\\"Rent\\\"]+100}}\"\n },\n {\n \"name\": \"ID\",\n \"value\": \"={{$node[\\\"Google Sheets1\\\"].json[\\\"ID\\\"]}}\"\n }\n ],\n \"string\": [\n {\n \"name\": \"Name\",\n \"value\": \"={{$node[\\\"Google Sheets1\\\"].json[\\\"Name\\\"]}}\"\n },\n {\n \"name\": \"City\",\n \"value\": \"={{$node[\\\"Google Sheets1\\\"].json[\\\"City\\\"]}}\"\n }\n ]\n },\n \"options\": {},\n ...", "input": "", "output": "In node 'Google Sheets3', the parameter 'range' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `A:D`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Google Sheets3' parameter 'range'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"5:\n \"name\": \"Manualtrigger Workflow\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 540,\n 350\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"81bd525e-1bb0-42c6-8751-19e505c677be\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Github\",\n \"type\": \"n8n-nodes-base.github\",\n \"position\": [\n 790,\n 350\n ],\n \"parameters\": {\n \"owner\": \"n8n-io\",\n \"resource\": \"repository\",\n \"operation\": \"getProfile\",\n \"repository\": \"n8n\"\n },\n \"credentials\": {\n \"githubApi\": \"shraddha\"\n },\n \"typeVersion\": 1,\n \"id\": \"368f4b6a-84fb-4bbd-a13b-8579dd2ffabb\",\n \"notes\": \"This github node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-c28d6bb3\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-2907e798\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.639704\",\n \"updatedAt\": \"2025-09-29T07:07:49.639723\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"46c740b3-783c-4bf2-b9de-dd5447c52796\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Sheets\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"range\": \"A:B\",\n \"options\": {},\n \"sheetId\": \"1ijnLMy6htVTX_68e2lsdGYiA5_6ZG72FXUbxAy_DC94\",\n \"operation\": \"append\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": \"Amudhan-GoogleSheets\"\n },\n \"typeVersion\": 1,\n \"id\": \"9d31ee48-b5f6-4f63-80e1-dd7d70618525\",\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"id\"\n }\n ],\n \"string\": [\n {\n \"name\": \"name\",\n \"value\": \"n8n\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": true,\n \"id\": \"cadc1f54-d36c-4236-b636-82558426a7a2\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Sheets1\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 850,\n 300\n ],\n \"parameters\": {\n \"range\": \"A:B\",\n \"options\": {},\n \"sheetId\": \"1ijnLMy6htVTX_68e2lsdGYiA5_6ZG72FXUbxAy_DC94\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": \"Amudhan-Google...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"60\",\n \"name\": \"Create a post and update the post in WordPress\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 570,\n 260\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"7b9644ed-1111-4b4f-bd51-11d4c86dd19d\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Wordpress\",\n \"type\": \"n8n-nodes-base.wordpress\",\n \"position\": [\n 770,\n 260\n ],\n \"parameters\": {\n \"title\": \"created from n8n\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"wordpressApi\": \"wordpress\"\n },\n \"typeVersion\": 1,\n \"id\": \"929be13b-0ded-4e54-8dfa-e7e8b573cdb9\",\n \"notes\": \"This wordpress node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Wordpress1\",\n \"type\": \"n8n-nodes-base.wordpress\",\n \"position\": [\n 970,\n 260\n ],\n \"parameters\": {\n \"postId\": \"={{$node[\\\"Wordpress\\\"].json[\\\"id\\\"]}}\",\n \"operation\": \"update\",\n \"updateFields\": {\n \"content\": \"This post was created using the n8n workflow.\"\n }\n },\n \"credentials\": {\n \"wordpressApi\": \"wordpress\"\n },\n \"typeVersion\": 1,\n \"id\": \"700e12f7-6ae8-4d3f-becc-73fc8f59bf23\",\n \"notes\": \"This wordpress node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-2808f1f7\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {},\n \"_injected_number_field\": \"not_a_number\"\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWor...", "input": "", "output": "The node 'Error Handler' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Error Handler'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"60\",\n \"name\": \"n8n_mysql_purge_history_greater_than_10_days\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"199a3ed7-a9a9-4179-b644-568018c2dc91\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"MySQL\",\n \"type\": \"n8n-nodes-base.mySql\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"query\": \"={{ $node.NonExistentNode.json.data }}\",\n \"operation\": \"executeQuery\"\n },\n \"credentials\": {\n \"mySql\": \"n8n\"\n },\n \"typeVersion\": 1,\n \"id\": \"45b6edb0-422f-41aa-9209-b0a2071bda9f\",\n \"notes\": \"This mySql node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 250,\n 460\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"hour\": 7\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"558f5fca-18d5-44bd-adbc-829fa828d9ad\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-cf33a401\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": true,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Auto...", "input": "", "output": "In node 'MySQL', the parameter 'query' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `DELETE FROM execution_entity \nWHERE DATE(stoppedAt) < DATE_SUB(CURDATE(), INTERVAL 30 DAY)`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'MySQL' parameter 'query'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 50,\n 200\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-f3594ad6\"\n },\n {\n \"name\": \"Dropbox\",\n \"type\": \"n8n-nodes-base.dropbox\",\n \"position\": [\n 250,\n 200\n ],\n \"parameters\": {\n \"path\": \"/n8n\",\n \"resource\": \"folder\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-f46b1aff\"\n },\n {\n \"name\": \"Dropbox1\",\n \"type\": \"n8n-nodes-base.dropbox\",\n \"position\": [\n 650,\n 200\n ],\n \"parameters\": {\n \"path\": \"/n8n/file.png\",\n \"binaryData\": true\n },\n \"credentials\": {\n \"dropboxApi\": \"dropbox_accesstoken\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-a72a6bab\"\n },\n {\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 450,\n 200\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"responseFormat\": \"file\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-6a18e38e\"\n },\n {\n \"name\": \"Dropbox2\",\n \"type\": \"n8n-nodes-base.dropbox\",\n \"position\": [\n 850,\n 200\n ],\n \"parameters\": {\n \"path\": \"/n8n\",\n \"resource\": \"folder\",\n \"operation\": \"list\"\n },\n \"credentials\": {\n \"dropboxApi\": \"dropbox_accesstoken\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-f173f16a\"\n },\n {\n \"id\": \"error-90090500\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Production Workflow\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPo...", "input": "", "output": "The node 'Dropbox' (type: n8n-nodes-base.dropbox) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"dropboxApi\": \"dropbox_accesstoken\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Dropbox' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 20,\n 180\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-5c97b9e8\"\n },\n {\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 420,\n 180\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"responseFormat\": \"file\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-6a19e34e\"\n },\n {\n \"name\": \"NextCloud\",\n \"type\": \"n8n-nodes-base.nextCloud\",\n \"position\": [\n 220,\n 180\n ],\n \"parameters\": {\n \"path\": \"n8n\",\n \"resource\": \"folder\"\n },\n \"credentials\": {\n \"nextCloudApi\": \"nextcloud_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-b06f9be3\"\n },\n {\n \"name\": \"NextCloud1\",\n \"type\": \"n8n-nodes-base.nextCloud\",\n \"position\": [\n 620,\n 180\n ],\n \"parameters\": {\n \"path\": \"n8n/logo.png\",\n \"binaryDataUpload\": true\n },\n \"credentials\": {\n \"nextCloudApi\": \"nextcloud_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-7715dfe4\"\n },\n {\n \"name\": \"NextCloud2\",\n \"type\": \"n8n-nodes-base.nextCloud\",\n \"position\": [\n 820,\n 180\n ],\n \"parameters\": {\n \"path\": \"n8n\",\n \"resource\": \"folder\",\n \"operation\": \"list\"\n },\n \"credentials\": {\n \"nextCloudApi\": \"nextcloud_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-c5838621\"\n },\n {\n \"id\": \"error-1ef579be\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Production Workflow\",\n \"set...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Manualtrigger Workflow:\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 390,\n 220\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"4703b399-9233-458a-817a-646055b43c74\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Unleashed Software\",\n \"type\": \"n8n-nodes-base.unleashedSoftware\",\n \"position\": [\n 600,\n 220\n ],\n \"parameters\": {\n \"filters\": {\n \"orderStatus\": [\n \"Completed\"\n ]\n },\n \"returnAll\": true\n },\n \"credentials\": {\n \"unleashedSoftwareApi\": \"unleashed\"\n },\n \"typeVersion\": 1,\n \"id\": \"66169d59-8672-4487-b17b-1008f7f48144\",\n \"notes\": \"This unleashedSoftware node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-da6ec8fc\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-aa2e1128\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.648209\",\n \"updatedAt\": \"2025-09-29T07:07:49.648253\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\"...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"64\",\n \"name\": \"Upload a file and get a list of all the files in a bucket\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 390,\n 220\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-52c54e0d\"\n },\n {\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 590,\n 220\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"responseFormat\": \"file\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-f596c7fa\"\n },\n {\n \"name\": \"S3\",\n \"type\": \"n8n-nodes-base.s3\",\n \"position\": [\n 790,\n 220\n ],\n \"parameters\": {\n \"fileName\": \"={{$node[\\\"HTTP Request\\\"].binary.data.fileName}}\",\n \"operation\": \"upload\",\n \"bucketName\": \"n8n\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"s3\": \"s3-n8n\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-3eef3d31\"\n },\n {\n \"name\": \"S\",\n \"type\": \"n8n-nodes-base.s3\",\n \"position\": [\n 990,\n 220\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"getAll\",\n \"returnAll\": true,\n \"bucketName\": \"n8n\"\n },\n \"credentials\": {\n \"s3\": \"s3-n8n\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-c9af8cf5\"\n },\n {\n \"id\": \"error-52021371\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryO...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Store the data received from the CocktailDB API in JSON\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-67dcda59\"\n },\n {\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 400,\n 300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"_injected_number_field\": \"not_a_number\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-db49aa27\"\n },\n {\n \"name\": \"Move Binary Data\",\n \"type\": \"n8n-nodes-base.moveBinaryData\",\n \"position\": [\n 550,\n 300\n ],\n \"parameters\": {\n \"mode\": \"jsonToBinary\",\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"node-3826da7a\"\n },\n {\n \"name\": \"Write Binary File\",\n \"type\": \"n8n-nodes-base.writeBinaryFile\",\n \"position\": [\n 700,\n 300\n ],\n \"parameters\": {\n \"fileName\": \"cocktail.json\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-1468bba8\"\n },\n {\n \"id\": \"error-6ea82079\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3\n },\n \"connections\": {},\n \"meta\": {\n \"instanceId\": \"workflow-c0440313\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.646843\",\n \"updatedAt\": \"2025-09-29T07:07:49.646851\",\n \"ow...", "input": "", "output": "The node 'HTTP Request' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'HTTP Request'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-09ade03b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.661135\",\n \"updatedAt\": \"2025-09-29T07:07:49.661146\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f7f8068b-52c9-4038-bd67-9ee50136e4fd\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"860e5e46-a04d-41cb-b91a-c9f02603bcdf\",\n \"name\": \"Sample data (name + language)\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 600,\n 160\n ],\n \"parameters\": {\n \"jsCode\": \"return [\\n {\\n json: {\\n name: 'Stefan',\\n language: 'de',\\n }\\n },\\n {\\n json: {\\n name: 'Jim',\\n language: 'en',\\n }\\n },\\n {\\n json: {\\n name: 'Hans',\\n language: 'de',\\n }\\n }\\n];\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5c6a867b-fd8a-49b7-ac35-ff84ed6d89f7\",\n \"name\": \"Sample data (greeting + language)\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 600,\n 320\n ],\n \"parameters\": {\n \"jsCode\": \"return [\\n\\t {\\n json: {\\n greeting: 'Hello',\\n language: 'en',\\n }\\n },\\n {\\n json: {\\n greeting: 'Hallo',\\n language: 'de',\\n }\\n }\\n];\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"08fca489-8f4c-4327-9919-922bd1be1cd5\",\n \"name\": \"Merge (name + language + greeting)\",\n \"type\": \"n8n-nodes-base.merge\",\n \"...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 350\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-f077ce67\"\n },\n {\n \"name\": \"FTP\",\n \"type\": \"n8n-nodes-base.ftp\",\n \"position\": [\n 650,\n 350\n ],\n \"parameters\": {\n \"path\": \"/upload/n8n_logo.png\",\n \"operation\": \"upload\"\n },\n \"credentials\": {\n \"ftp\": \"ftp_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-ccc15b17\"\n },\n {\n \"name\": \"FTP1\",\n \"type\": \"n8n-nodes-base.ftp\",\n \"position\": [\n 850,\n 350\n ],\n \"parameters\": {\n \"path\": \"/upload/\",\n \"operation\": \"list\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-3384506e\"\n },\n {\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 450,\n 350\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"responseFormat\": \"file\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-68428cc9\"\n },\n {\n \"id\": \"error-91516a3c\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Production Workflow\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3\n },\n \"meta\": {\n \"instanceId\": \"workflow-af0e3b32\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.661627\",\n \"updatedAt\": \"2025-09-29T07:07:49.661635\",\n \"owner\": \"n8n-user\",\n \"li...", "input": "", "output": "The node 'FTP1' (type: n8n-nodes-base.ftp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"ftp\": \"ftp_creds\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'FTP1' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 420,\n 260\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"7d722d43-7ed2-44dd-9c0a-e85558da9fef\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Salesforce\",\n \"type\": \"n8n-nodes-base.salesforce\",\n \"position\": [\n 620,\n 260\n ],\n \"parameters\": {\n \"company\": \"CompanyInc\",\n \"lastname\": \"DudeOne\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"salesforceOAuth2Api\": \"salesforce_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"341ed8e4-00fe-412c-ab1b-7cec45980a29\",\n \"notes\": \"This salesforce node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Salesforce1\",\n \"type\": \"n8n-nodes-base.salesforce\",\n \"position\": [\n 810,\n 260\n ],\n \"parameters\": {\n \"leadId\": \"={{$node[\\\"Salesforce\\\"].json[\\\"id\\\"]}}\",\n \"operation\": \"update\",\n \"updateFields\": {\n \"city\": \"Berlin\"\n }\n },\n \"credentials\": {\n \"salesforceOAuth2Api\": \"salesforce_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"71afc216-a9b3-41d6-b054-5e9295e4171d\",\n \"notes\": \"This salesforce node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Salesforce2\",\n \"type\": \"n8n-nodes-base.salesforce\",\n \"position\": [\n 1020,\n 260\n ],\n \"parameters\": {\n \"title\": \"Deal Won!\",\n \"leadId\": \"={{$node[\\\"Salesforce\\\"].json[\\\"id\\\"]}}\",\n \"options\": {},\n \"operation\": \"addNote\"\n },\n \"credentials\": {\n \"salesforceOAuth2Api\": \"salesforce_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"9f08393c-e1b1-49fe-9d98-47402ebf27f2\",\n \"notes\": \"This salesforce node performs automated tasks as part of the workflow.\"\n },...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-ad24ae5f\"\n },\n {\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 440,\n 300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"responseFormat\": \"file\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-53c4bf38\"\n },\n {\n \"name\": \"LinkedIn\",\n \"type\": \"n8n-nodes-base.linkedIn\",\n \"position\": [\n 640,\n 300\n ],\n \"parameters\": {\n \"text\": \"this is a test image post\",\n \"person\": \"gZG0JALzuy\",\n \"postAs\": \"person\",\n \"additionalFields\": {},\n \"shareMediaCategory\": \"IMAGE\"\n },\n \"credentials\": {\n \"linkedInOAuth2Api\": \"linkedin_demo\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-1621ea20\"\n },\n {\n \"id\": \"error-e21b894a\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Production Workflow\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3\n },\n \"meta\": {\n \"instanceId\": \"workflow-78934ad7\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.668751\",\n \"updatedAt\": \"2025-09-29T07:07:49.668769\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 0,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"e396e64d-ff59-4542-9069-20088e99bd72\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Function\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 200,\n 300\n ],\n \"parameters\": {\n \"functionCode\": \"return [\\n {\\n json: {\\n id: 0,\\n }\\n },\\n {\\n json: {\\n id: 1,\\n }\\n },\\n {\\n json: {\\n id: 2,\\n }\\n }\\n];\\n\"\n },\n \"typeVersion\": 1,\n \"id\": \"316c761f-2449-4b7c-b2e7-4741e459fce7\",\n \"notes\": \"This function node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 600,\n 90\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"name\",\n \"value\": \"n8n\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"1b2e3a63-ce82-42a8-834b-6ae2ef4ebf70\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set1\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 600,\n 230\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"name\",\n \"value\": \"nodemation\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"45cb4f75-4e19-4af7-9008-3184ab066642\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Switch\",\n \"type\": \"n8n-nodes-base.switch\",\n \"position\": [\n 400,\n 300\n ],\n \"parameters\": {\n \"rules\": {...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute':\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"37aa39fe-f590-427d-b3cc-c2ae34136528\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Get Local Datetime\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"functionCode\": \"const moment = require('moment');\\n\\nlet date = moment().tz($env['GENERIC_TIMEZONE']);\\n\\nlet year = date.year();\\nlet month = date.month(); // zero-indexed!\\nlet day = date.date();\\nlet hour = date.hours();\\nlet minute = date.minutes();\\nlet second = date.seconds();\\nlet millisecond = date.millisecond();\\nlet formatted = date.format('YYYY-MM-DD HH:mm:ss.SSS Z');\\n\\nreturn [\\n {\\n json: {\\n utc: date,\\n year: year,\\n month: month, // zero-indexed!\\n day: day,\\n hour: hour,\\n minute: minute,\\n second: second,\\n millisecond: millisecond,\\n formatted: formatted\\n }\\n }\\n];\\n\"\n },\n \"typeVersion\": 1,\n \"id\": \"f2f3b367-e2ae-4538-96c9-18a050b3726e\",\n \"notes\": \"This function node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-e5294908\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": ...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"69\",\n \"name\": \"Create, update, and get an issue on Taiga\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 430,\n 260\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"56a5fd20-c264-4398-bd4d-14a6e9e7725b\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Taiga\",\n \"type\": \"n8n-nodes-base.taiga\",\n \"position\": [\n 630,\n 260\n ],\n \"parameters\": {\n \"subject\": \"n8n-docs\",\n \"projectId\": 385605,\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"taigaCloudApi\": \"taiga\"\n },\n \"typeVersion\": 1,\n \"id\": \"c711ef55-f922-4fa3-9f6e-8f312e14a3d2\",\n \"notes\": \"This taiga node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Taiga1\",\n \"type\": \"n8n-nodes-base.taiga\",\n \"position\": [\n 830,\n 260\n ],\n \"parameters\": {\n \"issueId\": \"={{$node[\\\"Taiga\\\"].json[\\\"id\\\"]}}\",\n \"operation\": \"update\",\n \"projectId\": \"={{$node[\\\"Taiga\\\"].json[\\\"project\\\"]}}\",\n \"updateFields\": {\n \"description\": \"This ticket is for the documentation for the Taiga node\"\n }\n },\n \"credentials\": {\n \"taigaCloudApi\": \"taiga\"\n },\n \"typeVersion\": 1,\n \"id\": \"27d897d3-93bf-4c72-8d1a-13815cbbbbb8\",\n \"notes\": \"This taiga node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Taiga2\",\n \"type\": \"n8n-nodes-base.taiga\",\n \"position\": [\n 1030,\n 260\n ],\n \"parameters\": {\n \"issueId\": \"={{$node[\\\"Taiga\\\"].json[\\\"id\\\"]}}\",\n \"operation\": \"get\"\n },\n \"credentials\": {\n \"taigaCloudApi\": \"taiga\"\n },\n \"typeVersion\": 1,\n \"id\": \"65fee518-64c7-466d-8eb3-74a483e70f6b\",\n \"notes\": \"This taiga node performs automated tasks as part ...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Manualtrigger Workflow\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 450,\n 450\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"228b7813-3598-4900-853c-49454ae9608f\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Wekan\",\n \"type\": \"n8n-nodes-base.wekan\",\n \"position\": [\n 650,\n 450\n ],\n \"parameters\": {\n \"owner\": \"c4nzTEvSwGPBxKTCc\",\n \"title\": \"Documentation\",\n \"resource\": \"board\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"wekanApi\": \"wekan-trial\"\n },\n \"typeVersion\": 1,\n \"id\": \"236d2645-5379-4d44-9800-892ffe24228c\",\n \"notes\": \"This wekan node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Wekan1\",\n \"type\": \"n8n-nodes-base.wekan\",\n \"position\": [\n 850,\n 450\n ],\n \"parameters\": {\n \"title\": \"To Do\",\n \"boardId\": \"={{$node[\\\"Wekan\\\"].json[\\\"_id\\\"]}}\",\n \"resource\": \"list\"\n },\n \"credentials\": {\n \"wekanApi\": \"wekan-trial\"\n },\n \"typeVersion\": 1,\n \"id\": \"90418dda-2d12-4ce6-ae46-696caf51f74a\",\n \"notes\": \"This wekan node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Wekan2\",\n \"type\": \"n8n-nodes-base.wekan\",\n \"position\": [\n 1050,\n 450\n ],\n \"parameters\": {\n \"title\": \"Done\",\n \"boardId\": \"={{$node[\\\"Wekan\\\"].json[\\\"_id\\\"]}}\",\n \"resource\": \"list\"\n },\n \"credentials\": {\n \"wekanApi\": \"wekan-trial\"\n },\n \"typeVersion\": 1,\n \"id\": \"a671c5f1-7411-457d-9582-22422acddf10\",\n \"notes\": \"This wekan node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Wekan3\",\n \"type\": \"n8n-nodes-base.wekan\",\n \"position\": [\n 12...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"7604ck94MeYXMHpN\",\n \"meta\": {\n \"instanceId\": \"workflow-31ff5377\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.686459\",\n \"updatedAt\": \"2025-09-29T07:07:49.686472\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Read RSS feed from two different sources\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"fa8717e5-092a-4359-89cc-57cc8fa2bf25\",\n \"name\": \"RSS Feed Read\",\n \"type\": \"n8n-nodes-base.rssFeedRead\",\n \"position\": [\n 1080,\n 180\n ],\n \"parameters\": {\n \"url\": \"={{ $items[999].json.value }}\",\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This rssFeedRead node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"62ce6cf3-fb83-4013-b288-40d179f35f99\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 520,\n 100\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"81496a04-b986-4e13-b884-23562f953a37\",\n \"name\": \"Code\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 700,\n 100\n ],\n \"parameters\": {\n \"jsCode\": \"return [\\n {\\n json: {\\n url: '{{ $env.WEBHOOK_URL }}',\\n }\\n },\\n {\\n json: {\\n url: '{{ $env.WEBHOOK_URL }}',\\n }\\n }\\n];\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6e3a444f-fec3-4a7f-a063-d5b152c5f43a\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 880,\n 100\n ],\n \"parameters\": {\n ...", "input": "", "output": "In node 'RSS Feed Read', the parameter 'url' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `{{ $env.BASE_URL }}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'RSS Feed Read' parameter 'url'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"76\",\n \"name\": \"Create a project, tag, and time entry, and update the time entry in Clockify\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"f9bfe11c-b110-4937-b48a-cce408c64fe6\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Clockify\",\n \"type\": \"n8n-nodes-base.clockify\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"name\": \"n8n-docs\",\n \"workspaceId\": \"5f7af249d33ce12a712306dd\",\n \"additionalFields\": {\n \"note\": \"For n8n-docs\",\n \"color\": \"#0000FF\",\n \"isPublic\": false\n }\n },\n \"credentials\": {\n \"clockifyApi\": \"clockify-burner\"\n },\n \"typeVersion\": 1,\n \"id\": \"c2caa017-f2ff-40f8-8e9d-a7a60b38f6f5\",\n \"notes\": \"This clockify node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Clockify1\",\n \"type\": \"n8n-nodes-base.clockify\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"name\": \"docs\",\n \"resource\": \"tag\",\n \"workspaceId\": \"5f7af249d33ce12a712306dd\"\n },\n \"credentials\": {\n \"clockifyApi\": \"clockify-burner\"\n },\n \"typeVersion\": 1,\n \"id\": \"91500f35-0690-4ef3-8fc8-669009671a96\",\n \"notes\": \"This clockify node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Clockify2\",\n \"type\": \"n8n-nodes-base.clockify\",\n \"position\": [\n 850,\n 300\n ],\n \"parameters\": {\n \"start\": \"2020-10-05T08:30:00.000Z\",\n \"resource\": \"timeEntry\",\n \"workspaceId\": \"5f7af249d33ce12a712306dd\",\n \"additionalFields\": {\n \"end\": \"2020-10-05T09:30:00.000Z\",\n \"tagIds\": [\n \"5f7afbfc73610f56b88ee9ef\"\n ]...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"7\",\n \"name\": \"Manualtrigger Workflow\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 440,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"933e5aaf-31aa-43f7-8785-04cd39638862\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Hubspot\",\n \"type\": \"n8n-nodes-base.hubspot\",\n \"position\": [\n 750,\n 320\n ],\n \"parameters\": {\n \"resource\": \"contact\",\n \"operation\": \"getAll\",\n \"returnAll\": true,\n \"additionalFields\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"ca267e44-7161-46cd-a6f6-4ca5920be4e9\",\n \"notes\": \"This hubspot node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-30cbf0c6\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-f37fadab\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.695220\",\n \"updatedAt\": \"2025-09-29T07:07:49.695229\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"p...", "input": "", "output": "The node 'Hubspot' (type: n8n-nodes-base.hubspot) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"hubspotApi\": \"scsc\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Hubspot' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"7\",\n \"name\": \"Publish post to a publication\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 600,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"6c0abc94-b172-4314-9be7-e31e07b17d5c\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Medium\",\n \"type\": \"n8n-nodes-base.medium\",\n \"position\": [\n 800,\n 300\n ],\n \"parameters\": {\n \"title\": \"\",\n \"content\": \"\",\n \"publication\": true,\n \"contentFormat\": \"\",\n \"publicationId\": \"\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"mediumApi\": \"medium\"\n },\n \"typeVersion\": 1,\n \"id\": \"3ab286a3-383f-4a48-86d4-c2594509c67c\",\n \"notes\": \"This medium node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-650aa6c6\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {},\n \"_injected_number_field\": \"not_a_number\"\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Publish post to a publication. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-923ee010\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.696534\",\n \"updatedAt\": \"2025-09-29T07:07:49.696540\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT...", "input": "", "output": "The node 'Error Handler' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Error Handler'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"82\",\n \"name\": \"Create a new list, add a new contact to the list, update the contact, and get all contacts in the...\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 290,\n 260\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"ea0b03e4-e930-4bb3-8fef-b3352a2cf1a4\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Automizy\",\n \"type\": \"n8n-nodes-base.automizy\",\n \"position\": [\n 490,\n 260\n ],\n \"parameters\": {\n \"name\": \"n8n-docs\",\n \"resource\": \"list\"\n },\n \"credentials\": {\n \"automizyApi\": \"automizy\"\n },\n \"typeVersion\": 1,\n \"id\": \"4461826b-00d1-4741-afd0-4a69bd823065\",\n \"notes\": \"This automizy node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Automizy1\",\n \"type\": \"n8n-nodes-base.automizy\",\n \"position\": [\n 690,\n 260\n ],\n \"parameters\": {\n \"email\": \"example@n8n.io\",\n \"listId\": \"={{$node[\\\"Automizy\\\"].json[\\\"id\\\"]}}\",\n \"additionalFields\": {\n \"status\": \"ACTIVE\"\n }\n },\n \"credentials\": {\n \"automizyApi\": \"automizy\"\n },\n \"typeVersion\": 1,\n \"id\": \"7aa7a572-945a-4a2d-b89c-dd5b09a8e3a8\",\n \"notes\": \"This automizy node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Automizy2\",\n \"type\": \"n8n-nodes-base.automizy\",\n \"position\": [\n 890,\n 260\n ],\n \"parameters\": {\n \"email\": \"={{$node[\\\"Automizy1\\\"].json[\\\"email\\\"]}}\",\n \"operation\": \"update\",\n \"updateFields\": {\n \"tags\": [\n \"reviewer\"\n ]\n }\n },\n \"credentials\": {\n \"automizyApi\": \"automizy\"\n },\n \"typeVersion\": 1,\n \"id\": \"d8a19ed0-43ef-41da-8da0-292dcc1ee07a\",\n \"notes\": \"This aut...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"83\",\n \"name\": \"Create a room, invite members from a different room, and send a message in the room we created\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 240,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"ffc8126c-a1ce-4206-9dee-59d65f759390\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Matrix\",\n \"type\": \"n8n-nodes-base.matrix\",\n \"position\": [\n 400,\n 300\n ],\n \"parameters\": {\n \"resource\": \"room\",\n \"roomName\": \"n8n\",\n \"roomAlias\": \"discussion-n8n\"\n },\n \"credentials\": {\n \"matrixApi\": \"matrix\"\n },\n \"typeVersion\": 1,\n \"id\": \"15e8718e-f0d7-4450-bc78-f52d68844ba3\",\n \"notes\": \"This matrix node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 840,\n 300\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$node[\\\"Matrix1\\\"].json[\\\"user_id\\\"]}}\",\n \"value2\": \"={{$node[\\\"Matrix2\\\"].json[\\\"user_id\\\"]}}\",\n \"operation\": \"notEqual\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"77d16cb9-f8a8-4822-a1d9-5946611ad70a\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Matrix3\",\n \"type\": \"n8n-nodes-base.matrix\",\n \"position\": [\n 990,\n 200\n ],\n \"parameters\": {\n \"roomId\": \"={{$node[\\\"Matrix\\\"].json[\\\"room_id\\\"]}}\",\n \"userId\": \"={{$node[\\\"IF\\\"].json[\\\"user_id\\\"]}}\",\n \"resource\": \"room\",\n \"operation\": \"invite\"\n },\n \"credentials\": {\n \"matrixApi\": \"matrix\"\n },\n \"typeVersion\": 1,\n \"id\": \"85bf2439-7f8d-49c7-81ae-90...", "input": "", "output": "The node 'Matrix4' (type: n8n-nodes-base.matrix) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"matrixApi\": \"matrix\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Matrix4' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"83\",\n \"name\": \"Creating a meeting with the Zoom node\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"9b3f06d2-59c2-4c5d-8f25-242fdf266e31\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Zoom\",\n \"type\": \"n8n-nodes-base.zoom\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"topic\": \"Something\",\n \"authentication\": \"{{ $credentials. }}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"zoomOAuth2Api\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"3488ec3a-9d2a-4315-9d4e-9923a3fcf6e1\",\n \"notes\": \"This zoom node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-e048e880\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {},\n \"_injected_number_field\": \"not_a_number\"\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Creating a meeting with the Zoom node. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-e42b84bd\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.706670\",\n \"updatedAt\": \"2025-09-29T07:07:49.706699\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"statu...", "input": "", "output": "The node 'Error Handler' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Error Handler'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"84\",\n \"name\": \"Get a pipeline in CircleCI\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"856a9f66-316a-43a4-9d8c-f64950ce8702\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"CircleCI\",\n \"type\": \"n8n-nodes-base.circleCi\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"vcs\": \"\",\n \"projectSlug\": \"\"\n },\n \"credentials\": {\n \"circleCiApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"b00c1434-3cc8-4e77-a731-8184b70a8237\",\n \"notes\": \"This circleCi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-67929574\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"={{ $items[999].json.value }}\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Get a pipeline in CircleCI. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-ba8d317f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.713234\",\n \"updatedAt\": \"2025-09-29T07:07:49.713245\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"p...", "input": "", "output": "In node 'Error Handler', the parameter 'message' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `Workflow execution error`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Error Handler' parameter 'message'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"85\",\n \"name\": \"Sending an SMS with MessageBird\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"8832742f-bb2e-4247-babc-e1fef154d330\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"MessageBird\",\n \"type\": \"n8n-nodes-base.messageBird\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"message\": \"\",\n \"originator\": \"\",\n \"recipients\": \"={{ $items[999].json.value }}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"messageBirdApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"3816b3ec-8419-450d-8404-77b700ecd835\",\n \"notes\": \"This messageBird node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-9af517f1\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Sending an SMS with MessageBird. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-3d1541b1\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.719744\",\n \"updatedAt\": \"2025-09-29T07:07:49.719759\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n ...", "input": "", "output": "In node 'MessageBird', the parameter 'recipients' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: ``\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'MessageBird' parameter 'recipients'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"87\"\n \"name\": \"Create a new issue in Jira\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 350,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"461db607-c45a-46fb-9ae5-d663dfe339a8\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Jira\",\n \"type\": \"n8n-nodes-base.jira\",\n \"position\": [\n 550,\n 300\n ],\n \"parameters\": {\n \"project\": \"\",\n \"summary\": \"Firewall on fire\",\n \"issueType\": \"10001\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"jiraSoftwareCloudApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"61010d47-e810-4182-b1da-6b7c28125ab3\",\n \"notes\": \"This jira node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-f183c4af\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Create a new issue in Jira. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-d165de1a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.713981\",\n \"updatedAt\": \"2025-09-29T07:07:49.713991\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environmen...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"88\",\n \"name\": \"Get the current weather data for a city\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"078c487e-b456-4bd4-b62c-6628fc52d0ed\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"OpenWeatherMap\",\n \"type\": \"n8n-nodes-base.openWeatherMap\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"cityName\": \"={{ $env.UNDEFINED_ENV_VAR }}\"\n },\n \"credentials\": {\n \"openWeatherMapApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"84eb183e-2bf6-477d-86df-69b78ec5d27e\",\n \"notes\": \"This openWeatherMap node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-65463e44\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Get the current weather data for a city. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-c91a06d7\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.726285\",\n \"updatedAt\": \"2025-09-29T07:07:49.726301\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n...", "input": "", "output": "In node 'OpenWeatherMap', the parameter 'cityName' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `berlin,de`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'OpenWeatherMap' parameter 'cityName'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"302cc04d-5d9e-42d5-8225-d9894cce7c25\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Spreadsheet File\",\n \"type\": \"n8n-nodes-base.spreadsheetFile\",\n \"position\": [\n 650,\n 320\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"59d01572-3de1-406e-8ad9-a857d0285897\",\n \"notes\": \"This spreadsheetFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Read Binary File\",\n \"type\": \"n8n-nodes-base.readBinaryFile\",\n \"position\": [\n 450,\n 320\n ],\n \"parameters\": {\n \"filePath\": \"/data/sample_spreadsheet.csv\"\n },\n \"typeVersion\": 1,\n \"id\": \"83ab8f9e-74b6-4e10-99dd-a45d0b43b867\",\n \"notes\": \"This readBinaryFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-94f6088c\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {},\n \"_injected_number_field\": \"not_a_number\"\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Manualtrigger Workflow\",\n \"description\": \"Automated workflow: Manualtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workfl...", "input": "", "output": "The node 'Error Handler' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Error Handler'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"89\",\n \"name\": \"Create a new card in Trello\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"afbfe341-e4b8-457d-9709-88c41812a5e6\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Trello\",\n \"type\": \"n8n-nodes-base.trello\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"name\": \"={{ $env.UNDEFINED_ENV_VAR }}\",\n \"listId\": \"\",\n \"description\": \"Here are some details\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"trelloApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"6dae9e39-4b9c-41c8-bcb7-89c3e337094c\",\n \"notes\": \"This trello node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-e98236bb\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Create a new card in Trello. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-6650ef02\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.728834\",\n \"updatedAt\": \"2025-09-29T07:07:49.728846\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\"...", "input": "", "output": "In node 'Trello', the parameter 'name' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `Hello`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Trello' parameter 'name'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"8\",\n \"name\": \"Sample Spotify\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 500,\n 310\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"26b84b9c-26c9-4096-9e40-76e221ce211b\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Spotify\",\n \"type\": \"n8n-nodes-base.spotify\",\n \"position\": [\n 780,\n 310\n ],\n \"parameters\": {\n \"id\": \"spotify:track:6SPOM20nWbQSBvTwzgIzqg\"\n },\n \"credentials\": {\n \"spotifyOAuth2Api\": \"spotifyOAuth2\"\n },\n \"typeVersion\": 1,\n \"id\": \"661eaa8b-70ff-41aa-811e-fd8cf659272b\",\n \"notes\": \"This spotify node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-2f5d8b8d\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"={{ $node.NonExistentNode.json.data }}\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Sample Spotify. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-31e3ff08\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.715165\",\n \"updatedAt\": \"2025-09-29T07:07:49.715201\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",...", "input": "", "output": "In node 'Error Handler', the parameter 'message' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `Workflow execution error`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Error Handler' parameter 'message'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"8jdT4wXjV5NljqKa\",\n \"meta\": {\n \"instanceId\": \"workflow-ebd586b1\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.720664\",\n \"updatedAt\": \"2025-09-29T07:07:49.720679\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Enhance Chat Responses with Real-Time Search Data via Bright Data & Gemini AI\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"7294b048-5804-4620-a53e-52df293c3df1\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -460,\n 160\n ],\n \"webhookId\": \"3ad383ee-ded9-4a46-9165-9af0bad6c450\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8ff09a26-ffa4-451d-9452-35b8f2936cab\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -140,\n 60\n ],\n \"parameters\": {\n \"options\": {\n \"systemMessage\": \"You are a helpful assistant.\\n\\nUse MCP Search Engine assistant tools for Bright Data for Google, Bing or Yandex Search. \\n\\nImportant: Return the response to Chat and also perform the webhook notification of responses.\\n\\nUse the relevant tool in the order of execution. \"\n }\n },\n \"typeVersion\": 1.8,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"92352366-7fe5-407d-aa34-96ac19b13284\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -240,\n 280\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.0-flash-exp\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n ...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"90\",\n \"name\": \"Post a message to a channel in RocketChat\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"2fc8824a-13b3-483b-b948-efbcfc6f3d75\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Rocketchat\",\n \"type\": \"n8n-nodes-base.rocketchat\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"text\": \"Hello everyone\",\n \"channel\": \"#general\",\n \"options\": {},\n \"attachments\": []\n },\n \"credentials\": {\n \"rocketchatApi\": \"Rocket\"\n },\n \"typeVersion\": 1,\n \"id\": \"7cf49026-1a8e-4643-8382-8ff3e9ed371a\",\n \"notes\": \"This rocketchat node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-4e420b44\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Post a message to a channel in RocketChat. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-c8294e67\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.739318\",\n \"updatedAt\": \"2025-09-29T07:07:49.739342\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"91\",\n \"name\": \"Create a new user in Intercom\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 600,\n 250\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"240f4415-0b0b-40ea-9106-d2849098700d\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Intercom\",\n \"type\": \"n8n-nodes-base.intercom\",\n \"position\": [\n 800,\n 250\n ],\n \"parameters\": {\n \"idValue\": \"\",\n \"identifierType\": \"email\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"intercomApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"eb0b711f-2d07-4e51-87c1-43459fdc8f20\",\n \"notes\": \"This intercom node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-d6af7c00\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Create a new user in Intercom. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-48b91a54\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.740560\",\n \"updatedAt\": \"2025-09-29T07:07:49.740574\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"3421ab6b-f2bf-4148-af10-49622b5cbc0b\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"SecurityScorecard\",\n \"type\": \"n8n-nodes-base.securityScorecard\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"report\": \"full-scorecard-json\",\n \"resource\": \"report\",\n \"operation\": \"generate\",\n \"scorecardIdentifier\": \"n8n.io\"\n },\n \"credentials\": {\n \"securityScorecardApi\": \"SecurityScorecard Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"2abd81cf-0066-4934-9650-fd4f92fc7c2e\",\n \"notes\": \"This securityScorecard node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"SecurityScorecard1\",\n \"type\": \"n8n-nodes-base.securityScorecard\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"limit\": 1,\n \"resource\": \"report\"\n },\n \"credentials\": {\n \"securityScorecardApi\": \"SecurityScorecard Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"f0463fcb-3ff1-4041-ac24-7bb376c7dd2f\",\n \"notes\": \"This securityScorecard node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"SecurityScorecard2\",\n \"type\": \"n8n-nodes-base.securityScorecard\",\n \"position\": [\n 850,\n 300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"resource\": \"report\",\n \"operation\": \"download\"\n },\n \"credentials\": {\n \"securityScorecardApi\": \"SecurityScorecard Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"9e2c7897-4705-40bf-8664-1f61a3b8b557\",\n \"notes\": \"This securityScorecard node performs automated tasks as part of the workflow.\"\n ...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\"\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 270,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"7e6c1421-b8bb-46f9-909d-448e13e8b992\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Reddit\",\n \"type\": \"n8n-nodes-base.reddit\",\n \"position\": [\n 470,\n 340\n ],\n \"parameters\": {\n \"text\": \"This post was created using the Reddit node in n8n\",\n \"title\": \"Created from n8n\",\n \"subreddit\": \"n8n\"\n },\n \"credentials\": {\n \"redditOAuth2Api\": \"Reddit OAuth Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"04f92192-c168-4a48-b5ff-b928981daf29\",\n \"notes\": \"This reddit node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Reddit1\",\n \"type\": \"n8n-nodes-base.reddit\",\n \"position\": [\n 670,\n 340\n ],\n \"parameters\": {\n \"postId\": \"={{$json[\\\"id\\\"]}}\",\n \"operation\": \"get\",\n \"subreddit\": \"={{$node[\\\"Reddit\\\"].parameter[\\\"subreddit\\\"]}}\"\n },\n \"credentials\": {\n \"redditOAuth2Api\": \"Reddit OAuth Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"bcb0cee6-fe70-4d6a-9338-3199508d5be8\",\n \"notes\": \"This reddit node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Reddit2\",\n \"type\": \"n8n-nodes-base.reddit\",\n \"position\": [\n 870,\n 340\n ],\n \"parameters\": {\n \"postId\": \"={{$json[\\\"id\\\"]}}\",\n \"resource\": \"postComment\",\n \"commentText\": \"This comment was added from n8n!\"\n },\n \"credentials\": {\n \"redditOAuth2Api\": \"Reddit OAuth Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"66025997-37f0-4146-9d8d-1aea5e789ef4\",\n \"notes\": \"This reddit node performs automated tasks as part of the workflow.\"\n },\n {\n \"i...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"92\",\n \"name\": \"Sending an SMS using sms77\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"5787303b-bd98-4770-9fad-532d68a61f3b\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Sms77\",\n \"type\": \"n8n-nodes-base.sms77\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"message\": \"Hello from n8n!\"\n },\n \"credentials\": {\n \"sms77Api\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"083bae31-803b-418f-a417-6c8980d214d7\",\n \"notes\": \"This sms77 node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-b130392f\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Sending an SMS using sms77. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-a5a95251\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.750626\",\n \"updatedAt\": \"2025-09-29T07:07:49.750644\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"ex...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"92\",\n \"name\": \"Translate text from English to German\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 270,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"3edc3c3a-82bb-4753-b253-1c9e683f42ea\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Translate\",\n \"type\": \"n8n-nodes-base.googleTranslate\",\n \"position\": [\n 470,\n 300\n ],\n \"parameters\": {\n \"text\": \"Hello from n8n!\",\n \"translateTo\": \"de\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"googleTranslateOAuth2Api\": \"google-translate\"\n },\n \"typeVersion\": 1,\n \"id\": \"1c99224a-ffd3-4fdf-bc50-9463aed3bb9a\",\n \"notes\": \"This googleTranslate node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-bae6c963\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {},\n \"_injected_number_field\": \"not_a_number\"\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Translate text from English to German. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-50b9d965\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.761960\",\n \"updatedAt\": \"2025-09-29T07:07:49.761972\",\n \"owner\": \"n8n-...", "input": "", "output": "The node 'Error Handler' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Error Handler'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 310,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"d168d22c-1e83-43d6-ba9d-1c3bc5dd65f2\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Peekalink\",\n \"type\": \"n8n-nodes-base.peekalink\",\n \"position\": [\n 510,\n 300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"operation\": \"isAvailable\"\n },\n \"credentials\": {\n \"peekalinkApi\": \"Peekalink API Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"db336ca0-935f-43c9-9672-55dec0e6d599\",\n \"notes\": \"This peekalink node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 710,\n 300\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [],\n \"boolean\": [\n {\n \"value1\": \"={{$json[\\\"isAvailable\\\"]}}\",\n \"value2\": true\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"93bcb45a-351e-4411-a14b-4f4d570f9249\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Peekalink1\",\n \"type\": \"n8n-nodes-base.peekalink\",\n \"position\": [\n 910,\n 200\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"peekalinkApi\": \"Peekalink API Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"e2408fac-857d-48ff-92fe-de328ad813b5\",\n \"notes\": \"This peekalink node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"NoOp\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 910,\n 400\n ],\n \"param...", "input": "", "output": "The node 'Peekalink1' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Peekalink1'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Tapfiliate2\",\n \"type\": \"n8n-nodes-base.tapfiliate\",\n \"position\": [\n 870,\n 300\n ],\n \"parameters\": {\n \"resource\": \"programAffiliate\",\n \"programId\": \"testing-program-5\",\n \"affiliateId\": \"={{$node[\\\"Tapfiliate\\\"].json[\\\"id\\\"]}}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"tapfiliateApi\": \"Tapfiliate API credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"65153081-86e0-4873-a535-025bbf44602b\",\n \"notes\": \"This tapfiliate node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Tapfiliate1\",\n \"type\": \"n8n-nodes-base.tapfiliate\",\n \"position\": [\n 670,\n 300\n ],\n \"parameters\": {\n \"resource\": \"affiliateMetadata\",\n \"metadataUi\": {\n \"metadataValues\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"value\": \"n8n\"\n }\n ]\n },\n \"affiliateId\": \"={{$json[\\\"id\\\"]}}\"\n },\n \"credentials\": {\n \"tapfiliateApi\": \"Tapfiliate API credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"2aa3fd76-2d58-4a6b-9e0c-7fd7f5949a4b\",\n \"notes\": \"This tapfiliate node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Tapfiliate\",\n \"type\": \"n8n-nodes-base.tapfiliate\",\n \"position\": [\n 470,\n 300\n ],\n \"parameters\": {\n \"email\": \"n8ndocsburner@gmail.com\",\n \"lastname\": \"Ryan\",\n \"firstname\": \"Jack\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"tapfiliateApi\": \"Tapfiliate API credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"fdac1923-ce11-4664-82b3-ed1149db021b\",\n \"notes\": \"This tapfiliate node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 270,\n 300\n ],\n ...", "input": "", "output": "The node 'Error Handler' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Error Handler'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"93\",\n \"name\": \"Create, update, and get activity in Strava\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 270,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"d71d17f2-3535-49b2-bdc7-710e407563d3\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Strava\",\n \"type\": \"n8n-nodes-base.strava\",\n \"position\": [\n 470,\n 340\n ],\n \"parameters\": {\n \"name\": \"Morning Run\",\n \"type\": \"Run\",\n \"startDate\": \"2020-10-01T18:30:00.000Z\",\n \"elapsedTime\": 3600,\n \"additionalFields\": {\n \"distance\": 1000\n }\n },\n \"typeVersion\": 1,\n \"id\": \"8af9bab5-6a5d-4818-af12-85536efc80a6\",\n \"notes\": \"This strava node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Strava1\",\n \"type\": \"n8n-nodes-base.strava\",\n \"position\": [\n 670,\n 340\n ],\n \"parameters\": {\n \"operation\": \"update\",\n \"activityId\": \"={{$node[\\\"Strava\\\"].json[\\\"id\\\"]}}\",\n \"updateFields\": {\n \"description\": \"Morning run in the park\"\n }\n },\n \"credentials\": {\n \"stravaOAuth2Api\": \"strava\"\n },\n \"typeVersion\": 1,\n \"id\": \"ffd210ef-8420-4127-b581-5765fca755d3\",\n \"notes\": \"This strava node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Strava2\",\n \"type\": \"n8n-nodes-base.strava\",\n \"position\": [\n 870,\n 340\n ],\n \"parameters\": {\n \"operation\": \"get\",\n \"activityId\": \"={{$node[\\\"Strava\\\"].json[\\\"id\\\"]}}\"\n },\n \"credentials\": {\n \"stravaOAuth2Api\": \"strava\"\n },\n \"typeVersion\": 1,\n \"id\": \"b8f2a11f-0ba7-429f-a346-daf29d4fc7c4\",\n \"notes\": \"This strava node performs automated tasks as part of the workflow.\"\n },\n {...", "input": "", "output": "The node 'Strava' (type: n8n-nodes-base.strava) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"stravaOAuth2Api\": \"strava\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Strava' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"95\",\n \"name\": \"Create an organization in Affinity\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 400,\n 250\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"db96779d-9d0d-4f8c-8038-ab49858c5020\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Affinity\",\n \"type\": \"n8n-nodes-base.affinity\",\n \"position\": [\n 600,\n 250\n ],\n \"parameters\": {\n \"name\": \"\",\n \"domain\": \"\",\n \"additionalFields\": {},\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"affinityApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"4434a13e-9015-4307-b286-9959e1cdfbbb\",\n \"notes\": \"This affinity node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-0581ddfa\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Create an organization in Affinity. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-acc35aee\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.774223\",\n \"updatedAt\": \"2025-09-29T07:07:49.774242\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"hi...", "input": "", "output": "The node 'Affinity' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Affinity'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-250d0d23\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.778191\",\n \"updatedAt\": \"2025-09-29T07:07:49.778199\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"beebd9ac-4021-4e45-9971-4205c37e3742\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -500,\n 40\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"61e48c99-fdd3-4db7-8e2e-67cb2c2dfd97\",\n \"name\": \"SIGNL4\",\n \"type\": \"n8n-nodes-base.signl4\",\n \"position\": [\n 60,\n -140\n ],\n \"parameters\": {\n \"message\": \"=Weather alert \\u2744\\ufe0f Temperature: {{ $json.main.temp }} \\u00b0C\",\n \"additionalFields\": {\n \"title\": \"Weather Alert from n8n\",\n \"externalId\": \"weather-alert\",\n \"locationFieldsUi\": {\n \"locationFieldsValues\": {\n \"latitude\": \"={{ $json.coord.lat }}\",\n \"longitude\": \"={{ $json.coord.lon }}\"\n }\n }\n }\n },\n \"credentials\": {\n \"signl4Api\": {\n \"id\": \"EAiJUjPUA6kiAnG9\",\n \"name\": \"SIGNL4 Webhook account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This signl4 node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"739a31e4-d353-4c95-bb84-b36f6a5560cf\",\n \"name\": \"OpenWeatherMap\",\n \"type\": \"n8n-nodes-base.openWeatherMap\",\n \"position\": [\n -320,\n -140\n ],\n \"parameters\": {\n \"cityName\": \"Berlin\"\n },\n \"credentials\": {\n \"openWeatherMapApi\": {\n \"id\": \"oH1seTNeKu1d87wm\",\n \"name\": \"OpenWeatherMap account\"\n }\n },\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"96\",\n \"name\": \"Create, update and get a subscriber using the MailerLite node\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 310,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"41352635-a247-432c-8eba-90adc03bc5f9\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"MailerLite\",\n \"type\": \"n8n-nodes-base.mailerLite\",\n \"position\": [\n 510,\n 300\n ],\n \"parameters\": {\n \"email\": \"harshil@n8n.io\",\n \"additionalFields\": {\n \"name\": \"Harshil\"\n }\n },\n \"credentials\": {\n \"mailerLiteApi\": \"mailerlite\"\n },\n \"typeVersion\": 1,\n \"id\": \"308a1a1a-b9b4-460e-b69b-530ec3ea7233\",\n \"notes\": \"This mailerLite node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"MailerLite1\",\n \"type\": \"n8n-nodes-base.mailerLite\",\n \"position\": [\n 710,\n 300\n ],\n \"parameters\": {\n \"operation\": \"update\",\n \"subscriberId\": \"={{$node[\\\"MailerLite\\\"].json[\\\"email\\\"]}}\",\n \"updateFields\": {\n \"customFieldsUi\": {\n \"customFieldsValues\": [\n {\n \"value\": \"Berlin\",\n \"fieldId\": \"city\"\n }\n ]\n }\n }\n },\n \"credentials\": {\n \"mailerLiteApi\": \"mailerlite\"\n },\n \"typeVersion\": 1,\n \"id\": \"c51e9987-6404-4d98-8a63-8636786dc3bc\",\n \"notes\": \"This mailerLite node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"MailerLite2\",\n \"type\": \"n8n-nodes-base.mailerLite\",\n \"position\": [\n 910,\n 300\n ],\n \"parameters\": {\n \"operation\": \"get\",\n \"subscriberId\": \"={{$node[\\\"MailerLite\\\"].json[\\\"email\\\"]}}\"\n },\n \"credentials\": {\n \"mailerLiteApi\": \"mail...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"96\",\n \"name\": \"Create a new contact in Agile CRM\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"144f464d-21a0-478e-bdc3-d18eb257d56a\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"AgileCRM\",\n \"type\": \"n8n-nodes-base.agileCrm\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"operation\": \"create\",\n \"additionalFields\": {\n \"lastName\": \"\",\n \"firstName\": \"\"\n }\n },\n \"credentials\": {\n \"agileCrmApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"6930eae5-52c9-463e-8a4c-128ee0e1f0ac\",\n \"notes\": \"This agileCrm node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-f3174b59\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Create a new contact in Agile CRM. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-3a54aa30\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.778007\",\n \"updatedAt\": \"2025-09-29T07:07:49.778020\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"98\",\n \"name\": \"Create a new task in Asana\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"c951229d-c2a5-4416-adb2-d4975a342c63\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Asana\",\n \"type\": \"n8n-nodes-base.asana\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"name\": \"={{ $node.NonExistentNode.json.data }}\",\n \"workspace\": \"\",\n \"otherProperties\": {}\n },\n \"credentials\": {\n \"asanaApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"b6c3809a-8c46-487c-acd6-8dd7b93035dc\",\n \"notes\": \"This asana node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-20b8850f\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Create a new task in Asana. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-70120f7c\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.775204\",\n \"updatedAt\": \"2025-09-29T07:07:49.775218\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n ...", "input": "", "output": "In node 'Asana', the parameter 'name' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: ``\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Asana' parameter 'name'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 430,\n 310\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"4b3ac151-9df7-4178-92cb-06c4a2c4d583\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Function\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 630,\n 310\n ],\n \"parameters\": {\n \"functionCode\": \"={{ $items[999].json.value }}\"\n },\n \"typeVersion\": 1,\n \"id\": \"911c50a5-4ffc-4ee4-8f92-b2b8fe28045a\",\n \"notes\": \"This function node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"SplitInBatches\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 830,\n 310\n ],\n \"parameters\": {\n \"options\": {},\n \"batchSize\": 1\n },\n \"typeVersion\": 1,\n \"id\": \"9f9ba639-cd72-48cd-b2c8-ae228a590489\",\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1030,\n 460\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [\n {\n \"value1\": \"={{$node[\\\"SplitInBatches\\\"].context[\\\"currentRunIndex\\\"];}}\",\n \"value2\": 5,\n \"operation\": \"equal\"\n }\n ],\n \"boolean\": []\n }\n },\n \"typeVersion\": 1,\n \"id\": \"ac58615e-367e-444c-8833-220e9440719e\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1230,\n 360\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"Message\",\n \"value\": \"Loop Ended\"\n }\n ...", "input": "", "output": "In node 'Function', the parameter 'functionCode' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `const newItems = [];\n\nfor (let i=0;i<10;i++) {\n newItems.push({json:{i}});\n}\n\nreturn newItems;`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Function' parameter 'functionCode'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"99\",\n \"name\": \"Execute an SQL query in Microsoft SQL\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"e1d2df48-bb7f-490b-9382-b63818d2fd85\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Microsoft SQL\",\n \"type\": \"n8n-nodes-base.microsoftSql\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"query\": \"\",\n \"operation\": \"executeQuery\"\n },\n \"credentials\": {\n \"microsoftSql\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"d4a26331-d2a3-4a0a-b28a-bc820f2f6252\",\n \"notes\": \"This microsoftSql node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-cb98988d\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Execute an SQL query in Microsoft SQL. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-ed996e69\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.794744\",\n \"updatedAt\": \"2025-09-29T07:07:49.794753\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"t...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"9Or3kzIEI2tskRyR\",\n \"meta\": {\n \"instanceId\": \"workflow-1f21256d\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.794429\",\n \"updatedAt\": \"2025-09-29T07:07:49.794441\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Google Trend Data Extract, Summarization with Bright Data & Google Gemini\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"29e6ce01-c42f-4155-add1-8a5cfff56967\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 200,\n -420\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6abf0439-8286-4198-9b5e-226a7bf805dc\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 200,\n -780\n ],\n \"parameters\": {\n \"width\": 400,\n \"height\": 300,\n \"content\": \"## Note\\n\\nThis workflow deals with the structured data extraction by utilizing Bright Data Web Unlocker Product.\\n\\nThe Basic LLM Chain, Information Extraction, Summarization Chain are being used to demonstrate the usage of the N8N AI capabilities.\\n\\n**Please make sure to set the web URL of your interest within the \\\"Set URL and Bright Data Zone\\\" node and update the Webhook Notification URL**\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6443bdea-4577-4983-adb7-0f52d6eb3825\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 620,\n -780\n ],\n \"parameters\": {\n \"width\": 480,\n \"height\": 300,\n \"content\": ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"9r4T5kELOXAV8L1F\",\n \"meta\": {\n \"instanceId\": \"workflow-8d6593c7\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.793194\",\n \"updatedAt\": \"2025-09-29T07:07:49.793204\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"3D Figurine Orthographic Views with Midjourney and GPT-4o-Image API\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"30ff7c89-7fb6-4daf-b7f2-d178ee702243\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 720,\n 220\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"26cb9d6e-6a73-4a27-805d-8577c84101fa\",\n \"name\": \"Midjourney Generator\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 940,\n 220\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"{\\n \\\"model\\\": \\\"midjourney\\\",\\n \\\"task_type\\\": \\\"imagine\\\",\\n \\\"input\\\": {\\n \\\"prompt\\\": \\\"IP design, pop mart style, cartoon-style characters, a little girl with a red satche on her back, a pair of big eyes, long eyelashes, with pigtails, wearing a red beret, red shoes, chubby body, wearing a red and white striped dress, clean white background, crystal-clear material::5, 3D rendering, 3D modeling --ar 3:4 --niji 6\\\",\\n \\\"aspect_ratio\\\": \\\"3:2\\\",\\n \\\"process_mode\\\": \\\"turbo\\\",\\n \\\"skip_prompt_check\\\": false\\n }\\n}\",\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"specifyBody\": \"json\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"x-api-key\"\n }\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"A0xnegTHL43LL3eP\",\n \"meta\": {\n \"instanceId\": \"workflow-31041a7e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.808417\",\n \"updatedAt\": \"2025-09-29T07:07:49.808430\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Convert YouTube Videos into SEO Blog Posts\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"c79371d9-c1be-48d4-a2c7-d97a12f4e23c\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 0,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7812d81b-3fe8-42a0-8ac8-53161c345e60\",\n \"name\": \"Get YouTube Transcript\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 440,\n 0\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"videoUrl\",\n \"value\": \"={{ $json['YouTube Video Url'] }}\"\n },\n {\n \"name\": \"includeTimestamps\",\n \"value\": \"={{false}}\"\n }\n ]\n },\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"credentials\": {\n \"httpBearerAuth\": {\n \"id\": \"0pq31j7wKqOIHFaR\",\n \"name\": \"Dumpling AI Bearer Auth account\"\n },\n \"httpHeaderAuth\": {\n \"id\": \"ASc5gIQaW1c63ZhO\",\n \"name\": \"Dumpling AI Auth\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs aut...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"AnbedV2Ntx97sfed\",\n \"meta\": {\n \"instanceId\": \"workflow-f6b2611b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.813211\",\n \"updatedAt\": \"2025-09-29T07:07:49.813221\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Extract & Summarize Bing Copilot Search Results with Gemini AI and Bright Data\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"5f358132-63bd-4c66-80da-4fb9911f607f\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1140,\n 400\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"43a157f6-2fb8-4c90-bf5d-92fc64c9df10\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"notes\": \"Gemini Experimental Model\",\n \"position\": [\n 760,\n 580\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.0-flash-thinking-exp-01-21\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"YeO7dHZnuGBVQKVZ\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1\n },\n {\n \"id\": \"f2d34617-ea34-4163-b9d5-a35fed807dbb\",\n \"name\": \"Default Data Loader\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 940,\n 580\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This documentDefaultDataLoader node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"707fdb4a-f534-4984-b97d-1839db1afc03\",\n \"name\": \"Recursive Character Text Splitter\",\n \"type\": \"...", "input": "", "output": "The workflow has a broken data flow. The node '43a157f6-2fb8-4c90-bf5d-92fc64c9df10' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '43a157f6-2fb8-4c90-bf5d-92fc64c9df10'.\n\n**Impact**: Data from '43a157f6-2fb8-4c90-bf5d-92fc64c9df10' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '43a157f6-2fb8-4c90-bf5d-92fc64c9df10' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"43a157f6-2fb8-4c90-bf5d-92fc64c9df10\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '43a157f6-2fb8-4c90-bf5d-92fc64c9df10' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-8e6ff1ac\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.827081\",\n \"updatedAt\": \"2025-09-29T07:07:49.827094\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"40bb5497-d1d2-4eb7-b683-78b88c8d9230\",\n \"name\": \"Google Drive\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 496.83478320435574,\n 520\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"url\",\n \"value\": \"{{ $env.WEBHOOK_URL }}\"\n },\n \"options\": {},\n \"operation\": \"download\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"{{ $credentials.googleDriveOAuth2Api.id }}\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 3,\n \"notes\": \"This googleDrive node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1323d520-1528-4a5a-9806-8f4f45306098\",\n \"name\": \"Recursive Character Text Splitter\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 996.8347832043557,\n 920\n ],\n \"parameters\": {\n \"chunkSize\": 3000,\n \"chunkOverlap\": 200\n },\n \"typeVersion\": 1,\n \"notes\": \"This textSplitterRecursiveCharacterTextSplitter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"796b155a-64e6-4a52-9168-a37c68077d99\",\n \"name\": \"Embeddings OpenAI\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 836.8347832043557,\n 740\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"JCgD7807AQpe8Xge\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This embeddingsOpenAi node performs automated tasks as part of t...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"BXfxO6faULfsy2JN\",\n \"meta\": {\n \"instanceId\": \"workflow-3689a9f4\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.846183\",\n \"updatedAt\": \"2025-09-29T07:07:49.846196\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Scrape Today's Github Trend 13 Top Repositories\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"e2981cad-c09b-46ee-b2db-cb007a95c4a1\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 0,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"990de0c9-f540-4a10-8a1a-63a0526444ff\",\n \"name\": \"Extract Box\",\n \"type\": \"n8n-nodes-base.html\",\n \"position\": [\n 440,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"extractHtmlContent\",\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"cssSelector\": \"div.Box\",\n \"returnValue\": \"html\"\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This html node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7f7968ce-3935-488e-98f9-7ddd270d14b0\",\n \"name\": \"Request to Github Trend\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 220,\n 0\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"87cd7fa1-d896-49a3-9336-17663ca522aa\",\n \"name\": \"Turn to a...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-40f54075\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.858755\",\n \"updatedAt\": \"2025-09-29T07:07:49.858765\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"296a935f-bd02-44bc-9e1e-3e4d6a307e38\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 260,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"61a38c00-f196-4b01-9274-c5e0f4c511bc\",\n \"name\": \"Embeddings OpenAI\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1060,\n 460\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"VQtv7frm7eLiEDnd\",\n \"name\": \"OpenAi account 7\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This embeddingsOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"816066bd-02e8-4de2-bcee-ab81d890435a\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 426.9261940355327,\n 60.389291053299075\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 1086.039382705461,\n \"height\": 728.4168721167887,\n \"content\": \"## 1. Setup: Fetch file from Google Drive, split it into chunks and insert into a vector database\\nNote that running this part multiple times will insert multiple copies into your DB\",\n \"_injected_number_field\": \"not_a_number\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"30cd81ad-d658-4c33-9a38-68e33b74cdae\",\n \"name\": \"Default Data...", "input": "", "output": "The node 'Sticky Note' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 260,\n 210\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-5b8ccfaf\"\n },\n {\n \"name\": \"Fetch new followers\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 460,\n 210\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"authentication\": \"{{ $credentials.headerAuth }}\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"{{ $credentials.httpHeaderAuth.id }}\",\n \"name\": \"Twitter Token\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-35dc31e9\"\n },\n {\n \"name\": \"Item Lists\",\n \"type\": \"n8n-nodes-base.itemLists\",\n \"position\": [\n 660,\n 210\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"data\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-65976655\"\n },\n {\n \"name\": \"Function\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 1660,\n 210\n ],\n \"parameters\": {\n \"functionCode\": \"const binary = {};\\nfor (let i=0; i < items.length; i++) {\\n binary[`data${i}`] = items[i].binary.avatar;\\n}\\n\\nreturn [\\n {\\n json: {\\n numIcons: items.length,\\n },\\n binary,\\n }\\n];\\n\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-e9563a89\"\n },\n {\n \"name\": \"Merge\",\n \"type\": \"n8n-nodes-base.merge\",\n \"position\": [\n 1910,\n 110\n ],\n \"parameters\": {\n \"mode\": \"mergeByIndex\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-42968e64\"\n },\n {\n \"name\": \"Fetching images\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 860,\n 210\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"responseFormat\": \"file\",\n \"dataPropertyName\": \"avatar\"\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"EWIrJ8e9z7AijmTu\",\n \"meta\": {\n \"instanceId\": \"workflow-8cc96b69\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.907257\",\n \"updatedAt\": \"2025-09-29T07:07:49.907275\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Lead Generation System (Template)\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"03eabaeb-ad13-4764-98de-183325e32cbd\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 160,\n -80\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e7df072c-fba8-4dc2-94ce-ae20a135a633\",\n \"name\": \"Edit Fields\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 840,\n -80\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"ab7e33d5-986e-4fba-b4d0-bc47bcd1cf82\",\n \"name\": \"first_name\",\n \"type\": \"string\",\n \"value\": \"={{ $json.first_name }}\"\n },\n {\n \"id\": \"f29e8cf7-3cd0-4ffc-a071-96be9dd1da50\",\n \"name\": \"last_name\",\n \"type\": \"string\",\n \"value\": \"={{ $json.last_name }}\"\n },\n {\n \"id\": \"54ee5cec-ccaf-4f34-8030-d17206abef5d\",\n \"name\": \"email\",\n \"type\": \"string\",\n \"value\": \"={{ $json.email }}\"\n },\n {\n \"id\": \"daf1fa7c-a7fc-4b96-8184-a5569b9ab9a0\",\n \"name\": \"email_status\",\n \"type\": \"string\",\n \"value\": \"={{ $json.email_status }}\"\n },\n {\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-3a72014b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.911204\",\n \"updatedAt\": \"2025-09-29T07:07:49.911216\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"192d3e4f-6bb0-4b87-a1fa-e32c9efb49cc\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 336,\n 34\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"32a7a772-76a6-4614-a6ab-d2b152a5811f\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1220,\n 180\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {\n \"temperature\": 0\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8c444314-ed7d-4ca0-b0fa-b6d1e964c698\",\n \"name\": \"Get Applicable Rows\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 516,\n 34\n ],\n \"parameters\": {\n \"base\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"appbgxPBurOmQK3E7\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Building Inventory Survey Example\"\n },\n \"table\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"tblEHkoTvKpa4Aa0Q\"\n },\n \"options\": {},\n \"operation\": \"search\",\n \"returnAll\": false,\n \"filterByFormula\": \"AND(Image!=\\\"\\\", AI_status=FALSE())\"\n },\n \"credential...", "input": "", "output": "The node 'Fallback Response' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Fallback Response'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"H95uJY2gjSOsxRps\",\n \"meta\": {\n \"instanceId\": \"workflow-0de94488\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.909299\",\n \"updatedAt\": \"2025-09-29T07:07:49.909307\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Extract Amazon Best Seller Electronic Information with Bright Data and Google Gemini\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"328c84bb-eef0-41cc-a392-8e58e3599f9b\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 340,\n -440\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b0e35bc1-473f-44b7-8959-9683adabb8b7\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 820,\n -640\n ],\n \"parameters\": {\n \"width\": 420,\n \"height\": 140,\n \"content\": \"## LLM Usages\\n\\nGoogle Gemini Flash Exp model is being used.\\n\\nInformation Extraction for building the structured data\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a0f32fbd-a7d0-4aeb-b930-59480066e87b\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1088,\n -220\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.0-flash-exp\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"YeO7dHZnuGBVQKVZ\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatGoogleGemini node performs autom...", "input": "", "output": "In node 'Webhook Notifier for structured data extractor', the parameter 'url' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `{{ $env.WEBHOOK_URL }}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Webhook Notifier for structured data extractor' parameter 'url'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"FDl4Ho3KYiA7MIxR\",\n \"meta\": {\n \"instanceId\": \"workflow-8ef4a796\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.912868\",\n \"updatedAt\": \"2025-09-29T07:07:49.912880\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"NetSuite Rest API workflow\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"f7f90fb4-e29f-4bbf-a99d-ee2fde45cd06\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -380,\n -40\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9fcc1ce7-e9bf-4592-8bcd-7c77272a9c59\",\n \"name\": \"NetSuite\",\n \"type\": \"n8n-nodes-netsuite.netsuite\",\n \"position\": [\n -40,\n -180\n ],\n \"parameters\": {\n \"query\": \"={{ $node.NonExistentNode.json.data }}\",\n \"options\": {},\n \"operation\": \"runSuiteQL\"\n },\n \"credentials\": {\n \"netsuite\": {\n \"id\": \"ro6Rl1oWY4KkFUYn\",\n \"name\": \"NetSuite account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This netsuite node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1d615309-2cb0-4383-9698-2f80da0d4bf5\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n -380,\n -280\n ],\n \"webhookId\": \"249328cc-587a-4269-b266-96fe60cfaeb9\",\n \"parameters\": {\n \"path\": \"249328cc-587a-4269-b266-96fe60cfaeb9\",\n \"options\": {},\n \"responseData\": \"allEntries\",\n \"responseMode\": \"lastNode\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n ...", "input": "", "output": "In node 'NetSuite', the parameter 'query' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `={{ $json.query.suiteql }}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'NetSuite' parameter 'query'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"GcSlNHOnN39cPhRA\",\n \"meta\": {\n \"instanceId\": \"workflow-79dac422\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.908564\",\n \"updatedAt\": \"2025-09-29T07:07:49.908583\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Google Search Engine Results Page Extraction with Bright Data\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"c40156b9-b7ba-449b-8362-f8b8cd27a36d\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 200,\n -440\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d98ae28e-a94f-43a1-9bfe-362adbc61c69\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 960,\n -240\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.0-flash-exp\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"YeO7dHZnuGBVQKVZ\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatGoogleGemini node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"984acfe6-acd7-4817-b2d5-6d2aab511bae\",\n \"name\": \"Summarization Chain\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1320,\n -440\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 2,\n \"notes\": \"This chainSummarization node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6b5e26bf-8802-40d4-bc44-62c086c00f7c\",\n \"name\": \"Google Gemini Chat Model For Summarization\",\n \"type\": \"n8...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-ffccf5a1\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.935076\",\n \"updatedAt\": \"2025-09-29T07:07:49.935110\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"141638a4-b340-473f-a800-be7dbdcff131\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 695,\n 380\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6ccdaca5-f620-4afa-bed6-92f3a450687d\",\n \"name\": \"Google Drive\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 875,\n 380\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"0B43u2YYOTJR2cC1BRkptZ3N4QTk4NEtxRko5cjhKUUFyemw0\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"0B0A0255.jpeg\"\n },\n \"options\": {},\n \"operation\": \"download\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"yOwz41gMQclOadgu\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 3,\n \"notes\": \"This googleDrive node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b0c2f7a4-a336-4705-aeda-411f2518aaef\",\n \"name\": \"Get Color Information\",\n \"type\": \"n8n-nodes-base.editImage\",\n \"position\": [\n 1200,\n 200\n ],\n \"parameters\": {\n \"operation\": \"information\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This editImage node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3e42b3f1-6900-4622-8c0d-2d9a27a7e1c9\",\n \"name\": \"Resize Image\",\n \"type\": \"n8n-nodes-base.edit...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"IXumIzS9WtPAhKFX\",\n \"meta\": {\n \"instanceId\": \"workflow-66e98c6b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.960505\",\n \"updatedAt\": \"2025-09-29T07:07:49.960518\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Export Zammad Objects Users, Roles, Groups and Organizations to Excel\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"59b12a25-d90f-47f0-a043-a51f71f5761e\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -120,\n -80\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"259acda6-75be-4011-b021-56321ab10478\",\n \"name\": \"Zammad Univeral User Object\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 600,\n -80\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"user_id\",\n \"value\": \"={{ $json.id }}\"\n },\n {\n \"name\": \"organization_id\",\n \"value\": \"={{ $json.organization_id }}\"\n }\n ],\n \"string\": [\n {\n \"name\": \"email\",\n \"value\": \"={{ $json.email }}\"\n },\n {\n \"name\": \"firstname\",\n \"value\": \"={{ $json.firstname }}\"\n },\n {\n \"name\": \"lastname\",\n \"value\": \"={{ $json.lastname }}\"\n },\n {\n \"name\": \"role_ids\",\n \"value\": \"={{ $json.role_ids.join() }}\\n\"\n },\n {\n \"name\": \"groups\",\n \"value\": \"={{ $json.group_ids }}\"\n }\n ...", "input": "", "output": "The node 'Convert to Excel Roles' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Convert to Excel Roles'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"IjQRdNu2ItwNnGL2\",\n \"meta\": {\n \"instanceId\": \"workflow-a09839ad\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.958946\",\n \"updatedAt\": \"2025-09-29T07:07:49.958958\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"[hiroshidigital.com] Send Message In Larksuite\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"9fd838b3-18f7-4056-bbb9-8a9fd843590b\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 240,\n 220\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7afa44a2-28ec-4e3d-a8bd-a63721648eb2\",\n \"name\": \"Get Lark Token\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 640,\n 220\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"app_id\\\": \\\"{{ $json.app_id }}\\\",\\n \\\"app_secret\\\": \\\"{{ $json.app_secret }}\\\"\\n} \",\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"specifyBody\": \"json\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ]\n }\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4e1fdbef-b881-445c-90ce-95bc9b745772\",\n \"name\": \"Input\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 440,\n 220\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-5cab9ad0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.971578\",\n \"updatedAt\": \"2025-09-29T07:07:49.971680\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"abccacce-bbdc-428e-94e0-19996c5bfe02\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1720,\n 160\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 319.5392879244982,\n \"height\": 218.88813194060202,\n \"content\": \"### AI agent that can scrape webpages\\nRemake of {{ $env.WEBHOOK_URL }}\\n\\n**Changes**:\\n* Replaces Execute Workflow Tool and Subworkflow\\n* Replaces Response Formatting\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9fc05c79-5a2d-4ac4-a4f5-32b9c1b385e1\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1340,\n 340\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"45c9bdaf-d51e-4026-8911-4b04c5473b06\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1720,\n 560\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 365.9021913627245,\n \"height\": 245.35379866205295,\n \"content\": \"### Allow your AI to call an API to fetch data\\nRemake of {{ $env.API_BASE_URL }}\\n\\n**Changes**:\\n* Replaces Execute Workflow Tool and Subworkflow\\n* Replaces Manual Query Params Definitions\\n* Replaces Response Fo...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"IwOOVikQC7cn9VTv\",\n \"meta\": {\n \"instanceId\": \"workflow-0fcd21f5\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.963089\",\n \"updatedAt\": \"2025-09-29T07:07:49.963099\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Email verification with Icypeas (single)\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"83105cfd-9107-4dae-8282-07c6594ebbd2\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 1460,\n 460\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7146ee71-e4fc-4c1f-bdbd-af1466525fef\",\n \"name\": \"Run email verification (single)\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 2180,\n 460\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"email\",\n \"value\": \"=uyqsdqkudhfiqudhfiqduhfiqdhfqif@gmail.com\"\n }\n ]\n },\n \"genericAuthType\": \"httpHeaderAuth\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"X-ROCK-TIMESTAMP\",\n \"value\": \"={{ $json.api.timestamp }}\"\n }\n ]\n }\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1e004997-dfc6-45ad-9351-9a096cb4c991\",\n \"name\": \"Sticky Note\",\n ...", "input": "", "output": "The node 'Run email verification (single)' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"KGXtUrqC6lNLwW2w\",\n \"name\": \"Header Auth account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Run email verification (single)' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"IwOOVikQC7cn9VTv\",\n \"meta\": {\n \"instanceId\": \"workflow-36f9e6f2\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.987692\",\n \"updatedAt\": \"2025-09-29T07:07:49.987726\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Perform a domain search (single) with Icypeas\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"a8be94cc-c695-4a24-b045-d6716fe6f043\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 4360,\n 1720\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c636d4ed-6310-4f2a-876e-c24d54dc9349\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 4200,\n 1460\n ],\n \"parameters\": {\n \"height\": 243.6494382022472,\n \"content\": \"## Perform a domain search (single) with Icypeas\\n\\nThis workflow demonstrates how to perform a domain scan using Icypeas. Visit {{ $env.WEBHOOK_URL }} to create your account.\\n\\n\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a6f4dbe2-478d-426c-b544-60cd97c84901\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 4507,\n 1536\n ],\n \"parameters\": {\n \"width\": 506,\n \"height\": 1041.5303370786517,\n \"content\": \"## Authenticates to your Icypeas account\\n\\nThis code node utilizes your API key, API secret, and User ID to establish a connection with your Icypeas account.\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nOpen this node and insert your API Key, API s...", "input": "", "output": "In node 'Run domain scan (single)', the parameter 'method' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `POST`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Run domain scan (single)' parameter 'method'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"Jy1RMuri0WJO5aO4\",\n \"meta\": {\n \"instanceId\": \"workflow-d1551dce\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.992474\",\n \"updatedAt\": \"2025-09-29T07:07:49.992488\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Summarize Google Drive Documents with Mistral AI and Send via Gmail\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"680f9002-94fa-48c1-af5f-d2a5305b6291\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 0,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3fa4ad1a-ce87-44db-b016-bd172c2318eb\",\n \"name\": \"Mistral Cloud Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 500,\n 240\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"mistralCloudApi\": {\n \"id\": \"temjibUluGywOSoS\",\n \"name\": \"Mistral Cloud account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatMistralCloud node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"124d62ae-3b46-4e75-a04e-155849fe280d\",\n \"name\": \"Download uploaded File from Google Drive\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 220,\n 0\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1d0njBA2ZM0zYyJOEbUeFwQmHSYIO7IM2\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Goods and Services Receipt(WCC).pdf\"\n },\n \"options\": {},\n \"operation\": \"download\"\n },\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"KWFLpcJytH7qjheD\",\n \"meta\": {\n \"instanceId\": \"workflow-fd888392\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:49.977958\",\n \"updatedAt\": \"2025-09-29T07:07:49.977973\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"(Not published) Three-View Orthographic Projection to Dynamic Video Conversion\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"442e12af-531d-4000-9e74-d9bfaa3515ca\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1960,\n -160\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"39c46540-7dee-4237-921e-3b6bd9821302\",\n \"name\": \"Generate Kling Video\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -400,\n 0\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"model\\\": \\\"kling\\\",\\n \\\"task_type\\\": \\\"video_generation\\\",\\n \\\"input\\\": {\\n \\\"version\\\": \\\"1.6\\\",\\n \\\"mode\\\": \\\"pro\\\",\\n \\\"image_url\\\": \\\"{{ $('Get Image URL of Front Image').item.json.image_url }}\\\",\\n \\\"image_tail_url\\\": \\\"{{ $json.image_url }}\\\",\\n \\\"duration\\\":5,\\n \\\"prompt\\\": \\\"The character rotates smoothly, stay original facial expression. Apply anticlockwise rotation\\\"\\n }\\n} \",\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"specifyBody\": \"json\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"x-api-key\",\n \"value\": \"={{ $('Basic Params').item.json[\\\"x-api-key\\\"] }}\"\n }\n ...", "input": "", "output": "The node 'GPT-4o Generator: Front View' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"fsJeCNd9BkJ1CIrt\",\n \"name\": \"Header Auth account 2\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'GPT-4o Generator: Front View' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"MIA4ozGH71fC3KCe\",\n \"meta\": {\n \"instanceId\": \"workflow-f817da8b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.003458\",\n \"updatedAt\": \"2025-09-29T07:07:50.003515\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"pdf to text\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"d92f690d-c84d-451d-9ab8-da6f9356e0ca\",\n \"name\": \"Convert PDF into Text\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -120,\n 100\n ],\n \"parameters\": {},\n \"credentials\": {\n \"customJsApi\": {\n \"id\": \"h29wo2anYKdANAzm\",\n \"name\": \"CustomJS account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This PdfToText node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"420cfac7-a621-4bf3-bd34-3fee569321e4\",\n \"name\": \"HTML to PDF\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -340,\n 100\n ],\n \"parameters\": {\n \"htmlInput\": \"

Hello World

\"\n },\n \"credentials\": {\n \"customJsApi\": {\n \"id\": \"h29wo2anYKdANAzm\",\n \"name\": \"CustomJS account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This html2Pdf node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"83c05ec3-1225-41d0-b5b4-f9f6be7619ea\",\n \"name\": \"Convert PDF into Text1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -120,\n 300\n ],\n \"parameters\": {\n \"resource\": \"url\",\n \"field_name\": \"={{ $json.path }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This PdfToText node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"787e9369-abb5-483e-ba43-8837b5c586f9\",\n \"name\": \"Code\",\n \"type\": \"n8n-nodes-b...", "input": "", "output": "The node 'Convert PDF into Text1' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"customJsApi\": {\n \"id\": \"h29wo2anYKdANAzm\",\n \"name\": \"CustomJS account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Convert PDF into Text1' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"MKGrRFnUuMZMAxNf\",\n \"meta\": {\n \"instanceId\": \"workflow-ab646b1d\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.010785\",\n \"updatedAt\": \"2025-09-29T07:07:50.010797\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Scrape Latest 20 TechCrunch Articles\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"f757df19-a2b0-42c5-b75e-e4af51696059\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -400,\n 160\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1311d3be-cf2e-42ca-ae69-8ebfeb71eefb\",\n \"name\": \"Request Techcrunsh Latest Page\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -220,\n 160\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c7807fdf-3b0b-40f8-b912-214475501861\",\n \"name\": \"Parse a posts box\",\n \"type\": \"n8n-nodes-base.html\",\n \"position\": [\n -40,\n 160\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"extractHtmlContent\",\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"cssSelector\": \"ul.wp-block-post-template\",\n \"returnValue\": \"html\"\n }\n ]\n },\n \"_injected_number_field\": \"not_a_number\"\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This html node performs automated tasks as part of the workflow.\"\n },\n ...", "input": "", "output": "The node 'Parse a posts box' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Parse a posts box'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"MVPlLz3CiQok6rXy\",\n \"meta\": {\n \"instanceId\": \"workflow-fecedfa4\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.026648\",\n \"updatedAt\": \"2025-09-29T07:07:50.026670\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Merge PDFs\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"282b146b-ee58-4089-9ee6-94b153024bfa\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 740,\n -40\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"39a37abd-924f-474c-8dde-7536170797f2\",\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 960,\n -140\n ],\n \"parameters\": {\n \"url\": \"={{ $json.deeply.nested.undefined.path }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b2359766-896f-4966-873e-b2dc0ee4f684\",\n \"name\": \"HTTP Request2\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 960,\n 60\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7f70b25c-a171-4a7c-8067-141ce3275226\",\n \"name\": \"Merge\",\n \"type\": \"n8n-nodes-base.merge\",\n \"position\": [\n 1180,\n -40\n ],\n \"parameters\": {},\n \"typeVersion\": 3.1,\n \"notes\": \"This merge node performs automated tasks as part of the workflow.\"\n },\n ...", "input": "", "output": "In node 'HTTP Request', the parameter 'url' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `{{ $env.BASE_URL }}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'HTTP Request' parameter 'url'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"MkZ77sIELEO2kQx1\"\n \"meta\": {\n \"instanceId\": \"workflow-47ac9f44\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.057659\",\n \"updatedAt\": \"2025-09-29T07:07:50.057669\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"SearchApi Youtube Video Summary\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"2b0a439f-4b6e-4473-a6d5-9b0ec8db676b\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 20,\n 280\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"662f79e0-d450-4d9e-a537-0e8f1a0870b6\",\n \"name\": \"Summarization Chain\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 900,\n 280\n ],\n \"parameters\": {\n \"options\": {},\n \"chunkingMode\": \"advanced\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This chainSummarization node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fe17b482-8031-4d46-829b-59fe69dc8786\",\n \"name\": \"Recursive Character Text Splitter\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1080,\n 500\n ],\n \"parameters\": {\n \"options\": {},\n \"chunkSize\": 6000\n },\n \"typeVersion\": 1,\n \"notes\": \"This textSplitterRecursiveCharacterTextSplitter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4829c2e9-c23a-452a-b409-7efc2e1e135d\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 460,\n 280\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"transcripts\"\n },\n \"t...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-4cef8661\"\n },\n {\n \"name\": \"FunctionItem\",\n \"type\": \"n8n-nodes-base.functionItem\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"functionCode\": \"// hashtag list\\nconst Hashtags = [\\n \\\"#techtwitter\\\",\\n \\\"#n8n\\\"\\n];\\n\\n// random output function\\nconst randomHashtag = Hashtags[Math.floor(Math.random() * Hashtags.length)];\\nitem.hashtag = randomHashtag;\\nreturn item;\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-5fc4c585\"\n },\n {\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"requestMethod\": \"POST\",\n \"authentication\": \"{{ $credentials.headerAuth }}\",\n \"jsonParameters\": true,\n \"bodyParametersJson\": \"={\\n \\\"prompt\\\": \\\"Generate a tweet, with under 100 characters, about and including the hashtag {{$node[\\\"FunctionItem\\\"].json[\\\"hashtag\\\"]}}:\\\",\\n \\\"temperature\\\": 0.7,\\n \\\"max_tokens\\\": 64,\\n \\\"top_p\\\": 1,\\n \\\"frequency_penalty\\\": 0,\\n \\\"presence_penalty\\\": 0\\n}\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-e836482c\"\n },\n {\n \"name\": \"Airtable\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 1050,\n 300\n ],\n \"parameters\": {\n \"table\": \"main\",\n \"options\": {},\n \"operation\": \"append\",\n \"application\": \"appOaG8kEA8FAABOr\"\n },\n \"credentials\": {\n \"airtableApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-ff099406\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 850,\n 300\n ],\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"Qpxx8UnnACBONNJu\",\n \"meta\": {\n \"instanceId\": \"workflow-bacac23f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.060738\",\n \"updatedAt\": \"2025-09-29T07:07:50.060748\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"The Easiest Way to Send SMS Worldwide\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"807bfde2-a20e-41ad-87c5-70bcd31e3dcc\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -300,\n -100\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"369069a8-0b79-4e5a-9a89-4bccafdea247\",\n \"name\": \"Send SMS\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 140,\n -100\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"messages\\\": [\\n {\\n \\\"source\\\": \\\"php\\\",\\n \\\"body\\\": \\\"{{ $json.sms }}\\\",\\n \\\"to\\\": \\\"{{ $json.to }}\\\"\\n }\\n ]\\n}\\n\",\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpBasicAuth\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Content-Type\",\n \"value\": \" application/json\"\n }\n ]\n }\n },\n \"credentials\": {\n \"httpBasicAuth\": {\n \"id\": \"UwsDe2JxT39eWIvY\",\n \"name\": \"ClickSend API\"\n },\n \"httpHeaderAuth\": {\n \"id\": \"M8w41EP0NFUSBShY\",\n \"name\": \"Cli...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"293b70f0-06e8-4db5-befd-bfaed1f3575a\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -460,\n 80\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1c473546-6280-412d-9f8e-b43962365d78\",\n \"name\": \"Set Params\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -160,\n -60\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"8b5c6ca0-5ca8-4f67-abc1-44341cf419bc\",\n \"name\": \"system_prompt\",\n \"type\": \"string\",\n \"value\": \"You are an n8n fanboy.\"\n },\n {\n \"id\": \"7c36c362-6269-4564-b6fe-f82126bc8f5e\",\n \"name\": \"user_prompt\",\n \"type\": \"string\",\n \"value\": \"What are the differences between n8n and Make?\"\n },\n {\n \"id\": \"4366d2b5-ad22-445a-8589-fddab1caa1ab\",\n \"name\": \"domains\",\n \"type\": \"string\",\n \"value\": \"n8n.io, make.com\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"894bd6a4-5db7-45fb-a8e0-1a81af068bbf\",\n \"name\": \"Clean Output\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 580,\n -100\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"5859093c-6b22-41db-ac6c-9a9f6f18b7e3\",\n \"name\": \"output\",\n \"type\": \"string\",\n \"value\": \"={{ $json.choices[0].message.content }}\"\n },\n {\n \"id\": \"13208fff-5153-45a7-a1cb-fe49e32d9a03\",\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-241efbd8\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.059963\",\n \"updatedAt\": \"2025-09-29T07:07:50.059976\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"382dddd4-da50-49fa-90a2-f7d6d160afdf\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 920,\n 280\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"efa8f415-62f7-43b3-a76a-a2eabf779cb8\",\n \"name\": \"Map Workflows & Credentials\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1360,\n 280\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"0fd19a68-c561-4cc2-94d6-39848977e6d2\",\n \"name\": \"workflow_id\",\n \"type\": \"string\",\n \"value\": \"={{ $json.id }}\"\n },\n {\n \"id\": \"a81f9e6f-9c78-4c3d-9b79-e820f8c5ba29\",\n \"name\": \"workflow_name\",\n \"type\": \"string\",\n \"value\": \"={{ $json.name }}\"\n },\n {\n \"id\": \"58ab0f2f-7598-48de-bea1-f3373c5731fe\",\n \"name\": \"credentials\",\n \"type\": \"array\",\n \"value\": \"={{ $json.nodes.map(node => node.credentials).compact().reduce((acc,cred) => { const keys = Object.keys(cred); const items = keys.map(key => ({ type: key, ...cred[key] })); acc.push(...items); return acc; }, []) }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9e9b4f9c-12b7-47ba-8cf4-a9818902a538\",\n \"...", "input": "", "output": "The node 'OpenAI Chat Model' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'OpenAI Chat Model' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ReXF4z8ZKcEd6Kea\",\n \"meta\": {\n \"instanceId\": \"workflow-63ed8b14\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.076384\",\n \"updatedAt\": \"2025-09-29T07:07:50.076403\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"dub.co URL Shortener\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"63170148-b769-43b6-9a7a-02baa9f76b02\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1480,\n 1100\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 346.4519761795601,\n \"height\": 227.3959699655325,\n \"content\": \"## Dub.co API Limits:\\nDub\\u2019s API is capped at 10 requests per second per user.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"defd82ef-25a0-4aa4-8681-d352e5fe8275\",\n \"name\": \"When clicking \\\"Test Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 1231,\n 560\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fec7fb8a-3f88-4de9-8392-5c7929a712e7\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"disabled\": true,\n \"position\": [\n 1480,\n 460\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 826.4578951225271,\n \"height\": 605.7992490141105,\n \"content\": \"## Dub.co API\\n**Create** Link. [Based on their API docs]({{ $env.API_BASE_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8c87aad8-519c-491b-b272...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-41ed8075\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.051812\",\n \"updatedAt\": \"2025-09-29T07:07:50.051821\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"d9bae984-2ce7-4f6b-ab53-527ac9dfea3d\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 680,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"32ecf73c-b6e9-4bd6-9ecc-d82c4c50d7b5\",\n \"name\": \"Reddit\",\n \"type\": \"n8n-nodes-base.reddit\",\n \"position\": [\n 880,\n 320\n ],\n \"parameters\": {\n \"keyword\": \"YOUR_CREDENTIAL_HERE\",\n \"location\": \"allReddit\",\n \"operation\": \"search\",\n \"additionalFields\": {\n \"sort\": \"new\"\n }\n },\n \"credentials\": {},\n \"typeVersion\": 1,\n \"notes\": \"This reddit node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4b560620-a101-4566-b066-4ce3f44d8b0c\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 120,\n 180\n ],\n \"parameters\": {\n \"width\": 507.1052631578949,\n \"height\": 210.99380804953552,\n \"content\": \"## What this workflow does\\n\\u2714\\ufe0e 1) Get posts from reddit that might be about n8n\\n - Filter for the most relevant posts (posted in last 7 days and more than 5 upvotes and is original content)\\n\\n\\u2714\\ufe0e 2) Check if the post is actually about n8n\\n\\n\\u2714\\ufe0e 3) if it is, categorise with OpenAi.\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f3be9af5-b4ff-4...", "input": "", "output": "In node 'Error Handler', the parameter 'message' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `Workflow execution error`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Error Handler' parameter 'message'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ZCAkUSpaxzoRPbse\",\n \"meta\": {\n \"instanceId\": \"workflow-9db9a768\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.056978\",\n \"updatedAt\": \"2025-09-29T07:07:50.056999\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Search & Summarize Web Data with Perplexity, Gemini AI & Bright Data to Webhooks\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"674c6b61-76fa-4ac0-ab32-3f48ed5cba39\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1140,\n 400\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f6066e4c-4f6f-48fd-b19f-2c25fdc5b8b2\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"notes\": \"Gemini Experimental Model\",\n \"position\": [\n 760,\n 580\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.0-flash-thinking-exp-01-21\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"YeO7dHZnuGBVQKVZ\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1\n },\n {\n \"id\": \"e16a1442-924a-4558-90cb-1c9ddc606532\",\n \"name\": \"Default Data Loader\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 940,\n 580\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This documentDefaultDataLoader node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a8d9bc8e-c5f6-4d66-af60-9eecb9f6569c\",\n \"name\": \"Recursive Character Text Splitter\",\n \"type\":...", "input": "", "output": "The node 'Sticky Note' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"DRjTkkZrfqMbhifO\",\n \"meta\": {\n \"instanceId\": \"workflow-71897b01\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.090949\",\n \"updatedAt\": \"2025-09-29T07:07:50.090960\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Summarize Glassdoor Company Info with Google Gemini and Bright Data Web Scraper\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"b2f9fc15-9ccb-48be-ba3c-3a6033c39246\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 0,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"72ab6042-72f1-486e-9095-d17de2f441f4\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"notes\": \"Gemini Experimental Model\",\n \"position\": [\n 1320,\n -180\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.0-flash-thinking-exp-01-21\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"YeO7dHZnuGBVQKVZ\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1\n },\n {\n \"id\": \"58ac3287-2b92-4f09-85a3-9d5393dd9d2a\",\n \"name\": \"Default Data Loader\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1440,\n -177.5\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This documentDefaultDataLoader node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ad734713-959c-4e09-ac19-4df6b102678e\",\n \"name\": \"Recursive Character Text Splitter\",\n \"type\": ...", "input": "", "output": "The node 'HTTP Request to Glassdoor' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"kdbqXuxIR8qIxF7y\",\n \"name\": \"Header Auth account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'HTTP Request to Glassdoor' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-5af73ee9\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.118760\",\n \"updatedAt\": \"2025-09-29T07:07:50.118776\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"aa0c62d1-2a5e-4336-8783-a8a21cb23374\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1180,\n 760\n ],\n \"parameters\": {\n \"options\": {\n \"temperature\": 0\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"VQtv7frm7eLiEDnd\",\n \"name\": \"OpenAi account 7\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0c7d21e6-5bf6-4927-ad23-008b22e2ffde\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 280,\n 560\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"352de912-3a36-4bf2-b013-b46e0ace38e9\",\n \"name\": \"Generate French Audio\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 720,\n 560\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\\"text\\\":\\\"{{ $json.text }}\\\",\\\"model_id\\\":\\\"eleven_multilingual_v2\\\",\\\"voice_settings\\\":{\\\"stability\\\":0.5,\\\"similarity_boost\\\":0.5}}\",\n \"sendBody\": true,\n \"sendQuery\": true,\n \"sendHeaders\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpHeaderAuth\",\n \"queryParameters\": {\n \"parameters\": [\n {\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-9cff4ae9\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.094379\",\n \"updatedAt\": \"2025-09-29T07:07:50.094394\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"ea9ddb4c-af49-480c-8b73-221b3741069d\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 920,\n 400\n ],\n \"parameters\": {\n \"width\": 389,\n \"height\": 265,\n \"content\": \"## Scheduled posting \\nWrite a tweet every 6 hours and randomize the minutes that it's posted at to make it seem natural.\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9650b047-7d5e-4ed2-948c-d5be77a94b5d\",\n \"name\": \"Post tweet\",\n \"type\": \"n8n-nodes-base.twitter\",\n \"position\": [\n 2940,\n 520\n ],\n \"parameters\": {\n \"text\": \"={{ $json.message.content.tweet }}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"twitterOAuth2Api\": {\n \"id\": \"b3qa9dBp2PxbufK3\",\n \"name\": \"X account\"\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This twitter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fd7fc941-37de-4f88-87c0-f62ad1ebe2d6\",\n \"name\": \"Schedule posting every 6 hours\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 1140,\n 500\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\",\n \"hoursInterval\": 6,\n \"triggerAtMinute\": \"={{ Math.floor(Math.random() * 60) }}\"\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of th...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"U6cY7PPR0vaRl1I0\",\n \"meta\": {\n \"instanceId\": \"workflow-b0a762a0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.113632\",\n \"updatedAt\": \"2025-09-29T07:07:50.113654\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Scrape Web Data with Bright Data, Google Gemini and MCP Automated AI Agent\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"0c747f5b-ef72-4e00-a028-4a08461dae28\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"notes\": \"Bright Data Web Scraping Agent\",\n \"position\": [\n -140,\n 60\n ],\n \"parameters\": {\n \"text\": \"=Scrape the web data as per the provided URL: {{ $json.url }} using the format as {{ $json.format }}\",\n \"options\": {\n \"systemMessage\": \"=You are a helpful assistant.\"\n },\n \"promptType\": \"define\"\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1.8\n },\n {\n \"id\": \"16c7cd90-39da-47a4-8020-a0aa8f87275a\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -640,\n -300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7b544505-6b6b-4500-a2ad-f7cf62f98c13\",\n \"name\": \"MCP Client list all tools for Bright Data\",\n \"type\": \"n8n-nodes-mcp.mcpClient\",\n \"position\": [\n -380,\n -300\n ],\n \"parameters\": {},\n \"credentials\": {\n \"mcpClientApi\": {\n \"id\": \"JtatFSfA2kkwctYa\",\n \"name\": \"MCP Client (STDIO) account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This mcpClient node performs automated tasks as part of the workflow.\"\n },\n {\n...", "input": "", "output": "The node 'MCP Client Bright Data Web Scraper' (type: n8n-nodes-mcp.mcpClient) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"mcpClientApi\": {\n \"id\": \"JtatFSfA2kkwctYa\",\n \"name\": \"MCP Client (STDIO) account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'MCP Client Bright Data Web Scraper' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\"\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-25ef9229\"\n },\n {\n \"name\": \"Start\",\n \"type\": \"n8n-nodes-base.start\",\n \"position\": [\n 250,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-7acb63c1\"\n },\n {\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"responseFormat\": \"file\",\n \"headerParametersUi\": {\n \"parameter\": []\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-7f523d1f\"\n },\n {\n \"name\": \"HTTP Request1\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"requestMethod\": \"POST\",\n \"authentication\": \"{{ $credentials.oAuth1 }}\",\n \"jsonParameters\": true,\n \"sendBinaryData\": true,\n \"binaryPropertyName\": \"banner:data\"\n },\n \"credentials\": {\n \"oAuth1Api\": {\n \"id\": \"{{ $credentials.oAuth1Api.id }}\",\n \"name\": \"Unnamed credential\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-52ca665c\"\n },\n {\n \"id\": \"error-b2a77e45\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Production Workflow\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n ...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ViCY8FzVGcRsxVcK\",\n \"meta\": {\n \"instanceId\": \"workflow-c2154085\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.133735\",\n \"updatedAt\": \"2025-09-29T07:07:50.133749\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Sell a Used Car\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"282a99b3-986e-4e3e-a673-f100ebcbc7cc\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -20,\n 150\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"57d4671a-b782-46f1-8987-3100a2841aa4\",\n \"name\": \"Variables\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 200,\n 150\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"3c71f7f7-072c-47a0-8fa3-67c272d40e1c\",\n \"name\": \"car_description\",\n \"type\": \"string\",\n \"value\": \"VIN:\\u00a01FTRF17253NB81140 Milage: 221081 Zip code: 01952 Condition: Perfect, no interior or exterior damages, all tires are inflated, have 2 keys, working battery, has and attached catalytic converter, Airbags not deployed, No flood or fire damage. Ownership: full clean title with no debt answer yes to all other questions\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5ab2351d-08f5-46b6-b790-3c388572a4ae\",\n \"name\": \"Wait 7 secs\",\n \"type\": \"n8n-nodes-base.wait\",\n \"position\": [\n 1080,\n 150\n ],\n \"webhookId\": \"...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"VwU1zMhcgzgPS9ak\",\n \"meta\": {\n \"instanceId\": \"workflow-25f50b70\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.131074\",\n \"updatedAt\": \"2025-09-29T07:07:50.131126\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"List Builder\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"1a6aa574-467d-40b0-a9a5-a5537bede3de\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 0,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"62db9366-7e6f-4346-9de8-9fa730d059ed\",\n \"name\": \"Format results\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 660,\n 0\n ],\n \"parameters\": {\n \"jsCode\": \"// Get first input item\\nconst input = $input.first().json.data.modelResponse\\n// Parse list of links\\nconst listOfLinks = JSON.parse(input).results\\n// Format node's output\\nconst output = listOfLinks.map((item) => ({\\n json: { url: item.url }\\n}))\\n\\nreturn output;\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fa960de3-8dd6-40a3-aa59-634ad250f5d1\",\n \"name\": \"Get urls\",\n \"type\": \"n8n-nodes-base.airtop\",\n \"position\": [\n 440,\n 0\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"prompt\": \"=Those are search results, return up to 10 non-sponsored results that lead to a web page with a list of {{$json.who}} on {{$json.where}}. For each return the title and URL.\",\n \"resource\": \"extraction\",\n \"operation\": \"query\",\n \"sessionMode\": \"new\",\n ...", "input": "", "output": "The node 'Add to spreadsheet' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Add to spreadsheet'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"Xx4zOjRFLI8W9PiC\",\n \"meta\": {\n \"instanceId\": \"workflow-ff65467f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.138097\",\n \"updatedAt\": \"2025-09-29T07:07:50.138172\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Analyze Reddit Posts with AI to Identify Business Opportunities\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"52bdf7eb-ee1a-43c5-a0ad-199283003892\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1400,\n -640\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e9a000b6-2f35-4928-a8d8-aa2d8cc27513\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -360,\n -760\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\",\n \"cachedResultName\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"SOgg2BJ10kvhpBbS\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cd38a8b6-1369-4209-a80e-9e9949df49c0\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 680,\n -1080\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"SOgg2BJ1...", "input": "", "output": "The node 'Merge Input' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Merge Input'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"YoUP55V241b9F2ze\",\n \"meta\": {\n \"instanceId\": \"workflow-56553839\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.171073\",\n \"updatedAt\": \"2025-09-29T07:07:50.171085\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Qdrant Vector Database Embedding Pipeline\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"934ffad4-c93e-40c1-b4fd-1c09b518a9c3\",\n \"name\": \"Qdrant Vector Store\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 460,\n -460\n ],\n \"parameters\": {\n \"mode\": \"insert\",\n \"options\": {},\n \"qdrantCollection\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"sv_lang_data\",\n \"cachedResultName\": \"sv_lang_data\"\n },\n \"embeddingBatchSize\": 100\n },\n \"credentials\": {\n \"qdrantApi\": {\n \"id\": \"vUb9tbEnXzu7uNUb\",\n \"name\": \"QdrantApi svenska\"\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This vectorStoreQdrant node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4127d85d-45c9-4536-a15d-08af9dfdcfa8\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -960,\n -460\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"abb61b81-72e0-468e-855b-72402db828fc\",\n \"name\": \"Embeddings OpenAI\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 400,\n -240\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"kftHaZgVKiB9BmKU\",\n \"name\": \"OpenAi account\"\n }...", "input": "", "output": "The node 'Downloading item' (type: n8n-nodes-base.ftp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"ftp\": {\n \"id\": \"JufoKeNjsIgbCBWe\",\n \"name\": \"FTP account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Downloading item' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"cDmsWx8ASzIxE3zw\",\n \"meta\": {\n \"instanceId\": \"workflow-48d79be2\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.156959\",\n \"updatedAt\": \"2025-09-29T07:07:50.156975\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Update all Zammad Roles to default values\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"32904945-fd7b-413f-898c-62b04406dfb0\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -920,\n 160\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cbb0abd2-e153-477a-9346-00eaa1628c78\",\n \"name\": \"Zammad Univeral User Object\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 100,\n 220\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"user_id\",\n \"value\": \"={{ $json.id }}\"\n },\n {\n \"name\": \"organization_id\",\n \"value\": \"={{ $json.organization_id }}\"\n }\n ],\n \"string\": [\n {\n \"name\": \"email\",\n \"value\": \"={{ $json.email }}\"\n },\n {\n \"name\": \"firstname\",\n \"value\": \"={{ $json.firstname }}\"\n },\n {\n \"name\": \"lastname\",\n \"value\": \"={{ $json.lastname }}\"\n },\n {\n \"name\": \"role_ids\",\n \"value\": \"={{ $json.role_ids.join() }}\\n\"\n },\n {\n \"name\": \"groups\",\n \"value\": \"={{ $json.group_ids }}\"\n },\n {\n \"nam...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"cKFPrgXstN3JgdJs:\n \"meta\": {\n \"instanceId\": \"workflow-36a9fe29\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.170384\",\n \"updatedAt\": \"2025-09-29T07:07:50.170434\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Extract & Summarize Yelp Business Review with Bright Data and Google Gemini\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"b7847e5b-1855-4bce-a9ba-123053085f99\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 340,\n -535\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9bee5052-3aeb-4a76-a688-3128c20877ec\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 780,\n -820\n ],\n \"parameters\": {\n \"width\": 420,\n \"height\": 220,\n \"content\": \"## LLM Usages\\n\\nGoogle Gemini Flash Exp model is being used.\\n\\nBasic LLM Chain with the Output parser for building the structured data.\\n\\nSummarization Chain to summarize the structured response.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ee05bcc3-0971-4e8c-9e2d-89708fc4ecf4\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 320,\n -820\n ],\n \"parameters\": {\n \"width\": 400,\n \"height\": 220,\n \"content\": \"## Note\\n\\nDeals with the Yelp Business Review data extraction using the Bright Data and LLM for structured data extraction and summarization.\\n\\n**Please make sure to update the \\\"Set Yelp URL with...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"dDInVHNAfSedBUCb:\n \"meta\": {\n \"instanceId\": \"workflow-eb4760f8\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.179298\",\n \"updatedAt\": \"2025-09-29T07:07:50.179305\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Splitinbatches Workflow\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"09c19ba1-45f2-43af-9985-3508d801c1b7\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 440,\n 0\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"18625b1d-f8ff-4e48-8b64-a9d42d24eccc\",\n \"name\": \"Click to Test Flow\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 40,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"649933c4-b16b-46de-9038-7d8c0b3d8e88\",\n \"name\": \"Get emails from Gmail with certain subject\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 220,\n 0\n ],\n \"webhookId\": \"99c4deca-17c7-47ae-a38c-50344938e792\",\n \"parameters\": {\n \"simple\": false,\n \"filters\": {\n \"q\": \"subject:\\u900f\\u904e Uber Eats \\u7cfb\\u7d71\\u9001\\u51fa\\u7684\\u8a02\\u55ae\"\n },\n \"options\": {},\n \"operation\": \"getAll\",\n \"returnAll\": true\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"34rX9kxKlJadOY6u\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmail node performs automated tasks as part of the workflow.\"\n },\n ...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"do4h6jnTGWDjCXV7\",\n \"meta\": {\n \"instanceId\": \"workflow-06af92e3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.194938\",\n \"updatedAt\": \"2025-09-29T07:07:50.194949\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Merge\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"513658bc-f898-431c-a005-973013fb12a3\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -840,\n -200\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5ba22d17-af12-4665-85c5-f704835f71a4\",\n \"name\": \"Write Result File to Disk\",\n \"type\": \"n8n-nodes-base.readWriteFile\",\n \"position\": [\n -100,\n -200\n ],\n \"parameters\": {\n \"options\": {},\n \"fileName\": \"document.pdf\",\n \"operation\": \"write\",\n \"dataPropertyName\": \"=data1\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This readWriteFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2bf6b07f-068d-4bbd-8d59-93768118c07c\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -340,\n -340\n ],\n \"parameters\": {\n \"width\": 218,\n \"height\": 132,\n \"content\": \"## Authentication\\nConversion requests must be authenticated. Please create \\n[ConvertAPI account to get authentication secret]({{ $env.API_BASE_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e1f7f9b3-6806-42e6-83f8-cdd3f45f236e\",\n \"name\": \"Download first remote PDF File...", "input": "", "output": "The workflow has a broken data flow. The node 'e1f7f9b3-6806-42e6-83f8-cdd3f45f236e' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'e1f7f9b3-6806-42e6-83f8-cdd3f45f236e'.\n\n**Impact**: Data from 'e1f7f9b3-6806-42e6-83f8-cdd3f45f236e' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'e1f7f9b3-6806-42e6-83f8-cdd3f45f236e' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"e1f7f9b3-6806-42e6-83f8-cdd3f45f236e\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'e1f7f9b3-6806-42e6-83f8-cdd3f45f236e' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"emPRhyWgxygwHgWh\",\n \"meta\": {\n \"instanceId\": \"workflow-b64734d3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.178381\",\n \"updatedAt\": \"2025-09-29T07:07:50.178390\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Compare 2 SQL datasets\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"df04c503-d4af-4e8f-bcc3-f1fd02d3a332\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 780,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6fe78ae6-7325-4062-ab58-457dc1d985c4\",\n \"name\": \"Compare Datasets\",\n \"type\": \"n8n-nodes-base.compareDatasets\",\n \"position\": [\n 1560,\n 320\n ],\n \"parameters\": {\n \"options\": {\n \"multipleMatches\": \"all\"\n },\n \"mergeByFields\": {\n \"values\": [\n {\n \"field1\": \"customerNumber\",\n \"field2\": \"customerNumber\"\n },\n {\n \"field1\": \"year\",\n \"field2\": \"year\"\n }\n ]\n }\n },\n \"typeVersion\": 2.3,\n \"notes\": \"This compareDatasets node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0dae008c-242d-4757-a5a4-a075bde54cb6\",\n \"name\": \"Orders from 2003 and 2004\",\n \"type\": \"n8n-nodes-base.mySql\",\n \"position\": [\n 1080,\n 220\n ],\n \"parameters\": {\n \"query\": \"SELECT customerNumber, SUM(amount) as Total, COUNT(*) as ordercount, YEAR(paymentDate) as year\\nFROM payments\\nWHERE YEAR(paymentDate) = '2003' OR YEAR(paymentDate) = '2004'\\nGROUP BY customerNumber, ye...", "input": "", "output": "In node 'Error Handler', the parameter 'message' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `Workflow execution error`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Error Handler' parameter 'message'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"fEJliGTxbsE0G8z2\",\n \"meta\": {\n \"instanceId\": \"workflow-2e865b02\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.184021\",\n \"updatedAt\": \"2025-09-29T07:07:50.184076\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Create Google Creds\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"92174182-12ab-4903-aa1c-d7a872fcadc0\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 0,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e78da252-0302-42d6-b067-aaeb75f4ee3b\",\n \"name\": \"Services\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 600,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"33c46c17-3b0d-43eb-a9c9-3d1b8a71728f\",\n \"name\": \"services\",\n \"type\": \"array\",\n \"value\": \"\\n[\\n {\\n \\\"service\\\": \\\"googleDocsOAuth2Api\\\"\\n },\\n {\\n \\\"service\\\": \\\"googleSheetsOAuth2Api\\\"\\n },\\n {\\n \\\"service\\\": \\\"googleSlidesOAuth2Api\\\"\\n },\\n {\\n \\\"service\\\": \\\"googleDriveOAuth2Api\\\"\\n },\\n {\\n \\\"service\\\": \\\"gmailOAuth2\\\"\\n },\\n {\\n \\\"service\\\": \\\"googleCalendarOAuth2Api\\\"\\n },\\n {\\n \\\"service\\\": \\\"googleContactsOAuth2Api\\\"\\n }\\n]\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1a387d21-b7a0-426b-bacb-6bcd5ec389a7\",\n \"name\": \"Google JSON\",\n \"type\": \"n8n-nodes-base.set\",\n \"notes\": \"Include the entire...", "input": "", "output": "In node 'n8n Create Credentials', the parameter 'credentialTypeName' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `YOUR_CREDENTIAL_HERE`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'n8n Create Credentials' parameter 'credentialTypeName'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"gUx6hY0bOoReluxE\",\n \"meta\": {\n \"instanceId\": \"workflow-8082a6d6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.195420\",\n \"updatedAt\": \"2025-09-29T07:07:50.195427\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Supabase Setup Postgres\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"c2c95cc1-d10e-40c9-9663-625e8a2ab30b\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 340,\n -80\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"30a4ae0f-c7ae-4b00-b826-a0a2759f2dd5\",\n \"name\": \"Set sample Input Variables\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 600,\n -80\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"ed7bc826-fd48-4c9e-8ba7-11e4e7bb73ac\",\n \"name\": \"session_id\",\n \"type\": \"string\",\n \"value\": \"=491634502879\"\n },\n {\n \"id\": \"d381c930-a92f-404f-ac91-ad6437d6b0c9\",\n \"name\": \"name\",\n \"type\": \"string\",\n \"value\": \"=Genn Sverster\"\n },\n {\n \"id\": \"4ead1fb5-098b-4cbc-bc78-d65b188ca5b0\",\n \"name\": \"chatInput\",\n \"type\": \"string\",\n \"value\": \"=wie gehts dir?\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f56b629c-5374-43ce-b55b-efd7f14f1231\",\n \"name\": \"GeminiFlash2.0\",\n \"type\": \"n...", "input": "", "output": "The node 'Supabase Postgres Database' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"postgres\": {\n \"id\": \"B2m18ScvYBKPNF9s\",\n \"name\": \"Supabase SD - N8N Demo Chatbot\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Supabase Postgres Database' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"gkOayLvJnwcTiHbk\",\n \"meta\": {\n \"instanceId\": \"workflow-6ca0ecf2\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.205360\",\n \"updatedAt\": \"2025-09-29T07:07:50.205376\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"itemMatching() example\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"ba0e23f6-aec6-4c22-8e7c-ab4fc65c7767\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 640,\n 500\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8434c3b4-5b80-48e5-803b-b84eb750b2c5\",\n \"name\": \"Customer Datastore (n8n training)\",\n \"type\": \"n8n-nodes-base.n8nTrainingCustomerDatastore\",\n \"position\": [\n 880,\n 500\n ],\n \"parameters\": {\n \"operation\": \"getAllPeople\",\n \"returnAll\": true\n },\n \"typeVersion\": 1,\n \"notes\": \"This n8nTrainingCustomerDatastore node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4750754a-92a6-44d2-a353-22fbb51a4d00\",\n \"name\": \"Code\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 1440,\n 500\n ],\n \"parameters\": {\n \"language\": \"python\",\n \"pythonCode\": \"for i,item in enumerate(_input.all()):\\n _input.all()[i].json.restoreEmail = _('Customer Datastore (n8n training)').itemMatching(i).json.email\\n\\nreturn _input.all();\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9ac437bd-0d0d-4d92-845a-a1c9a7976d4d\",\n \"name\": \"Edit Fields\",\n \"type\": \"n8n-nodes-base.set\",\n \"positi...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"i89dNLYeOVdTwtcL\"\n \"meta\": {\n \"instanceId\": \"workflow-a55ab3f2\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.211054\",\n \"updatedAt\": \"2025-09-29T07:07:50.211070\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Extract & Summarize Indeed Company Info with Bright Data and Google Gemini\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"f5b44c95-12f2-44c1-a736-034127a713bb\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 200,\n -440\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c199c5a7-d015-4f48-9fef-a5a1e5b5acd4\",\n \"name\": \"Google Gemini Chat Model For Summarization\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1320,\n -260\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.0-flash-exp\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"YeO7dHZnuGBVQKVZ\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatGoogleGemini node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f6c1d4a7-ed4c-412f-af26-8714171ecc62\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 20,\n -860\n ],\n \"parameters\": {\n \"width\": 400,\n \"height\": 300,\n \"content\": \"## Note\\n\\nDeals with the Indeed Company web scraping by utilizing Bright Data Web Unlocker Product.\\n\\nThe Basic LLM Chain, Summarization and AI Agent are being used to demonstrate the usage of the N8...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"iA0rm7IWi7xmY5sQ\",\n \"meta\": {\n \"instanceId\": \"workflow-a7919df3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.203074\",\n \"updatedAt\": \"2025-09-29T07:07:50.203134\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Get Long Lived Facebook User or Page Access Token\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"2a5077ad-89ee-4659-93a9-e01bcceba0ad\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 480,\n 280\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e2c7ce4c-fbf9-4552-8a9e-5b41d72c8921\",\n \"name\": \"Get Long Lived FB User Token\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1000,\n 280\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"options\": {\n \"response\": {\n \"response\": {\n \"fullResponse\": true\n }\n }\n },\n \"sendQuery\": true,\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \" grant_type\",\n \"value\": \"fb_exchange_token\"\n },\n {\n \"name\": \" client_id\",\n \"value\": \"={{ $json[' client_id'] }}\"\n },\n {\n \"name\": \" client_secret\",\n \"value\": \"={{ $json[' client_secret'] }}\"\n },\n {\n \"name\": \" fb_exchange_token\",\n \"value\": \"={{ $json.user_access_token }}\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"kZarev2IMUaKHhCI\",\n \"meta\": {\n \"instanceId\": \"workflow-6f6dc7dc\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.226328\",\n \"updatedAt\": \"2025-09-29T07:07:50.226349\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Auto - Resume Disabled Workflows\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"fc7224f0-96d6-4c6d-a7c5-afbd49d60fc8\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 820,\n 700\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"50661eea-325f-4131-92f6-0e3112ea6714\",\n \"name\": \"Get Auto Resume Workflows\",\n \"type\": \"n8n-nodes-base.n8n\",\n \"position\": [\n 1040,\n 600\n ],\n \"parameters\": {\n \"filters\": {\n \"tags\": \"auto_resume:true\"\n }\n },\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"r2RZq6ObikiqFu1y\",\n \"name\": \"n8n account\"\n }\n },\n \"retryOnFail\": true,\n \"typeVersion\": 1,\n \"notes\": \"This n8n node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3c845ca2-4a6d-40ed-ad11-b92c425f852d\",\n \"name\": \"Find Deactivated Workflows\",\n \"type\": \"n8n-nodes-base.filter\",\n \"position\": [\n 1260,\n 600\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"ce7b707c-d74e-4ca8-8081-53b15ff3f8a3\",\n \"operator\": {...", "input": "", "output": "The node 'Activate Workflow' (type: n8n-nodes-base.n8n) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"n8nApi\": {\n \"id\": \"r2RZq6ObikiqFu1y\",\n \"name\": \"n8n account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Activate Workflow' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"lifB7iUXlDzr5dmI\",\n \"meta\": {\n \"instanceId\": \"workflow-b9eb9d03\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.228304\",\n \"updatedAt\": \"2025-09-29T07:07:50.228313\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"LinkedIn Profile Discovery\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"9ae64a3a-c7e7-45ca-88ee-ebf6144f3197\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 0,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a22416bb-ef9e-422f-b480-cd52d8c93bfa\",\n \"name\": \"Person info\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 220,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gid=0\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Sheet1\"\n },\n \"documentId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1rjlKzphEbknNh_ToS9pR_dP_Tw93FsxDte5AI4LH5_E\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Linkedin Profile URLs\"\n }\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"CwpCAR1HwgHZpRtJ\",\n \"name\": \"Google Drive\"\n }\n },\n \"typeVersion\": 4.5,\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a4699dd8-54ef-478e-9ff8-2c2046ad6ea8\",\n \"name\": \"Search profile\",\n \"type\": \"n8n-nodes-base.airtop\",\n \"notes\": \"This c...", "input": "", "output": "The node 'Search profile' (type: n8n-nodes-base.airtop) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"airtopApi\": {\n \"id\": \"byhouJF8RLH5DkmY\",\n \"name\": \"Airtop\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Search profile' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"q1DorytEoEw1QLGj:\n \"meta\": {\n \"instanceId\": \"workflow-adbfd9fd\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.227617\",\n \"updatedAt\": \"2025-09-29T07:07:50.227630\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Generate Company Stories from LinkedIn with Bright Data & Google Gemini\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"1424195e-79ec-48e8-9bb6-fbae072aca81\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1440,\n 245\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"509519c2-efe9-4191-87af-9c5c782350d6\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"notes\": \"Gemini Experimental Model\",\n \"position\": [\n 696,\n 540\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.0-flash-thinking-exp-01-21\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"YeO7dHZnuGBVQKVZ\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1\n },\n {\n \"id\": \"3be8be65-38c2-4500-8676-925bdf7844ac\",\n \"name\": \"Default Data Loader\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 816,\n 542.5\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This documentDefaultDataLoader node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"65b72f55-6424-487b-a622-879589d43344\",\n \"name\": \"Recursive Character Text Splitter\",\n \"type\": \"n8n-no...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"q8GNbRhjQDwDpXoo\",\n \"meta\": {\n \"instanceId\": \"workflow-7c3541a1\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.747791\",\n \"updatedAt\": \"2025-09-29T07:07:50.747806\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"How to automatically import CSV files into postgres\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"9ae270f2-6e32-4a14-8a03-634b9c66004d\",\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -340,\n -80\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"96de1409-9c48-4357-aaef-2202dec478a9\",\n \"name\": \"Read From File\",\n \"type\": \"n8n-nodes-base.readBinaryFile\",\n \"position\": [\n -140,\n -80\n ],\n \"parameters\": {\n \"filePath\": \"={{ $json.deeply.nested.undefined.path }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This readBinaryFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"22b002df-51fd-4074-8741-c9a754996170\",\n \"name\": \"Convert To Spreadsheet\",\n \"type\": \"n8n-nodes-base.spreadsheetFile\",\n \"position\": [\n 60,\n -80\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This spreadsheetFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0ec04e46-be13-40c3-a4a4-60787bf02a1f\",\n \"name\": \"Postgres\",\n \"type\": \"n8n-nodes-base.postgres\",\n \"position\": [\n 320,\n -80\n ],\n \"parameters\": {\n \"table\": {\n \"__rl\": true,\n \"mode\": \"name\",\n \"value\": \"t1\"\n },\n \"schema\": {\n ...", "input": "", "output": "In node 'Read From File', the parameter 'filePath' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `/tmp/t1.csv`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Read From File' parameter 'filePath'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"sczRNO4u1HYc5YV7\",\n \"meta\": {\n \"instanceId\": \"workflow-ac4fb2f7\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.734787\",\n \"updatedAt\": \"2025-09-29T07:07:50.734808\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Extract & Summarize Wikipedia Data with Bright Data and Gemini AI\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"0f4b4939-6356-4672-ae61-8d1daf66a168\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 340,\n -440\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"167e060a-c36c-462a-826c-81ef379c824b\",\n \"name\": \"Google Gemini Chat Model For Summarization\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1520,\n -60\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.0-flash-exp\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"YeO7dHZnuGBVQKVZ\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatGoogleGemini node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a51f2634-8b59-4feb-be39-674e8f198714\",\n \"name\": \"Google Gemini Chat Model2\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1000,\n -240\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.0-pro-exp\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"YeO7dHZnuGBVQKVZ\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n ...", "input": "", "output": "The workflow has a broken data flow. The node '30008ce4-4de2-43c5-bb03-94db58262f86' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '30008ce4-4de2-43c5-bb03-94db58262f86'.\n\n**Impact**: Data from '30008ce4-4de2-43c5-bb03-94db58262f86' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '30008ce4-4de2-43c5-bb03-94db58262f86' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"30008ce4-4de2-43c5-bb03-94db58262f86\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '30008ce4-4de2-43c5-bb03-94db58262f86' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"wGv0NPBA0QLp4rQ6\",\n \"meta\": {\n \"instanceId\": \"workflow-a839431a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.752408\",\n \"updatedAt\": \"2025-09-29T07:07:50.752661\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Upload video to drive via google script\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"b89e494d-f85d-4ad5-b0ba-5699f59a58d5\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -300,\n -40\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"061597f1-d57d-4733-bc9f-3a3070bd5e95\",\n \"name\": \"Rename Uploaded Video\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 180,\n -40\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"url\",\n \"value\": \"={{ $json.driveUrl }}\"\n },\n \"options\": {},\n \"operation\": \"update\",\n \"newUpdatedFileName\": \"Music Video 1\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"l8Cc2MEVE7foBfbK\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 3,\n \"notes\": \"This googleDrive node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7e8ff194-fdb7-43e4-afde-bba466ac9dd3\",\n \"name\": \"Send URL to GDrive Script and Upload\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -60,\n -40\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={{ $json.deeply.nested.undefined.path }}\",\n...", "input": "", "output": "In node 'Send URL to GDrive Script and Upload', the parameter 'jsonBody' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `{\n \"videoUrl\": \"{{ $env.API_BASE_URL }}\",\n \"secret\": \"your-strong-secret-here\"\n}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Send URL to GDrive Script and Upload' parameter 'jsonBody'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"wTI77cpLkbxsRQat\",\n \"meta\": {\n \"instanceId\": \"workflow-a23548dd\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.743067\",\n \"updatedAt\": \"2025-09-29T07:07:50.743108\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Brand Content Extract, Summarize & Sentiment Analysis with Bright Data\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"646ef542-c601-4103-87e6-6fa9616d8c52\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 120,\n -560\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"00b4ce90-c4f2-41c4-8943-7db3d0c3f81a\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 100,\n -320\n ],\n \"parameters\": {\n \"width\": 400,\n \"height\": 300,\n \"content\": \"## Note\\n\\nThis workflow deals with the brand content extraction by utilizing the Bright Data Web Unlocker Product.\\n\\nThe Basic LLM Chain, Information Extraction, Summarization Chain are being used to demonstrate the usage of the N8N AI capabilities.\\n\\n**Please make sure to set the web URL of your interest within the \\\"Set URL and Bright Data Zone\\\" node and update the Webhook Notification URL**\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5cc35b9b-7483-404e-96a3-1688f7b9078b\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 540,\n -320\n ],\n \"parameters\": {\n \"width\": 480,\n \"height\": 300,\n \"content\": \"...", "input": "", "output": "In node 'Sticky Note3', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `## Sentiment Analysis`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note3' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"wZBgoWrBZveMmzYi\",\n \"meta\": {\n \"instanceId\": \"workflow-fa41d8b3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.760546\",\n \"updatedAt\": \"2025-09-29T07:07:50.760562\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Turn YouTube Videos into Summaries, Transcripts, and Visual Insights\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"61c56de7-0d8e-44fe-baf3-3e33ddd35b21\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1340,\n 120\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4e43030c-16cd-4b77-8c58-c3b703646a16\",\n \"name\": \"Set: Define Initial Variables\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -840,\n 120\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"72590fa0-cf12-4249-80fc-7aaec9992390\",\n \"name\": \"automationID\",\n \"type\": \"string\",\n \"value\": \"optional-enter-reference-tracking-identifier\"\n },\n {\n \"id\": \"24e9b1c3-2955-4e0b-9b4b-a6b9d046fb72\",\n \"name\": \"apiKey\",\n \"type\": \"string\",\n \"value\": \"enter-your-api-key-here\"\n },\n {\n \"id\": \"b6600a42-1b8d-486a-a51d-0868bc45452e\",\n \"name\": \"youtubeURL\",\n \"type\": \"string\",\n \"value\": \"{{ $env.WEBHOOK_URL }}\"\n },\n {\n \"id\": \"ce9a9a40-5ae4-4106-ae61-0daba2ec185f\",\n \"name\": \"promptType\",\n \"type\": \"string\",\n ...", "input": "", "output": "The workflow has a broken data flow. The node '062b5d41-27bb-4e67-8ffa-6e3e392fb437' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '062b5d41-27bb-4e67-8ffa-6e3e392fb437'.\n\n**Impact**: Data from '062b5d41-27bb-4e67-8ffa-6e3e392fb437' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '062b5d41-27bb-4e67-8ffa-6e3e392fb437' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"062b5d41-27bb-4e67-8ffa-6e3e392fb437\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '062b5d41-27bb-4e67-8ffa-6e3e392fb437' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"xQ0xqhNzFeEdBpFK\",\n \"meta\": {\n \"instanceId\": \"workflow-21a9687b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.768456\",\n \"updatedAt\": \"2025-09-29T07:07:50.768483\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Generate 360\\u00b0 Virtual Try-on Videos for Clothing with Kling API\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"978b4ac4-0357-4d2b-8a02-7da04e6f3f1f\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 160,\n 140\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"54d1c23f-3a13-4ec0-9b3b-3806e5faae18\",\n \"name\": \"Kling Virtual Try-On Task\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 620,\n 140\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"model\\\": \\\"kling\\\",\\n \\\"task_type\\\": \\\"ai_try_on\\\",\\n \\\"input\\\": {\\n \\\"model_input\\\": \\\"{{ $json.model_input }}\\\",\\n \\\"dress_input\\\": \\\"{{ $json.dress_input }}\\\",\\n \\\"upper_input\\\": \\\"{{ $json.upper_input }}\\\",\\n \\\"lower_input\\\": \\\"{{ $json.lower_input }}\\\",\\n \\\"batch_size\\\": 1\\n }\\n} \",\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"specifyBody\": \"json\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"x-api-key\",\n \"value\": \"={{ $json['x-api-key'] }}\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5b...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"xcl8D1sukz9Rak69\",\n \"meta\": {\n \"instanceId\": \"workflow-553d6d30\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.785341\",\n \"updatedAt\": \"2025-09-29T07:07:50.785406\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Import CSV from URL to Excel\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"580d8a47-32cc-4976-a464-793523ae3d1e\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 860,\n 380\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2ca1b012-db79-415a-8983-53ac23cd42d1\",\n \"name\": \"Import CSV\",\n \"type\": \"n8n-nodes-base.spreadsheetFile\",\n \"position\": [\n 1260,\n 380\n ],\n \"parameters\": {\n \"options\": {\n \"delimiter\": \";\",\n \"headerRow\": true\n },\n \"fileFormat\": \"csv\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This spreadsheetFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5bc0a423-91bc-4b52-af05-2869223bbbff\",\n \"name\": \"Download CSV\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1060,\n 380\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {\n \"response\": {\n \"response\": {\n \"responseFormat\": \"file\"\n }\n }\n }\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d403206d-e53c-44d7-b39e-361fa8fc3a23\",\n \"name\": \"Convert to Excel\",\n \"type\": \"n8n-nodes-base.spreadsheetFi...", "input": "", "output": "The workflow has a broken data flow. The node 'd403206d-e53c-44d7-b39e-361fa8fc3a23' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'd403206d-e53c-44d7-b39e-361fa8fc3a23'.\n\n**Impact**: Data from 'd403206d-e53c-44d7-b39e-361fa8fc3a23' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'd403206d-e53c-44d7-b39e-361fa8fc3a23' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"d403206d-e53c-44d7-b39e-361fa8fc3a23\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'd403206d-e53c-44d7-b39e-361fa8fc3a23' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"xyLfWaqdIoZmbTfv\",\n \"meta\": {\n \"instanceId\": \"workflow-c14db529\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.800482\",\n \"updatedAt\": \"2025-09-29T07:07:50.800525\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"ICP Company Scoring\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"c155fe86-f253-4a94-bee7-0ca70506a7ec\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -120,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"58ce6a8a-03e8-499a-8a53-c2efe852ccc6\",\n \"name\": \"Get companies\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 100,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": 1729280298,\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Company\"\n },\n \"documentId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1WC_awgb-Ohtb0f4o_OJgRcvunTLuS8kFQgk6l8fkR2Q\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"ICP Score for Template\"\n }\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"CwpCAR1HwgHZpRtJ\",\n \"name\": \"Google Drive\"\n }\n },\n \"typeVersion\": 4.5,\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fcd9a28f-4f22-405b-9f1c-b1f313aee4c8\",\n \"name\": \"Calculate ICP Scoring\",\n \"type\": \"n8n-nodes-base.airtop\",\n \"posit...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"xzKlhjcc6QEzA98Z\",\n \"meta\": {\n \"instanceId\": \"workflow-8623366b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.793098\",\n \"updatedAt\": \"2025-09-29T07:07:50.793126\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Update Roles by Excel\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"580d8a47-32cc-4976-a464-793523ae3d1e\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 80,\n 140\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f37ea772-a953-4b5b-8e54-c76e42938544\",\n \"name\": \"Extract from File\",\n \"type\": \"n8n-nodes-base.extractFromFile\",\n \"position\": [\n 760,\n 140\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"xlsx\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This extractFromFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"60ab7913-d421-41cd-af04-ccec2ed6838e\",\n \"name\": \"Merge\",\n \"type\": \"n8n-nodes-base.merge\",\n \"position\": [\n 1700,\n 120\n ],\n \"parameters\": {\n \"mode\": \"combine\",\n \"options\": {},\n \"fieldsToMatchString\": \"email\"\n },\n \"typeVersion\": 3,\n \"notes\": \"This merge node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ad6719b4-95dc-419e-94cb-97039014be62\",\n \"name\": \"Basic Variables\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 320,\n 140\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"68b32087-...", "input": "", "output": "The workflow has a broken data flow. The node 'f37ea772-a953-4b5b-8e54-c76e42938544' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'f37ea772-a953-4b5b-8e54-c76e42938544'.\n\n**Impact**: Data from 'f37ea772-a953-4b5b-8e54-c76e42938544' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'f37ea772-a953-4b5b-8e54-c76e42938544' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"f37ea772-a953-4b5b-8e54-c76e42938544\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'f37ea772-a953-4b5b-8e54-c76e42938544' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"zAkPoRdcG5M5x4KT\",\n \"meta\": {\n \"instanceId\": \"workflow-9f2ddb8f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.811640\",\n \"updatedAt\": \"2025-09-29T07:07:50.811650\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Perform an email search with Icypeas (single)\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"7bd55522-62dd-40da-939d-e10c185dd44d\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 1220,\n 480\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"422bb377-afe7-4332-a134-15af150e8006\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1060,\n 220\n ],\n \"parameters\": {\n \"height\": 243.6494382022472,\n \"content\": \"## Perform an email search with Icypeas (single)\\n\\nThis workflow demonstrates how to perform an email search using Icypeas. Visit {{ $env.WEBHOOK_URL }} to create your account.\\n\\n\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a95bd610-e5e3-4343-afcc-4af22dca1f8f\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1367,\n 296\n ],\n \"parameters\": {\n \"width\": 506,\n \"height\": 1042.9602832148855,\n \"content\": \"## Authenticates to your Icypeas account\\n\\nThis code node utilizes your API key, API secret, and User ID to establish a connection with your Icypeas account.\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nOpen this node and insert your API Key, API se...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ziJG3tgG91Gkbina\",\n \"meta\": {\n \"instanceId\": \"workflow-9379ea43\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.809828\",\n \"updatedAt\": \"2025-09-29T07:07:50.809842\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"n8n-\\u8fb2\\u7522\\u54c1\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"07d7241d-480b-4d53-96ba-485d1dc469f6\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 0,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"02dfaea7-be8c-49fd-a869-39cccf6e6dde\",\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 220,\n 0\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"sendQuery\": true,\n \"sendHeaders\": true,\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"Start_time\",\n \"value\": \"2024/12/01\"\n },\n {\n \"name\": \"End_time\",\n \"value\": \"2024/12/31\"\n },\n {\n \"name\": \"MarketName\",\n \"value\": \"\\u53f0\\u5317\\u4e8c\"\n },\n {\n \"name\": \"api_key\",\n \"value\": \"3AFID4BGE9PDQ2WTFDO1X61H4RNQLE\"\n }\n ]\n },\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"accept\",\n \"value\": \"application/json\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the work...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"zlHbtHIcCZ9enKwg\",\n \"meta\": {\n \"instanceId\": \"workflow-ef0f9c8a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.783163\",\n \"updatedAt\": \"2025-09-29T07:07:50.783178\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"v1 helper - Find params with affected expressions\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"b3dd44ca-960f-4689-9545-30a05dc0441e\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 580,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"96db239d-05b6-4e1d-b101-e66c2a9708f6\",\n \"name\": \"n8n\",\n \"type\": \"n8n-nodes-base.n8n\",\n \"position\": [\n 800,\n 320\n ],\n \"parameters\": {\n \"filters\": {\n \"activeWorkflows\": true\n }\n },\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"hcJ2iZYYgs54eCaT\",\n \"name\": \"n8n account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This n8n node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b2286f6b-ba37-433c-b22a-95032bc25b6e\",\n \"name\": \"Find params with affected expressions\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 1040,\n 320\n ],\n \"parameters\": {\n \"jsCode\": \"const AFFECTED_EXTENSIONS = ['beginningOf', 'endOfMonth', 'minus', 'plus'];\\n\\nconst isExpression = (value) => typeof value === 'string' && value.startsWith('={{');\\n\\nconst containsAny = (str, substrings) => {\\n for (const substring of substrings) {\\n if (str.includes(substring)) return true;\\n }\\n \\n return false;\\n}\\n\\nconst isAffected =...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"LMMle9xFHQxXUWQy\",\n \"meta\": {\n \"instanceId\": \"workflow-14b750ac\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.833239\",\n \"updatedAt\": \"2025-09-29T07:07:50.833257\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Airtable markdown to html\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"ae8fad3b-7108-4a7a-a6d6-13e249c41ad7\",\n \"name\": \"Check if it's 1 record or all records - Airtable\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1460,\n 760\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"985d1b48-78d1-4cd8-bd89-c4c2cb8f1e94\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"exists\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.query.recordId }}\",\n \"rightValue\": \"all\"\n }\n ]\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c2a99d03-3570-4956-8e1e-06d6d72af7cd\",\n \"name\": \"Get single record from airtable\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 1660,\n 740\n ],\n \"parameters\": {\n \"id\": \"={{ $json.query.recordId }}\",\n \"base\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"appk2iZaWQLO3Tqvx\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"360Creators\"\n },\n \"table\": {\n \"__rl\": tr...", "input": "", "output": "The workflow has a broken data flow. The node '5cffbbdb-936c-4aa9-8e2d-9b8868f7db03' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '5cffbbdb-936c-4aa9-8e2d-9b8868f7db03'.\n\n**Impact**: Data from '5cffbbdb-936c-4aa9-8e2d-9b8868f7db03' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '5cffbbdb-936c-4aa9-8e2d-9b8868f7db03' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"5cffbbdb-936c-4aa9-8e2d-9b8868f7db03\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '5cffbbdb-936c-4aa9-8e2d-9b8868f7db03' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"9\",\n \"name\": \"Coffee Bot (Matrix)\",\n \"nodes\": [\n {\n \"name\": \"Greetings\",\n \"type\": \"n8n-nodes-base.matrix\",\n \"position\": [\n 670,\n 240\n ],\n \"parameters\": {\n \"text\": \"\\ud83d\\udc4b Happy Monday Groups for this week's virtual coffee are:\",\n \"roomId\": \"Enter your Room ID\"\n },\n \"credentials\": {\n \"matrixApi\": \"Matrix Creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"59dd59af-bed8-41ed-aa22-d271096565c1\",\n \"notes\": \"This matrix node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Employees in coffee chat channel\",\n \"type\": \"n8n-nodes-base.matrix\",\n \"position\": [\n 880,\n 240\n ],\n \"parameters\": {\n \"roomId\": \"Enter your Room ID\",\n \"filters\": {\n \"membership\": \"\"\n },\n \"resource\": \"roomMember\"\n },\n \"credentials\": {\n \"matrixApi\": \"Enter Your Matrix Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"2ba21034-eea2-44ed-aa64-8001b870c35c\",\n \"notes\": \"This matrix node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Weekly trigger on monday1\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 480,\n 240\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"hour\": 10,\n \"mode\": \"everyWeek\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"02391d9a-7d26-42a5-bf9c-596663867e1b\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Divide into groups\",\n \"type\": \"n8n-nodes-base.function\",\n \"notes\": \"This still needs to be reconfigured to grab the information from the second Matrix node. Have an issue with the \",\n \"position\": [\n 1090,\n 240\n ],\n \"parameters\": {\n \"functionCode\": \"={{ $json[\\\"non_existent_field\\\"] }}\"\n },\n ...", "input": "", "output": "In node 'Divide into groups', the parameter 'functionCode' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `const ideal_group_size = 3;\nlet groups = [];\nlet data_as_array = [];\nlet newItems = [];\n\n// Take all the users and add them to an array\nfor (let j = 0; j < items.length; j++) {\n data_as_array.push({username: items[j].json.user_id});\n}\n\n// Fisher-Yates (aka Knuth) Shuffle\nfunction shuffle(array) {\n var currentIndex = array.length, temporaryValue, randomIndex;\n\n // While there remain elements to shuffle...\n while (0 !== currentIndex) {\n\n // Pick a remaining element...\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex -= 1;\n\n // And swap it with the current element.\n temporaryValue = array[currentIndex];\n array[currentIndex] = array[randomIndex];\n array[randomIndex] = temporaryValue;\n }\n\n return array;\n}\n\n// Randomize the sequence of names in the array\ndata_as_array = shuffle(data_as_array);\n\n// Create groups of ideal group size (3)\nfor (let i = 0; i < data_as_array.length; i += ideal_group_size) {\n groups.push(data_as_array.slice(i, i + ideal_group_size));\n}\n\n// Make sure that no group has just one person. If it does, take\n// one from previous group and add it to that group \nfor (let k = 0; k < groups.length; k++) {\n if (groups[k].length === 1) {\n groups[k].push(groups[k-1].shift());\n }\n}\n\nfor (let l = 0; l < groups.length; l++) {\n newItems.push({json: {groupsUsername: groups[l].map(a=> a.username)}})\n}\n\nreturn newItems;\n`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Divide into groups' parameter 'functionCode'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Mattermost\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 650,\n 200\n ],\n \"parameters\": {\n \"message\": \"={{$json[\\\"contact\\\"][\\\"firstName\\\"]}} from {{$json[\\\"contact\\\"][\\\"company\\\"]}} has replied back to your campaign.\",\n \"channelId\": \"qx9yo1i9z3bg5qcy5a1oxnh69c\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"credentials\": {\n \"mattermostApi\": \"Mattermost Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"d389717b-5f3a-4a82-8f16-e02570231950\",\n \"notes\": \"This mattermost node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Emelia Trigger\",\n \"type\": \"n8n-nodes-base.emeliaTrigger\",\n \"position\": [\n 450,\n 200\n ],\n \"webhookId\": \"f53bc370-a8cb-4748-8f81-be7ae9b94972\",\n \"parameters\": {\n \"events\": [\n \"replied\"\n ],\n \"campaignId\": \"6054d068b374b64365740101\"\n },\n \"credentials\": {\n \"emeliaApi\": \"Emelia API Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"ebeb78b1-b7e3-48db-ae97-5d420a4d59e5\",\n \"notes\": \"This emeliaTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-3be24b33\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n },\n {\n \"parameters\": {\n \"url\": \"https://api.example.com/data\",\n \"method\": \"GET\",\n \"options\": {}\n },\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 450,\n 300\n ]\n }\n ],\n \"connections\": {},\n \"name\": \"Mattermost Workflow\",\n \"description\": \"Automated workflow: Mattermost Workflow. This workflow processes data and performs automated tasks.\",\n \"setti...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Mattermost\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 650,\n 200\n ],\n \"parameters\": {\n \"message\": \"={{$json[\\\"contact\\\"][\\\"firstName\\\"]}} from {{$json[\\\"contact\\\"][\\\"company\\\"]}} has replied back to your campaign.\",\n \"channelId\": \"qx9yo1i9z3bg5qcy5a1oxnh69c\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"12911f1d-90a8-42d1-be65-adc0a1dd978f\",\n \"notes\": \"This mattermost node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Emelia Trigger\",\n \"type\": \"n8n-nodes-base.emeliaTrigger\",\n \"position\": [\n 450,\n 200\n ],\n \"webhookId\": \"f53bc370-a8cb-4748-8f81-be7ae9b94972\",\n \"parameters\": {\n \"events\": [\n \"replied\"\n ],\n \"campaignId\": \"6054d068b374b64365740101\"\n },\n \"credentials\": {\n \"emeliaApi\": \"Emelia API Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"b3a426c6-bc05-4cbb-9142-0e7a7544f5fd\",\n \"notes\": \"This emeliaTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-167e662e\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Mattermost Workflow\",\n \"description\": \"Automated workflow: Mattermost Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-2bcb736a\",...", "input": "", "output": "The node 'Mattermost' (type: n8n-nodes-base.mattermost) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"mattermostApi\": \"Mattermost Credentials\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Mattermost' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"n8n Trigger\",\n \"type\": \"n8n-nodes-base.n8nTrigger\",\n \"position\": [\n 450,\n 200\n ],\n \"parameters\": {\n \"events\": [\n \"init\"\n ]\n },\n \"typeVersion\": 1,\n \"id\": \"ff23cad0-e0cd-441d-aeaa-71e6b8f435c3\",\n \"notes\": \"This n8nTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Mattermost\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 650,\n 200\n ],\n \"parameters\": {\n \"message\": \"=Your n8n instance started at {{$json[\\\"timestamp\\\"]}}\",\n \"channelId\": \"toyi3uoycf8rirtm7d5jm15sso\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"credentials\": {\n \"mattermostApi\": \"Mattermost Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"fe7738e5-56b8-4d21-9283-fedf397b7bd0\",\n \"notes\": \"This mattermost node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-4871e24f\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"N8Ntrigger Workflow\",\n \"description\": \"Automated workflow: N8Ntrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-10102cfe\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.857107\",\n \"updatedAt\": \"2025-09-29T07:07:50.857118\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"cate...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 490,\n 460\n ],\n \"webhookId\": \"c0345765-4488-4ac8-a9da-02f647dd2b90\",\n \"parameters\": {\n \"path\": \"c0345765-4488-4ac8-a9da-02f647dd2b90\",\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"node-609fdde7\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 690,\n 460\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"Message\",\n \"value\": \"Hello!\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"node-d069e07a\"\n },\n {\n \"name\": \"Mattermost\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 690,\n 610\n ],\n \"parameters\": {\n \"message\": \"=The workflow {{$workflow.name}}, was updated.\",\n \"channelId\": \"toyi3uoycf8rirtm7d5jm15sso\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"node-0f0a289f\"\n },\n {\n \"name\": \"Workflow Trigger\",\n \"type\": \"n8n-nodes-base.workflowTrigger\",\n \"position\": [\n 490,\n 610\n ],\n \"parameters\": {\n \"events\": [\n \"update\"\n ]\n },\n \"typeVersion\": 1,\n \"id\": \"node-a1110729\"\n },\n {\n \"id\": \"error-8259e0cf\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Production Workflow\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executi...", "input": "", "output": "The node 'Mattermost' (type: n8n-nodes-base.mattermost) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"mattermostApi\": \"Mattermost Credentials\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Mattermost' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Notion Trigger\",\n \"type\": \"n8n-nodes-base.notionTrigger\",\n \"position\": [\n 270,\n 350\n ],\n \"parameters\": {\n \"event\": \"pageAddedToDatabase\",\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyHour\"\n }\n ]\n },\n \"databaseId\": \"6ea34c0d-67e8-4614-ad5c-68c665a34763\"\n },\n \"credentials\": {\n \"notionApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"77521945-4205-4070-bf13-caa28a4bf877\",\n \"notes\": \"This notionTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 470,\n 350\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$json[\\\"Team\\\"]}}\",\n \"value2\": \"Marketing\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"fb9311b5-9206-46c3-8f18-90eeb1b31135\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Mattermost\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 670,\n 250\n ],\n \"parameters\": {\n \"message\": \"=New meeting notes were added.\\nAgenda: {{$json[\\\"Agenda\\\"]}}\\nDate: {{$json[\\\"Date\\\"][\\\"start\\\"]}}\\nLink: {{ $env.WEBHOOK_URL }}{{$json[\\\"id\\\"].replace(/-/g,'')}}\",\n \"channelId\": \"64cae1bh6pggtcupfd4ztwby4r\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"credentials\": {\n \"mattermostApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"f2ef0c27-9bae-4224-b735-be78d91cadb0\",\n \"notes\": \"This mattermost node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"NoOp\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 668,\n 495\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"188\",\n \"name\": \"Send a message on Mattermost when an order is created in WooCommerce\",\n \"nodes\": [\n {\n \"name\": \"WooCommerce Trigger\",\n \"type\": \"n8n-nodes-base.wooCommerceTrigger\",\n \"position\": [\n 550,\n 260\n ],\n \"webhookId\": \"84960a7c-cb69-4dfb-a5ed-aac12e0efbf8\",\n \"parameters\": {\n \"event\": \"={{ $node.NonExistentNode.json.data }}\"\n },\n \"credentials\": {\n \"wooCommerceApi\": \"woocommerce\"\n },\n \"typeVersion\": 1,\n \"id\": \"86bfe8a2-c555-4067-ad52-e796d675dda3\",\n \"notes\": \"This wooCommerceTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Mattermost\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 750,\n 260\n ],\n \"parameters\": {\n \"message\": \"={{$node[\\\"WooCommerce Trigger\\\"].json[\\\"billing\\\"][\\\"first_name\\\"]}} bought {{$node[\\\"WooCommerce Trigger\\\"].json[\\\"line_items\\\"][0][\\\"name\\\"]}}!\",\n \"channelId\": \"pj1p95ebei8g3ro5p84kxxuuio\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"credentials\": {\n \"mattermostApi\": \"Mattermost Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"e062f8d3-68f9-40c6-8fd0-63a28dc60966\",\n \"notes\": \"This mattermost node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-138d9d8f\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"des...", "input": "", "output": "In node 'WooCommerce Trigger', the parameter 'event' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `order.created`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'WooCommerce Trigger' parameter 'event'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"18\",\n \"name\": \"Gender Inclusive Language\",\n \"nodes\": [\n {\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 150,\n 450\n ],\n \"parameters\": {\n \"path\": \"webhook\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-30548f96\"\n },\n {\n \"name\": \"Mattermost1\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 550,\n 300\n ],\n \"parameters\": {\n \"message\": \"May I suggest \\\"folks\\\" or \\u201cy'all\\u201d? We use gender inclusive language here. \\ud83d\\ude04\",\n \"channelId\": \"={{$node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"channel_id\\\"]}}\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"credentials\": {\n \"mattermostApi\": \"n8n Mattermost - Bot\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-c149e4c9\"\n },\n {\n \"name\": \"IF\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 340,\n 450\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"text\\\"]}}\",\n \"value2\": \"guys\",\n \"operation\": \"contains\"\n },\n {\n \"value1\": \"={{$node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"text\\\"]}}\",\n \"value2\": \"Guys\",\n \"operation\": \"contains\"\n },\n {\n \"value1\": \"={{$node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"text\\\"]}}\",\n \"value2\": \"bros\",\n \"operation\": \"contains\"\n },\n {\n \"value1\": \"={{$node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"text\\\"]}}\",\n \"value2\": \"Bros\",\n \"operation\": \"contains\"\n },\n {\n \"value1\": \"={{$node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"text\\\"]}}\",\n \"value2\": \"dudes\",\n \"operation\": \"contains\"\n },\n {\n ...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"1\",\n \"name\": \"Twitter notifications\",\n \"nodes\": [\n {\n \"name\": \"Twitter\",\n \"type\": \"n8n-nodes-base.twitter\",\n \"position\": [\n 610,\n 260\n ],\n \"parameters\": {\n \"operation\": \"search\",\n \"searchText\": \"n8n_io\",\n \"additionalFields\": {\n \"resultType\": \"recent\"\n }\n },\n \"credentials\": {\n \"twitterOAuth1Api\": \"Twitter\"\n },\n \"typeVersion\": 1,\n \"id\": \"67d6959e-44e9-486e-9552-e441eb9df205\",\n \"notes\": \"This twitter node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 410,\n 260\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"9df9c0d6-56c0-463f-b063-9a88870f4654\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Function\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 940,\n 260\n ],\n \"parameters\": {\n \"functionCode\": \"const new_items = [];\\nconst data = this.getWorkflowStaticData('node');\\n\\ndata.ids = data.ids || [];\\n\\nfor (var i=0; i item.json.id)\\nreturn new_items;\\n\"\n },\n \"typeVersion\": 1,\n \"id\": \"d531361a-0925-4cff-b0f9-03dcb100d2c2\",\n \"notes\": \"This function node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 780,\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 450,\n 300\n ],\n \"webhookId\": \"213324b6-b84d-42f9-af3b-42804cc71cd1\",\n \"parameters\": {\n \"path\": \"213324b6-b84d-42f9-af3b-42804cc71cd1\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-fcad6e6a\"\n },\n {\n \"name\": \"PagerDuty\",\n \"type\": \"n8n-nodes-base.pagerDuty\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"email\": \"n8ndocsburner@gmail.com\",\n \"operation\": \"update\",\n \"incidentId\": \"={{$json[\\\"body\\\"][\\\"context\\\"][\\\"pagerduty_incident\\\"]}}\",\n \"updateFields\": {\n \"status\": \"acknowledged\"\n }\n },\n \"credentials\": {\n \"pagerDutyApi\": \"PagerDuty Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-1faba484\"\n },\n {\n \"name\": \"Mattermost\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 850,\n 300\n ],\n \"parameters\": {\n \"message\": \"\\ud83d\\udcaa\\ud83c\\udffc Incident status has been changed to Acknowledged on PagerDuty.\",\n \"channelId\": \"={{$node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"channel_id\\\"]}}\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"node-00a74c00\"\n },\n {\n \"id\": \"error-c944d399\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Production Workflow\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n...", "input": "", "output": "The node 'Mattermost' (type: n8n-nodes-base.mattermost) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"mattermostApi\": \"Mattermost Credentials\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Mattermost' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Mattermost\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 1050,\n 200\n ],\n \"parameters\": {\n \"message\": \"\\ud83d\\udcaa This issue got closed in PagerDuty and Jira.\",\n \"channelId\": \"={{$node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"channel_id\\\"]}}\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"credentials\": {\n \"mattermostApi\": \"Mattermost Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-bef6ea0b\"\n },\n {\n \"name\": \"Mattermost1\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 1050,\n 400\n ],\n \"parameters\": {\n \"message\": \"=\\ud83c\\udf89 The incident ({{$node[\\\"PagerDuty\\\"].json[\\\"summary\\\"]}}) was resolved by the lovely folks in the on-call team!\",\n \"channelId\": \"k1h3du9r9byyfg7sys8ib6p3ey\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"credentials\": {\n \"mattermostApi\": \"Mattermost Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-e7b6ffe2\"\n },\n {\n \"name\": \"Jira\",\n \"type\": \"n8n-nodes-base.jira\",\n \"position\": [\n 850,\n 300\n ],\n \"parameters\": {\n \"issueKey\": \"={{$node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"context\\\"][\\\"jira_key\\\"]}}\",\n \"operation\": \"update\",\n \"updateFields\": {\n \"statusId\": \"31\"\n }\n },\n \"credentials\": {\n \"jiraSoftwareCloudApi\": \"jira\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-ab144dc7\"\n },\n {\n \"name\": \"PagerDuty\",\n \"type\": \"n8n-nodes-base.pagerDuty\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"email\": \"n8ndocsburner@gmail.com\",\n \"operation\": \"update\",\n \"incidentId\": \"={{$json[\\\"body\\\"][\\\"context\\\"][\\\"pagerduty_incident\\\"]}}\",\n \"updateFields\": {\n \"status\": \"resolved\"\n }\n },\n \"credentials\": {\n \"pagerDutyApi\": \"PagerDuty Cred...", "input": "", "output": "The node 'Error Handler' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Error Handler'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Twilio\",\n \"type\": \"n8n-nodes-base.twilio\",\n \"position\": [\n 900,\n 300\n ],\n \"parameters\": {\n \"message\": \"=The workflow named '{{$node[\\\"Error Trigger\\\"].json[\\\"workflow\\\"][\\\"name\\\"]}}' with the ID {{$node[\\\"Error Trigger\\\"].json[\\\"workflow\\\"][\\\"id\\\"]}} has encountered an error.\"\n },\n \"credentials\": {\n \"twilioApi\": \"Twilio\"\n },\n \"typeVersion\": 1,\n \"id\": \"39d55a2f-dfa5-4f5b-abc2-1bb6c6ae47b1\",\n \"notes\": \"This twilio node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Mattermost\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"message\": \"=The workflow named '{{$json[\\\"workflow\\\"][\\\"name\\\"]}}' with the ID {{$json[\\\"workflow\\\"][\\\"id\\\"]}} has encountered an error. The last node that was executed was {{$json[\\\"execution\\\"][\\\"lastNodeExecuted\\\"]}}.\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"9fff33e1-61f8-42ed-966a-e06c55c5dbf2\",\n \"notes\": \"This mattermost node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Error Trigger\",\n \"type\": \"n8n-nodes-base.errorTrigger\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"966c7e6c-f675-4833-ab5c-32d85383e7f5\",\n \"notes\": \"This errorTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-c242eb54\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Twilio Workflow\",\n \"description\": \"Automated workflow: Twilio Workflow. This workflow processes data and performs automat...", "input": "", "output": "The node 'Mattermost' (type: n8n-nodes-base.mattermost) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"mattermostApi\": \"Mattermost\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Mattermost' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 590,\n 400\n ],\n \"webhookId\": \"822cce61-ff5f-4cea-b8ba-1822651786e3\",\n \"parameters\": {\n \"path\": \"822cce61-ff5f-4cea-b8ba-1822651786e3\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-ed71ce56\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 780,\n 400\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"amudhan\",\n \"value\": \"n8n-rocks\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"node-56445161\"\n },\n {\n \"name\": \"Mattermost\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 990,\n 400\n ],\n \"parameters\": {\n \"message\": \"=Join me in a video call:\",\n \"channelId\": \"={{$node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"channel_id\\\"]}}\",\n \"attachments\": [\n {\n \"title\": \"=https://whereby.com/{{$json[$node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"user_name\\\"]]}}\",\n \"title_link\": \"=https://whereby.com/{{$json[$node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"user_name\\\"]]}}\"\n }\n ],\n \"otherOptions\": {}\n },\n \"credentials\": {\n \"mattermostApi\": \"mm_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-2ed66b71\"\n },\n {\n \"id\": \"error-94886904\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Production Workflow\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFrom...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"mode\": \"custom\",\n \"cronExpression\": \"0 0 17 28 9 *\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"9f33199b-30d3-4b12-a499-7521fda65865\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Sheets\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"range\": \"Sessions!A:D\",\n \"options\": {},\n \"sheetId\": \"1nlnsTQKGgQZN-Rtd07K9bn0ROm0aFBC2O4kzM2YaTBI\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": \"n8ndocsburner-googlesheets\"\n },\n \"typeVersion\": 1,\n \"id\": \"514db0ea-e2b4-4cb6-944c-58290f629f95\",\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Mattermost\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 850,\n 300\n ],\n \"parameters\": {\n \"message\": \"= Hey @channel, we hope you had a great time at **{{$node[\\\"Google Sheets\\\"].json[\\\"Session\\\"]}}**.\\nLet us know how we did by sharing your feedback with us on the link below!\",\n \"channelId\": \"={{$node[\\\"Google Sheets\\\"].json[\\\"Mattermost Channel ID\\\"]}}\",\n \"attachments\": [\n {\n \"title\": \"=Feedback Form - {{$node[\\\"Google Sheets\\\"].json[\\\"Session\\\"]}}\",\n \"title_link\": \"={{$node[\\\"Google Sheets\\\"].json[\\\"Feedback Form Link\\\"]}}\"\n }\n ],\n \"otherOptions\": {}\n },\n \"credentials\": {\n \"mattermostApi\": \"mm_failedmachine\"\n },\n \"typeVersion\": 1,\n \"id\": \"2cf7a30c-6c5a-40d3-9488-19d54bfb4859\",\n \"notes\": \"This ma...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"trigger-2690b6f5\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"name\": \"Send message\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 910,\n 260\n ],\n \"parameters\": {\n \"message\": \"=New information was added to your Google Sheet.\\nID: {{$json[\\\"id\\\"]}}\\nName: {{$json[\\\"name\\\"]}}\\nEmail: {{$json[\\\"email\\\"]}}\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"credentials\": {\n \"mattermostApi\": \"Mattermost Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"36772d01-6ba3-4599-898b-0fa8df6b42be\",\n \"notes\": \"This mattermost node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Check if new data\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 710,\n 260\n ],\n \"parameters\": {\n \"functionCode\": \"const new_items = [];\\n// Get static data stored with the workflow\\n\\nconst data = this.getWorkflowStaticData(\\\"node\\\");\\ndata.ids = data.ids || [];\\nfor (let i = items.length - 1; i >= 0; i--) {\\n\\n// Check if data is already present\\n if (data.ids.includes(items[i].json.ID)) {\\n break;\\n } else {\\n\\n// if new data then add it to an array\\n new_items.push({\\n json: {\\n id: items[i].json.ID,\\n name: items[i].json.Name,\\n email: items[i].json.Email\\n },\\n });\\n }\\n}\\ndata.ids = items.map((item) => item.json.ID);\\n\\n// return new items\\nreturn new_items;\\n\"\n },\n \"typeVersion\": 1,\n \"id\": \"529de974-e926-4b46-a56f-18eeaa1be74a\",\n \"notes\": \"This function node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Read data\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 510,\n 260\n ],\n \"parameters\": {\n \"options\": {...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Mattermost\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 810,\n 300\n ],\n \"parameters\": {\n \"message\": \"=You got new feedback with a score of {{$json[\\\"SentimentScore\\\"][\\\"Negative\\\"]}}. Here is what it says:{{$node[\\\"Typeform Trigger\\\"].json[\\\"What did you think about the event?\\\"]}}\",\n \"channelId\": \"h7cxrd1cefr13x689enzyw7xhc\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"credentials\": {\n \"mattermostApi\": \"Mattermost Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"94e8ec7d-fc35-4ac3-a29c-3eea8cfac968\",\n \"notes\": \"This mattermost node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"NoOp\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 800,\n 500\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"90452677-03ac-41f8-90b6-99110ba4505e\",\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 600,\n 400\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [],\n \"string\": [\n {\n \"value1\": \"={{$json[\\\"Sentiment\\\"]}}\",\n \"value2\": \"NEGATIVE\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"4b2e025e-e03a-4505-a368-3591ada4d0fb\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"AWS Comprehend\",\n \"type\": \"n8n-nodes-base.awsComprehend\",\n \"position\": [\n 400,\n 400\n ],\n \"parameters\": {\n \"text\": \"={{$json[\\\"What did you think about the event?\\\"]}}\",\n \"operation\": \"detectSentiment\"\n },\n \"credentials\": {\n \"aws\": \"AWS Comprehend Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"c53aae5d-d666-44da-b5dd-d1f5a4ee4db7\",\n...", "input": "", "output": "The node 'Typeform Trigger' (type: n8n-nodes-base.typeformTrigger) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"typeformApi\": \"typeform\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Typeform Trigger' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Lemlist Trigger\",\n \"type\": \"n8n-nodes-base.lemlistTrigger\",\n \"position\": [\n 410,\n 160\n ],\n \"webhookId\": \"e1e29f99-7222-488a-826f-5af50ffe7505\",\n \"parameters\": {\n \"event\": \"emailsReplied\",\n \"options\": {\n \"campaignId\": \"cam_H5pYEryq6mRKBiy5v\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"4b6fc9f9-fb7d-429b-af60-3a7421f9402c\",\n \"notes\": \"This lemlistTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Mattermost\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 610,\n 160\n ],\n \"parameters\": {\n \"message\": \"={{$json[\\\"firstName\\\"]}} has replied back to your {{$json[\\\"campaignName\\\"]}}. Below is the reply:\\n> {{$json[\\\"text\\\"]}}\",\n \"channelId\": \"qx9yo1i9z3bg5qcy5a1oxnh69c\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"credentials\": {\n \"mattermostApi\": \"Mattermost Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"7f6120aa-9905-4455-98eb-0a8e18f0e999\",\n \"notes\": \"This mattermost node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-c27f4119\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Lemlisttrigger Workflow\",\n \"description\": \"Automated workflow: Lemlisttrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n ...", "input": "", "output": "The node 'Lemlist Trigger' (type: n8n-nodes-base.lemlistTrigger) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"lemlistApi\": \"Lemlist API Credentials\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Lemlist Trigger' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Mattermost\",\n \"type\": \"n8n-nodes-base.mattermost\",\n \"position\": [\n 810,\n 300\n ],\n \"parameters\": {\n \"message\": \"=You got new feedback with a score of {{$json[\\\"SentimentScore\\\"][\\\"Negative\\\"]}}. Here is what it says:{{$node[\\\"Typeform Trigger\\\"].json[\\\"What did you think about the event?\\\"]}}\",\n \"channelId\": \"h7cxrd1cefr13x689enzyw7xhc\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"6299aca6-a6f9-4edb-9552-d32c79c95d2b\",\n \"notes\": \"This mattermost node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"NoOp\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 800,\n 500\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"3279da3c-b927-4523-b10a-3664bbc514bc\",\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 600,\n 400\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [],\n \"string\": [\n {\n \"value1\": \"={{$json[\\\"Sentiment\\\"]}}\",\n \"value2\": \"NEGATIVE\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"1ed7495b-955c-4763-8d5e-7082254661d6\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"AWS Comprehend\",\n \"type\": \"n8n-nodes-base.awsComprehend\",\n \"position\": [\n 400,\n 400\n ],\n \"parameters\": {\n \"text\": \"={{$json[\\\"What did you think about the event?\\\"]}}\",\n \"operation\": \"detectSentiment\"\n },\n \"credentials\": {\n \"aws\": \"AWS Comprehend Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"66172ca1-6269-4491-a710-4bd1182e68db\",\n \"notes\": \"This awsComprehend node performs automated tasks as part of the wo...", "input": "", "output": "The node 'Mattermost' (type: n8n-nodes-base.mattermost) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"mattermostApi\": \"Mattermost Credentials\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Mattermost' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"13\",\n \"name\": \"Receive updates when a form is submitted in Mautic, and send a confirmation SMS\",\n \"nodes\": [\n {\n \"name\": \"Mautic Trigger\",\n \"type\": \"n8n-nodes-base.mauticTrigger\",\n \"position\": [\n 510,\n 300\n ],\n \"webhookId\": \"9dce2b84-33fe-4816-ae4b-301c208b5384\",\n \"parameters\": {\n \"events\": [\n \"mautic.form_on_submit\"\n ]\n },\n \"credentials\": {\n \"mauticApi\": \"mautic\"\n },\n \"typeVersion\": 1,\n \"id\": \"f934440d-1704-49d7-8bca-40b516718a3b\",\n \"notes\": \"This mauticTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Twilio\",\n \"type\": \"n8n-nodes-base.twilio\",\n \"position\": [\n 710,\n 300\n ],\n \"parameters\": {\n \"to\": \"={{$node[\\\"Mautic Trigger\\\"].json[\\\"mautic.form_on_submit\\\"][0][\\\"submission\\\"][\\\"results\\\"][\\\"phone_number\\\"]}}\",\n \"from\": \"1234\",\n \"message\": \"=Hey, {{$node[\\\"Mautic Trigger\\\"].json[\\\"mautic.form_on_submit\\\"][0][\\\"submission\\\"][\\\"results\\\"][\\\"first_name\\\"]}} \\ud83d\\udc4b\\nThank you for signing up for the Webinar - Getting Started with n8n. The webinar will start at 1800 CEST on 31st October 2020.\\nSee you there!\"\n },\n \"typeVersion\": 1,\n \"id\": \"da7b2023-2858-4097-b3bb-def7179ed780\",\n \"notes\": \"This twilio node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-49c4f780\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"...", "input": "", "output": "The node 'Twilio' (type: n8n-nodes-base.twilio) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"twilioApi\": \"twilio\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Twilio' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-3969a52e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.927548\",\n \"updatedAt\": \"2025-09-29T07:07:50.927563\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"4da16859-d29b-4eb7-90a4-3904c1bfff68\",\n \"name\": \"Create item\",\n \"type\": \"n8n-nodes-base.mondayCom\",\n \"position\": [\n 620,\n 240\n ],\n \"parameters\": {\n \"name\": \"={{$node[\\\"On created contact\\\"].json[\\\"mautic.lead_post_save_new\\\"][0][\\\"contact\\\"][\\\"fields\\\"][\\\"core\\\"][\\\"firstname\\\"][\\\"value\\\"]}} {{$node[\\\"On created contact\\\"].json[\\\"mautic.lead_post_save_new\\\"][0][\\\"contact\\\"][\\\"fields\\\"][\\\"core\\\"][\\\"lastname\\\"][\\\"value\\\"]}}\",\n \"boardId\": \"3461879764\",\n \"groupId\": \"topics\",\n \"resource\": \"={{ $json[\\\"non_existent_field\\\"] }}\",\n \"additionalFields\": {\n \"columnValues\": \"={\\n \\\"email\\\": {\\n \\\"email\\\": \\\"{{$node[\\\"On created contact\\\"].json[\\\"mautic.lead_post_save_new\\\"][0][\\\"contact\\\"][\\\"fields\\\"][\\\"core\\\"][\\\"email\\\"][\\\"value\\\"]}}\\\",\\n \\\"text\\\" : \\\"{{$node[\\\"On created contact\\\"].json[\\\"mautic.lead_post_save_new\\\"][0][\\\"contact\\\"][\\\"fields\\\"][\\\"core\\\"][\\\"email\\\"][\\\"value\\\"]}}\\\"\\n }\\n}\"\n }\n },\n \"credentials\": {\n \"mondayComApi\": {\n \"id\": \"{{ $credentials.mondayComApi.id }}\",\n \"name\": \"[UPDATE ME]\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This mondayCom node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"88655428-439e-4324-8d8f-865625650c7a\",\n \"name\": \"On created contact\",\n \"type\": \"n8n-nodes-base.mauticTrigger\",\n \"position\": [\n 400,\n 240\n ],\n \"webhookId\": \"8c80d932-4c37-4ebe-92ad-e456249db2c5\",\n \"parameters\": {\n \"events\": [\n \"mautic.lead_post_save_new\"\n ]\n },\n \"cr...", "input": "", "output": "In node 'Create item', the parameter 'resource' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `boardItem`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Create item' parameter 'resource'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-e4167688\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.917339\",\n \"updatedAt\": \"2025-09-29T07:07:50.917358\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Unsubscribe Mautic contacts from automated unsubscribe emails\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"55d6a64b-88e2-4162-a93a-b31ad32b94fd\",\n \"name\": \"Gmail Trigger\",\n \"type\": \"n8n-nodes-base.gmailTrigger\",\n \"position\": [\n 140,\n 860\n ],\n \"parameters\": {\n \"filters\": {\n \"includeSpamTrash\": true\n },\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"{{ $credentials.gmailOAuth2.id }}\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This gmailTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a697b58c-e0c8-42e0-8211-49caf46ce222\",\n \"name\": \"Is automated unsubscribe?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 460,\n 1000\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"= {{ $json[\\\"To\\\"] }}\",\n \"value2\": \"unsubscribe\",\n \"operation\": \"contains\"\n },\n {\n \"value1\": \"={{ $json[\\\"From\\\"] }}\",\n \"value2\": \"={{ $node[\\\"Edit Fields\\\"].json[\\\"emailAddress\\\"] }}\",\n \"operation\": \"notEqual\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": false,\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n -550,\n 450\n ],\n \"parameters\": {\n \"path\": \"PuHq2RQsmc3HXB/hook\",\n \"options\": {\n \"rawBody\": false\n },\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-ac41d08e\"\n },\n {\n \"name\": \"Mautic\",\n \"type\": \"n8n-nodes-base.mautic\",\n \"position\": [\n 1260,\n 180\n ],\n \"parameters\": {\n \"email\": \"={{$node[\\\"@MAIN STUDENT DATA\\\"].json[\\\"student\\\"][\\\"email\\\"]}}\",\n \"company\": 1,\n \"options\": {},\n \"lastName\": \"={{$node[\\\"@MAIN STUDENT DATA\\\"].json[\\\"student\\\"][\\\"lastName\\\"]}}\",\n \"firstName\": \"={{$node[\\\"@MAIN STUDENT DATA\\\"].json[\\\"student\\\"][\\\"firstName\\\"]}}\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"mauticOAuth2Api\": \"OAuth2 Mautic\"\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": false,\n \"id\": \"node-a642a0cf\"\n },\n {\n \"name\": \"Find User\",\n \"type\": \"n8n-nodes-base.mautic\",\n \"position\": [\n 170,\n 260\n ],\n \"parameters\": {\n \"limit\": 1,\n \"options\": {\n \"search\": \"={{$node[\\\"Set Webhook Request\\\"].json[\\\"student\\\"][\\\"email\\\"]}}\"\n },\n \"operation\": \"getAll\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"mauticOAuth2Api\": \"OAuth2 Mautic\"\n },\n \"notesInFlow\": false,\n \"typeVersion\": 1,\n \"alwaysOutputData\": false,\n \"id\": \"node-8f9bd912\"\n },\n {\n \"name\": \"Update User\",\n \"type\": \"n8n-nodes-base.mautic\",\n \"position\": [\n 1560,\n 250\n ],\n \"parameters\": {\n \"options\": {},\n \"contactId\": \"={{$node[\\\"@MAIN STUDENT DATA\\\"].json[\\\"userFound\\\"]}}\",\n \"operation\": \"update\",\n \"updateFields\": {\n \"email\": \"={{$node[\\\"@MAIN ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"GS Read Data2 1\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 240,\n 750\n ],\n \"parameters\": {\n \"range\": \"Data!A:P\",\n \"options\": {\n \"valueRenderMode\": \"FORMATTED_VALUE\"\n },\n \"sheetId\": \"1jKYwPE9DMFOYf1AeDuTvQ3GSM2GqaEJhGYNoisxSLpM\"\n },\n \"credentials\": {\n \"googleApi\": \"n8n API\"\n },\n \"typeVersion\": 1,\n \"id\": \"e42e361a-19e8-4118-96ce-d66a3589e260\",\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Mautic\",\n \"type\": \"n8n-nodes-base.mautic\",\n \"position\": [\n 450,\n 750\n ],\n \"parameters\": {\n \"email\": \"={{$node[\\\"GS Read Data2\\\"].json[\\\"email\\\"]}}\",\n \"options\": {},\n \"firstName\": \"={{$node[\\\"GS Read Data2\\\"].json[\\\"firstname\\\"]}}\",\n \"additionalFields\": {\n \"mobile\": \"={{$node[\\\"GS Read Data2\\\"].json[\\\"mobile\\\"]}}\"\n },\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"mauticApi\": \"MauticAPI\"\n },\n \"notesInFlow\": false,\n \"typeVersion\": 1,\n \"id\": \"53b91521-ff0e-475a-a7bc-1e9e34771095\",\n \"notes\": \"This mautic node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"GS Read Data2 2\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 240,\n 750\n ],\n \"parameters\": {\n \"range\": \"Data!A:P\",\n \"options\": {\n \"valueRenderMode\": \"FORMATTED_VALUE\"\n },\n \"sheetId\": \"1jKYwPE9DMFOYf1AeDuTvQ3GSM2GqaEJhGYNoisxSLpM\"\n },\n \"credentials\": {\n \"googleApi\": \"n8n API\"\n },\n \"typeVersion\": 1,\n \"id\": \"c0364ef3-7c36-4dc1-8419-dce56fa43f70\",\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n ...", "input": "", "output": "The node 'Mautic' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Mautic'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 83,\n \"name\": \"New WooCommerce Customer to Mautic\",\n \"nodes\": [\n {\n \"name\": \"Check for Existing\",\n \"type\": \"n8n-nodes-base.mautic\",\n \"position\": [\n 280,\n 480\n ],\n \"parameters\": {\n \"options\": {\n \"search\": \"={{$json[\\\"email\\\"]}}\"\n },\n \"operation\": \"getAll\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"mauticOAuth2Api\": {\n \"id\": \"{{ $credentials.mauticOAuth2Api.id }}\",\n \"name\": \"Mautic account\"\n }\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": true,\n \"id\": \"aaa4d55f-1f51-43f1-a083-8267a0b6bf58\",\n \"notes\": \"This mautic node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If New\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 460,\n 480\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$json[\\\"id\\\"]}}\",\n \"operation\": \"isEmpty\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"7fc2998a-28b9-485c-855b-c0805a5ca5b9\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Create Contact\",\n \"type\": \"n8n-nodes-base.mautic\",\n \"position\": [\n 680,\n 320\n ],\n \"parameters\": {\n \"email\": \"={{$node[\\\"Customer Created\\\"].json[\\\"email\\\"]}}\",\n \"company\": \"={{$node[\\\"Customer Created\\\"].json[\\\"billing\\\"][\\\"company\\\"]}}\",\n \"options\": {},\n \"lastName\": \"={{$node[\\\"Customer Created\\\"].json[\\\"last_name\\\"]}}\",\n \"firstName\": \"={{$node[\\\"Customer Created\\\"].json[\\\"first_name\\\"]}}\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"mauticOAuth2Api\": {\n \"id\": \"{{ $credentials.mauticOAuth2Api.id }}\",\n \"name\": \"Mautic account\"\n }\n },\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 86,\n \"name\": \"Check for valid Mautic contact email\",\n \"nodes\": [\n {\n \"name\": \"If is not new contact\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 780,\n 460\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$json[\\\"mautic.lead_post_save_new\\\"]}}\",\n \"operation\": \"isEmpty\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-043eeaca\"\n },\n {\n \"name\": \"On Contact Identified\",\n \"type\": \"n8n-nodes-base.mauticTrigger\",\n \"position\": [\n 600,\n 460\n ],\n \"webhookId\": \"a3ee0f93-2870-44e2-bb2f-0175433263b3\",\n \"parameters\": {\n \"events\": [\n \"mautic.lead_post_save_new\"\n ],\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"mauticOAuth2Api\": {\n \"id\": \"{{ $credentials.mauticOAuth2Api.id }}\",\n \"name\": \"Mautic account\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-81143f3f\"\n },\n {\n \"name\": \"extract information\",\n \"type\": \"n8n-nodes-base.itemLists\",\n \"position\": [\n 980,\n 480\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"mautic.lead_post_save_new\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-ce3546ad\"\n },\n {\n \"name\": \"validate email\",\n \"type\": \"n8n-nodes-base.oneSimpleApi\",\n \"position\": [\n 1180,\n 480\n ],\n \"parameters\": {\n \"resource\": \"utility\",\n \"emailAddress\": \"={{$json[\\\"lead\\\"][\\\"fields\\\"][\\\"core\\\"][\\\"email\\\"][\\\"value\\\"]}}\"\n },\n \"credentials\": {\n \"oneSimpleApi\": {\n \"id\": \"{{ $credentials.oneSimpleApi.id }}\",\n \"name\": \"One Simple account\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-db988646\"\n },\n {\n \"name\": \"If the email is suspicious\",\n \"type\": \"n8n-nodes-base.if\",\n \"notes\":...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"JiSesGjDIXIPYtbt\",\n \"meta\": {\n \"instanceId\": \"workflow-d6b546f1\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.946733\",\n \"updatedAt\": \"2025-09-29T07:07:50.946740\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Shopify + Mautic\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"592b2608-e77e-4988-8f77-8820645b56ee\",\n \"name\": \"Shopify Trigger\",\n \"type\": \"n8n-nodes-base.shopifyTrigger\",\n \"position\": [\n 540,\n 320\n ],\n \"webhookId\": \"252052f3-e844-4500-8c34-c57f583d4432\",\n \"parameters\": {\n \"topic\": \"customers/update\",\n \"authentication\": \"{{ $credentials.accessToken }}\"\n },\n \"credentials\": {\n \"shopifyAccessTokenApi\": {\n \"id\": \"WbxXaLMHozAgY3Rz\",\n \"name\": \"Shopify Access Token account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This shopifyTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f2e6931d-0279-4142-9b9e-1092657d91e2\",\n \"name\": \"Accepts Marketing?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1240,\n 180\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"8e207eec-212a-48a9-b64e-2d15094c987f\",\n \"operator\": {\n \"name\": \"filter.operator.equals\",\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $('Shopify Trigger').item.json.email_marketing_consent.state }}\",\n \"rightValue\": \"subscribed\"...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-b08beffc\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.944856\",\n \"updatedAt\": \"2025-09-29T07:07:50.944865\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"05bd643c-6dd0-4f36-a586-3a06cc26893c\",\n \"name\": \"Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 200,\n 780\n ],\n \"parameters\": {\n \"width\": 476.4578377639565,\n \"height\": 299.6468819708682,\n \"content\": \"## Working with Excel files\\n1. Load the spreadsheet file into the workflow (.xls, .xlsx, .csv).\\n2. Convert the file with **Spreadsheet File** node. This allows other nodes to access the data.\\n3. Transform and manipulate the spreadsheet data as needed\\n4. [Optional] Convert back to a spreadsheet file\\n5. [Optional] Save file locally or upload to a server\\n\\n\\n\\n\\u2139\\ufe0f This template shows how to work with spreadsheet files themselves. Use the **Microsoft Excel 365** node to interact with the Microsoft Office 365 cloud platform. \"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"84db705b-b45f-447f-b3e6-ac9650816e3b\",\n \"name\": \"Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 840,\n 800\n ],\n \"parameters\": {\n \"width\": 261.5285597588645,\n \"height\": 244.71805702217537,\n \"content\": \"### 1A. From a public URL\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"92b8375b-92a3-41ca-874e-d9c4567e21d4\",\n \"name\": \"Read Binary File\",\n \"type\": \"n8n-nodes-base.readBinaryFile\",\n \"notes\": \"Fetches a local file\",\n \"disabled\": true,\n \"position\": [\n 920,\n ...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-87b13df4\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.947796\",\n \"updatedAt\": \"2025-09-29T07:07:50.947811\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"59b786fe-8e45-4616-aa45-9748df144c3a\",\n \"name\": \"MySQL\",\n \"type\": \"n8n-nodes-base.mySql\",\n \"position\": [\n -80,\n 220\n ],\n \"parameters\": {\n \"query\": \"SELECT \\n company,\\n cost_center AS default_cost_center,\\n COUNT(*) AS project_count\\nFROM \\n tabProject\\nWHERE \\n status = 'Open' \\n AND project_type = 'External'\\n AND is_active = 'Yes'\\n AND budgeted_project_cost = 0\\n \\nGROUP BY \\n company, cost_center\\nORDER BY \\n company, project_count DESC;\\n\",\n \"options\": {},\n \"operation\": \"executeQuery\"\n },\n \"typeVersion\": 2.4,\n \"notes\": \"This mySql node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"48c20822-9f2e-4108-8bfb-b300689a9724\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -360,\n 220\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"weeks\",\n \"triggerAtHour\": 8\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3757860b-b7a0-4617-a398-37ac42f1acea\",\n \"name\": \"Switch\",\n \"type\": \"n8n-nodes-base.switch\",\n \"position\": [\n 180,\n 200\n ],\n \"parameters\": {\n \"rules\": {\n \"values\": [\n {\n \"outputKey\": \"YOUR_CREDENTIAL_HERE\",\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n ...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"0HVA2TOmkdNpH5DP\",\n \"meta\": {\n \"instanceId\": \"workflow-ae712b79\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.970575\",\n \"updatedAt\": \"2025-09-29T07:07:50.970595\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Google calendar to Outlook\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"e7e75d4a-ee5a-4ee7-b69d-71d8eb51fe55\",\n \"name\": \"Merge\",\n \"type\": \"n8n-nodes-base.merge\",\n \"position\": [\n 920,\n 800\n ],\n \"parameters\": {\n \"mode\": \"combine\",\n \"options\": {},\n \"combineBy\": \"combineAll\"\n },\n \"typeVersion\": 3,\n \"notes\": \"This merge node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6e159340-910c-4c1e-9e6b-c6ef679309be\",\n \"name\": \"Incoming Event Trigger\",\n \"type\": \"n8n-nodes-base.googleCalendarTrigger\",\n \"position\": [\n 500,\n 360\n ],\n \"parameters\": {\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n },\n \"triggerOn\": \"eventCreated\",\n \"calendarId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"your_email@gmail.com\",\n \"cachedResultName\": \"Your Name\"\n }\n },\n \"credentials\": {\n \"googleCalendarOAuth2Api\": {\n \"id\": \"IgBZqXCtaacRpIKt\",\n \"name\": \"Your Name Google Calendar account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This googleCalendarTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7ffb13c3-7d16-4bd8-aed0-7f6378394a1c\",\n \"name\": \"Cancel Event Trigger\",\n \"type\": \"n8n-nodes-base.googleCalendarTrigger\",\n \"position\": [\n 280,\n ...", "input": "", "output": "The workflow has a broken data flow. The node '6e159340-910c-4c1e-9e6b-c6ef679309be' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '6e159340-910c-4c1e-9e6b-c6ef679309be'.\n\n**Impact**: Data from '6e159340-910c-4c1e-9e6b-c6ef679309be' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '6e159340-910c-4c1e-9e6b-c6ef679309be' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"6e159340-910c-4c1e-9e6b-c6ef679309be\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '6e159340-910c-4c1e-9e6b-c6ef679309be' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"mqindLlOy0A0e5aA:\n \"meta\": {\n \"instanceId\": \"workflow-e04b9c37\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.959208\",\n \"updatedAt\": \"2025-09-29T07:07:50.959216\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Outlook\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"b2e6066f-a4c7-486c-aa0d-06a4c92aa745\",\n \"name\": \"Connect Outlook & Set Filter\",\n \"type\": \"n8n-nodes-base.microsoftOutlookTrigger\",\n \"position\": [\n -240,\n -260\n ],\n \"parameters\": {\n \"output\": \"raw\",\n \"filters\": {\n \"sender\": \"sales@yourcompany.com\"\n },\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"credentials\": {\n \"microsoftOutlookOAuth2Api\": {\n \"id\": \"nRYwUzhHrSBFtcSS\",\n \"name\": \"Microsoft Outlook account 2\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This microsoftOutlookTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"98f20649-4842-44b8-86c3-a153cd7f4ce2\",\n \"name\": \"Add OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 140,\n 100\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"sXujPvtyB7ZEzKZs\",\n \"name\": \"OpenAi account 2\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bf4cb647-91c6-4f3d-a685-ed928b431ef5\",\n \"name\": \"Add AI Agent Ins...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"okMME97B70fXzK5U\",\n \"meta\": {\n \"instanceId\": \"workflow-c5b36195\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.958823\",\n \"updatedAt\": \"2025-09-29T07:07:50.958836\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"send file to kindle through telegram bot\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"6e581437-28dc-4573-88f2-ce44ec497819\",\n \"name\": \"receive file message from telegram bot\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n 460,\n 520\n ],\n \"webhookId\": \"5d8d9b97-672d-461a-83c5-1665136494dd\",\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {\n \"download\": true\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6eb48c62-69a9-4bd2-a6ab-cffb5cde03df\",\n \"name\": \"check if there is a file in the message\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 680,\n 520\n ],\n \"parameters\": {\n \"options\": {\n \"ignoreCase\": false\n },\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"4ad69b1f-c19f-436d-8af3-203722f4dd4c\",\n \"operator\": {\n \"type\": \"object\",\n \"operation\": \"exists\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.message.document }}\",\n \"rightValue\": \"\"\n }\n ]\n }\n },\n \"typeVersion\": 2,\n \"alwaysOutputD...", "input": "", "output": "The node 'Sticky Note' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"HbjZ9cBPgDdnIRjG\"\n \"meta\": {\n \"instanceId\": \"workflow-241737f5\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.978984\",\n \"updatedAt\": \"2025-09-29T07:07:50.979000\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"MiniBear Webhook\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"b1f42cbd-952e-4704-9233-788891e1894d\",\n \"name\": \"Line Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n -260,\n -20\n ],\n \"webhookId\": \"4ef1a53c-a1ec-4a63-a7a5-469423502333\",\n \"parameters\": {\n \"path\": \"minibear\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ae4a46d6-0f34-484b-8be5-dbc07d5de92e\",\n \"name\": \"Line Loading Animation\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 120,\n -20\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"chatId\\\": \\\"{{ $json.body.events[0].source.userId }}\\\",\\n \\\"loadingSeconds\\\": 60\\n}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"lKd3b2nc8uNJ148Z\",\n \"name\": \"Line @271dudsw MiniBear\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"802eb4b2-ed1c-4cbc-9cf9-9bd8fec74b82\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"posi...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"MmfWpcIegNgBjBpL\",\n \"meta\": {\n \"instanceId\": \"workflow-030c9303\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:50.982137\",\n \"updatedAt\": \"2025-09-29T07:07:50.982176\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"TEMPLATES\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"de488298-e4f3-4b06-aef3-5d5d795382e9\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 120,\n 560\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7e8c25dc-7ccd-44b5-a4b1-33def99fc811\",\n \"name\": \"PULL SUBITEMS\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 640,\n 460\n ],\n \"parameters\": {\n \"jsCode\": \"//Search for \\\"Subitems\\\" column\\nconst columnName = \\\"Subitems\\\"\\nfunction getColumnValue(item, columnId) {\\n const column = item.column_values.find(column => column.column.title === columnId);\\n if (column) {\\n return column\\n } else {\\n return null;\\n }\\n}\\nconst columnValue = getColumnValue($input.last().json, columnName);\\nreturn JSON.parse(columnValue.value);\\n\\n//ALT OPTION - direct access by column_values[0]\\n//var ids = $input.last().json['column_values'][0]['value'];\\n//return JSON.parse(ids)\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"82464748-cf9a-4792-8790-f07c06c1525d\",\n \"name\": \"SPLIT SUBITEMS\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 840,\n 460\n ],\n \"parameters\": {\n \"include\": \"selectedOtherFields\",\n \"options...", "input": "", "output": "The node 'GET ITEM' (type: n8n-nodes-base.mondayCom) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"mondayComApi\": {\n \"id\": \"5nd48DKapWBLcUBx\",\n \"name\": \"Monday.com account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'GET ITEM' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ZdGZh4qmOqTQe1oq\",\n \"meta\": {\n \"instanceId\": \"workflow-e7151e5d\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.007371\",\n \"updatedAt\": \"2025-09-29T07:07:51.007384\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"MONDAY GET FULL ITEM\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"20299349-bc2c-4aa8-b083-db31cb9aa278\",\n \"name\": \"GET ALL COLUMNS\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 1840,\n -600\n ],\n \"parameters\": {\n \"jsCode\": \"function createColumnValuesArray(data) {\\n const result = {};\\n data.forEach(item => {\\n const name = item.id;\\n result[name] = item;\\n });\\n\\n return result;\\n}\\n\\ncolumns = $input.last().json.column_values\\ndata1 = { \\\"name\\\" : $input.last().json.name, \\\"id\\\" : $input.last().json.id }\\ndata2 = createColumnValuesArray(columns)\\n\\nconst combinedData = { \\\"item\\\" : data1, columnValuesById: data2}\\n\\nreturn (combinedData)\\n\\n\\n\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"04c2550e-41d8-46f4-a131-2ea99dd4258a\",\n \"name\": \"GET ALL RELATIONS\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 1860,\n -220\n ],\n \"parameters\": {\n \"jsCode\": \"var data = $input.last().json.columnValuesById;\\ni = 0;\\nrelations = [];\\nfor (var key in data) {\\n if (data[key].type == \\\"board_relation\\\") {\\n relations[i] = data[key];\\n i++\\n }\\n}\\n\\nreturn relations;\\n\\n\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5796cb17-199b-4838-ae9c-c3636824bd13\",\n \"name\": \"PULL LINKEDPULSE1\",\n \"type\": \"n8n-nodes-base....", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"51\",\n \"name\": \"Receive messages for a MQTT queue\",\n \"nodes\": [\n {\n \"name\": \"MQTT Trigger\",\n \"type\": \"n8n-nodes-base.mqttTrigger\",\n \"position\": [\n 690,\n 260\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"70eb13e3-b086-4254-a127-13d09bb5510d\",\n \"notes\": \"This mqttTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-d4aa8edc\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Receive messages for a MQTT queue. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-21fc8108\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.021650\",\n \"updatedAt\": \"2025-09-29T07:07:51.021733\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"notes\": \"Excellent quality workflow: Receive messages for a MQTT queue. This workflow has been optimized for production use with comprehensive error handling, security, and documentation.\"\n}...", "input": "", "output": "The node 'MQTT Trigger' (type: n8n-nodes-base.mqttTrigger) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"mqtt\": \"mqtt\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'MQTT Trigger' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 400,\n 520\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"3df43e99-7bfa-404d-aadb-f73f21361e0b\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1500,\n 360\n ],\n \"parameters\": {\n \"width\": 780,\n \"height\": 360,\n \"content\": \"## 2. Wait for an external event\\nUse this operation when an external step is needed in order to continue with the rest of the workflow.\\nFor example - a workflow sends a purchase approval link to the merchant (using Gmail, Slack etc..) and waits for the merchant to click on it before continuing with the rest of the steps.\\n\\nIn this example, the `Customer Messenger` node mimics the email or messaging node.\\n\"\n },\n \"typeVersion\": 1,\n \"id\": \"a0e5f7d8-b4b7-4f3f-b39d-1d2cbffae9b9\",\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 200,\n 380\n ],\n \"parameters\": {\n \"width\": 300,\n \"height\": 120,\n \"content\": \"### Click the `Execute Workflow` button and double click on the nodes to see the input and output items.\"\n },\n \"typeVersion\": 1,\n \"id\": \"2e989507-f16c-43ee-a028-f36be7369ef9\",\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Create approval URL\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1540,\n 520\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"URL\",\n \"value\": \"={{$resumeWebhookUrl}}?name=nathan\"\n }\n ]\n }...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Netlify Trigger\",\n \"type\": \"n8n-nodes-base.netlifyTrigger\",\n \"position\": [\n 450,\n 300\n ],\n \"webhookId\": \"df7efc17-09bb-4409-9f6f-09bd5e59546e\",\n \"parameters\": {\n \"event\": \"submissionCreated\",\n \"formId\": \"615ad58f9f491e00070abac5\",\n \"siteId\": \"b585059c-a19a-487c-831f-c57af6f13bd1\"\n },\n \"credentials\": {\n \"netlifyApi\": \"Netlify account\"\n },\n \"typeVersion\": 1,\n \"id\": \"737638fd-b51d-411f-a52b-ff5bf3d01d80\",\n \"notes\": \"This netlifyTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"Name\",\n \"value\": \"={{$json[\\\"name\\\"]}}\"\n },\n {\n \"name\": \"Email\",\n \"value\": \"={{$json[\\\"email\\\"]}}\"\n },\n {\n \"name\": \"Role\",\n \"value\": \"={{$json[\\\"role\\\"][0]}}\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"78150b7f-d37b-4c1b-aa1b-6d55e797cf14\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Airtable\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 850,\n 300\n ],\n \"parameters\": {\n \"table\": \"Table 1\",\n \"options\": {},\n \"operation\": \"append\",\n \"application\": \"apphwBsFxzjDPDBA8\"\n },\n \"credentials\": {\n \"airtableApi\": \"Airtable Credentials @n8n\"\n },\n \"typeVersion\": 1,\n \"id\": \"7495921c-5f77-4b43-96b5-046597f5bcbb\",\n \"notes\": \"This airtable node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-0cab9407\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 450,\n 300\n ],\n \"webhookId\": \"0d36a8db-0177-4501-9f7a-e46b6829d07a\",\n \"parameters\": {\n \"path\": \"0d36a8db-0177-4501-9f7a-e46b6829d07a\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-cb0b9326\"\n },\n {\n \"name\": \"Netlify\",\n \"type\": \"n8n-nodes-base.netlify\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"siteId\": \"5e15e032-9345-41b8-a98f-509e545f061c\",\n \"operation\": \"create\",\n \"additionalFields\": {\n \"title\": \"={{$json[\\\"body\\\"][\\\"data\\\"][\\\"title\\\"]}}\"\n }\n },\n \"credentials\": {\n \"netlifyApi\": \"Netlify account\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-f310f1e5\"\n },\n {\n \"id\": \"error-97247ff6\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n },\n {\n \"parameters\": {\n \"url\": \"https://api.example.com/data\",\n \"method\": \"GET\",\n \"options\": {}\n },\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 450,\n 300\n ]\n }\n ],\n \"connections\": {},\n \"name\": \"Production Workflow\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3\n },\n \"meta\": {\n \"instanceId\": \"workflow-b65955fd\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.055902\",\n \"updatedAt\": \"2025-09-29T07:07:51.055970\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Netlify Trigger\",\n \"type\": \"n8n-nodes-base.netlifyTrigger\",\n \"position\": [\n 450,\n 300\n ],\n \"webhookId\": \"0654820c-1960-4c8b-80fc-c0a66ab96577\",\n \"parameters\": {\n \"event\": \"deployFailed\",\n \"siteId\": \"ab52947e-a696-4498-a5a1-fae7fbe30c84\"\n },\n \"credentials\": {\n \"netlifyApi\": \"Netlify account\"\n },\n \"typeVersion\": 1,\n \"id\": \"eb7a9593-f033-4896-9411-6f3d6938e483\",\n \"notes\": \"This netlifyTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Slack\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"text\": \"=\\ud83d\\udea8 Deploy Failed \\ud83d\\udea8\\nDeploy for the site {{$json[\\\"name\\\"]}} failed.\\nError Message: {{$json[\\\"error_message\\\"]}}\\nYou can find more information here: {{ $env.WEBHOOK_URL }}{{$json[\\\"name\\\"]}}/deploys/{{$json[\\\"id\\\"]}}\",\n \"channel\": \"general\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"76c4f839-09f2-4756-a6fb-1f24ab828cb1\",\n \"notes\": \"This slack node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-a5555b39\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Netlifytrigger Workflow\",\n \"description\": \"Automated workflow: Netlifytrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": ...", "input": "", "output": "The node 'Slack' (type: n8n-nodes-base.slack) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"slackApi\": \"read-history\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Slack' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"chatID\",\n \"type\": \"n8n-nodes-base.function\",\n \"notes\": \"username and language\",\n \"position\": [\n -100,\n 680\n ],\n \"parameters\": {\n \"functionCode\": \"// Telegram uses the following language codes: https://en.wikipedia.org/wiki/IETF_language_tag\\r\\n\\r\\nvar data = $node[\\\"Telegram Trigger\\\"].json;\\r\\nconst botlang = [\\\"ru\\\", \\\"en\\\"]; // Update this after adding new language in the dictionary\\r\\n\\r\\n// Assign the default language if the translation is not yet ready\\r\\nvar curlang = botlang.includes(data.message.from.language_code) ? data.message.from.language_code : \\\"en\\\";\\r\\n\\r\\nreturn [{json: {chatID : data.message.chat.id,\\r\\n lang : curlang\\r\\n}}];\"\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1,\n \"id\": \"node-26ded2bb\"\n },\n {\n \"name\": \"Merge\",\n \"type\": \"n8n-nodes-base.merge\",\n \"notes\": \"Wait for dictionary to load\",\n \"position\": [\n 480,\n 460\n ],\n \"parameters\": {\n \"mode\": \"passThrough\"\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1,\n \"id\": \"node-6bb0ce9d\"\n },\n {\n \"name\": \"Switch\",\n \"type\": \"n8n-nodes-base.switch\",\n \"notes\": \"check bot commands\",\n \"position\": [\n 620,\n 460\n ],\n \"parameters\": {\n \"rules\": {\n \"rules\": [\n {\n \"value2\": \"/start\"\n },\n {\n \"output\": 1,\n \"value2\": \"/help\"\n }\n ]\n },\n \"value1\": \"={{$node[\\\"Merge\\\"].json[\\\"message\\\"][\\\"text\\\"]}}\",\n \"dataType\": \"string\",\n \"fallbackOutput\": 3\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1,\n \"id\": \"node-5a88ea77\"\n },\n {\n \"name\": \"IF\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 940,\n 300\n ],\n \"parameters\": {\n \"conditions\": {\n \"boolean\": [\n {\n \"val...", "input": "", "output": "The node 'msg_welcomeback' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'msg_welcomeback'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Telegram Trigger\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n 460,\n 320\n ],\n \"webhookId\": \"4d8556a0-8fdf-4228-8ee2-3e3c72f5fc57\",\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"7c2c5927-36e7-4cbc-aa7e-d4b17db9c913\",\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 660,\n 320\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$json[\\\"message\\\"][\\\"text\\\"]}}\",\n \"value2\": \"/deploy\",\n \"operation\": \"contains\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"06255bb3-8d38-49ef-845c-b698398bbbfc\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"GitHub\",\n \"type\": \"n8n-nodes-base.github\",\n \"position\": [\n 1060,\n 220\n ],\n \"parameters\": {\n \"owner\": \"n8n-io\",\n \"resource\": \"release\",\n \"releaseTag\": \"={{$json[\\\"version\\\"]}}\",\n \"repository\": \"n8n\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\",\n \"additionalFields\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"d15c735e-80b7-4b73-929d-09dd4631e7e4\",\n \"notes\": \"This github node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 860,\n 220\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"version\",\n \"value\": \"={{$json[\\\"message\\\"][\\\"text\\\"].split(' ')[1]}}\"\n }\n ]\n },\n \"o...", "input": "", "output": "The node 'GitHub' (type: n8n-nodes-base.github) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"githubOAuth2Api\": \"\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'GitHub' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 11,\n \"name\": \"Plex Automatic Throttler\",\n \"nodes\": [\n {\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 60,\n 440\n ],\n \"webhookId\": \"72a05ff6-05f5-4e7a-9eee-54a350bb6a47\",\n \"parameters\": {\n \"path\": \"72a05ff6-05f5-4e7a-9eee-54a350bb6a47\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-88a5ce00\"\n },\n {\n \"name\": \"Switch\",\n \"type\": \"n8n-nodes-base.switch\",\n \"position\": [\n 640,\n 580\n ],\n \"parameters\": {\n \"rules\": {\n \"rules\": [\n {\n \"value2\": \"media.resume\",\n \"operation\": \"contains\"\n },\n {\n \"output\": 1,\n \"value2\": \"media.play\",\n \"operation\": \"contains\"\n },\n {\n \"output\": 2,\n \"value2\": \"media.pause\",\n \"operation\": \"contains\"\n },\n {\n \"output\": 3,\n \"value2\": \"media.stop\",\n \"operation\": \"contains\"\n }\n ]\n },\n \"value1\": \"={{$node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"payload\\\"]}}\",\n \"dataType\": \"string\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-4146aa2a\"\n },\n {\n \"name\": \"Resume\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 860,\n 280\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-e0d9f60d\"\n },\n {\n \"name\": \"Check if Local\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 460,\n 440\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$json[\\\"body\\\"][\\\"payload\\\"]}}\",\n \"value2\": \"\\\"local\\\":false\",\n \"operation\": \"contains\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-533100b0\"\n },\n {\n \"n...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Telegram Trigger\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n 600,\n 300\n ],\n \"webhookId\": \"2d0805da-143e-40c9-b327-242b1f052c31\",\n \"parameters\": {\n \"updates\": [\n \"message\",\n \"edited_message\",\n \"channel_post\",\n \"edited_channel_post\"\n ],\n \"additionalFields\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"cd41d50a-efda-42dc-bb93-a890f19ac593\",\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Perspective\",\n \"type\": \"n8n-nodes-base.googlePerspective\",\n \"position\": [\n 800,\n 300\n ],\n \"parameters\": {\n \"text\": \"={{$json[\\\"message\\\"][\\\"text\\\"]}}\",\n \"options\": {\n \"languages\": \"en\"\n },\n \"requestedAttributesUi\": {\n \"requestedAttributesValues\": [\n {\n \"attributeName\": \"identity_attack\"\n },\n {\n \"attributeName\": \"threat\"\n },\n {\n \"attributeName\": \"profanity\"\n }\n ]\n }\n },\n \"credentials\": {\n \"googlePerspectiveOAuth2Api\": \"perspective_api\"\n },\n \"typeVersion\": 1,\n \"id\": \"887aafbf-6f55-4295-aee8-294169f52e75\",\n \"notes\": \"This googlePerspective node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1000,\n 300\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [\n {\n \"value1\": \"={{$json[\\\"attributeScores\\\"][\\\"PROFANITY\\\"][\\\"summaryScore\\\"][\\\"value\\\"]}}\",\n \"value2\": 0.7,\n \"operation\": \"larger\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"53a8dfbf-e37b-44f4-a7bf-d5eafc8c6c7c\",\n \"notes\": \"This if node performs autom...", "input": "", "output": "The node 'Telegram Trigger' (type: n8n-nodes-base.telegramTrigger) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"telegramApi\": \"telegram_habot\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Telegram Trigger' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"create new contact\"\n \"type\": \"n8n-nodes-base.hubspot\",\n \"position\": [\n -300,\n 1200\n ],\n \"parameters\": {\n \"email\": \"={{$json[\\\"form_email\\\"]}}\",\n \"resource\": \"contact\",\n \"additionalFields\": {\n \"industry\": \"={{$json[\\\"form_department\\\"]}}\",\n \"lastName\": \"={{$json[\\\"form_lastname\\\"]}}\",\n \"firstName\": \"={{$json[\\\"form_firstname\\\"]}}\",\n \"companyName\": \"={{$json[\\\"form_companyname\\\"]}}\"\n }\n },\n \"credentials\": {\n \"hubspotApi\": \"hubspot_nodeqa\"\n },\n \"typeVersion\": 1,\n \"id\": \"21797069-e7c6-426d-83b1-881997064dd6\",\n \"notes\": \"This hubspot node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"update lead stage\",\n \"type\": \"n8n-nodes-base.hubspot\",\n \"position\": [\n 100,\n 1100\n ],\n \"parameters\": {\n \"email\": \"={{$node[\\\"create new contact\\\"].json[\\\"properties\\\"][\\\"email\\\"][\\\"value\\\"]}}\",\n \"resource\": \"contact\",\n \"additionalFields\": {\n \"lifeCycleStage\": \"opportunity\"\n }\n },\n \"credentials\": {\n \"hubspotApi\": \"hubspot_nodeqa\"\n },\n \"typeVersion\": 1,\n \"id\": \"4985b0bc-555e-4a51-8c15-24d6cb677e5e\",\n \"notes\": \"This hubspot node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"NoOp\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 100,\n 1300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"c997b91d-a02a-466a-9185-297b39615588\",\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set values\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -500,\n 1200\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"form_firstname\",\n \"value\": \"={{$json[\\\"First up, what's your name...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 122,\n \"name\": \"Automate assigning GitHub issues\",\n \"nodes\": [\n {\n \"name\": \"Switch\",\n \"type\": \"n8n-nodes-base.switch\",\n \"position\": [\n 720,\n 360\n ],\n \"parameters\": {\n \"rules\": {\n \"rules\": [\n {\n \"value2\": \"opened\"\n },\n {\n \"output\": 1,\n \"value2\": \"created\"\n }\n ]\n },\n \"value1\": \"={{$json[\\\"body\\\"][\\\"action\\\"]}}\",\n \"dataType\": \"string\"\n },\n \"typeVersion\": 1,\n \"id\": \"6bb99686-4529-4435-b945-b040bb0da8a4\",\n \"notes\": \"This switch node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"IF no assignee?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1120,\n 220\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [\n {\n \"value1\": \"={{$json[\\\"body\\\"][\\\"issue\\\"][\\\"assignees\\\"].length}}\",\n \"operation\": \"equal\"\n }\n ],\n \"string\": [\n {\n \"value1\": \"={{$json[\\\"body\\\"][\\\"issue\\\"][\\\"body\\\"]}}\",\n \"value2\": \"/[a,A]ssign[\\\\w*\\\\s*]*me/gm\",\n \"operation\": \"regex\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"75390d62-4841-469a-9d4f-2229e2d37f9c\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"NoOp\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1320,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"2e28f418-d0d1-4d9e-8735-89a53e6ec9e6\",\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"IF wants to work?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 920,\n 560\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [],\n \"string\": [\n {\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-4a2f495a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.089111\",\n \"updatedAt\": \"2025-09-29T07:07:51.089118\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"1e603735-dd86-4691-8ece-c81fff396161\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 370,\n 250\n ],\n \"webhookId\": \"484b94c9-8285-4ec9-aa52-f5a41eb84d1a\",\n \"parameters\": {\n \"path\": \"timersyncro\",\n \"options\": {},\n \"httpMethod\": \"POST\",\n \"responseData\": \"allEntries\",\n \"responseMode\": \"lastNode\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2b243a13-a258-4198-9cad-057c6117b50a\",\n \"name\": \"EnvVariables\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 570,\n 250\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"syncro_baseurl\",\n \"value\": \"{{ $env.WEBHOOK_URL }}\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0108d71b-ae26-4e64-9a52-9b6de15c4fbd\",\n \"name\": \"Google Sheets\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 750,\n 250\n ],\n \"parameters\": {\n \"range\": \"A:B\",\n \"options\": {},\n \"sheetId\": \"xxx\",\n \"operation\": \"lookup\",\n \"lookupValue\": \"={{$node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"call_id\\\"]}}\",\n \"lookupColumn\": \"Call\"\n },\n \"credentials\": {\n \"googleApi\": {\n \"id\": null,\n \"name\": \"Google\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"Th...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"14\",\n \"name\": \"Activity Encouragement\",\n \"nodes\": [\n {\n \"name\": \"Strava\",\n \"type\": \"n8n-nodes-base.strava\",\n \"position\": [\n 640,\n 300\n ],\n \"parameters\": {\n \"operation\": \"getAll\",\n \"returnAll\": true\n },\n \"typeVersion\": 1,\n \"id\": \"83b7ca9a-24cb-42d2-ba1b-5a4e90c8c302\",\n \"notes\": \"This strava node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Accountability Settings\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"moveTime\",\n \"value\": 1800\n }\n ],\n \"string\": [\n {\n \"name\": \"actPartner1\",\n \"value\": \"john.doe@example.com\"\n },\n {\n \"name\": \"actPartner2\",\n \"value\": \"jane.doe@example.com\"\n },\n {\n \"name\": \"actPartner3\",\n \"value\": \"jill.doe@example.com\"\n },\n {\n \"name\": \"yourName\",\n \"value\": \"Jim\"\n },\n {\n \"name\": \"yourEmail\",\n \"value\": \"jim.doe@example.com\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"ee30ac7b-f7f5-497e-8286-f0cfc4d671ce\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Check Activity Level\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 840,\n 300\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [\n {\n \"value1\": \"={{$node[\\\"Strava\\\"].json[\\\"moving_time\\\"]}}\",\n \"value2\": \"={{$node[\\\"Accountability Settings\\\"].parameter[\\\"values\\\"][\\\"number\\\"][0][\\\"value\\\"]}}\",\n \"operation\": \"largerEqual\"\n ...", "input": "", "output": "The node 'Strava' (type: n8n-nodes-base.strava) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"stravaOAuth2Api\": \"Strava OAuth2 Creds\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Strava' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"166:\n \"name\": \"Receive messages from a topic and send an SMS\",\n \"nodes\": [\n {\n \"name\": \"Kafka Trigger\",\n \"type\": \"n8n-nodes-base.kafkaTrigger\",\n \"position\": [\n 490,\n 260\n ],\n \"parameters\": {\n \"topic\": \"topic_test\",\n \"groupId\": \"n8n\",\n \"options\": {\n \"jsonParseMessage\": true\n }\n },\n \"credentials\": {\n \"kafka\": \"kafka\"\n },\n \"typeVersion\": 1,\n \"id\": \"b4435dae-fb5a-4f79-b6f7-bce0cca69f73\",\n \"notes\": \"This kafkaTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 690,\n 260\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [\n {\n \"value1\": \"={{$node[\\\"Kafka Trigger\\\"].json[\\\"message\\\"][\\\"temp\\\"]}}\",\n \"value2\": 50,\n \"operation\": \"larger\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"c26e98b9-319a-4ea9-ac53-b62296dbee25\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Vonage\",\n \"type\": \"n8n-nodes-base.vonage\",\n \"position\": [\n 890,\n 160\n ],\n \"parameters\": {\n \"from\": \"Vonage APIs\",\n \"message\": \"=Alert!\\nThe value of temp is {{$node[\\\"Kafka Trigger\\\"].json[\\\"message\\\"][\\\"temp\\\"]}}.\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"vonageApi\": \"vonage\"\n },\n \"typeVersion\": 1,\n \"id\": \"5d7736f4-dd71-4aad-a14b-aabe23978b1c\",\n \"notes\": \"This vonage node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"NoOp\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 890,\n 360\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"d7b6f81d-b34e-4ae0-8842-18a4af4f1a96\",\n \"notes\": \"This noOp node performs automated tasks as ...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"168\",\n \"name\": \"Smart Factory Use Case\",\n \"nodes\": [\n {\n \"name\": \"Values higher than 50\\u00b0C\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 250,\n 550\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [\n {\n \"value1\": \"={{$node[\\\"Data from factory sensors\\\"].json[\\\"body\\\"][\\\"temperature_celsius\\\"]}}\",\n \"value2\": 50,\n \"operation\": \"largerEqual\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"57ff9464-52d7-4b46-a6c7-ff23f915a58f\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Data from factory sensors\",\n \"type\": \"n8n-nodes-base.amqpTrigger\",\n \"position\": [\n 50,\n 700\n ],\n \"parameters\": {\n \"sink\": \"berlin_factory_01\",\n \"options\": {}\n },\n \"credentials\": {\n \"amqp\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"140703f5-b555-4af4-a20e-513523aec90c\",\n \"notes\": \"This amqpTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set sensor data\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 450,\n 850\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"temeprature_fahrenheit\",\n \"value\": \"={{$node[\\\"Data enrichment (\\u00b0C to \\u00b0F)\\\"].json[\\\"temperature_fahrenheit\\\"]}}\"\n },\n {\n \"name\": \"temperature_celsius\",\n \"value\": \"={{$node[\\\"Data enrichment (\\u00b0C to \\u00b0F)\\\"].json[\\\"body\\\"][\\\"temperature_celsius\\\"]}}\"\n },\n {\n \"name\": \"machine_uptime\",\n \"value\": \"={{$node[\\\"Data from factory sensors\\\"].json[\\\"body\\\"][\\\"machine_id\\\"][\\\"uptime\\\"]}}\"\n },\n {\n \"name\": \"time_stamp\",\n \"value\": \"={{$node[\\\"Data from factory sensors\\\"]....", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"186\",\n \"name\": \"Receive messages from a queue via RabbitMQ and send an SMS\",\n \"nodes\": [\n {\n \"name\": \"RabbitMQ\",\n \"type\": \"n8n-nodes-base.rabbitmqTrigger\",\n \"position\": [\n 520,\n 220\n ],\n \"parameters\": {\n \"queue\": \"temp\",\n \"options\": {\n \"onlyContent\": true,\n \"jsonParseBody\": true\n }\n },\n \"credentials\": {\n \"rabbitmq\": \"RabbitMQ Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"00ea13a9-51d3-4208-bc39-c2b9f9ba96ea\",\n \"notes\": \"This rabbitmqTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 720,\n 220\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [\n {\n \"value1\": \"={{$node[\\\"RabbitMQ\\\"].json[\\\"temp\\\"]}}\",\n \"value2\": 50,\n \"operation\": \"larger\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"adc567c6-d16e-45c3-83d2-8d6324a25745\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Vonage\",\n \"type\": \"n8n-nodes-base.vonage\",\n \"position\": [\n 930,\n 120\n ],\n \"parameters\": {\n \"message\": \"=Alert!\\nThe value of temp is {{$node[\\\"RabbitMQ\\\"].json[\\\"temp\\\"]}}.\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"vonageApi\": \"vonage\"\n },\n \"typeVersion\": 1,\n \"id\": \"0bbbb1b5-78ab-495c-9cb5-00c18518b0bd\",\n \"notes\": \"This vonage node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"NoOp\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 920,\n 370\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"091793e5-26af-4fd1-b7c5-d7f79a06a68a\",\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n ...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-f0b0be40\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.104190\",\n \"updatedAt\": \"2025-09-29T07:07:51.104218\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"12786b19-159f-45b0-8d15-d88de73c17e9\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1540,\n 660\n ],\n \"parameters\": {\n \"width\": 483,\n \"height\": 345,\n \"content\": \"### Slack POSTs to Webhook on every message so we need to filter-out bot messages\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3949be41-98b7-4414-84fd-819f4fccca35\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -400,\n 1080\n ],\n \"parameters\": {\n \"width\": 293,\n \"height\": 228,\n \"content\": \"### Tools which Agent can use to accomplish the task\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"76ce81d8-33e2-470a-9313-dd888acabed0\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -720,\n 1080\n ],\n \"parameters\": {\n \"width\": 288,\n \"height\": 233,\n \"content\": \"### Conversation history is stored in memory using channel id as key\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3682ffd3-7002-466a-bedf-9897067586c0\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1000,\n 1080\n ],\n \"parameters\": {\n \"width\": 260,\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"79c06432-9d3f-4a93-b613-24bdaedfb71d\",\n \"name\": \"Could not find user\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1940,\n 640\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"07d23ef6-8c93-40de-9e95-ea3d56811fa0\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 540,\n 200\n ],\n \"parameters\": {\n \"width\": 330.0463186838765,\n \"height\": 609.3353028064989,\n \"content\": \"## On User created in HubSpot\\n\\n1. Setup Oauth2 creds using n8n docs\\n{{ $env.WEBHOOK_URL }}\\n\\n### Be careful with scopes. Scopes must be exactly as defined in the docs\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bad1ea1c-9b03-4419-ac37-272b5740a7c4\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1660,\n 200\n ],\n \"parameters\": {\n \"color\": 3,\n \"width\": 343.28654189681333,\n \"height\": 609.3353028064989,\n \"content\": \"## Enrich with data from ExactBuyer\\n\\n1. Add api key from Exact buyer\\n2. Use email as identifier to match user\\n\\nUse API Guide here {{ $env.WEBHOOK_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d24ae8e3-c5fe-4cde-bade-66f60cda943d\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 940,\n 240\n ],\n \"parameters\": {\n \"color\": 6,\n \"width\": 352.21705571104906,\n \"height\": 499.9091886469748,\n \"content\": \"## Get user in Hubspot\\n\\n1. Setup Oauth2 creds using n8n docs\\n{{ $env.WEBHOOK_URL }}\\n\\n### Be careful with scopes. Scopes must be...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"247\",\n \"name\": \"Congratulations Workflow\",\n \"nodes\": [\n {\n \"name\": \"Daily Trigger\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 200,\n 400\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"hour\": 8\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"fc85f669-ecca-4523-8595-5ff3c7dfa118\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Congratulations Calendar\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 400,\n 400\n ],\n \"parameters\": {\n \"range\": \"A:E\",\n \"options\": {\n \"valueRenderMode\": \"FORMATTED_VALUE\"\n },\n \"sheetId\": \"\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"01f7f01e-3830-485b-a709-54c8d17975f0\",\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Any Event Today?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 600,\n 400\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$node[\\\"Congratulations Calendar\\\"].json[\\\"Date\\\"]}}\",\n \"value2\": \"={{(new Date).getDate()}}/{{(new Date).getMonth()+1}}\"\n }\n ]\n },\n \"_injected_number_field\": \"not_a_number\"\n },\n \"typeVersion\": 1,\n \"id\": \"a554ecb6-b239-4d83-8621-49ec32d639c5\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Do Nothing\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 800,\n 550\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"7fc0ca43-c5df-41b1-98d4-9ad976ef885c\",\n \"notes\": \"This noOp node p...", "input": "", "output": "The node 'Any Event Today?' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Any Event Today?'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 2,\n \"name\": \"RSS to Telegram\",\n \"nodes\": [\n {\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 440,\n 30\n ],\n \"parameters\": {\n \"text\": \"=\\ud83d\\udcb9 #\\u65e5\\u5e63\\u532f\\u7387 {{$json[\\\"title\\\"]}}\\n\\n{{$json[\\\"link\\\"]}}\",\n \"chatId\": \"\",\n \"additionalFields\": {},\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"telegramApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"64084e30-507e-45ef-bbbf-b295b4b29392\",\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"RSS Feed Read\",\n \"type\": \"n8n-nodes-base.rssFeedRead\",\n \"position\": [\n -359.5,\n 130\n ],\n \"parameters\": {\n \"url\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"50de2337-548c-4cba-9773-070598a0c715\",\n \"notes\": \"This rssFeedRead node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Latest Read\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n -160,\n 130\n ],\n \"parameters\": {\n \"functionCode\": \"const staticData = this.getWorkflowStaticData('global');\\n\\nlatestRead = staticData.latestRead;\\n\\nfor (let item of items) {\\n item.json.latestRead = latestRead || '2021-06-01';\\n}\\n\\nreturn items;\"\n },\n \"typeVersion\": 1,\n \"id\": \"e6e8e82a-997f-4c55-9c6d-808b3c34e2e6\",\n \"notes\": \"This function node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 40,\n 130\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [\n {\n \"value1\": \"={{new Date($node[\\\"Latest Read\\\"].data[\\\"latestRead\\\"]).getTime()}}\",\n \"value2\": \"={{new Date($node[\\\"RSS Feed Read\\\"].data[\\\"isoDate\\\"]).getTime()}}\"\n }\n ],\n \"string\": [\n...", "input": "", "output": "The node 'Telegram' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Telegram'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"39KuujB1fbOvx8Al\",\n \"meta\": {\n \"instanceId\": \"workflow-12d927de\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.157861\",\n \"updatedAt\": \"2025-09-29T07:07:51.157880\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"OpenAI e-mail classification - application\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-e9c787b2\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"6156844f-d1ba-413d-9ab2-02148bef5bf0\",\n \"name\": \"Email trigger\",\n \"type\": \"n8n-nodes-base.emailReadImap\",\n \"position\": [\n -440,\n 120\n ],\n \"parameters\": {\n \"format\": \"resolved\",\n \"options\": {},\n \"postProcessAction\": \"nothing\",\n \"dataPropertyAttachmentsPrefixName\": \"attachment\"\n },\n \"credentials\": {\n \"imap\": {\n \"id\": \"il5dS1iQxJvOMWbE\",\n \"name\": \"IMAP account\"\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This emailReadImap node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1aedaa56-d988-469b-86b9-61d50e707950\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 0,\n 0\n ],\n \"parameters\": {\n \"height\": 200,\n \"content\": \"### Change or add any category you want\\nEach category can be assigned it's own specific workflow\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d41ba844-2b99-42bb-80df-cff1b97dcbb9\",\n \"name\": \"Classify email\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"65\",\n \"name\": \"Get Product Feedback\",\n \"nodes\": [\n {\n \"name\": \"Typeform Trigger\",\n \"type\": \"n8n-nodes-base.typeformTrigger\",\n \"position\": [\n 170,\n 260\n ],\n \"webhookId\": \"0cf82c15-eeb8-4b24-bd67-5f4b54a58b6d\",\n \"parameters\": {\n \"formId\": \"\"\n },\n \"credentials\": {\n \"typeformApi\": \"typeform-harshil\"\n },\n \"typeVersion\": 1,\n \"id\": \"3fb18885-cf24-4f69-9114-eb9477e845ac\",\n \"notes\": \"This typeformTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 370,\n 260\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"Score\",\n \"value\": \"={{$node[\\\"Typeform Trigger\\\"].json[\\\"What score would you like to give?\\\"]}}\"\n }\n ],\n \"string\": [\n {\n \"name\": \"Name\",\n \"value\": \"={{$node[\\\"Typeform Trigger\\\"].json[\\\"What is your name?\\\"]}}\"\n },\n {\n \"name\": \"Email\",\n \"value\": \"={{$node[\\\"Typeform Trigger\\\"].json[\\\"What is your email address?\\\"]}}\"\n },\n {\n \"name\": \"Description\",\n \"value\": \"={{$node[\\\"Typeform Trigger\\\"].json[\\\"Anything else you want to share?\\\"]}}\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"7e896f4c-4623-4779-afbd-e6784f799b4a\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Airtable\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 570,\n 260\n ],\n \"parameters\": {\n \"table\": \"Feedback\",\n \"options\": {},\n \"operation\": \"append\",\n \"application\": \"\"\n },\n \"credentials\": {\n \"airtableApi\": \"airtable-harshil\"\n },\n...", "input": "", "output": "The node 'If Node' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'If Node'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"79\",\n \"name\": \"Get the price of BTC in EUR and send an SMS when the price is larger than EUR 9000\",\n \"nodes\": [\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 590,\n 500\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"a3e061de-1e9d-4745-9ba2-a07cc8389f75\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"CoinGecko\",\n \"type\": \"n8n-nodes-base.coinGecko\",\n \"position\": [\n 790,\n 500\n ],\n \"parameters\": {\n \"coinIds\": [\n \"bitcoin\"\n ],\n \"options\": {},\n \"operation\": \"price\",\n \"currencies\": [\n \"eur\"\n ]\n },\n \"typeVersion\": 1,\n \"id\": \"8bf83109-15c5-427c-ae88-8513acb2769e\",\n \"notes\": \"This coinGecko node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 990,\n 500\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [\n {\n \"value1\": \"={{$node[\\\"CoinGecko\\\"].json[\\\"bitcoin\\\"][\\\"eur\\\"]}}\",\n \"value2\": 9000,\n \"operation\": \"largerEqual\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"9fd68e83-05e1-4278-98f6-f8be2a207860\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Twilio\",\n \"type\": \"n8n-nodes-base.twilio\",\n \"position\": [\n 1190,\n 400\n ],\n \"parameters\": {\n \"to\": \"1234\",\n \"from\": \"1234\",\n \"message\": \"=The price went up! The new price is {{$node[\\\"CoinGecko\\\"].json[\\\"bitcoin\\\"][\\\"eur\\\"]}}\"\n },\n \"credentials\": {\n \"twilioApi\": \"twilio-credentials\"\n }...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"81\",\n \"name\": \"Execute a command that gives the hard disk memory used on the host machine\",\n \"nodes\": [\n {\n \"name\": \"Execute Command\",\n \"type\": \"n8n-nodes-base.executeCommand\",\n \"position\": [\n 670,\n 300\n ],\n \"parameters\": {\n \"command\": \"df -k / | tail -1 | awk '{print $5}'\"\n },\n \"typeVersion\": 1,\n \"id\": \"a2c8f4aa-9927-4f0f-8da9-89934e39278f\",\n \"notes\": \"This executeCommand node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 470,\n 300\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"hour\": 9\n },\n {\n \"hour\": 16\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"95b9a491-c87e-4a5b-b189-f3cb6c88a5b2\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 870,\n 300\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [\n {\n \"value1\": \"={{parseInt($node[\\\"Execute Command\\\"].json[\\\"stdout\\\"])}}\",\n \"value2\": 80,\n \"operation\": \"larger\"\n }\n ],\n \"string\": []\n }\n },\n \"typeVersion\": 1,\n \"id\": \"0a677bf7-6c04-4ea3-b196-c19f8cbcd6d2\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Twilio\",\n \"type\": \"n8n-nodes-base.twilio\",\n \"position\": [\n 1070,\n 200\n ],\n \"parameters\": {\n \"to\": \"+12345\",\n \"from\": \"+123\",\n \"message\": \"=Your hard disk space is filling up fast! Your hard disk is {{$node[\\\"Execute Command\\\"].json[\\\"stdout\\\"]}} full.\"\n },\n \"credentials\": {\n \"twilioApi\": \"twilio-credentials\"\n ...", "input": "", "output": "The node 'Error Handler' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Error Handler'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"dQC8kExvbCrovWf0\",\n \"meta\": {\n \"instanceId\": \"workflow-790fc5fa\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.146733\",\n \"updatedAt\": \"2025-09-29T07:07:51.146751\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Dynamically switch between LLMs Template\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-92eae01a\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"962c4b29-c244-4d68-93e1-cacd41b436fc\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 220,\n 80\n ],\n \"webhookId\": \"713a7f98-0e3d-4eb7-aafa-599ca627c8b4\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6fc4f336-09e3-4e79-94e9-e5eff04e4089\",\n \"name\": \"Switch Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 540,\n 320\n ],\n \"parameters\": {\n \"code\": {\n \"supplyData\": {\n \"code\": \"let llms = await this.getInputConnectionData('ai_languageModel', 0);\\nllms.reverse(); // reverse array, so the order matches the UI elements\\n\\nconst llm_index = $input.item.json.llm_index;\\nif (!Number.isInteger(llm_index)) {\\n console.log(\\\"'llm_index' is udefined or not a valid integer\\\");\\n throw new Error(\\\"'llm_index' is udefined or not a valid integer\\\");\\n}\\n\\nif(typeof llms[llm_index] === 'undefined') {\\n console.log(`No LLM found with index ${llm_index}`);\\n throw new Error(`No LLM found with index ${llm_index}`);\\n}\\n\\nreturn llms...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"jOI7FRhG1FkeqBLG\",\n \"meta\": {\n \"instanceId\": \"workflow-dc84f021\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.177814\",\n \"updatedAt\": \"2025-09-29T07:07:51.177830\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Wordpress Form to Mautic\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"fcd19b7b-9104-45a6-b741-9497effbd68e\",\n \"name\": \"LeadData\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1260,\n 420\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"91215336-3a47-4e86-ac6a-1a1862b31e54\",\n \"name\": \"name\",\n \"type\": \"string\",\n \"value\": \"={{ $json.body.Nome.toTitleCase() }}\"\n },\n {\n \"id\": \"703f1da3-3f68-4d97-94c9-c22661813d92\",\n \"name\": \"email\",\n \"type\": \"string\",\n \"value\": \"={{ $json.body['E-mail'].toLowerCase() }}\"\n },\n {\n \"id\": \"c9ba65f1-68e9-46ed-9620-365e000aeb6c\",\n \"name\": \"mobile\",\n \"type\": \"string\",\n \"value\": \"={{ $json.body.WhatsApp }}\"\n },\n {\n \"id\": \"3a7266cf-5ff8-4559-985d-2480d0271cbd\",\n \"name\": \"form\",\n \"type\": \"string\",\n \"value\": \"={{ $json.body.form_id }}\"\n },\n {\n \"id\": \"06825dab-fbed-4d85-b91c-5d1c2cf8e934\",\n \"name\": \"email_valid\",\n \"type\": \"boolean\",\n \"value\": \"={{ $json.body['E-mail'].isEmail() }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n...", "input": "", "output": "The workflow has a broken data flow. The node '620d1873-3881-4086-8bd3-e26e07cab88c' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '620d1873-3881-4086-8bd3-e26e07cab88c'.\n\n**Impact**: Data from '620d1873-3881-4086-8bd3-e26e07cab88c' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '620d1873-3881-4086-8bd3-e26e07cab88c' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"620d1873-3881-4086-8bd3-e26e07cab88c\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '620d1873-3881-4086-8bd3-e26e07cab88c' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Extract Name and Email\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 950,\n 130\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"Name\",\n \"value\": \"={{$json[\\\"body\\\"][\\\"name\\\"]}}\"\n },\n {\n \"name\": \"Email\",\n \"value\": \"={{$json[\\\"body\\\"][\\\"email\\\"]}}\"\n }\n ],\n \"boolean\": []\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"node-00d3fe62\"\n },\n {\n \"name\": \"Sign Up\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"notes\": \"Example Input Data: {\\\"name\\\":\\\"John Doe\\\",\\\"email\\\":\\\"doe.j@northeastern.edu\\\"}\",\n \"position\": [\n 720,\n 130\n ],\n \"webhookId\": \"6d60a1b4-6706-4f21-a5fb-bace13c24b53\",\n \"parameters\": {\n \"path\": \"sign-up\",\n \"options\": {\n \"responseData\": \"\"\n },\n \"httpMethod\": \"POST\",\n \"authentication\": \"{{ $credentials.basicAuth }}\"\n },\n \"credentials\": {\n \"httpBasicAuth\": {\n \"id\": \"{{ $credentials.httpBasicAuth.id }}\",\n \"name\": \"Oasis Basic Auth Creds\"\n }\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1,\n \"id\": \"node-7e47ae02\"\n },\n {\n \"name\": \"If user exists\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1560,\n 150\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [],\n \"boolean\": [\n {\n \"value1\": \"={{Object.keys($json).includes(\\\"id\\\") }}\",\n \"value2\": true\n }\n ]\n }\n },\n \"executeOnce\": false,\n \"typeVersion\": 1,\n \"alwaysOutputData\": false,\n \"id\": \"node-d59b24d4\"\n },\n {\n \"name\": \"Create User\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 1750,\n 240\n ],\n \"parameters\"...", "input": "", "output": "The node 'Query Current Semester' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Query Current Semester'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Get Team Members\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 1030,\n 150\n ],\n \"parameters\": {\n \"functionCode\": \"const newItems = [];\\n\\nfor (const item of items[0].json.body.teamMembers) {\\n const newItem = { json: item }\\n newItems.push(newItem);\\n}\\n\\nreturn newItems;\\n\"\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": false,\n \"id\": \"node-ff15d8bc\"\n },\n {\n \"name\": \"Merge\",\n \"type\": \"n8n-nodes-base.merge\",\n \"position\": [\n 1250,\n 460\n ],\n \"parameters\": {\n \"mode\": \"multiplex\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-7dc64bcb\"\n },\n {\n \"name\": \"Query Current Semester\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 700,\n 20\n ],\n \"parameters\": {\n \"options\": {\n \"sort\": {\n \"sortValue\": [\n {\n \"key\": \"{{ $credentials.key }}\",\n \"direction\": \"descending\",\n \"timestamp\": true\n }\n ]\n },\n \"filter\": {\n \"singleCondition\": {\n \"key\": \"{{ $credentials.key }}\",\n \"condition\": \"equals\",\n \"checkboxValue\": true\n }\n }\n },\n \"resource\": \"databasePage\",\n \"operation\": \"getAll\",\n \"returnAll\": true,\n \"databaseId\": \"2003319a-bc73-423a-9378-01999b4884fb\"\n },\n \"credentials\": {\n \"notionApi\": \"Oasis Hub Production\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-70a74bc9\"\n },\n {\n \"name\": \"Select Semester ID and Projects Count\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1030,\n 330\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"projectsCount\",\n \"value\": \"={{$json[\\\"Projects\\\"].length}}\"\n }\n ],\n \"string\": ...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-2d1a869c\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.192786\",\n \"updatedAt\": \"2025-09-29T07:07:51.192805\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"fa143713-0a54-465b-bfeb-cfb180871ab4\",\n \"name\": \"On file upload\",\n \"type\": \"n8n-nodes-base.googleDriveTrigger\",\n \"position\": [\n 240,\n 480\n ],\n \"parameters\": {\n \"event\": \"fileCreated\",\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n },\n \"triggerOn\": \"specificFolder\",\n \"folderToWatch\": \"1_vYi00lSdzU2p6wGrnW_IqsOblOL-3zG\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"{{ $credentials.googleDriveOAuth2Api.id }}\",\n \"name\": \"[UPDATE ME]\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This googleDriveTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"78fe0319-e8bf-4c37-8d49-2cd1d6d084e6\",\n \"name\": \"Create database page\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 440,\n 480\n ],\n \"parameters\": {\n \"title\": \"={{$node[\\\"On file upload\\\"].json[\\\"name\\\"]}}\",\n \"resource\": \"databasePage\",\n \"databaseId\": \"d637c796-d33b-4768-b955-55c66a0966b7\",\n \"propertiesUi\": {\n \"propertyValues\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"fileUrls\": {\n \"fileUrl\": [\n {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"name\": \"={{ $node[\\\"On file upload\\\"].json[\\\"name\\\"] }}\"\n }\n ]\n }\n }\n ]\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This notio...", "input": "", "output": "The node 'Create database page' (type: n8n-nodes-base.notion) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"notionApi\": {\n \"id\": \"{{ $credentials.notionApi.id }}\",\n \"name\": \"[UPDATE ME]\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Create database page' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"4aKofiCShqdDSsIS\",\n \"meta\": {\n \"instanceId\": \"workflow-d8863382\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.180026\",\n \"updatedAt\": \"2025-09-29T07:07:51.180037\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Import Odoo Product Images from Google Drive\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"690beab3-2e3a-4426-9e90-fde834cb2c72\",\n \"name\": \"Filter Images\",\n \"type\": \"n8n-nodes-base.filter\",\n \"position\": [\n 820,\n 340\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"or\",\n \"conditions\": [\n {\n \"id\": \"bb0df6d8-525b-4054-9340-4400ddd40c81\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"endsWith\"\n },\n \"leftValue\": \"={{ $json.name }}\",\n \"rightValue\": \".png\"\n },\n {\n \"id\": \"8ebcb3fb-dd64-40f6-94c9-5b13021847d9\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"endsWith\"\n },\n \"leftValue\": \"={{ $json.name }}\",\n \"rightValue\": \".jpg\"\n }\n ]\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This filter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6fec7062-3f85-4ce0-86cd-6ac4f1169192\",\n \"name\": \"Find Files\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 600,\n 340\n ],\n \"parameters\": {\n \"filter\": {\n \"driveId\": {\n \"...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"n8cwEZfJLGn15Lqx:\n \"meta\": {\n \"instanceId\": \"workflow-6d8e8f1b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.192008\",\n \"updatedAt\": \"2025-09-29T07:07:51.192025\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"ERP AI chatbot for Odoo sales module\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"abe58519-f3fe-4438-b6d6-d67071c70f0b\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1360,\n 700\n ],\n \"parameters\": {\n \"sessionKey\": \"YOUR_CREDENTIAL_HERE\",\n \"sessionIdType\": \"customKey\"\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This memoryBufferWindow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"35b63108-e40d-494f-a0dc-5c8ea296c75f\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1240,\n 700\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8F3dAS1qjFM6mYbD\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"91ff893c-917d-46c2-b27d-48e9799452a6\",\n \"name\": \"Calculator\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1480,\n 700\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This toolCalculator node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b9c10744-c5b8-4949-a80f-d331746632fb\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 220,\n 180\n ],\n \"parameters\": {\n ...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-9c1b07a6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.229744\",\n \"updatedAt\": \"2025-09-29T07:07:51.229759\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"4ea39a4f-d8c1-438f-9738-bfbb906a3d7a\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1200,\n 1020\n ],\n \"parameters\": {\n \"width\": 253,\n \"height\": 342,\n \"content\": \"## Send customer feedback to OpenAI for sentiment analysis\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6962ea41-7d15-4932-919f-21ac94fa1269\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1960,\n 1180\n ],\n \"parameters\": {\n \"width\": 253,\n \"height\": 342,\n \"content\": \"## Add new feedback to google sheets\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4c8a8984-2d8e-4139-866b-6f3536aced07\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 800,\n 1600\n ],\n \"parameters\": {\n \"width\": 1407,\n \"height\": 254,\n \"content\": \"## Instructions\\n1. Connect Google sheets\\n2. Connect your OpenAi account (api key + org Id)\\n3. Create a customer feedback form, use an existing one or use the one below as example. \\nAll set!\\n\\n\\n- Here is the example google sheet being used in this workflow: {{ $env.WEBHOOK_URL }} You can download it to your account.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d43a9...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-aa760025\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.225565\",\n \"updatedAt\": \"2025-09-29T07:07:51.225589\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"8b6d8462-1fe5-478b-aa15-7d10ff799aae\",\n \"name\": \"Edit Fields\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 980,\n 900\n ],\n \"parameters\": {\n \"fields\": {\n \"values\": [\n {\n \"name\": \"prompt\",\n \"stringValue\": \"\\\"\\\"\\\"PROMPT: The above is a n8n workflow json, please create workflow documentation for the user:. you are the master of brevity, be as concise and brief as possible, output generated documentation only. ## Guidelines for the documentation - **Provide a detailed description**: Provide a concise and informative description outlining the template's functionality and expected outcomes. Include a brief setup guide for user convenience. A detailed description not only clarifies the template's purpose but also enhances its discoverability through SEO. It\\u2019s advised to use these sections in your description: - Who is this for? - What problem is this workflow solving? / use case - What this workflow does - Setup - How to customize this workflow to your needs Here is an example ``` # Who is this template for? This workflow template is designed for **Sales** and **Customer Success** professionals seeking alerts when potential high-value users, prospects, or existing customers register for a Discourse community. Leveraging Clearbit, it retrieves enriched data for the new member to assess their value. ### Example result in Slack ![Screenshot 20240221 at 13.51.29.png]({{ $env.API_BASE_URL }} # How it works - Each time a new member is created in Discourse, the workflow runs (powered by Dis...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"trigger-5cd75600\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"name\": \"Get Content Ideas\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 200,\n 300\n ],\n \"parameters\": {\n \"range\": \"Sheet1!A:C\",\n \"sheetId\": \"YOUR_GOOGLE_SHEET_ID\"\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": \"YOUR_GOOGLE_SHEETS_CREDENTIALS\"\n },\n \"typeVersion\": 1,\n \"id\": \"cd912cf7-67ca-4f45-89d9-82a3ea3a3487\",\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Generate Post with OpenAI\",\n \"type\": \"n8n-nodes-base.openAi\",\n \"position\": [\n 500,\n 300\n ],\n \"parameters\": {\n \"model\": \"gpt-4\",\n \"prompt\": \"Create a social media post for {{$node[\\\"Get Content Ideas\\\"].json[\\\"Platform\\\"]}} based on this idea: {{$node[\\\"Get Content Ideas\\\"].json[\\\"Idea\\\"]}}. Keep it engaging and concise.\"\n },\n \"credentials\": {\n \"openAIApi\": \"YOUR_OPENAI_CREDENTIALS\"\n },\n \"typeVersion\": 1,\n \"id\": \"9e632dde-3e1f-4551-8689-78c865affaa8\",\n \"notes\": \"This openAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Check Platform\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 800,\n 300\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"{{$node[\\\"Get Content Ideas\\\"].json[\\\"Platform\\\"]}}\",\n \"value2\": \"Twitter\",\n \"operation\": \"equal\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"be27defe-cc38-45d3-9f20-9b725c10d37d\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Post to Twit...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-978016ca\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.243314\",\n \"updatedAt\": \"2025-09-29T07:07:51.243333\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"4ea39a4f-d8c1-438f-9738-bfbb906a3d7a\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1200,\n 1020\n ],\n \"parameters\": {\n \"width\": 253,\n \"height\": 342,\n \"content\": \"## Send customer feedback to OpenAI for sentiment analysis\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6962ea41-7d15-4932-919f-21ac94fa1269\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1960,\n 1180\n ],\n \"parameters\": {\n \"width\": 253,\n \"height\": 342,\n \"content\": \"## Add new feedback to google sheets\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4c8a8984-2d8e-4139-866b-6f3536aced07\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 800,\n 1600\n ],\n \"parameters\": {\n \"width\": 1407,\n \"height\": 254,\n \"content\": \"## Instructions\\n1. Connect Google sheets\\n2. Connect your OpenAi account (api key + org Id)\\n3. Create a customer feedback form, use an existing one or use the one below as example. \\nAll set!\\n\\n\\n- Here is the example google sheet being used in this workflow: {{ $env.WEBHOOK_URL }} You can download it to your account.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d43a9...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Plivo\",\n \"type\": \"n8n-nodes-base.plivo\",\n \"position\": [\n 1030,\n 400\n ],\n \"parameters\": {\n \"message\": \"={{ $node.NonExistentNode.json.data }}\"\n },\n \"credentials\": {\n \"plivoApi\": \"Plivo API Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"db5476d7-841d-4336-9805-ab1860ad47ab\",\n \"notes\": \"This plivo node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"OpenWeatherMap\",\n \"type\": \"n8n-nodes-base.openWeatherMap\",\n \"position\": [\n 830,\n 400\n ],\n \"parameters\": {\n \"cityName\": \"berlin\"\n },\n \"credentials\": {\n \"openWeatherMapApi\": \"owm\"\n },\n \"typeVersion\": 1,\n \"id\": \"f207226a-75dc-40ab-8ee3-ef3e65b0f8c4\",\n \"notes\": \"This openWeatherMap node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 630,\n 400\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"hour\": 9\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"7c4a3eae-2219-4190-93ee-0421ca3e5612\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-b31b8a91\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Plivo Workflow\",\n \"description\": \"Automated workflow: Plivo Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionT...", "input": "", "output": "In node 'Plivo', the parameter 'message' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `=Hey! The temperature outside is {{$node[\"OpenWeatherMap\"].json[\"main\"][\"temp\"]}}\u00b0C.`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Plivo' parameter 'message'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"114\",\n \"name\": \"Send daily weather updates via a message in Line\",\n \"nodes\": [\n {\n \"name\": \"Line\",\n \"type\": \"n8n-nodes-base.line\",\n \"position\": [\n 890,\n 380\n ],\n \"parameters\": {\n \"message\": \"=Hey! The temperature outside is {{$node[\\\"OpenWeatherMap\\\"].json[\\\"main\\\"][\\\"temp\\\"]}}\\u00b0C.\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"lineNotifyOAuth2Api\": \"line-credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"77e505ec-7c0b-4bd1-a75f-17a64b90985c\",\n \"notes\": \"This line node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 490,\n 380\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"hour\": 9\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"e2ad639a-8296-46af-89e9-30796bdd9230\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"OpenWeatherMap\",\n \"type\": \"n8n-nodes-base.openWeatherMap\",\n \"position\": [\n 690,\n 380\n ],\n \"parameters\": {\n \"cityName\": \"berlin\"\n },\n \"credentials\": {\n \"openWeatherMapApi\": \"owm\"\n },\n \"typeVersion\": 1,\n \"id\": \"56d88494-0cb0-4b12-b171-e415740c61de\",\n \"notes\": \"This openWeatherMap node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-d50023ca\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\":...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"115\",\n \"name\": \"Send daily weather updates via a message using the Gotify node\",\n \"nodes\": [\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 490,\n 340\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"hour\": 9\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"3643c879-8708-463e-912d-9a890e6b7175\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"OpenWeatherMap\",\n \"type\": \"n8n-nodes-base.openWeatherMap\",\n \"position\": [\n 690,\n 340\n ],\n \"parameters\": {\n \"cityName\": \"berlin\"\n },\n \"credentials\": {\n \"openWeatherMapApi\": \"owm\"\n },\n \"typeVersion\": 1,\n \"id\": \"ee318374-86c4-4ea3-90aa-293944e0cf94\",\n \"notes\": \"This openWeatherMap node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Gotify\",\n \"type\": \"n8n-nodes-base.gotify\",\n \"position\": [\n 890,\n 340\n ],\n \"parameters\": {\n \"message\": \"=Hey! The temperature outside is {{$node[\\\"OpenWeatherMap\\\"].json[\\\"main\\\"][\\\"temp\\\"]}}\\u00b0C.\",\n \"additionalFields\": {\n \"title\": \"Today's Weather Update\"\n }\n },\n \"credentials\": {\n \"gotifyApi\": \"gotify-credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"ab8fc9dd-3343-4d49-8d38-87ee3af3be4b\",\n \"notes\": \"This gotify node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-07b1082f\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n },\n {\n \"parameters\": {\n \"url\": \"https://api.example.com/data\",\n \"method\": \"GET\",\n \"options\": {}\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"141\",\n \"name\": \"Send daily weather updates via a push notification using Spontit\",\n \"nodes\": [\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 810,\n 340\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"hour\": 9\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"e69abf5d-b1f5-4ed2-ae25-7ca2d73318da\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"OpenWeatherMap\",\n \"type\": \"n8n-nodes-base.openWeatherMap\",\n \"position\": [\n 1010,\n 340\n ],\n \"parameters\": {\n \"cityName\": \"berlin\"\n },\n \"credentials\": {\n \"openWeatherMapApi\": \"owm\"\n },\n \"typeVersion\": 1,\n \"id\": \"c3ca4e47-be64-4848-9191-edd09532751e\",\n \"notes\": \"This openWeatherMap node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Spontit\",\n \"type\": \"n8n-nodes-base.spontit\",\n \"position\": [\n 1210,\n 340\n ],\n \"parameters\": {\n \"content\": \"=Hey! The temperature outside is {{$node[\\\"OpenWeatherMap\\\"].json[\\\"main\\\"][\\\"temp\\\"]}}\\u00b0C.\",\n \"additionalFields\": {\n \"pushTitle\": \"Today's Weather Update\"\n }\n },\n \"credentials\": {\n \"spontitApi\": \"spontit\"\n },\n \"typeVersion\": 1,\n \"id\": \"b78e8773-112f-464e-bf9d-9758ef8ef56d\",\n \"notes\": \"This spontit node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-62d522dc\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"w...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"158\",\n \"name\": \"Receive the weather information of any city\",\n \"nodes\": [\n {\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 580,\n 340\n ],\n \"webhookId\": \"45690b6a-2b01-472d-8839-5e83a74858e5\",\n \"parameters\": {\n \"path\": \"45690b6a-2b01-472d-8839-5e83a74858e5\",\n \"options\": {},\n \"responseData\": \"allEntries\",\n \"responseMode\": \"lastNode\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-fe99167d\"\n },\n {\n \"name\": \"OpenWeatherMap\",\n \"type\": \"n8n-nodes-base.openWeatherMap\",\n \"position\": [\n 770,\n 340\n ],\n \"parameters\": {\n \"cityName\": \"={{$node[\\\"Webhook\\\"].json[\\\"query\\\"][\\\"city\\\"]}}\"\n },\n \"credentials\": {\n \"openWeatherMapApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-97d0b2c1\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 970,\n 340\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"temp\",\n \"value\": \"={{$node[\\\"OpenWeatherMap\\\"].json[\\\"main\\\"][\\\"temp\\\"]}}\"\n },\n {\n \"name\": \"description\",\n \"value\": \"={{$node[\\\"OpenWeatherMap\\\"].json[\\\"weather\\\"][0][\\\"description\\\"]}}\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"node-f4097362\"\n },\n {\n \"id\": \"error-1d0ecff5\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"e...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"2\",\n \"name\": \"Telegram Weather Workflow\",\n \"nodes\": [\n {\n \"name\": \"Telegram Trigger\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n 270,\n 220\n ],\n \"parameters\": {\n \"updates\": [\n \"message\"\n ]\n },\n \"credentials\": {\n \"telegramApi\": \"Telegram\"\n },\n \"typeVersion\": 1,\n \"id\": \"bb69d680-0d18-4473-8826-745ed2ce0734\",\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"OpenWeatherMap\",\n \"type\": \"n8n-nodes-base.openWeatherMap\",\n \"position\": [\n 480,\n 220\n ],\n \"parameters\": {\n \"cityName\": \"berlin,de\"\n },\n \"credentials\": {\n \"openWeatherMapApi\": \"OpenWeatherMap\"\n },\n \"typeVersion\": 1,\n \"id\": \"8f3c8f51-ff03-49fc-9f92-e8288886f98a\",\n \"notes\": \"This openWeatherMap node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 670,\n 220\n ],\n \"parameters\": {\n \"text\": \"=Right now, we have {{$node[\\\"OpenWeatherMap\\\"].json[\\\"weather\\\"][0][\\\"description\\\"]}}. The temperature is {{$node[\\\"OpenWeatherMap\\\"].json[\\\"main\\\"][\\\"temp\\\"]}}\\u00b0C but it really feels like {{$node[\\\"OpenWeatherMap\\\"].json[\\\"main\\\"][\\\"feels_like\\\"]}}\\u00b0C \\ud83d\\ude42\",\n \"chatId\": \"={{$node[\\\"Telegram Trigger\\\"].json[\\\"message\\\"][\\\"chat\\\"][\\\"id\\\"]}}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": \"Telegram\"\n },\n \"typeVersion\": 1,\n \"id\": \"1fb4a176-0931-4bab-92c7-e11b5314ae46\",\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-b3c23c57\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"param...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"69\",\n \"name\": \"Creating your first workflow\",\n \"nodes\": [\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 240,\n 250\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {}\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"20a5d2ea-f5f4-4439-9dd1-e4a25af622fe\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"OpenWeatherMap\",\n \"type\": \"n8n-nodes-base.openWeatherMap\",\n \"position\": [\n 450,\n 250\n ],\n \"parameters\": {\n \"cityName\": \"berlin,de\"\n },\n \"credentials\": {\n \"openWeatherMapApi\": \"Weather\"\n },\n \"typeVersion\": 1,\n \"id\": \"ffad66d6-558a-4757-b84b-7d79166d9343\",\n \"notes\": \"This openWeatherMap node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 650,\n 250\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [\n {\n \"value1\": \"={{$node[\\\"OpenWeatherMap\\\"].json[\\\"main\\\"][\\\"feels_like\\\"]}}\",\n \"value2\": 18\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"2de0ffac-3638-47d4-9c00-a99f258e91bd\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Twilio\",\n \"type\": \"n8n-nodes-base.twilio\",\n \"position\": [\n 850,\n 150\n ],\n \"parameters\": {\n \"to\": \"\",\n \"from\": \"\",\n \"message\": \"=Wear a sweater today, it is {{$node[\\\"OpenWeatherMap\\\"].json[\\\"main\\\"][\\\"feels_like\\\"]}}\\u00b0C outside right now.\"\n },\n \"credentials\": {\n \"twilioApi\": \"Twilio\"\n },\n \"typeVersion\": 1,\n \"id\": \"ba02f450-8090-4634-990a-052b00458556\",\n \"notes\": \"This twilio node performs automated tasks as part of the workflow.\"\n },...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 870,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"tempC\",\n \"value\": \"={{$json[\\\"main\\\"][\\\"temp\\\"]}}\"\n },\n {\n \"name\": \"humidity\",\n \"value\": \"={{$json[\\\"main\\\"][\\\"humidity\\\"]}}\"\n },\n {\n \"name\": \"windspeed\",\n \"value\": \"={{$json[\\\"wind\\\"][\\\"speed\\\"]}}\"\n },\n {\n \"name\": \"description\",\n \"value\": \"={{$json[\\\"weather\\\"][0][\\\"description\\\"]}}\"\n },\n {\n \"name\": \"city\",\n \"value\": \"={{$json[\\\"name\\\"]}}, {{$json[\\\"sys\\\"][\\\"country\\\"]}}\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"node-1240c069\"\n },\n {\n \"name\": \"OpenWeatherMap\",\n \"type\": \"n8n-nodes-base.openWeatherMap\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"cityName\": \"={{$json[\\\"body\\\"][\\\"city\\\"]}}\",\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"openWeatherMapApi\": \"open-weather-map\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-e40937d8\"\n },\n {\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 450,\n 300\n ],\n \"webhookId\": \"39f1b81f-f538-4b94-8788-29180d5e4016\",\n \"parameters\": {\n \"path\": \"39f1b81f-f538-4b94-8788-29180d5e4016\",\n \"options\": {},\n \"responseData\": \"allEntries\",\n \"responseMode\": \"lastNode\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-86d89089\"\n },\n {\n \"id\": \"error-96210401\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n ...", "input": "", "output": "The node 'OpenWeatherMap' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'OpenWeatherMap'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 450,\n 300\n ],\n \"webhookId\": \"39f1b81f-f538-4b94-8788-29180d5e4016\",\n \"parameters\": {\n \"path\": \"39f1b81f-f538-4b94-8788-29180d5e4016\",\n \"options\": {\n \"rawBody\": true\n },\n \"httpMethod\": \"POST\",\n \"authentication\": \"{{ $credentials.headerAuth }}\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": \"Webhook Workflow Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-9b9413c6\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"Name\",\n \"value\": \"={{$json[\\\"body\\\"][\\\"name\\\"]}}\"\n },\n {\n \"name\": \"Number\",\n \"value\": \"={{$json[\\\"body\\\"][\\\"number\\\"]}}\"\n },\n {\n \"name\": \"City\",\n \"value\": \"={{$json[\\\"body\\\"][\\\"city\\\"]}}\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"node-c561764f\"\n },\n {\n \"name\": \"Airtable\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 850,\n 300\n ],\n \"parameters\": {\n \"table\": \"Table 1\",\n \"options\": {},\n \"operation\": \"append\"\n },\n \"credentials\": {\n \"airtableApi\": \"Airtable Credentials n8n\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-3390f736\"\n },\n {\n \"name\": \"OpenWeatherMap\",\n \"type\": \"n8n-nodes-base.openWeatherMap\",\n \"position\": [\n 1050,\n 300\n ],\n \"parameters\": {\n \"cityName\": \"={{$node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"city\\\"]}}\"\n },\n \"credentials\": {\n \"openWeatherMapApi\": \"open-weather-map\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-f5360...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"82\",\n \"name\": \"Send daily weather updates via a push notification using the Pushcut node\",\n \"nodes\": [\n {\n \"name\": \"Pushcut\",\n \"type\": \"n8n-nodes-base.pushcut\",\n \"position\": [\n 1050,\n 420\n ],\n \"parameters\": {\n \"additionalFields\": {\n \"text\": \"=Hey! The temperature outside is {{$node[\\\"OpenWeatherMap\\\"].json[\\\"main\\\"][\\\"temp\\\"]}}\\u00b0C.\",\n \"title\": \"Today's Weather Update\"\n },\n \"notificationName\": \"n8n\"\n },\n \"credentials\": {\n \"pushcutApi\": \"Pushcut Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"3002e1e9-1d13-4c36-a81c-615f7e9f85a2\",\n \"notes\": \"This pushcut node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"OpenWeatherMap\",\n \"type\": \"n8n-nodes-base.openWeatherMap\",\n \"position\": [\n 850,\n 420\n ],\n \"parameters\": {\n \"cityName\": \"berlin\"\n },\n \"credentials\": {\n \"openWeatherMapApi\": \"open-weather-map\"\n },\n \"typeVersion\": 1,\n \"id\": \"7f0acee2-c1eb-46ed-b393-5bb68bed129e\",\n \"notes\": \"This openWeatherMap node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 650,\n 420\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"hour\": 9\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"990eba52-50ef-41fc-a08e-ec0575d6754e\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-01021ef9\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"84\",\n \"name\": \"Send daily weather updates to a phone number using the Vonage node\",\n \"nodes\": [\n {\n \"name\": \"Vonage\",\n \"type\": \"n8n-nodes-base.vonage\",\n \"position\": [\n 770,\n 260\n ],\n \"parameters\": {\n \"to\": \"1234\",\n \"from\": \"Vonage APIs\",\n \"message\": \"=Hey! The temperature outside is {{$node[\\\"OpenWeatherMap\\\"].json[\\\"main\\\"][\\\"temp\\\"]}}\\u00b0C.\",\n \"additionalFields\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"d3d1f5f4-f04e-4f33-ad82-c72441ee838d\",\n \"notes\": \"This vonage node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 370,\n 260\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"hour\": 9\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"3cb65e38-f109-4d66-8bd6-0b9bdae9571c\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"OpenWeatherMap\",\n \"type\": \"n8n-nodes-base.openWeatherMap\",\n \"position\": [\n 570,\n 260\n ],\n \"parameters\": {\n \"cityName\": \"berlin\"\n },\n \"credentials\": {\n \"openWeatherMapApi\": \"owm\"\n },\n \"typeVersion\": 1,\n \"id\": \"4dd699b7-251b-47b5-a3dd-a5a8bbea5168\",\n \"notes\": \"This openWeatherMap node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-7831b27b\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\"...", "input": "", "output": "The node 'Vonage' (type: n8n-nodes-base.vonage) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"vonageApi\": \"vonage\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Vonage' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"91\",\n \"name\": \"Send daily weather updates via a push notification\",\n \"nodes\": [\n {\n \"name\": \"Pushover\",\n \"type\": \"n8n-nodes-base.pushover\",\n \"position\": [\n 970,\n 300\n ],\n \"parameters\": {\n \"message\": \"=Hey! The temperature outside is {{$node[\\\"OpenWeatherMap\\\"].json[\\\"main\\\"][\\\"temp\\\"]}}\\u00b0C.\",\n \"userKey\": \"\",\n \"priority\": 0,\n \"additionalFields\": {\n \"title\": \"Today's Weather\"\n }\n },\n \"credentials\": {\n \"pushoverApi\": \"pushover\"\n },\n \"typeVersion\": 1,\n \"id\": \"cdfc6629-9052-4582-8716-0deebce0f8c5\",\n \"notes\": \"This pushover node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 570,\n 300\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"hour\": 9\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"18e81565-ae25-41ad-8443-42ffbbfec527\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"OpenWeatherMap\",\n \"type\": \"n8n-nodes-base.openWeatherMap\",\n \"position\": [\n 770,\n 300\n ],\n \"parameters\": {\n \"cityName\": \"berlin\"\n },\n \"credentials\": {\n \"openWeatherMapApi\": \"owm\"\n },\n \"typeVersion\": 1,\n \"id\": \"b00609ed-d2a1-41bd-b8d4-ee5c049df15d\",\n \"notes\": \"This openWeatherMap node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-343bf29a\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"OpenWeatherMap\",\n \"type\": \"n8n-nodes-base.openWeatherMap\",\n \"position\": [\n 900,\n 300\n ],\n \"parameters\": {\n \"cityName\": \"={{ $json[\\\"city\\\"] }}\",\n \"language\": \"en\"\n },\n \"credentials\": {\n \"openWeatherMapApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-7c448969\"\n },\n {\n \"name\": \"Webhook GET\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 500,\n 300\n ],\n \"webhookId\": \"a31f0bbd-a583-470e-9a1e-29a9ce778122\",\n \"parameters\": {\n \"path\": \"weather\",\n \"options\": {\n \"responsePropertyName\": \"data\"\n },\n \"responseMode\": \"lastNode\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-0e171a15\"\n },\n {\n \"name\": \"Set City\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 700,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"city\",\n \"value\": \"={{ $json[\\\"query\\\"][\\\"parameter\\\"] || 'berlin,de' }}\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"node-41934a69\"\n },\n {\n \"name\": \"Create Response\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1100,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"data\",\n \"value\": \"=It has {{$json[\\\"main\\\"][\\\"temp\\\"]}}\\\\xE2\\\\x84\\\\x83 and feels like {{$json[\\\"main\\\"][\\\"feels_like\\\"]}}\\\\xE2\\\\x84\\\\x83 in {{$json[\\\"name\\\"]}}\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"node-21418c36\"\n },\n {\n \"id\": \"error-9648c543\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workf...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"46\",\n \"name\": \"Receive updates when a billing plan is activated in PayPal\",\n \"nodes\": [\n {\n \"name\": \"PayPal Trigger\",\n \"type\": \"n8n-nodes-base.payPalTrigger\",\n \"position\": [\n 1130,\n 620\n ],\n \"webhookId\": \"242a300e-b5a0-45a2-87bc-40def6fe56ef\",\n \"parameters\": {\n \"events\": [\n \"BILLING.PLAN.ACTIVATED\"\n ]\n },\n \"typeVersion\": 1,\n \"id\": \"2fad9cd4-fc44-4bac-9ebb-9b66540e3605\",\n \"notes\": \"This payPalTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-14b453ae\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Receive updates when a billing plan is activated in PayPal. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-2e6ae2ec\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.307837\",\n \"updatedAt\": \"2025-09-29T07:07:51.307857\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"notes\": \"Excellent quality workflow: Receive updates when a billing plan is activated in PayPal. This workflow has been optimized for production use with comprehensive error handling, sec...", "input": "", "output": "The node 'PayPal Trigger' (type: n8n-nodes-base.payPalTrigger) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"payPalApi\": \"paypal\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'PayPal Trigger' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"115\",\n \"name\": \"Receive updates for all changes in Pipedrive\",\n \"nodes\": [\n {\n \"name\": \"Pipedrive Trigger\",\n \"type\": \"n8n-nodes-base.pipedriveTrigger\",\n \"position\": [\n 750,\n 250\n ],\n \"parameters\": {},\n \"credentials\": {\n \"pipedriveApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"96b222cf-2cd0-4b82-8e6f-1a274b378ad0\",\n \"notes\": \"This pipedriveTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-75eabd78\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Receive updates for all changes in Pipedrive. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-0083bbb8\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.303939\",\n \"updatedAt\": \"2025-09-29T07:07:51.303952\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"notes\": \"Excellent quality workflow: Receive updates for all changes in Pipedrive. This workflow has been optimized for production use with comprehensive error handling, security, and documentation.\"\n}...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"list people\",\n \"type\": \"n8n-nodes-base.itemLists\",\n \"position\": [\n 820,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"={{ $env.UNDEFINED_ENV_VAR }}\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-5d39e1b4\"\n },\n {\n \"name\": \"Pipedrive - Enrich Organization\",\n \"type\": \"n8n-nodes-base.pipedrive\",\n \"position\": [\n 1060,\n 740\n ],\n \"parameters\": {\n \"resource\": \"organization\",\n \"operation\": \"update\",\n \"updateFields\": {\n \"customProperties\": {\n \"property\": [\n {\n \"name\": \"Total Funding Amount\",\n \"value\": \"={{$json[\\\"company\\\"][\\\"full\\\"][\\\"cards\\\"][\\\"fundingRoundsSummary\\\"][\\\"fundingTotal\\\"][\\\"valueUsdRoundup\\\"]}}\"\n },\n {\n \"name\": \"Website Traffic\",\n \"value\": \"={{$json[\\\"company\\\"][\\\"full\\\"][\\\"cards\\\"][\\\"trafficRankHeadline\\\"][\\\"visitsLastestMonthPrettier\\\"]}}\"\n },\n {\n \"name\": \"Industry\",\n \"value\": \"={{$json[\\\"company\\\"][\\\"premium\\\"][\\\"industries\\\"]}}\"\n },\n {\n \"name\": \"Linkedin URL\",\n \"value\": \"={{$json[\\\"company\\\"][\\\"full\\\"][\\\"cards\\\"][\\\"overviewFields2\\\"][\\\"linkedin\\\"][\\\"value\\\"]}}\"\n },\n {\n \"name\": \"=Website\",\n \"value\": \"={{$json[\\\"company\\\"][\\\"premium\\\"][\\\"website\\\"]}}\"\n },\n {\n \"name\": \"Number of Employees\",\n \"value\": \"={{$json[\\\"company\\\"][\\\"premium\\\"][\\\"companySize\\\"]}}\"\n },\n {\n \"name\": \"Address\",\n \"value\": \"={{$json[\\\"company\\\"][\\\"premium\\\"][\\\"headquaterAddr\\\"]}}\"\n }\n ]\n }\n },\n \"organizationId\": \"={{$node[\\\"Pipedrive Trigger - New Company Created\\\"].json[\\\"meta\\\"][\\\"i...", "input": "", "output": "In node 'list people', the parameter 'fieldToSplitOut' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `company.employees`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'list people' parameter 'fieldToSplitOut'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-679d078b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.311875\",\n \"updatedAt\": \"2025-09-29T07:07:51.312322\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"97b052c3-2a98-4dee-973a-f170a5e575c8\",\n \"name\": \"Google Drive Trigger\",\n \"type\": \"n8n-nodes-base.googleDriveTrigger\",\n \"position\": [\n 960,\n 140\n ],\n \"parameters\": {\n \"event\": \"fileCreated\",\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n },\n \"triggerOn\": \"specificFolder\",\n \"folderToWatch\": \"1uQ0YnGnQNzIaWGdTt2UBT58tTy8xDlpW\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This googleDriveTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1e82f8f8-175d-4493-a3a9-35380431d91c\",\n \"name\": \"Google Drive\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 1180,\n 140\n ],\n \"parameters\": {\n \"fileId\": \"={{ $json[\\\"id\\\"] }}\",\n \"options\": {},\n \"operation\": \"download\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"{{ $credentials.googleDriveOAuth2Api.id }}\",\n \"name\": \"Hilary's Google Drive account\"\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This googleDrive node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fb36224d-4acb-4aba-9543-dd534e76477f\",\n \"name\": \"Spreadsheet File\",\n \"type\": \"n8n-nodes-base.spreadsheetFile\",\n \"position\": [\n 1400,\n 140\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This spreadsheetFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"...", "input": "", "output": "The node 'Google Drive Trigger' (type: n8n-nodes-base.googleDriveTrigger) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"{{ $credentials.googleDriveOAuth2Api.id }}\",\n \"name\": \"Hilary's Google Drive account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Google Drive Trigger' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"17j2efAe10uXRc4p\",\n \"meta\": {\n \"instanceId\": \"workflow-9e4dd749\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.342092\",\n \"updatedAt\": \"2025-09-29T07:07:51.342106\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Auto WordPress Blog Generator (GPT + Postgres + WP Media)\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"f71a8a34-5d88-48b0-bf56-44c95d970abd\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -1120,\n -560\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\",\n \"triggerAtMinute\": {}\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8ce11fcd-806c-44ea-aa5f-015599eacc98\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2060,\n -20\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4.1-2025-04-14\",\n \"cachedResultName\": \"gpt-4.1-2025-04-14\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"BSiASwH9CasrT3uK\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c9450a63-a89e-46eb-b083-b0f40d7b797c\",\n \"name\": \"Download Image\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 2620,\n 100\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\":...", "input": "", "output": "The node '10 latest headlines' (type: n8n-nodes-base.postgres) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"postgres\": {\n \"id\": \"JKCOXnEh1Bqg4Gad\",\n \"name\": \"YOUR_POSTGRES_CREDENTIAL\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the '10 latest headlines' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"d44489b8-8cb7-4776-8c16-a8bb01e52171\",\n \"name\": \"OpenAI1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 300,\n -300\n ],\n \"parameters\": {\n \"text\": \"={{ \\n JSON.parse($('Insert Transcription Part').item.json.dialog)\\n .filter(item => item.date_updated && new Date(item.date_updated) >= new Date($('Insert Transcription Part').item.json.date_updated))\\n .sort((a, b) => a.order - b.order)\\n .map(item => `${item.words}\\\\n${item.speaker}`)\\n .join('\\\\n\\\\n')\\n}}\",\n \"memory\": \"threadId\",\n \"prompt\": \"define\",\n \"options\": {},\n \"resource\": \"assistant\",\n \"threadId\": \"={{ $json.thread_id }}\",\n \"assistantId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"asst_D5t6bNnNpenmfC7PmvywMqyR\",\n \"cachedResultName\": \"5minAI - Realtime Agent\"\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"SphXAX7rlwRLkiox\",\n \"name\": \"Test club key\"\n }\n },\n \"typeVersion\": 1.6,\n \"notes\": \"This openAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3425f1c1-ad68-495e-bb9a-95ea92e7cf23\",\n \"name\": \"Insert Transcription Part\",\n \"type\": \"n8n-nodes-base.postgres\",\n \"position\": [\n -120,\n -300\n ],\n \"parameters\": {\n \"query\": \"UPDATE public.data\\nSET output = jsonb_set(\\n output,\\n '{dialog}', \\n (\\n COALESCE(\\n (output->'dialog')::jsonb, \\n '[]'::jsonb -- Initialize as empty array if dialog does not exist\\n ) || jsonb_build_object(\\n 'order', (COALESCE(jsonb_array_length(output->'dialog'), 0) + 1), -- Calculate the next order\\n 'words', '{{ $('Webhook2').item.json.body.data.transcript.words.map(word => word.text.replace(/'/g, \\\"''\\\")).join(\\\" \\\") }}',\\n 'speaker', '{{ $('Webhook2').item.json.body.data.transcrip...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"7gRbzEzCuOzQKn4M:\n \"meta\": {\n \"instanceId\": \"workflow-82537033\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.329386\",\n \"updatedAt\": \"2025-09-29T07:07:51.329401\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"SHEETS RAG\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"a073154f-53ad-45e2-9937-d0a4196c7838\",\n \"name\": \"create table query\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 1280,\n 2360\n ],\n \"parameters\": {\n \"jsCode\": \"// Helper function to check if a string is in MM/DD/YYYY format\\nfunction isDateString(value) {\\n const dateRegex = /^\\\\d{2}\\\\/\\\\d{2}\\\\/\\\\d{4}$/;\\n if (typeof value !== 'string') return false;\\n if (!dateRegex.test(value)) return false;\\n const [month, day, year] = value.split('/').map(Number);\\n const date = new Date(year, month - 1, day);\\n return !isNaN(date.getTime());\\n}\\n\\nconst tableName = `ai_table_${$('change_this').first().json.sheet_name}`;\\nconst rows = $('fetch sheet data').all();\\nconst allColumns = new Set();\\n\\n// Collect column names dynamically\\nrows.forEach(row => {\\n Object.keys(row.json).forEach(col => allColumns.add(col));\\n});\\n\\n// Ensure \\\"ai_table_identifier\\\" is always the first column\\nconst originalColumns = [\\\"ai_table_identifier\\\", ...Array.from(allColumns)];\\n\\n// Function to detect currency type (unchanged)\\nfunction detectCurrency(values) {\\n const currencySymbols = {\\n '\\u20b9': 'INR', '$': 'USD', '\\u20ac': 'EUR', '\\u00a3': 'GBP', '\\u00a5': 'JPY',\\n '\\u20a9': 'KRW', '\\u0e3f': 'THB', 'z\\u0142': 'PLN', 'kr': 'SEK', 'R$': 'BRL',\\n 'C$': 'CAD', 'A$': 'AUD'\\n };\\n\\n let detectedCurrency = null;\\n for (const value of values) {\\n if (typeof value === 'string' && value.trim() !== '') {\\n for (con...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"AC4paL1SXMFURgmc\",\n \"meta\": {\n \"instanceId\": \"workflow-df722e0b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.394267\",\n \"updatedAt\": \"2025-09-29T07:07:51.394281\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Translate questions about e-mails into SQL queries and run them\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"dd63600a-6bee-43cd-a1d2-87aae2089ed4\",\n \"name\": \"Add table name to output\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 840,\n 160\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"764176d6-3c89-404d-9c71-301e8a406a68\",\n \"name\": \"table\",\n \"type\": \"string\",\n \"value\": \"={{ $('List all tables in a database').item.json.table_name ?? 'emails_metadata'}}\"\n }\n ]\n },\n \"includeOtherFields\": true\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1bf02b6d-e8e4-4b1b-8ee2-c91a8c390a21\",\n \"name\": \"Convert data to binary\",\n \"type\": \"n8n-nodes-base.convertToFile\",\n \"position\": [\n 1040,\n 160\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"toJson\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This convertToFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cf930fa2-03bd-46fa-af4d-df282262f965\",\n \"name\": \"Save file locally\",\n \"type\": \"n8n-nodes-base.readWriteFile\",\n \"position\": [\n 1220,\n 160\n ],\n \"parameters\": {\n \"options\": {},\n \"fileName\": \"=/files/pgsql-{{ $workflow.id }}.json\",\n \"o...", "input": "", "output": "The node 'Extract data from file' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Extract data from file'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"d44489b8-8cb7-4776-8c16-a8bb01e52171\",\n \"name\": \"OpenAI1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 300,\n -300\n ],\n \"parameters\": {\n \"text\": \"={{ \\n JSON.parse($('Insert Transcription Part').item.json.dialog)\\n .filter(item => item.date_updated && new Date(item.date_updated) >= new Date($('Insert Transcription Part').item.json.date_updated))\\n .sort((a, b) => a.order - b.order)\\n .map(item => `${item.words}\\\\n${item.speaker}`)\\n .join('\\\\n\\\\n')\\n}}\",\n \"memory\": \"threadId\",\n \"prompt\": \"define\",\n \"options\": {},\n \"resource\": \"assistant\",\n \"threadId\": \"={{ $json.thread_id }}\",\n \"assistantId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"asst_D5t6bNnNpenmfC7PmvywMqyR\",\n \"cachedResultName\": \"5minAI - Realtime Agent\"\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"SphXAX7rlwRLkiox\",\n \"name\": \"Test club key\"\n }\n },\n \"typeVersion\": 1.6,\n \"notes\": \"This openAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3425f1c1-ad68-495e-bb9a-95ea92e7cf23\",\n \"name\": \"Insert Transcription Part\",\n \"type\": \"n8n-nodes-base.postgres\",\n \"position\": [\n -120,\n -300\n ],\n \"parameters\": {\n \"query\": \"UPDATE public.data\\nSET output = jsonb_set(\\n output,\\n '{dialog}', \\n (\\n COALESCE(\\n (output->'dialog')::jsonb, \\n '[]'::jsonb -- Initialize as empty array if dialog does not exist\\n ) || jsonb_build_object(\\n 'order', (COALESCE(jsonb_array_length(output->'dialog'), 0) + 1), -- Calculate the next order\\n 'words', '{{ $('Webhook2').item.json.body.data.transcript.words.map(word => word.text.replace(/'/g, \\\"''\\\")).join(\\\" \\\") }}',\\n 'speaker', '{{ $('Webhook2').item.json.body.data.transcript.speaker }}',\\n 'language', '{{ $('Webhook2').item.json.body.data.transcript.language }}',\\n 'speaker_id', ('{{...", "input": "", "output": "The node 'Sticky Note9' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note9'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"Zrd98BnbmN1Px9an\",\n \"meta\": {\n \"instanceId\": \"workflow-6f7027ae\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.429010\",\n \"updatedAt\": \"2025-09-29T07:07:51.429020\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Youtube Searcher\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"5cb8757a-d8f0-49fa-803d-7f04b514f9f8\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 80,\n 220\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"28964bd5-dc53-4dfa-bbb1-4eb80b952063\",\n \"name\": \"find_video_data1\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1440,\n 320\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"sendQuery\": true,\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"key\",\n \"value\": \"={{ $env[\\\"GOOGLE_API_KEY\\\"] }}\"\n },\n {\n \"name\": \"id\",\n \"value\": \"={{ $json.id.videoId }}\"\n },\n {\n \"name\": \"part\",\n \"value\": \"contentDetails, statistics\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5e8b9441-4b91-4460-a9ac-4a0a02aa57ad\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"disabled\": true,\n \"position\": [\n -180,\n 220\n ],\n \"parameters\": {},\n \"typeVersi...", "input": "", "output": "The node 'fetch_last_registered' (type: n8n-nodes-base.postgres) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"postgres\": {\n \"id\": \"KQiQIZTArTBSNJH7\",\n \"name\": \"Postgres account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'fetch_last_registered' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"xQHiKDTkezDY5lFu\",\n \"meta\": {\n \"instanceId\": \"workflow-65a7b221\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.441235\",\n \"updatedAt\": \"2025-09-29T07:07:51.441301\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Suspicious_login_detection\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"a95e464a-7451-4737-9db8-993a6568595b\",\n \"name\": \"Extract relevant data\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -260,\n 700\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"ip\",\n \"value\": \"={{ $json.body.context.ip }}\"\n },\n {\n \"name\": \"userAgent\",\n \"value\": \"={{ $json.body.context.userAgent }}\"\n },\n {\n \"name\": \"timestamp\",\n \"value\": \"={{ $json.body.originalTimestamp }}\"\n },\n {\n \"name\": \"url\",\n \"value\": \"={{ $json.body.context.page.url }}\"\n },\n {\n \"name\": \"userId\",\n \"value\": \"={{ $json.body.userId }}\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 2,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d7dea680-14f3-4ffd-bfaf-f928b69d801d\",\n \"name\": \"New /login event\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"disabled\": true,\n \"position\": [\n -740,\n 700\n ],\n \"webhookId\": \"705ca4c4-0a38-4ef8-9de9-abc8b3686dc6\",\n \"parameters\": {\n \"path\": \"705ca4c4-0a38-4ef8-9de9-abc8b3686dc6\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 1,\n \"notes...", "input": "", "output": "The node 'GreyNoise' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"wwwfQfxzoBK7NH2a\",\n \"name\": \"n8n greynoise api key\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'GreyNoise' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-4ff9f2b8\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.442049\",\n \"updatedAt\": \"2025-09-29T07:07:51.442072\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"trigger-54db0dfd\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"d08a2559-17fd-4bdb-a976-795c3823a88a\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -520,\n 240\n ],\n \"parameters\": {\n \"content\": \"## Try me out\\nClick the 'chat' button at the bottom of the canvas and paste in:\\n\\n_Which tables are available?_\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3019b559-6100-4ead-8e1a-a7dece2a6982\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -380,\n -60\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 677,\n \"height\": 505,\n \"content\": \"This workflow uses a Postgres DB, but you could swap it for a MySQL or SQLite one\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"73786411-5383-4921-82ee-06b3b582bab7\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -320,\n 40\n ],\n \"webhookId\": \"1c0d08f0-abd0-4bdc-beef-370c27aae1a0\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e65a1558...", "input": "", "output": "The node 'Postgres' (type: n8n-nodes-base.postgresTool) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"postgres\": {\n \"id\": \"elRn5sxKOfCdlEs6\",\n \"name\": \"Postgres account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Postgres' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"trigger-f69d8003\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"0a4e65b7-39be-44eb-8c66-913ebfe8a87a\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1140,\n 840\n ],\n \"parameters\": {\n \"color\": 3,\n \"width\": 215,\n \"height\": 80,\n \"content\": \"**Replace password and username for Supabase**\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2cea21fc-f3fe-47b7-a7b6-12acb0bc03ac\",\n \"name\": \"Sticky Note5\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -160,\n 320\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 280.2462120317618,\n \"height\": 545.9087885077763,\n \"content\": \"### Set up steps\\n\\n#### Preparation\\n1. **Create Accounts**:\\n - [N8N]({{ $env.WEBHOOK_URL }} For workflow automation.\\n - [Supabase]({{ $env.WEBHOOK_URL }} For database hosting and management.\\n - [OpenAI]({{ $env.WEBHOOK_URL }} For building the conversational AI agent.\\n2. **Configure Database Connection**:\\n - Set up a PostgreSQL database in Supabase.\\n - Use appropriate credentials (`username`, `password`, `host`, and `database` name) in your workflow.\\n\\n#### N8N Workflow\\n\\nAI agent with tools:\\n\\n1. **Code Tool**:\\n - Execute SQL queries based on user input.\\n2. **Database Schema Tool**:\\n - Retrieve a list of all tables in the database.\\n - Use a predefined SQL query to fetch table definitions, including column names, types, and references.\\n3. **Table Definition**:\\n - Retrieve a list of columns with types for one table.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"trigger-c9a13a2b\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"0a4e65b7-39be-44eb-8c66-913ebfe8a87a\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1140,\n 840\n ],\n \"parameters\": {\n \"color\": 3,\n \"width\": 215,\n \"height\": 80,\n \"content\": \"**Replace password and username for Supabase**\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2cea21fc-f3fe-47b7-a7b6-12acb0bc03ac\",\n \"name\": \"Sticky Note5\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -160,\n 320\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 280.2462120317618,\n \"height\": 545.9087885077763,\n \"content\": \"### Set up steps\\n\\n#### Preparation\\n1. **Create Accounts**:\\n - [N8N]({{ $env.WEBHOOK_URL }} For workflow automation.\\n - [Supabase]({{ $env.WEBHOOK_URL }} For database hosting and management.\\n - [OpenAI]({{ $env.WEBHOOK_URL }} For building the conversational AI agent.\\n2. **Configure Database Connection**:\\n - Set up a PostgreSQL database in Supabase.\\n - Use appropriate credentials (`username`, `password`, `host`, and `database` name) in your workflow.\\n\\n#### N8N Workflow\\n\\nAI agent with tools:\\n\\n1. **Code Tool**:\\n - Execute SQL queries based on user input.\\n2. **Database Schema Tool**:\\n - Retrieve a list of all tables in the database.\\n - Use a predefined SQL query to fetch table definitions, including column names, types, and references.\\n3. **Table Definition**:\\n - Retrieve a list of columns with types for one table.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n...", "input": "", "output": "The node 'DB Schema' (type: n8n-nodes-base.postgresTool) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"postgres\": {\n \"id\": \"AO9cER6p8uX7V07T\",\n \"name\": \"Postgres 5minai\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'DB Schema' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"PostHog:\n \"type\": \"n8n-nodes-base.postHog\",\n \"position\": [\n 640,\n 280\n ],\n \"parameters\": {\n \"eventName\": \"={{$json[\\\"query\\\"][\\\"event\\\"]}}\",\n \"distinctId\": \"n8n\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"postHogApi\": \"PostHog Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-c999c01a\"\n },\n {\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 440,\n 280\n ],\n \"webhookId\": \"f6d0071e-3cf9-49fd-8bbd-afdbea6b0c67\",\n \"parameters\": {\n \"path\": \"f6d0071e-3cf9-49fd-8bbd-afdbea6b0c67\",\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"node-c93d0470\"\n },\n {\n \"id\": \"error-383539bb\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Production Workflow\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3\n },\n \"meta\": {\n \"instanceId\": \"workflow-33eb36a2\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.509823\",\n \"updatedAt\": \"2025-09-29T07:07:51.509835\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"description\": \"Production-ready workflow: Production Workflow. This workflow has been optimized for production use with comprehensive error handling, s...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"48\"\n \"name\": \"Receive updates when an email is bounced or opened\",\n \"nodes\": [\n {\n \"name\": \"Postmark Trigger\",\n \"type\": \"n8n-nodes-base.postmarkTrigger\",\n \"position\": [\n 690,\n 260\n ],\n \"webhookId\": \"1422ac7a-62ba-4f7c-8e22-4e8ecb4950ce\",\n \"parameters\": {\n \"events\": [\n \"bounce\",\n \"open\"\n ],\n \"includeContent\": true\n },\n \"credentials\": {\n \"postmarkApi\": \"postmark\"\n },\n \"typeVersion\": 1,\n \"id\": \"a7371d75-4da7-44aa-b1a4-e2057e7a35f9\",\n \"notes\": \"This postmarkTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-d96e8088\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Receive updates when an email is bounced or opened. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-aea17bf0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.481477\",\n \"updatedAt\": \"2025-09-29T07:07:51.481494\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"notes\": \"Excellent quality workflow: Receive updates when an email is bounced or opened. This workf...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"trigger-47dcf425\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"name\": \"Data 1\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 602,\n 350\n ],\n \"parameters\": {\n \"functionCode\": \"items[0].json = {\\n\\\"data\\\": [\\n{\\n\\\"pointer\\\": \\\"12345\\\",\\n\\\"panel\\\": \\\"234234\\\",\\n\\\"subject\\\": \\\"Blah Blah\\\",\\n\\\"note\\\": \\\"\\\",\\n\\\"interviewers\\\": [\\n{\\n\\\"id\\\": \\\"111222333\\\",\\n\\\"name\\\": \\\"Bobby Johnson\\\",\\n\\\"email\\\": \\\"bobbyj@example.com\\\"\\n}\\n],\\n\\\"timezone\\\": \\\"America/Los_Angeles\\\",\\n},\\n{\\n\\\"pointer\\\": \\\"98754\\\",\\n\\\"panel\\\": \\\"3243234\\\",\\n\\\"subject\\\": \\\"Yadda Yadda\\\",\\n\\\"note\\\": \\\"\\\",\\n\\\"interviewers\\\": [\\n{\\n\\\"id\\\": \\\"444555666\\\",\\n\\\"name\\\": \\\"Billy Johnson\\\",\\n\\\"email\\\": \\\"billyj@example.com\\\"\\n}\\n],\\n\\\"timezone\\\": \\\"America/Los_Angeles\\\",\\n},\\n],\\n\\\"hasNext\\\": false\\n};\\nreturn items;\\n\"\n },\n \"typeVersion\": 1,\n \"id\": \"60f469d1-bf73-4346-9e57-5de9af65457f\",\n \"notes\": \"This function node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Data 2\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 602,\n 550\n ],\n \"parameters\": {\n \"functionCode\": \"items[0].json = [\\n{\\n\\\"name\\\": \\\"test\\\",\\n\\\"fields\\\": {\\n\\\"FirstName\\\": \\\"Bobby\\\",\\n\\\"LastName\\\": \\\"Johnson\\\",\\n\\\"JobTitleDescription\\\": \\\"Recruiter\\\",\\n\\\"HomeDepartmentDescription\\\": \\\"Recruiting Team\\\",\\n\\\"Photo\\\": [\\n{\\n\\\"x\\\": \\\"attPuc6gAIHUOHjsY\\\",\\n\\\"url\\\": \\\"{{ $env.WEBHOOK_URL }}\\\",\\n\\\"filename\\\": \\\"photo.jpg\\\",\\n\\\"size\\\": 28956,\\n\\\"type\\\": \\\"image/jpeg\\\"\\n}\\n],\\n\\\"eid\\\": \\\"111222333\\\"\\n},\\n\\\"createdTime\\\": \\\"2019-09-23T04:06:48.000Z\\\"\\n},\\n{\\n\\\"name\\\": \\\"test2\\\",\\n\\\"fields\\\": {\\n\\\"FirstName\\\": \\\"Billy\\\",\\n\\\"LastName\\\": \\\"Johnson\\\",\\n\\\"JobTitleDescription\\\": \\\"CEO\\\",\\n\\\"HomeDepartmentDescription\\\": \\\"Boss Team\\\",\\n\\\"Pho...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Create a QuickBooks invoice on a new Onfleet Task creation\",\n \"nodes\": [\n {\n \"name\": \"Onfleet Trigger\",\n \"type\": \"n8n-nodes-base.onfleetTrigger\",\n \"position\": [\n 460,\n 300\n ],\n \"webhookId\": \"6d6a2bee-f83e-4ebd-a1d5-8708c34393dc\",\n \"parameters\": {\n \"triggerOn\": \"taskCreated\",\n \"additionalFields\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"3425880e-2b7b-4d4a-bbe0-bc13ce868ef3\",\n \"notes\": \"This onfleetTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"QuickBooks Online\",\n \"type\": \"n8n-nodes-base.quickbooks\",\n \"position\": [\n 680,\n 300\n ],\n \"parameters\": {\n \"Line\": [],\n \"resource\": \"invoice\",\n \"operation\": \"create\",\n \"additionalFields\": {\n \"Balance\": 0,\n \"TxnDate\": \"\",\n \"ShipAddr\": \"\",\n \"BillEmail\": \"\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"5a2bfc9c-a2a8-4782-ace0-ffa02af9f63e\",\n \"notes\": \"This quickbooks node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-a1362a74\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Create a QuickBooks invoice on a new Onfleet Task creation. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-5a9ef54d\",\n \"versionId\": \"1.0....", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"trigger-2c6a3675\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"name\": \"QuickBooks2\",\n \"type\": \"n8n-nodes-base.quickbooks\",\n \"position\": [\n 870,\n 300\n ],\n \"parameters\": {\n \"email\": \"\",\n \"resource\": \"invoice\",\n \"invoiceId\": \"={{$json[\\\"Id\\\"]}}\",\n \"operation\": \"send\"\n },\n \"credentials\": {\n \"quickBooksOAuth2Api\": \"QuickBooks OAuth Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"4b60a2f0-504a-4f54-8e58-32e2b4a20a3c\",\n \"notes\": \"This quickbooks node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"QuickBooks1\",\n \"type\": \"n8n-nodes-base.quickbooks\",\n \"position\": [\n 670,\n 300\n ],\n \"parameters\": {\n \"Line\": [\n {\n \"Amount\": 100,\n \"itemId\": \"1\",\n \"DetailType\": \"SalesItemLineDetail\",\n \"Description\": \"Consulting service\"\n }\n ],\n \"resource\": \"invoice\",\n \"operation\": \"create\",\n \"CustomerRef\": \"={{$json[\\\"Id\\\"]}}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"quickBooksOAuth2Api\": \"QuickBooks OAuth Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"99983bc2-1a08-4601-9f41-91d5ac7b05d1\",\n \"notes\": \"This quickbooks node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"QuickBooks\",\n \"type\": \"n8n-nodes-base.quickbooks\",\n \"position\": [\n 470,\n 300\n ],\n \"parameters\": {\n \"operation\": \"create\",\n \"displayName\": \"Jack Ryan\",\n \"additionalFields\": {\n \"PrimaryEmailAddr\": \"jack@ryan.com\"\n }\n },\n \"credentials\": {\n \"quickBooksOAuth2Api\": \"QuickBooks OAuth Credentials\"\n },\n \"typeVersion\": 1,\n \"...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"trigger-8c1701c4\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"name\": \"Raindrop\",\n \"type\": \"n8n-nodes-base.raindrop\",\n \"position\": [\n 470,\n 320\n ],\n \"parameters\": {\n \"title\": \"n8n-docs\",\n \"operation\": \"create\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"raindropOAuth2Api\": \"Raindrop OAuth Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"fc9b1b07-1e98-4f67-b3b6-bed3208ce078\",\n \"notes\": \"This raindrop node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Raindrop1\",\n \"type\": \"n8n-nodes-base.raindrop\",\n \"position\": [\n 670,\n 320\n ],\n \"parameters\": {\n \"link\": \"{{ $env.WEBHOOK_URL }}\",\n \"resource\": \"bookmark\",\n \"operation\": \"create\",\n \"collectionId\": \"={{$json[\\\"_id\\\"]}}\",\n \"additionalFields\": {\n \"title\": \"Documentation\"\n }\n },\n \"credentials\": {\n \"raindropOAuth2Api\": \"Raindrop OAuth Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"eb51c2b3-06d1-4730-8490-c6bad72a8f10\",\n \"notes\": \"This raindrop node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Raindrop2\",\n \"type\": \"n8n-nodes-base.raindrop\",\n \"position\": [\n 870,\n 320\n ],\n \"parameters\": {\n \"resource\": \"={{ $json.deeply.nested.undefined.path }}\",\n \"operation\": \"update\",\n \"bookmarkId\": \"={{$json[\\\"_id\\\"]}}\",\n \"updateFields\": {\n \"title\": \"n8n Documentation\"\n }\n },\n \"credentials\": {\n \"raindropOAuth2Api\": \"Raindrop OAuth Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"f7de435f-0c88-4eb7-bde7-079bfa383c68\",\n \"notes\": \"This raindrop node performs automated tasks as part...", "input": "", "output": "In node 'Raindrop2', the parameter 'resource' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `bookmark`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Raindrop2' parameter 'resource'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 12,\n \"name\": \"Create Onfleet tasks from Spreadsheets\",\n \"nodes\": [\n {\n \"id\": \"trigger-542018d4\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"name\": \"Onfleet\",\n \"type\": \"n8n-nodes-base.onfleet\",\n \"position\": [\n 900,\n 280\n ],\n \"parameters\": {\n \"operation\": \"create\",\n \"destination\": {\n \"destinationProperties\": {\n \"address\": \"={{$json[\\\"Address_Line1\\\"]}}, {{$json[\\\"Address_Line2\\\"]}}, {{$json[\\\"City/Town\\\"]}} {{$json[\\\"State/Province\\\"]}}, {{$json[\\\"Country\\\"]}}, {{$json[\\\"Postal_Code\\\"]}}\",\n \"unparsed\": true,\n \"addressNotes\": \"=\",\n \"addressApartment\": \"={{$json[\\\"Address_Line2\\\"]}}\"\n }\n },\n \"additionalFields\": {\n \"notes\": \"={{$json[\\\"Task_Details\\\"]}}\",\n \"recipient\": {\n \"recipientProperties\": {\n \"recipientName\": \"={{$json[\\\"Recipient_Name\\\"]}}\",\n \"recipientNotes\": \"={{$json[\\\"Recipient_Notes\\\"]}}\",\n \"recipientPhone\": \"=+1{{$json[\\\"Recipient_Phone\\\"]}}\"\n }\n }\n }\n },\n \"credentials\": {\n \"onfleetApi\": {\n \"id\": \"{{ $credentials.onfleetApi.id }}\",\n \"name\": \"Onfleet API Key\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"8d5ecc2f-3011-40ee-a308-596ca39140af\",\n \"notes\": \"This onfleet node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Read Binary File\",\n \"type\": \"n8n-nodes-base.readBinaryFile\",\n \"position\": [\n 500,\n 280\n ],\n \"parameters\": {\n \"filePath\": \"=/Users/jamesli/Downloads/Onfleet Import Google Sheet.xlsx\"\n },\n \"typeVersion\": 1,\n \"id\": \"de10e413-1106-495c-ab2d-58d4e7c06b68\",\n \"notes\": \"This readBinaryFile node performs automated tasks as part ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -240,\n 180\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"659318a9-7a36-4f34-93f6-94d60c54d375\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Read Binary File\",\n \"type\": \"n8n-nodes-base.readBinaryFile\",\n \"position\": [\n -60,\n 180\n ],\n \"parameters\": {\n \"filePath\": \"/username/n8n_spreadsheet.csv\"\n },\n \"typeVersion\": 1,\n \"id\": \"5bb73938-ab96-4321-8e71-410f1f6f68f4\",\n \"notes\": \"This readBinaryFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Spreadsheet File1\",\n \"type\": \"n8n-nodes-base.spreadsheetFile\",\n \"position\": [\n 120,\n 180\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"b4bb42c8-72e6-4cc8-923d-4f22af732b1d\",\n \"notes\": \"This spreadsheetFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Move Binary Data\",\n \"type\": \"n8n-nodes-base.moveBinaryData\",\n \"position\": [\n 300,\n 180\n ],\n \"parameters\": {\n \"mode\": \"jsonToBinary\",\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"4b63170e-ade6-43e8-894a-6c8eb9698580\",\n \"notes\": \"This moveBinaryData node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Write Binary File\",\n \"type\": \"n8n-nodes-base.writeBinaryFile\",\n \"position\": [\n 480,\n 180\n ],\n \"parameters\": {\n \"fileName\": \"/username/n8n_spreadsheet.json\"\n },\n \"typeVersion\": 1,\n \"id\": \"c69fda9c-f6a6-4041-ae9e-68b612286b61\",\n \"notes\": \"This writeBinaryFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-70b660f0\",\n \"name\": \"Error Handler\",...", "input": "", "output": "In node 'Error Handler', the parameter 'message' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `Workflow execution error`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Error Handler' parameter 'message'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 1,\n \"name\": \"My workflow\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 320,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"9cea6c37-968a-4d14-b1a4-568c76f57b6a\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Send Email\",\n \"type\": \"n8n-nodes-base.emailSend\",\n \"position\": [\n 1520,\n 300\n ],\n \"parameters\": {\n \"options\": {\n \"allowUnauthorizedCerts\": true\n },\n \"subject\": \"Certificate For Course\",\n \"toEmail\": \"={{$node[\\\"SplitInBatches\\\"].json[\\\"email\\\"]}}\",\n \"fromEmail\": \"bhavabhuthi@riseup.net\",\n \"attachments\": \"data\"\n },\n \"credentials\": {\n \"smtp\": {\n \"id\": \"{{ $credentials.smtp.id }}\",\n \"name\": \"SMTP account\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"0f04229d-627a-4578-bc87-51a88d1a6793\",\n \"notes\": \"This emailSend node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Read Binary File\",\n \"type\": \"n8n-nodes-base.readBinaryFile\",\n \"position\": [\n 560,\n 300\n ],\n \"parameters\": {\n \"filePath\": \"/home/shashikanth/Documents/Cert-Gen-Test/data.csv\",\n \"dataPropertyName\": \"csv\"\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": false,\n \"id\": \"d8bab283-7cfc-4171-9ca4-34ded995f26e\",\n \"notes\": \"This readBinaryFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Spreadsheet File\",\n \"type\": \"n8n-nodes-base.spreadsheetFile\",\n \"position\": [\n 840,\n 300\n ],\n \"parameters\": {\n \"options\": {\n \"headerRow\": true\n },\n \"binaryPropertyName\": \"csv\"\n },\n \"typeVersion\": 1,\n \"id\": \"0223eee7-67fb-445d-ace1-6dab5f7d893c\",\n \"notes\": \"This spreadsheetFile n...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"trigger-67d82f67\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"name\": \"Read Binary File\",\n \"type\": \"n8n-nodes-base.readBinaryFile\",\n \"position\": [\n 450,\n 650\n ],\n \"parameters\": {\n \"filePath\": \"spreadsheet.xls\"\n },\n \"typeVersion\": 1,\n \"id\": \"d0c97447-6890-4304-89a4-e04420cba1ce\",\n \"notes\": \"This readBinaryFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Spreadsheet File1\",\n \"type\": \"n8n-nodes-base.spreadsheetFile\",\n \"position\": [\n 600,\n 650\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"68c6ce6a-ed48-4009-95d3-34217d674e5c\",\n \"notes\": \"This spreadsheetFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Insert Rows1\",\n \"type\": \"n8n-nodes-base.postgres\",\n \"position\": [\n 750,\n 650\n ],\n \"parameters\": {\n \"table\": \"product\",\n \"columns\": \"name,ean\"\n },\n \"credentials\": {\n \"postgres\": \"postgres\"\n },\n \"typeVersion\": 1,\n \"id\": \"103ac1ab-c52a-4d44-be1f-6d987aa0a69c\",\n \"notes\": \"This postgres node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-a152b20a\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n },\n {\n \"parameters\": {\n \"url\": \"https://api.example.com/data\",\n \"method\": \"GET\",\n \"options\": {}\n },\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 450,\n 300\n ]\n }\n ],\n \"connections\"...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"2\",\n \"name\": \"SIGNL4 Alert\",\n \"nodes\": [\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 350,\n 500\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"mode\": \"everyHour\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"6d16121a-270e-497b-b8eb-ebd84aa0b880\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Write Binary File\",\n \"type\": \"n8n-nodes-base.writeBinaryFile\",\n \"position\": [\n 880,\n 500\n ],\n \"parameters\": {\n \"fileName\": \"alert-data.json\"\n },\n \"typeVersion\": 1,\n \"id\": \"312ac354-8e65-4119-9c90-c740278a92ec\",\n \"notes\": \"This writeBinaryFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Read Binary File\",\n \"type\": \"n8n-nodes-base.readBinaryFile\",\n \"position\": [\n 450,\n 270\n ],\n \"parameters\": {\n \"filePath\": \"alert-data.json\"\n },\n \"typeVersion\": 1,\n \"id\": \"73a7e7f3-d488-4abd-ada9-64531e19f3ea\",\n \"notes\": \"This readBinaryFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Binary to JSON\",\n \"type\": \"n8n-nodes-base.moveBinaryData\",\n \"position\": [\n 630,\n 270\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"35166d43-5347-4fc7-86c0-d3f3cbf0bbce\",\n \"notes\": \"This moveBinaryData node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"JSON to Binary\",\n \"type\": \"n8n-nodes-base.moveBinaryData\",\n \"position\": [\n 720,\n 500\n ],\n \"parameters\": {\n \"mode\": \"jsonToBinary\",\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"93a5ef4c-94c5-4675-9f1f-4b9300a30b79\",\n \"notes\": \"This moveBinaryData node performs automated ta...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"zic2ZEHvxHR4UAYI\",\n \"meta\": {\n \"instanceId\": \"workflow-aec6d9e7\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.543323\",\n \"updatedAt\": \"2025-09-29T07:07:51.543332\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Import multiple CSV to GoogleSheet\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"cd5adfcc-5b92-4a75-8e78-c2c1218d946a\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 920,\n 380\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"17305629-bb19-4b55-964e-689ab5f4d557\",\n \"name\": \"Read Binary Files\",\n \"type\": \"n8n-nodes-base.readBinaryFiles\",\n \"position\": [\n 1120,\n 380\n ],\n \"parameters\": {\n \"fileSelector\": \"=./.n8n/*.csv\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This readBinaryFiles node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d3055f63-67fa-4dcd-886d-fe6f56fb7058\",\n \"name\": \"Split In Batches\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 1320,\n 380\n ],\n \"parameters\": {\n \"options\": {},\n \"batchSize\": 1\n },\n \"typeVersion\": 2,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"597e9b14-1a8c-4fbb-b5df-c965db1e0e16\",\n \"name\": \"Read CSV\",\n \"type\": \"n8n-nodes-base.spreadsheetFile\",\n \"position\": [\n 1520,\n 360\n ],\n \"parameters\": {\n \"options\": {\n \"rawData\": true,\n \"headerRow\": true,\n \"readAsString\": true,\n \"inc...", "input": "", "output": "The workflow has a broken data flow. The node '17305629-bb19-4b55-964e-689ab5f4d557' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '17305629-bb19-4b55-964e-689ab5f4d557'.\n\n**Impact**: Data from '17305629-bb19-4b55-964e-689ab5f4d557' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '17305629-bb19-4b55-964e-689ab5f4d557' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"17305629-bb19-4b55-964e-689ab5f4d557\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '17305629-bb19-4b55-964e-689ab5f4d557' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-f1a41b5d\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.570255\",\n \"updatedAt\": \"2025-09-29T07:07:51.570270\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"3b18d784-eded-4b74-ac44-b25565049e13\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 380,\n 400\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"96eadd32-17c2-44b0-a00b-8e2ddcecaafa\",\n \"name\": \"Get Meraki Organizations\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"notes\": \"This node uses an API call to Meraki using the URL {{ $env.API_BASE_URL }}\\n\\nthe Authorization header is what is used to authenticate. You also have to set it to accept json\",\n \"position\": [\n 620,\n 320\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {\n \"redirect\": {\n \"redirect\": {}\n }\n },\n \"sendHeaders\": true,\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpHeaderAuth\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Accept\",\n \"value\": \"application/json\"\n }\n ]\n }\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"{{ $credentials.httpHeaderAuth.id }}\",\n \"name\": \"Header Auth account\"\n }\n },\n \"typeVersion\": 4.1\n },\n {\n \"id\": \"444071ea-a364-45a6-9430-0338d2752b18\",\n \"name\": \"Get Network IDs\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"notes\": \"This node uses a URL with an expression in the middle to do an A...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-9b6fd522\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.561539\",\n \"updatedAt\": \"2025-09-29T07:07:51.561549\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"3035a456-e783-4ac3-a6b7-1925a81672c1\",\n \"name\": \"Execute Workflow\",\n \"type\": \"n8n-nodes-base.executeWorkflow\",\n \"onError\": \"continueRegularOutput\",\n \"position\": [\n 1980,\n 440\n ],\n \"parameters\": {\n \"options\": {},\n \"workflowId\": \"4cnnwIeC9Sr5ngGZ\"\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": true,\n \"notes\": \"This executeWorkflow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c2d4d0f3-5f84-41de-9a06-4cd5a19e3337\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 860,\n 440\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"seconds\",\n \"secondsInterval\": 5\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"deb51138-4f68-4e8e-8118-d29bd4b79cd6\",\n \"name\": \"Get Status\",\n \"type\": \"n8n-nodes-base.redis\",\n \"position\": [\n 1080,\n 440\n ],\n \"parameters\": {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"options\": {},\n \"operation\": \"get\",\n \"propertyName\": \"=workflowStatus\"\n },\n \"credentials\": {\n \"redis\": {\n \"id\": \"Hvn2Vf7bGjmFgDr0\",\n \"name\": \"Redis account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This redis node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"73d4e23e-7860-4ac1-8f90-781817e2c98b\",\n \"...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"0H2mo5k35e0nzMEE\",\n \"meta\": {\n \"instanceId\": \"workflow-5711b269\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.557261\",\n \"updatedAt\": \"2025-09-29T07:07:51.557275\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"New Ticket Alerts to Teams\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"80c29a2a-c005-4a19-a71e-3e862a4f9b49\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -120,\n 540\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"cronExpression\",\n \"expression\": \"*/1 8-16 * * 1-5\"\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"24b7e81c-51ea-4a0f-9684-e5aef53021ad\",\n \"name\": \"Add Filterable Parameter\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 460,\n 460\n ],\n \"parameters\": {\n \"jsCode\": \"for (const item of $input.all()) {\\n // Assuming 'id' is the field with the Connectwise Ticket ID\\n // Convert 'id' to a string to ensure it has quotes in the JSON output\\n item.json.id = item.json.id.toString();\\n\\n // If 'filterOnThis' is another field you want to set with the id as a string\\n item.json.FilterOnThis = item.json.id;\\n\\n // ... any other operations you want to perform on each item\\n}\\n\\nreturn $input.all();\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1ab5a549-34a2-4bed-9c4c-9c268bf04e0d\",\n \"name\": \"Query Database\",\n \"type\": \"n8n-nodes-base.redis\",\n \"position\": [\n 460,...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"fGq0vUaD6JoqAbDa\",\n \"meta\": {\n \"instanceId\": \"workflow-32bdadf1\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.571561\",\n \"updatedAt\": \"2025-09-29T07:07:51.571598\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Query List of Sign-in IPs\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"9d54681d-7f8b-4996-b734-96626c9134dc\",\n \"name\": \"GET Events - Login Successful\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"onError\": \"continueRegularOutput\",\n \"position\": [\n -20,\n 180\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"sendHeaders\": true,\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"api_key\",\n \"value\": \"={{ $json.API }}\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d789cb1c-0e8f-4389-85da-4a9b02d438d5\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -280,\n -220\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 480,\n \"height\": 620,\n \"content\": \"## Query the SaaS Alerts API\\n**SaaS Alerts API Reference Guide** [Link]({{ $env.API_BASE_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"67628c17-6520-45e9-b3af-a066b7759481\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 240,\n -140\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 680,\n \"height\": 540,\n \"content\": \"#...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 450,\n 150\n ],\n \"parameters\": {\n \"options\": {\n \"responseHeaders\": {\n \"entries\": [\n {\n \"name\": \"Content-Type\",\n \"value\": \"text/html; charset=UTF-8\"\n }\n ]\n }\n },\n \"respondWith\": \"text\",\n \"responseBody\": \"\\n\\n \\n \\n \\n\\n \\n\\n Hello, world!\\n \\n \\n

Hello, world!

\\n\\n \\n \\n\\n\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-fee10fbc\"\n },\n {\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 250,\n 150\n ],\n \"webhookId\": \"db437850-0e90-4eb7-b383-f8438ea1bd66\",\n \"parameters\": {\n \"path\": \"my-form\",\n \"options\": {},\n \"responseMode\": \"responseNode\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-cf53f643\"\n },\n {\n \"id\": \"error-2305423d\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Production Workflow\",\n \"settings\": {\n \"executi...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 340,\n 0\n ],\n \"webhookId\": \"c1616754-4dec-4b00-a8b5-d1cb5f75bf11\",\n \"parameters\": {\n \"path\": \"c1616754-4dec-4b00-a8b5-d1cb5f75bf11\",\n \"options\": {},\n \"httpMethod\": \"POST\",\n \"responseMode\": \"responseNode\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-18331163\"\n },\n {\n \"name\": \"Item Lists\",\n \"type\": \"n8n-nodes-base.itemLists\",\n \"position\": [\n 560,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"=body\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-498f2025\"\n },\n {\n \"name\": \"Spreadsheet File\",\n \"type\": \"n8n-nodes-base.spreadsheetFile\",\n \"position\": [\n 780,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"toFile\",\n \"fileFormat\": \"xlsx\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-86626c64\"\n },\n {\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 1020,\n 0\n ],\n \"parameters\": {\n \"options\": {\n \"responseHeaders\": {\n \"entries\": [\n {\n \"name\": \"content-disposition\",\n \"value\": \"=attachment; filename=\\\"{{$node[\\\"Webhook\\\"].json[\\\"query\\\"][\\\"filename\\\"]? $node[\\\"Webhook\\\"].json[\\\"query\\\"][\\\"filename\\\"] : \\\"Export\\\"}}.xlsx\\\"\"\n }\n ]\n }\n },\n \"respondWith\": \"binary\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-4fd771ed\"\n },\n {\n \"id\": \"error-327b97b1\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Production...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-02343501\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.578366\",\n \"updatedAt\": \"2025-09-29T07:07:51.578380\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f80aceed-b676-42aa-bf25-f7a44408b1bc\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 375,\n 115\n ],\n \"webhookId\": \"6f7b288e-1efe-4504-a6fd-660931327269\",\n \"parameters\": {\n \"path\": \"={{ $json.deeply.nested.undefined.path }}\",\n \"options\": {},\n \"responseMode\": \"responseNode\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3b9ec913-0bbe-4906-bf8e-da352b556655\",\n \"name\": \"Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 355,\n -25\n ],\n \"parameters\": {\n \"width\": 600,\n \"height\": 280,\n \"content\": \"## Create a simple API endpoint\\n\\nIn this workflow we show how to create a simple API endpoint with `Webhook` and `Respond to Webhook` nodes\\n\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9c36dae5-0700-450c-9739-e9f3eff31bfe\",\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 815,\n 115\n ],\n \"parameters\": {\n \"options\": {},\n \"respondWith\": \"text\",\n \"responseBody\": \"=The URL of the Google search query for the term \\\"{{$node[\\\"Webhook\\\"].json[\\\"query\\\"][\\\"first_name\\\"]}} {{$node[\\\"Webhook\\\"].json[\\\"query\\\"][\\\"last_name\\\"]}}\\\" is: {{$json[\\\"product\\\"]}}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This respondToWebhook node performs automated tasks as part of the wo...", "input": "", "output": "In node 'Webhook', the parameter 'path' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `6f7b288e-1efe-4504-a6fd-660931327269`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Webhook' parameter 'path'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"6abe578b-d503-4da5-9af8-f9977de71139\",\n \"name\": \"Vivid Pop Explosion\",\n \"type\": \"n8n-nodes-base.set\",\n \"notes\": \" \",\n \"position\": [\n 380,\n 980\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"9ec60f33-b940-40a6-9f8a-cb944b7065f1\",\n \"name\": \"stylePrompt\",\n \"type\": \"string\",\n \"value\": \"=rule of thirds, golden ratio, hyper-maximalist, vibrant neon, high-contrast, octane render, photorealism, 8k ::7 --ar 16:9 --s 1000\\n\\nDesign a fun, energetic scene filled with bold, neon colors, and playful shapes that pop off the screen. The image should evoke a sense of joy and movement, using fluid, organic forms and exaggerated, cartoon-like proportions. Focus on creating a lively atmosphere with contrasting, saturated tones and dynamic lighting. Use a mix of asymmetrical and balanced compositions to create a playful visual flow. Render in 8K with a hyper-maximalist approach using Octane Render for vibrant, high-gloss textures and photorealistic lighting effects. Include:\"\n }\n ]\n },\n \"includeOtherFields\": true\n },\n \"notesInFlow\": true,\n \"typeVersion\": 3.4\n },\n {\n \"id\": \"7de1ea42-3b18-4bfb-8ea4-a8b6c8d16763\",\n \"name\": \"AI Dystopia\",\n \"type\": \"n8n-nodes-base.set\",\n \"notes\": \" \",\n \"position\": [\n 380,\n 620\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"9ec60f33-b940-40a6-9f8a-cb944b7065f1\",\n \"name\": \"stylePrompt\",\n \"type\": \"string\",\n \"value\": \"=golden ratio, rule of thirds, cyberpunk, glitch art, octane render, cinematic realism, 8k ::7 --ar 16:9 --s 1000\\n\\nGenerate a futuristic, cyberpunk dystopia with metallic textures, digital glitches, and neon lights. Blend col...", "input": "", "output": "In node 'Sticky Note4', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `### Serve form to user\nCaptures `Prompt to flux` and `Style` from user.`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note4' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-bf161973\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.623507\",\n \"updatedAt\": \"2025-09-29T07:07:51.623529\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"b24c6e28-3c9e-4069-9e87-49b2efd47257\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1200,\n 660\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-mini\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"AzPPV759YPBxJj3o\",\n \"name\": \"Max's DevRel OpenAI account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c71a3e22-f0fd-4377-9be2-32438b282430\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 200,\n 240\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 636.2128494576581,\n \"height\": 494.9629292914819,\n \"content\": \"![Siri Template Thumbnail]({{ $env.WEBHOOK_URL }}\\n## \\\"Hey Siri, Ask Agent\\\" workflow\\n**Made by [Max Tkacz]({{ $env.WEBHOOK_URL }} during the [30 Day AI Sprint]({{ $env.WEBHOOK_URL }}\\n\\nThis template integrates with Apple Shortcuts to trigger an n8n AI Agent via a \\\"Hey Siri\\\" command. The shortcut prompts for spoken input, transcribes it, and sends it to the workflow's `When Called by Apple Shortcut` Webhook trigger. The AI Agent processes the input and Siri dictates the response back to you.\\n\\nThe workflow also passes the current date and time to the `AI Agent`, which you can extend with additional context, like data from an App node, for more customized responses.\\n\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of th...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-38e540b3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.619852\",\n \"updatedAt\": \"2025-09-29T07:07:51.619883\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"af0765f4-75b5-445c-80d7-51b0aa180fe5\",\n \"name\": \"OpenAI Chat Model2\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 820,\n 620\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {\n \"temperature\": 0,\n \"responseFormat\": \"text\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"497c534e-e117-4592-b76f-bef424a7fd5a\",\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 1500,\n 400\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This respondToWebhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5b358850-cbc3-4a8c-b2b8-12e3b7aa1e44\",\n \"name\": \"calendarAgent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1060,\n 620\n ],\n \"parameters\": {\n \"name\": \"calendarAgent\",\n \"fields\": {\n \"values\": [\n {\n \"name\": \"sessionId\",\n \"stringValue\": \"={{ $json.sessionId }}\"\n },\n {\n \"name\": \"prompt\",\n \"stringValue\": \"={{ $json.chatInput }}\"\n }\n ]\n },\n \"workflowId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"yPCMz4zxB291oM31\",\n \"cachedResultName\": \"Google Calendar Agent\"\n },\n \"description\": \"Call this workflow to do handle every request regarding calendar management.\",\n ...", "input": "", "output": "The node 'OpenAI Chat Model1' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'OpenAI Chat Model1'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-291615d9\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.620676\",\n \"updatedAt\": \"2025-09-29T07:07:51.620687\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"b165115d-5505-4e03-bf41-c21320cb8b09\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 80,\n 40\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 681.8337349708484,\n \"height\": 843.1482165886073,\n \"content\": \"## Workflow: Text automations using Apple Shortcuts\\n\\n**Overview**\\n- This workflow answers user requests sent via Apple Shortcuts\\n- Several Shortcuts call the same webhook, with a query and a type of query\\n- Types of query are:\\n - translate to english\\n - translate to spanish\\n - correct grammar (without changing the actual content)\\n - make content shorter\\n - make content longer\\n\\n\\n**How it works**\\n- Select a text you are writing\\n- Launch the shortcut\\n- The text is sent to the webhook\\n- Depending on the type of request, a different prompt is used\\n- Each request is sent to an OpenAI node\\n- The workflow responds to the request with the response from GPT\\n- Shortcut replace the selected text with the new one\\n\\n**How to use it**\\n- Activate the workflow\\n- Download [this Shortcut template]({{ $env.WEBHOOK_URL }}\\n- Install the shortcut\\n- In step 2 of the shortcut, change the url of the Webhook\\n- In Shortcut details, \\\"add Keyboard Shortcut\\\" with the key you want to use to launch the shortcut\\n- Go to settings, advanced, check \\\"Allow running scripts\\\"\\n- You are ready to use the shortcut. Select a text and hit the keyboard shortcut you just defined\\n\\n\\n**Notes**\\n- If you use rich formatting, you'll have to test multiple ways to replace characters in the output. For example, you might use `{{...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-4353d3d6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.670062\",\n \"updatedAt\": \"2025-09-29T07:07:51.670083\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"37bd6cc9-3cc4-442e-94c1-42972c0fce0d\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 80,\n 0\n ],\n \"webhookId\": \"060dbacf-0feb-43d4-b4ac-44011a7dd1a4\",\n \"parameters\": {\n \"path\": \"060dbacf-0feb-43d4-b4ac-44011a7dd1a4\",\n \"options\": {},\n \"responseMode\": \"responseNode\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3c05c0e4-7121-46d0-b35c-fc39cdd35ae7\",\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 580,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"respondWith\": \"binary\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This respondToWebhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3f5ba2a7-148d-4921-b2ca-9dee17a2b278\",\n \"name\": \"HTML to PDF\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 340,\n 0\n ],\n \"parameters\": {\n \"htmlInput\": \"

Hello CustomJS!

\\n

CustomJS provides the missing toolset for your no-code projects

\"\n },\n \"credentials\": {\n \"customJsApi\": {\n \"id\": \"SZkqeEHVYyWhaGem\",\n \"name\": \"CustomJS account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This html2Pdf node performs automated tasks as part of the workflow.\"\n }\n ],\n \"pinData\": {},\n \"connections\": {\n \"37bd6cc9-3cc4-442e-94c1-42972c0fce0d\": {\n \"main\": [\n [\n {\n \"node\": \"error-handler-3...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"6abe578b-d503-4da5-9af8-f9977de71139\",\n \"name\": \"Vivid Pop Explosion\",\n \"type\": \"n8n-nodes-base.set\",\n \"notes\": \" \",\n \"position\": [\n 380,\n 980\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"9ec60f33-b940-40a6-9f8a-cb944b7065f1\",\n \"name\": \"stylePrompt\",\n \"type\": \"string\",\n \"value\": \"=rule of thirds, golden ratio, hyper-maximalist, vibrant neon, high-contrast, octane render, photorealism, 8k ::7 --ar 16:9 --s 1000\\n\\nDesign a fun, energetic scene filled with bold, neon colors, and playful shapes that pop off the screen. The image should evoke a sense of joy and movement, using fluid, organic forms and exaggerated, cartoon-like proportions. Focus on creating a lively atmosphere with contrasting, saturated tones and dynamic lighting. Use a mix of asymmetrical and balanced compositions to create a playful visual flow. Render in 8K with a hyper-maximalist approach using Octane Render for vibrant, high-gloss textures and photorealistic lighting effects. Include:\"\n }\n ]\n },\n \"includeOtherFields\": true\n },\n \"notesInFlow\": true,\n \"typeVersion\": 3.4\n },\n {\n \"id\": \"7de1ea42-3b18-4bfb-8ea4-a8b6c8d16763\",\n \"name\": \"AI Dystopia\",\n \"type\": \"n8n-nodes-base.set\",\n \"notes\": \" \",\n \"position\": [\n 380,\n 620\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"9ec60f33-b940-40a6-9f8a-cb944b7065f1\",\n \"name\": \"stylePrompt\",\n \"type\": \"string\",\n \"value\": \"=golden ratio, rule of thirds, cyberpunk, glitch art, octane render, cinematic realism, 8k ::7 --ar 16:9 --s 1000\\n\\nGenerate a futuristic, cyberpunk dystopia with metallic textures, digital glitches, and neon lights. Blend col...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"GWXjIqENWvx6OqvX\",\n \"meta\": {\n \"instanceId\": \"workflow-72712349\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.707025\",\n \"updatedAt\": \"2025-09-29T07:07:51.707079\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"TEMPLATE - Multi Methods API Endpoint\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"d5b5010f-97fb-4f80-871b-e9f04b3977a9\",\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 1220,\n -180\n ],\n \"parameters\": {\n \"options\": {},\n \"respondWith\": \"allIncomingItems\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This respondToWebhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"46711e2f-6cd1-4947-9452-7a1484ae562f\",\n \"name\": \"Respond to Webhook1\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 1220,\n 860\n ],\n \"parameters\": {\n \"options\": {\n \"responseCode\": 201\n },\n \"respondWith\": \"allIncomingItems\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This respondToWebhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"20489a88-39a5-4cf7-8c08-826e4e9a7f34\",\n \"name\": \"Respond to Webhook2\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 1220,\n 340\n ],\n \"parameters\": {\n \"options\": {\n \"responseCode\": 200\n },\n \"respondWith\": \"allIncomingItems\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This respondToWebhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"04320a5f-29fe-42b0-9e01-31035f23b9dc\",\n \"name\": \"Respond to Webhook4\",\n \"type\": \"n8n-nodes-base.r...", "input": "", "output": "In node 'Get Single', the parameter 'operation' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `search`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Get Single' parameter 'operation'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-9dc836eb\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.744239\",\n \"updatedAt\": \"2025-09-29T07:07:51.744255\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"b24c6e28-3c9e-4069-9e87-49b2efd47257\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1200,\n 660\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-mini\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"AzPPV759YPBxJj3o\",\n \"name\": \"Max's DevRel OpenAI account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c71a3e22-f0fd-4377-9be2-32438b282430\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 200,\n 240\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 636.2128494576581,\n \"height\": 494.9629292914819,\n \"content\": \"![Siri Template Thumbnail]({{ $env.WEBHOOK_URL }}\\n## \\\"Hey Siri, Ask Agent\\\" workflow\\n**Made by [Max Tkacz]({{ $env.WEBHOOK_URL }} during the [30 Day AI Sprint]({{ $env.WEBHOOK_URL }}\\n\\nThis template integrates with Apple Shortcuts to trigger an n8n AI Agent via a \\\"Hey Siri\\\" command. The shortcut prompts for spoken input, transcribes it, and sends it to the workflow's `When Called by Apple Shortcut` Webhook trigger. The AI Agent processes the input and Siri dictates the response back to you.\\n\\nThe workflow also passes the current date and time to the `AI Agent`, which you can extend with additional context, like data from an App node, for more customized responses.\\n\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of th...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-0ff5b719\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.756892\",\n \"updatedAt\": \"2025-09-29T07:07:51.756908\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"b165115d-5505-4e03-bf41-c21320cb8b09\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 80,\n 40\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 681.8337349708484,\n \"height\": 843.1482165886073,\n \"content\": \"## Workflow: Text automations using Apple Shortcuts\\n\\n**Overview**\\n- This workflow answers user requests sent via Apple Shortcuts\\n- Several Shortcuts call the same webhook, with a query and a type of query\\n- Types of query are:\\n - translate to english\\n - translate to spanish\\n - correct grammar (without changing the actual content)\\n - make content shorter\\n - make content longer\\n\\n\\n**How it works**\\n- Select a text you are writing\\n- Launch the shortcut\\n- The text is sent to the webhook\\n- Depending on the type of request, a different prompt is used\\n- Each request is sent to an OpenAI node\\n- The workflow responds to the request with the response from GPT\\n- Shortcut replace the selected text with the new one\\n\\n**How to use it**\\n- Activate the workflow\\n- Download [this Shortcut template]({{ $env.WEBHOOK_URL }}\\n- Install the shortcut\\n- In step 2 of the shortcut, change the url of the Webhook\\n- In Shortcut details, \\\"add Keyboard Shortcut\\\" with the key you want to use to launch the shortcut\\n- Go to settings, advanced, check \\\"Allow running scripts\\\"\\n- You are ready to use the shortcut. Select a text and hit the keyboard shortcut you just defined\\n\\n\\n**Notes**\\n- If you use rich formatting, you'll have to test multiple ways to replace characters in the output. For example, you might use `{{ $jso...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-994760ea\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.762104\",\n \"updatedAt\": \"2025-09-29T07:07:51.762117\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"b165115d-5505-4e03-bf41-c21320cb8b09\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 80,\n 40\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 681.8337349708484,\n \"height\": 843.1482165886073,\n \"content\": \"## Workflow: Text automations using Apple Shortcuts\\n\\n**Overview**\\n- This workflow answers user requests sent via Apple Shortcuts\\n- Several Shortcuts call the same webhook, with a query and a type of query\\n- Types of query are:\\n - translate to english\\n - translate to spanish\\n - correct grammar (without changing the actual content)\\n - make content shorter\\n - make content longer\\n\\n\\n**How it works**\\n- Select a text you are writing\\n- Launch the shortcut\\n- The text is sent to the webhook\\n- Depending on the type of request, a different prompt is used\\n- Each request is sent to an OpenAI node\\n- The workflow responds to the request with the response from GPT\\n- Shortcut replace the selected text with the new one\\n\\n**How to use it**\\n- Activate the workflow\\n- Download [this Shortcut template]({{ $env.WEBHOOK_URL }}\\n- Install the shortcut\\n- In step 2 of the shortcut, change the url of the Webhook\\n- In Shortcut details, \\\"add Keyboard Shortcut\\\" with the key you want to use to launch the shortcut\\n- Go to settings, advanced, check \\\"Allow running scripts\\\"\\n- You are ready to use the shortcut. Select a text and hit the keyboard shortcut you just defined\\n\\n\\n**Notes**\\n- If you use rich formatting, you'll have to test multiple ways to replace characters in the output. For example, you might use `{{ $jso...", "input": "", "output": "The node 'OpenAI - To Spanish' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"WqzqjezKh8VtxdqA\",\n \"name\": \"OpenAi account - Baptiste\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'OpenAI - To Spanish' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"pdgNdag49lwoTxUP\",\n \"meta\": {\n \"instanceId\": \"workflow-e6d22893\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.778526\",\n \"updatedAt\": \"2025-09-29T07:07:51.778538\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Track Working Time and Pauses\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"1ae951f1-acfa-4bd2-800e-22c7628e862d\",\n \"name\": \"Create new page\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 1260,\n -120\n ],\n \"parameters\": {\n \"title\": \"Tracked Time via n8n\",\n \"options\": {\n \"icon\": \"\\ud83e\\udd16\"\n },\n \"resource\": \"databasePage\",\n \"databaseId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1117f2f5-baf9-8054-b33b-efb4d8a3c7ab\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Time Tracker\"\n },\n \"propertiesUi\": {\n \"propertyValues\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"date\": \"={{ $now }}\"\n }\n ]\n }\n },\n \"credentials\": {\n \"notionApi\": {\n \"id\": \"03mmrqQX1rffebZp\",\n \"name\": \"Notion David\"\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This notion node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"490d1893-3828-4df6-8c0a-0a1476fc8727\",\n \"name\": \"Update page with end date\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 1560,\n 780\n ],\n \"parameters\": {\n \"pageId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"={{ $json.id }}\"\n },\n \"options\": {},\n \"resource\": \"databasePage\",\n \"operation\": \"update\",\n \"prope...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"RSS Feed Read\",\n \"type\": \"n8n-nodes-base.rssFeedRead\",\n \"position\": [\n 420,\n -20\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\"\n },\n \"typeVersion\": 1,\n \"id\": \"4a6d3143-34b5-4110-8a94-32c435f57c34\",\n \"notes\": \"This rssFeedRead node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"SplitInBatches\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 200,\n -20\n ],\n \"parameters\": {\n \"options\": {},\n \"batchSize\": 1\n },\n \"typeVersion\": 1,\n \"id\": \"338f9b13-4261-49aa-90df-c4043e0c53fc\",\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n -240,\n -20\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"mode\": \"everyX\",\n \"unit\": \"minutes\",\n \"value\": 10\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"0b1e3879-2dbc-468b-991b-e12b734cde2b\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"only get new RSS\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 640,\n -20\n ],\n \"parameters\": {\n \"functionCode\": \"const staticData = getWorkflowStaticData('global');\\nconst newRSSIds = items.map(item => item.json[\\\"isoDate\\\"]);\\nconst oldRSSIds = staticData.oldRSSIds; \\n\\nif (!oldRSSIds) {\\n staticData.oldRSSIds = newRSSIds;\\n return items;\\n}\\n\\n\\nconst actualNewRSSIds = newRSSIds.filter((id) => !oldRSSIds.includes(id));\\nconst actualNewRSS = items.filter((data) => actualNewRSSIds.includes(data.json['isoDate']));\\nstaticData.oldRSSIds = [...actualNewRSSIds, ...oldRSSIds];\\n\\nreturn actualNewRSS;\\n\"\n },\n \"typeVersion\": 1,\n ...", "input": "", "output": "The node 'Telegram_M365' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Telegram_M365'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 89,\n \"name\": \"Post RSS feed items from yesterday to Slack\",\n \"nodes\": [\n {\n \"name\": \"Build our message\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 1160,\n 400\n ],\n \"parameters\": {\n \"functionCode\": \"// Create our Slack message\\n// This will output a list of RSS items in the following format\\n// Title - Description\\nlet message = \\\"*:new: Posts from yesterday :new:*\\\\n\\\\n\\\";\\n\\n// Loop the input items\\nfor (item of items) {\\n message += \\\"*<\\\" + item.json.link + \\\"|\\\" + item.json.title + \\\">*\\\\n\\\" + item.json.contentSnippet + \\\"\\\\n\\\\n\\\"; \\n}\\n\\n// Return our message\\nreturn [{json: {message}}];\"\n },\n \"typeVersion\": 1,\n \"id\": \"02d94495-39a8-4e5b-b062-8fa23314984f\",\n \"notes\": \"This function node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Every Morning\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 380,\n 420\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"hour\": 8\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"04f11124-a075-4b47-a7da-3436aa6b2f44\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Get Yesterdays Date\",\n \"type\": \"n8n-nodes-base.dateTime\",\n \"position\": [\n 560,\n 420\n ],\n \"parameters\": {\n \"value\": \"={{Date()}}\",\n \"action\": \"calculate\",\n \"options\": {},\n \"duration\": 1,\n \"operation\": \"subtract\"\n },\n \"typeVersion\": 1,\n \"id\": \"e1e7f17b-4078-438a-b5c0-e131459c0e24\",\n \"notes\": \"This dateTime node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Get the RSS Feed\",\n \"type\": \"n8n-nodes-base.rssFeedRead\",\n \"position\": [\n 740,\n 420\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\"\n },\n \"typeVersion...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" 8,\n \"name\": \"Get only new RSS with Photo\",\n \"nodes\": [\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 1050,\n 920\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"mode\": \"everyX\",\n \"unit\": \"minutes\",\n \"value\": 5\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"4c1290eb-be06-4618-aff2-dbbc34e1d0c7\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"RSS Feed Read\",\n \"type\": \"n8n-nodes-base.rssFeedRead\",\n \"position\": [\n 1220,\n 920\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\"\n },\n \"executeOnce\": true,\n \"typeVersion\": 1,\n \"id\": \"2094b45d-54a1-4952-8c97-48b36c21b862\",\n \"notes\": \"This rssFeedRead node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Extract Image1\",\n \"type\": \"n8n-nodes-base.htmlExtract\",\n \"position\": [\n 1740,\n 920\n ],\n \"parameters\": {\n \"options\": {},\n \"dataPropertyName\": \"=content\",\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"attribute\": \"src\",\n \"cssSelector\": \"img\",\n \"returnValue\": \"attribute\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"b6252170-f858-4d82-b139-69b9ceead313\",\n \"notes\": \"This htmlExtract node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Filter RSS Data\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1390,\n 920\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"Title\",\n \"value\": \"={{$node[\\\"RSS Feed Read\\\"].json[\\\"title\\\"]}}\"\n },\n {\n \"name\": \"Sub...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"8v4dynjkHSLVGJSG\",\n \"meta\": {\n \"instanceId\": \"workflow-40f9f218\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.844485\",\n \"updatedAt\": \"2025-09-29T07:07:51.844497\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Crypto News & Sentiment\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"e10ed4da-ab3e-4ff0-b489-a3ed9e88e042\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -1340,\n 1520\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"edb76989-766a-43e6-bf49-3896a1d257dd\",\n \"name\": \"Set Query\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -780,\n 1340\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"9128e9e7-d1b8-4e89-8422-849b8dd519d8\",\n \"name\": \"query\",\n \"type\": \"string\",\n \"value\": \"={{ $json.output }}\"\n },\n {\n \"id\": \"b6adc989-7d3c-4dbb-a659-603591cf1f58\",\n \"name\": \"sessionId\",\n \"type\": \"string\",\n \"value\": \"={{ $('Adds the sessionId').item.json.sessionId }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0ef0571a-d0c2-4f05-898e-1aed56b02d56\",\n \"name\": \"Crypto News & Sentiment Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [...", "input": "", "output": "The node 'OpenAI Chat Model' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"yUizd8t0sD5wMYVG\",\n \"name\": \"OpenAi account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'OpenAI Chat Model' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-b06b42eb\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.842551\",\n \"updatedAt\": \"2025-09-29T07:07:51.842565\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"b605b875-85cf-4210-8027-ce7b9b7069b9\",\n \"name\": \"CRON\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"notes\": \"Every Monday @ 8:30am\",\n \"position\": [\n 820,\n 360\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"cronExpression\",\n \"expression\": \"30 8 * * MON\"\n }\n ]\n }\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"edd9d7b6-9ac4-4acf-8f4b-4cbe943dfd34\",\n \"name\": \"Get User's Playlists\",\n \"type\": \"n8n-nodes-base.spotify\",\n \"position\": [\n 1060,\n 360\n ],\n \"parameters\": {\n \"resource\": \"playlist\",\n \"operation\": \"getUserPlaylists\",\n \"returnAll\": true\n },\n \"credentials\": {\n \"spotifyOAuth2Api\": {\n \"id\": \"\",\n \"name\": \"Placeholder\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This spotify node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"98cf8fdc-556a-452a-8df6-16a98c17613e\",\n \"name\": \"Switch\",\n \"type\": \"n8n-nodes-base.switch\",\n \"notes\": \"Find Discover and Archive playlist by name\",\n \"position\": [\n 1280,\n 360\n ],\n \"parameters\": {\n \"rules\": {\n \"rules\": [\n {\n \"value2\": \"Discover Weekly\",\n \"outputKey\": \"YOUR_CREDENTIAL_HERE\"\n },\n {\n \"value2\": \"Discover Weekly Archive\",\n \"outputKey\": \"YOUR_CREDENTIAL_HERE\"\n }\n ]\n },\n \"value1\": \"={{ $json.n...", "input": "", "output": "The node 'Add tracks to Archive playlist' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Add tracks to Archive playlist'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-e80a170a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.829123\",\n \"updatedAt\": \"2025-09-29T07:07:51.829134\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"0e4c65ce-95e9-4a32-bc5c-0461cb339764\",\n \"name\": \"Filter Status (Waiting for sending)\",\n \"type\": \"n8n-nodes-base.filter\",\n \"position\": [\n 1670,\n 1110\n ],\n \"parameters\": {\n \"options\": {\n \"looseTypeValidation\": true\n },\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"loose\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"401b79a0-a079-4ea0-805b-a963d9206031\",\n \"operator\": {\n \"name\": \"filter.operator.equals\",\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.Status }}\",\n \"rightValue\": \"Waiting for sending\"\n },\n {\n \"id\": \"74ec18c7-e4cc-4d82-ba05-0ec4781cbb9f\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"exists\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.Title }}\",\n \"rightValue\": \"\"\n },\n {\n \"id\": \"6e293a16-48cd-40bb-9882-09b456a97d58\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"exists\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.Subject }}\",\n \"rightValue\": \"\"\n },\n {\n \"id\": \"a02d2518-e979-4a17-ab00-dda6723d9945\",\n \"operator\": {\n \"type\": \"stri...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-990f2c61\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.846718\",\n \"updatedAt\": \"2025-09-29T07:07:51.846732\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"49a3829e-3127-4761-8ac0-edaa6d0224c2\",\n \"name\": \"HTTP Request - Utilize Prospeo.io LinkedIn Email Finder API1\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 3820,\n 680\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"url\",\n \"value\": \"={{ $json['Linkden URL'] }}\"\n },\n {\n \"name\": \"id\",\n \"value\": \"={{ $json.ID }}\"\n }\n ]\n },\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"X-KEY\",\n \"value\": \"43b7e4f5c6558ccaa539e0e5f5778f09\"\n }\n ]\n }\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"705aef1b-5e45-4fe8-b1fd-5ebb5d461dd5\",\n \"name\": \"No Operation, do nothing\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 3760,\n 1140\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f2b8a1b8-13b6-4de3-9cde-336494bf31dc\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 3140,\n 940\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"minutes\"\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"3a0ba7f4-ac41-49b0-a055-b993c82f2680\",\n \"name\": \"Every day at 9 am\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 340,\n 1280\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"triggerAtHour\": 9\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5fa47f36-3206-44b9-965a-0d27b10acc21\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 740,\n 980\n ],\n \"parameters\": {\n \"width\": 348.2877732355713,\n \"height\": 595.2986206729652,\n \"content\": \"## Search for all contacts that last contact date for is known\\n\\n1. Setup Oauth2 creds using n8n docs\\n{{ $env.WEBHOOK_URL }}\\n\\n### Be careful with scopes. Scopes must be exactly as defined in the n8n docs\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n### To make this more effective, we sort ascending by last contact date.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"16b6fadf-ff1d-4670-b148-151cfbd242d5\",\n \"name\": \"Send outreach email\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 2040,\n 1060\n ],\n \"parameters\": {\n \"sendTo\": \"={{ $json.to }}\",\n \"message\": \"={{ $json.html }}\",\n \"options\": {\n \"senderName\": \"Mutasem from n8n\",\n \"appendAttribution\": false\n },\n \"subject\": \"={{ $json.subject }}\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"rd2agqPeJBD2377h\",\n \"name\": \"Work Gmail\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmail node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a89ec3bd-7bb0-4dde-a9eb-800842073fc9\",\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-65ec25e6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.862821\",\n \"updatedAt\": \"2025-09-29T07:07:51.862833\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"8b2dad6b-9771-4351-bddc-819746cb04c1\",\n \"name\": \"Get leads created last 5 minutes\",\n \"type\": \"n8n-nodes-base.hubspot\",\n \"position\": [\n 160,\n 500\n ],\n \"parameters\": {\n \"resource\": \"company\",\n \"operation\": \"getRecentlyCreatedUpdated\",\n \"returnAll\": true,\n \"authentication\": \"{{ $credentials.oAuth2 }}\",\n \"additionalFields\": {\n \"since\": \"={{ $now.minus({ \\\"minutes\\\": 5 }) }}\"\n }\n },\n \"credentials\": {\n \"hubspotOAuth2Api\": {\n \"id\": \"KTv7XIF0qMaGfg8O\",\n \"name\": \"HubSpot account\"\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This hubspot node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"63db576a-6bb7-4215-88f3-98e304081b3e\",\n \"name\": \"Notify sales rep\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n 700,\n 500\n ],\n \"parameters\": {\n \"text\": \"=New high-quality lead \\ud83e\\udd11\\n*Company Name*: {{ $json.properties.name.value }} \\n*Website*: {{ $json.properties.website.value }}\\n*Revenue*: {{ $json.properties.annualrevenue.value }}\\n*Number of employees*: {{ $json.properties.numberofemployees.value }}\",\n \"user\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"U0361884CU9\",\n \"cachedResultName\": \"ricardo\"\n },\n \"select\": \"user\",\n \"otherOptions\": {},\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"slackOAuth2Api\": {\n \"id\": \"wpCG1E4YH2xiwWxK\",\n \"name\": \"Slack account\"\n }\n },...", "input": "", "output": "The node 'Sticky Note5' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note5'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"b1afd02d-6edf-4540-bf32-09d87cb8a27b\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 320,\n 220\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 379,\n \"height\": 80,\n \"content\": \"### \\ud83d\\udc68\\u200d\\ud83c\\udfa4 Setup\\n1. Add your Gmail creds\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3481e6c3-7706-4c7f-8ca6-c96f76d82021\",\n \"name\": \"At midnight every work day\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 400,\n 340\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"cronExpression\",\n \"expression\": \"0 0 * * 1-5\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3c74e4fd-e919-4acb-8092-658f2e71513b\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 380,\n 520\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 202,\n \"height\": 100,\n \"content\": \"\\ud83d\\udc46 Set your schedule. I use this for work emails. For personal emails, I run this daily.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"de421702-d012-4ea1-826e-1a4756ff4856\",\n \"name\": \"Get all emails in the last day\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 620,\n 340\n ],\n \"parameters\": {\n \"filters\": {\n \"q\": \"label:inbox\",\n \"receivedBefore\": \"={{ $now.minus({days: 1}) }}\"\n },\n \"resource\": \"thread\",\n \"returnAll\": true\n },\n \"credentials\": {\n \"gmailOA...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\" [\n {\n \"id\": \"2c3549c1-99c1-4255-a02d-2f454e6ced5e\",\n \"name\": \"Every 15 minutes\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 560,\n 340\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"minutes\",\n \"minutesInterval\": 15\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3380272e-5631-44aa-b7da-5e23e0966978\",\n \"name\": \"Get all workflows with tag\",\n \"type\": \"n8n-nodes-base.n8n\",\n \"position\": [\n 780,\n 340\n ],\n \"parameters\": {\n \"filters\": {\n \"tags\": \"sync-to-notion\"\n }\n },\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"{{ $credentials.n8nApi.id }}\",\n \"name\": \"n8n admin account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This n8n node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d702f13e-8e93-4142-87c7-49fbb6031e19\",\n \"name\": \"Set fields\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1000,\n 340\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"1744510d-7ed7-46d8-acd3-f975ab73f298\",\n \"name\": \"active\",\n \"type\": \"boolean\",\n \"value\": \"={{ $json.active }}\"\n },\n {\n \"id\": \"7e76f5dc-0c32-4b26-a289-975155b80112\",\n \"name\": \"url\",\n \"type\": \"string\",\n \"value\": \"={{ $vars.instance_url }}workflow/{{ $json.id }}\"\n },\n {\n \"id\": \"a7b069bf-8090-4dca-a432-f4fd7aa84e6f\",\n \"name\": \"errorWorkflow\",\n \"type\": \"boolean\",\n \"value\": \"={{ !!$json.settings?.errorWorkflow }}\"\n },\n ...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a390c4b5\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.904259\",\n \"updatedAt\": \"2025-09-29T07:07:51.904281\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"3f4a15ab-64d8-49af-ba80-3aa1d424a62a\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 620,\n 160\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\",\n \"hoursInterval\": 6\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8a8681b7-2d28-403f-92a7-58c9030cb8a6\",\n \"name\": \"Get Tweets\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 820,\n 160\n ],\n \"parameters\": {\n \"options\": {\n \"returnAllMatches\": \"returnFirstMatch\"\n },\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": 600232182,\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Tweets\"\n },\n \"documentId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1QyscSsUITnoJRnvyBbRpWeNF90TGD4dF5yj8DyZYQsA\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Tweets\"\n }\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"RICzFHixgHXMuKmg\",\n \"name\": \"Google Sheets account\"\n }\n },\n \"typeVersion\": 4.3,\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bcce591e-b92e-43b4-b672-b02e32f95d15\",\n \"name\": \"Post on X\",\n \"type\": \"n8n-nodes-base.t...", "input": "", "output": "The workflow has a broken data flow. The node 'f834409b-bba2-4e8a-9fb9-5971a49960dd' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'f834409b-bba2-4e8a-9fb9-5971a49960dd'.\n\n**Impact**: Data from 'f834409b-bba2-4e8a-9fb9-5971a49960dd' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'f834409b-bba2-4e8a-9fb9-5971a49960dd' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"f834409b-bba2-4e8a-9fb9-5971a49960dd\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'f834409b-bba2-4e8a-9fb9-5971a49960dd' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"db39e47c-df1f-4fec-86e5-fc391cce68da\",\n \"name\": \"Add Log in History\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 1360,\n 540\n ],\n \"parameters\": {\n \"columns\": {\n \"value\": {},\n \"schema\": [\n {\n \"id\": \"price\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"price\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"name\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"name\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"link\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"link\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"update\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"update\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n }\n ],\n \"mappingMode\": \"autoMapInputData\",\n \"matchingColumns\": [\n \"update\"\n ]\n },\n \"options\": {},\n \"operation\": \"appendOrUpdate\",\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": 440562612,\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Pricing History\"\n },\n \"documentId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"...", "input": "", "output": "The node 'Add Log in History' (type: n8n-nodes-base.googleSheets) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"1nTQmlgxR0AJJDGA\",\n \"name\": \"n8ninja - Sheet\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Add Log in History' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-9ccc926f\"\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.911419\",\n \"updatedAt\": \"2025-09-29T07:07:51.911429\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"757a7e67-073a-4fa1-b571-2ddd147b35f6\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1000,\n 1240\n ],\n \"parameters\": {\n \"model\": \"gpt-3.5-turbo-16k-0613\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"kDo5LhPmHS2WQE0b\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"761ed83a-2cfb-474a-b596-922e5a7e2717\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 660,\n 1060\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\",\n \"hoursInterval\": 12\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"41faf334-30d6-4cc0-9a94-9c486ec3fa6c\",\n \"name\": \"OpenAI Chat Model2\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1520,\n 1420\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"kDo5LhPmHS2WQE0b\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d9ad0a3a-2ce6-4071-8262-8176b3eecf36\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-n...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-8019ae1b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.897146\",\n \"updatedAt\": \"2025-09-29T07:07:51.897167\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"e0f68f60-f036-4103-a9fc-d6cb80b6f8a2\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1980,\n 1100\n ],\n \"parameters\": {\n \"model\": \"gpt-4-turbo\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"kDo5LhPmHS2WQE0b\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"23779dea-c21d-42da-b493-09394bc64436\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2420,\n 660\n ],\n \"parameters\": {\n \"model\": \"gpt-4-turbo\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"kDo5LhPmHS2WQE0b\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"af59863e-12c5-414c-bf64-dd6712e3aa7b\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 1680,\n 960\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\",\n \"hoursInterval\": 12\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bc2ad02b-72c9-4132-96e8-b64487f589f7\",\n \"name\": \"Recursive Cha...", "input": "", "output": "The node 'Generate Audio for the Story' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"kDo5LhPmHS2WQE0b\",\n \"name\": \"OpenAi account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Generate Audio for the Story' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\" {\n \"instanceId\": \"workflow-359b470b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.926136\",\n \"updatedAt\": \"2025-09-29T07:07:51.926219\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"2b3112a9-046e-4aae-8fcc-95bddf3bb02e\",\n \"name\": \"Slack\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n 828,\n 327\n ],\n \"parameters\": {\n \"limit\": 10,\n \"query\": \"in:#n8n-tickets has::ticket:\",\n \"options\": {},\n \"operation\": \"search\"\n },\n \"credentials\": {\n \"slackApi\": {\n \"id\": \"VfK3js0YdqBdQLGP\",\n \"name\": \"Slack account\"\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This slack node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"65fd6821-4d19-436c-81d9-9bdb0f5efddd\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1920,\n 480\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"85125704-7363-40de-af84-f267f8c7e919\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2100,\n 480\n ],\n \"parameters\": {\n \"jsonSchema\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"title\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"summary\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"ideas\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": { \\\"type\\\": \\\"string\\\" }\\n },\\n \\\"priority\\\": { \\\"type\\\": \\\"string\\\" }\\n }\\n}\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This outp...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-19ebecec\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.909853\",\n \"updatedAt\": \"2025-09-29T07:07:51.909867\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"71b06728-7f59-49e3-9365-3281189a6659\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 920,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b37019e3-c7ab-4119-986d-c27d082a036e\",\n \"name\": \"Input\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1340,\n 340\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"fcc97354-b9f6-4459-a004-46e87902c77c\",\n \"name\": \"company_input\",\n \"type\": \"string\",\n \"value\": \"={{ $json.input }}\"\n },\n {\n \"id\": \"e5415c49-5204-45b1-a0e9-814157127b12\",\n \"name\": \"row_number\",\n \"type\": \"number\",\n \"value\": \"={{ $json.row_number }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7d5d53ac-6d3c-4b24-97c7-deb6b76749e5\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2020,\n 660\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {\n \"temperature\": 0.3\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"FMTQypGcsAwaRQdC\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\"...", "input": "", "output": "The node 'SerpAPI - Search Google' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'SerpAPI - Search Google'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-8b6fc807\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.942077\",\n \"updatedAt\": \"2025-09-29T07:07:51.942145\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"acb0acd0-9bb6-4491-a1ca-4aa9a7820bbc\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 1440,\n 420\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\",\n \"hoursInterval\": 6\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c6bb51c4-aec4-4a6d-ade2-1080bbbb6fb3\",\n \"name\": \"Calculate Status\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 2367,\n 460\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"b0cbcff5-bfcf-46a5-a386-65c4dd56c42f\",\n \"name\": \"date\",\n \"type\": \"string\",\n \"value\": \"={{ $json.headers.date }}\"\n },\n {\n \"id\": \"8c4155e4-bcc6-41dd-9582-346a57a7b997\",\n \"name\": \"Property\",\n \"type\": \"string\",\n \"value\": \"={{ $json.Property }}\"\n },\n {\n \"id\": \"f0320678-d352-486f-a633-9980c4fc73b2\",\n \"name\": \"UP_FROM_UP\",\n \"type\": \"boolean\",\n \"value\": \"={{ $json.statusCode < 400 && $json.Status === 'UP' }}\"\n },\n {\n \"id\": \"61783eb6-a683-44c9-aa0c-5fc5247da9fa\",\n \"name\": \"DOWN_FROM_DOWN\",\n \"type\": \"boolean\",\n \"value\": \"={{ $json.statusCode >= 400 && $json.Status === 'D...", "input": "", "output": "The node 'Update Site Status' (type: n8n-nodes-base.googleSheets) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"XHvC7jIRR8A2TlUl\",\n \"name\": \"Google Sheets account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Update Site Status' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-e690d481\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.944120\",\n \"updatedAt\": \"2025-09-29T07:07:51.944131\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f55b3110-f960-4d89-afba-d47bc58102eb\",\n \"name\": \"Twilio Trigger\",\n \"type\": \"n8n-nodes-base.twilioTrigger\",\n \"position\": [\n 100,\n 180\n ],\n \"webhookId\": \"bfc8f587-8183-46f8-9e76-3576caddf8c0\",\n \"parameters\": {\n \"updates\": [\n \"com.twilio.messaging.inbound-message.received\"\n ]\n },\n \"credentials\": {\n \"twilioApi\": {\n \"id\": \"TJv4H4lXxPCLZT50\",\n \"name\": \"Twilio account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This twilioTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8472f5b0-329f-45ac-b35f-c42558daa7c7\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1140,\n 1360\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4b3e8a26-c808-46e5-bbcf-2e1279989a0b\",\n \"name\": \"Find Follow-Up Candidates\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 720,\n 1240\n ],\n \"parameters\": {\n \"base\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"appO2nHiT9XPuGrjN\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Twilio-Scheduling-Agent\"\n },\n \"table\": {\n \"__rl\": true,\n \"mode\": \"list\",\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"d45cf237-dbbc-48ed-a7f0-fa9506ae1d67\",\n \"name\": \"Update priority in todoist\",\n \"type\": \"n8n-nodes-base.todoist\",\n \"position\": [\n 2060,\n 520\n ],\n \"parameters\": {\n \"taskId\": \"={{ $('Get inbox tasks').item.json.id }}\",\n \"operation\": \"update\",\n \"updateFields\": {\n \"priority\": \"={{ $('Your Projects').first().json.projects[$json.message.content] }}\"\n }\n },\n \"credentials\": {\n \"todoistApi\": {\n \"id\": \"{{ $credentials.todoistApi.id }}\",\n \"name\": \"Todoist account\"\n }\n },\n \"retryOnFail\": true,\n \"typeVersion\": 2,\n \"waitBetweenTries\": 5000,\n \"notes\": \"This todoist node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4d0ebf98-5a1d-4dfd-85df-da182b3c5099\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 600,\n 520\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {}\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a950e470-6885-42f4-9b17-7b2c2525d3e4\",\n \"name\": \"Get inbox tasks\",\n \"type\": \"n8n-nodes-base.todoist\",\n \"position\": [\n 1020,\n 520\n ],\n \"parameters\": {\n \"filters\": {\n \"projectId\": \"938017196\"\n },\n \"operation\": \"getAll\",\n \"returnAll\": true\n },\n \"credentials\": {\n \"todoistApi\": {\n \"id\": \"{{ $credentials.todoistApi.id }}\",\n \"name\": \"Todoist account\"\n }\n },\n \"retryOnFail\": true,\n \"typeVersion\": 2,\n \"waitBetweenTries\": 5000,\n \"notes\": \"This todoist node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"093bcb2e-79b7-427e-b13d-540a5b28f427\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8...", "input": "", "output": "The node 'Sticky Note2' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note2'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\" [\n {\n \"name\": \"Zoom\",\n \"type\": \"n8n-nodes-base.zoom\",\n \"position\": [\n 1340,\n 580\n ],\n \"parameters\": {\n \"topic\": \"New Meeting\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\",\n \"additionalFields\": {\n \"type\": 3,\n \"settings\": {\n \"muteUponEntry\": true,\n \"joinBeforeHost\": true,\n \"participantVideo\": true\n },\n \"timeZone\": \"America/New_York\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"156d50a1-5aa8-47a8-9276-0e97da3d519e\",\n \"notes\": \"This zoom node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"notes\": \"Cron trigger to reset zoom meeting on the auto-redirect link\",\n \"position\": [\n 1120,\n 580\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"daysInterval\": 360,\n \"triggerAtHour\": 3\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"id\": \"c375f972-af19-4f00-b64c-128a3577a858\"\n },\n {\n \"name\": \"Wordpress\",\n \"type\": \"n8n-nodes-base.wordpress\",\n \"position\": [\n 1560,\n 580\n ],\n \"parameters\": {\n \"pageId\": \"123 (Create a page in WP, copy the ID of the page, paste it here)\",\n \"resource\": \"page\",\n \"operation\": \"update\",\n \"updateFields\": {\n \"content\": \"=\\n\\n

Redirecting, please wait a moment. Meeting will begin shortly…

\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"83b4ec39-ccd7-4d2c-bf2c-7b5def36955b\",\n \"notes\": \"This wordpress node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Slack\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n 1780,\n 580\n ],\n \"parameters\": {\n \"text\"...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-e02bce91\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.976746\",\n \"updatedAt\": \"2025-09-29T07:07:51.976764\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"140f236c-8946-4ca8-b18f-0af99107b15c\",\n \"name\": \"Assign parameters\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 300,\n 80\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"b836ba12-262a-4fed-a31d-9e2f6514137a\",\n \"name\": \"startUrls\",\n \"type\": \"array\",\n \"value\": \"=[\\n {\\n \\\"url\\\": \\\"{{ $env.WEBHOOK_URL }}\\\",\\n \\\"method\\\": \\\"GET\\\"\\n },\\n{\\n \\\"url\\\": \\\"{{ $env.WEBHOOK_URL }}\\\",\\n \\\"method\\\": \\\"GET\\\"\\n }\\n ]\"\n },\n {\n \"id\": \"5f7ba5cc-a8fc-4f67-9feb-6243d08462f9\",\n \"name\": \"proxyCountryCode\",\n \"type\": \"string\",\n \"value\": \"FR\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d1863b34-d35f-477c-bb94-8a77ff08b51d\",\n \"name\": \"Query For Upwork Job Posts\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 520,\n 80\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"startUrls\",\n \"value\": \"={{ $json.startUrls }}\"\n },\n {\n \"name\": \"proxyCountryCode\",\n \"value\": \"={{ $json.proxyCo...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-958bd7a0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.964331\",\n \"updatedAt\": \"2025-09-29T07:07:51.964347\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"62edf095-a02a-4b8d-a7b1-e194ae0d3652\",\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -660,\n 1100\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1e10875b-f54b-43a8-a7a2-43d4fcbf248d\",\n \"name\": \"n8n\",\n \"type\": \"n8n-nodes-base.n8n\",\n \"position\": [\n -300,\n 1220\n ],\n \"parameters\": {\n \"filters\": {},\n \"requestOptions\": {}\n },\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"uqWyCDytVt4ZKbVE\",\n \"name\": \"Phoenix\\u2705\"\n }\n },\n \"retryOnFail\": true,\n \"typeVersion\": 1,\n \"alwaysOutputData\": true,\n \"notes\": \"This n8n node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1f5caabb-d76b-4744-be76-97e9abea1ddc\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n -100,\n 1220\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"755e0803-c5c0-48a7-9c0c-44f8d5718d0b\",\n \"name\": \"create new folder\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n -480,\n 1220\n ],\n \"parameters\": {\n \"name\": \"=Workflow Backups {{ $now.format('cccc t dd-MM-yyyy') }}\",\n \"driveId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\":...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"ba168090-4727-4b72-a0cf-3f15ef3a9f17\",\n \"name\": \"Send Email\",\n \"type\": \"n8n-nodes-base.emailSend\",\n \"position\": [\n 580,\n 360\n ],\n \"parameters\": {\n \"text\": \"=System resources are above the threshold.\\n\\nCPU: {{ $json.CPU.toNumber().round(2) }}%\\nRAM: {{ $json.RAM.toNumber().round(2) }}%\\nDisk: {{ $json.Disk.toNumber().round(2) }}%\",\n \"options\": {},\n \"subject\": \"System Resource Alert\",\n \"toEmail\": \"change@me.com\",\n \"fromEmail\": \"change@me.com\"\n },\n \"credentials\": {\n \"smtp\": {\n \"id\": \"EuaQtRc5t8pWPY9b\",\n \"name\": \"SMTP account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This emailSend node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"79afc30f-c3db-4ba1-8f0d-a1000b5e0abe\",\n \"name\": \"Check RAM usage\",\n \"type\": \"n8n-nodes-base.ssh\",\n \"position\": [\n 160,\n 40\n ],\n \"parameters\": {\n \"command\": \"free | awk '/Mem:/ {printf \\\"%.2f\\\", (1 - $7/$2) * 100}'\"\n },\n \"credentials\": {\n \"sshPassword\": {\n \"id\": \"VMCCUQkaq46q3CpB\",\n \"name\": \"SSH Password account\"\n }\n },\n \"executeOnce\": false,\n \"typeVersion\": 1,\n \"notes\": \"This ssh node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d09aa314-8d60-42a8-9933-d7e8d73e2c7d\",\n \"name\": \"Check Disk usage\",\n \"type\": \"n8n-nodes-base.ssh\",\n \"position\": [\n 380,\n 40\n ],\n \"parameters\": {\n \"command\": \"df -h | awk '$NF==\\\"/\\\"{printf \\\"%.2f\\\", $5}'\"\n },\n \"credentials\": {\n \"sshPassword\": {\n \"id\": \"VMCCUQkaq46q3CpB\",\n \"name\": \"SSH Password account\"\n }\n },\n \"executeOnce\": false,\n \"typeVersion\": 1,\n \"notes\": \"This ssh node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bc6a0df2-f4cc-484a-ac39-c92e8795175...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-2735a1fd\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.978536\",\n \"updatedAt\": \"2025-09-29T07:07:51.978548\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"692e2883-0d1b-4162-8472-6d15c12c8b43\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 0,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1b226699-d463-42c9-aab0-e328afdb73b9\",\n \"name\": \"Check if Primary Opportunity Contains Value\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 900,\n -60\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"e5aed92c-9a3e-4e05-8ce2-9a707abc3115\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"notEmpty\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.Gong__Primary_Opportunity__c }}\",\n \"rightValue\": \"\"\n }\n ]\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1ebe8eba-5a86-4d17-a629-aa8d2e932693\",\n \"name\": \"Check if Opportunity Stage is Meeting Booked or Discovery\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 660,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"optio...", "input": "", "output": "The node 'Get Gong Call' (type: n8n-nodes-base.gong) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"gongApi\": {\n \"id\": \"EchfvOC4rjw8MUkr\",\n \"name\": \"Liam Gong Cred\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Get Gong Call' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-56fd6a78\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.000799\",\n \"updatedAt\": \"2025-09-29T07:07:52.000890\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"a5f5621a-bd4c-45b8-be09-ebdda13ebb3e\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -280,\n 120\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9447f0d4-1be3-4b8c-b172-3ff856f2197b\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -280,\n -160\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {}\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4ffd30f6-6f56-42cd-9f1c-07b58adbe312\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -740,\n -260\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 371.1995072042308,\n \"height\": 600.88409546716,\n \"content\": \"={{ $env.UNDEFINED_ENV_VAR }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7af3d027-ffb8-4ca0-84d4-06dbf3902e80\",\n \"name\": \"Squarespace newsletter submissions\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 0,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gid=0\",\n \"cachedResultUrl\":...", "input": "", "output": "In node 'Sticky Note1', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `## Create Mailchimp contact based on Squarespace newsletter\nThis workflow will get Squarespace newsletter signups and create new Mailchimp contact in the given Audience on Mailchimp\n\nThis overcome the limitation between Squarespace forms and Mailchimp connection where only new, empty audience can be used\n\nYou can run the workflow on demand or by schedule\n\n## Spreadsheet template\n\nThe sheet columns are inspire from Squarespace newsletter block connection, but you can change the node to adapt new columns format\n\nClone the [sample sheet here]({{ $env.WEBHOOK_URL }}\n- Submitted On\t\n- Email Address\t\n- Name`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note1' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-f0789b46:\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:51.994911\",\n \"updatedAt\": \"2025-09-29T07:07:51.994922\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"1083afcb-1257-45a3-b331-d93fb8769548\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -840,\n 0\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {}\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c3ec0759-a3d1-4866-978a-bfe4f49ee81d\",\n \"name\": \"Get Hash of Contents\",\n \"type\": \"n8n-nodes-base.crypto\",\n \"position\": [\n 380,\n 0\n ],\n \"parameters\": {\n \"value\": \"={{ $json.data }}\",\n \"dataPropertyName\": \"hash\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This crypto node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4ad92ad3-6f99-43a5-9a61-374adb3b28f7\",\n \"name\": \"Notify of Change\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 1220,\n 0\n ],\n \"webhookId\": \"cc4cbee1-ad57-48fb-810a-b21880357ab0\",\n \"parameters\": {\n \"sendTo\": \"jim@example.com\",\n \"message\": \"=site: {{ $('Variables').first().json.url }}\\ndate: {{ $now.toISO() }}\\nhash: {{ $json.hash }}\\ncontents: {{ $json.gdrive }}\",\n \"options\": {},\n \"subject\": \"=Change detected for {{ $('Variables').first().json.url }}\",\n \"emailType\": \"text\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"Sf5Gfl9NiFTNXFWb\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmail node performs automated tasks as part o...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-0ebcb3a8\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.021844\",\n \"updatedAt\": \"2025-09-29T07:07:52.021901\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"423f3d03-ffe8-419c-8842-95fcda213eb3\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -1540,\n -400\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"minutes\"\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"34ed006b-ecef-4bae-8493-ae43d4927dc3\",\n \"name\": \"Get Open Tickets\",\n \"type\": \"n8n-nodes-base.jira\",\n \"position\": [\n -1340,\n -400\n ],\n \"parameters\": {\n \"limit\": 10,\n \"options\": {\n \"jql\": \"Project = 'SUPPORT' AND status = 'To Do'\",\n \"fields\": \"*navigable\"\n },\n \"operation\": \"getAll\"\n },\n \"credentials\": {\n \"jiraSoftwareCloudApi\": {\n \"id\": \"IH5V74q6PusewNjD\",\n \"name\": \"Jira SW Cloud account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This jira node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4c7d6b23-23d5-410e-92f0-5c9244eb190f\",\n \"name\": \"Simplify Ticket\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -800,\n -400\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"267918d5-5193-48c8-8e3a-6542c8edf77c\",\n \"name\": \"projectKey\",\n \"type\": \"string\",\n \"value\": \"={{ $json.fields.project.key }}\"\n },\n {\n ...", "input": "", "output": "The workflow has a broken data flow. The node '24714621-4e64-415f-b388-6e029997942d' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '24714621-4e64-415f-b388-6e029997942d'.\n\n**Impact**: Data from '24714621-4e64-415f-b388-6e029997942d' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '24714621-4e64-415f-b388-6e029997942d' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"24714621-4e64-415f-b388-6e029997942d\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '24714621-4e64-415f-b388-6e029997942d' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-258e01e9\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.010508\",\n \"updatedAt\": \"2025-09-29T07:07:52.010521\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"1c583599-826d-4a02-bfd9-f22f020f4af7\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -640,\n -140\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\"\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"aaddc5fd-4b05-4ee2-9f71-222b14fb05d6\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 280,\n 40\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cd2a47fb-3e04-464d-bcac-00e84952d72c\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 480,\n 40\n ],\n \"parameters\": {\n \"schemaType\": \"manual\",\n \"inputSchema\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"labels\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": { \\\"type\\\": \\\"string\\\" }\\n },\\n \\\"priority\\\": { \\\"type\\\": \\\"number\\\" },\\n \\\"summary\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"description\\\": { \\\"type\\\": \\\"string\\\" }\\n }\\n}\"\n },\n...", "input": "", "output": "In node 'Markdown', the parameter 'html' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `={{ $json.html }}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Markdown' parameter 'html'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-b350b0a0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.025695\",\n \"updatedAt\": \"2025-09-29T07:07:52.025707\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"71b06728-7f59-49e3-9365-3281189a6659\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 920,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b37019e3-c7ab-4119-986d-c27d082a036e\",\n \"name\": \"Input\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1340,\n 340\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"fcc97354-b9f6-4459-a004-46e87902c77c\",\n \"name\": \"company_input\",\n \"type\": \"string\",\n \"value\": \"={{ $json.input }}\"\n },\n {\n \"id\": \"e5415c49-5204-45b1-a0e9-814157127b12\",\n \"name\": \"row_number\",\n \"type\": \"number\",\n \"value\": \"={{ $json.row_number }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7d5d53ac-6d3c-4b24-97c7-deb6b76749e5\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2020,\n 660\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {\n \"temperature\": 0.3\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"FMTQypGcsAwaRQdC\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\"...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a53eec88\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.023634\",\n \"updatedAt\": \"2025-09-29T07:07:52.023644\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"e0f68f60-f036-4103-a9fc-d6cb80b6f8a2\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1980,\n 1100\n ],\n \"parameters\": {\n \"model\": \"gpt-4-turbo\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"kDo5LhPmHS2WQE0b\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"23779dea-c21d-42da-b493-09394bc64436\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2420,\n 660\n ],\n \"parameters\": {\n \"model\": \"gpt-4-turbo\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"kDo5LhPmHS2WQE0b\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"af59863e-12c5-414c-bf64-dd6712e3aa7b\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 1680,\n 960\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\",\n \"hoursInterval\": 12\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bc2ad02b-72c9-4132-96e8-b64487f589f7\",\n \"name\": \"Recursive Cha...", "input": "", "output": "The node 'Send the Story To Channel' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Send the Story To Channel'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-60837bd3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.043148\",\n \"updatedAt\": \"2025-09-29T07:07:52.043158\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"757a7e67-073a-4fa1-b571-2ddd147b35f6\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1000,\n 1240\n ],\n \"parameters\": {\n \"model\": \"gpt-3.5-turbo-16k-0613\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"kDo5LhPmHS2WQE0b\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"761ed83a-2cfb-474a-b596-922e5a7e2717\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 660,\n 1060\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\",\n \"hoursInterval\": 12\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"41faf334-30d6-4cc0-9a94-9c486ec3fa6c\",\n \"name\": \"OpenAI Chat Model2\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1520,\n 1420\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"kDo5LhPmHS2WQE0b\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d9ad0a3a-2ce6-4071-8262-8176b3eecf36\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"AuwhspweKSACE1WQ:\n \"meta\": {\n \"instanceId\": \"workflow-683212ac\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.039228\",\n \"updatedAt\": \"2025-09-29T07:07:52.039300\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"YouTube to X Post- AlexK1919\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"6aef04f2-b744-4749-99bd-4ad8aa21ad09\",\n \"name\": \"Post to X\",\n \"type\": \"n8n-nodes-base.twitter\",\n \"position\": [\n 1400,\n 100\n ],\n \"parameters\": {\n \"text\": \"={{ $('Verify character limit constraints').item.json.message.content.post }}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"twitterOAuth2Api\": {\n \"id\": \"0VkIx1OfmRAYb4Az\",\n \"name\": \"Alex Kim X account\"\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This twitter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"827ab988-786a-490e-8831-cfee3851a9ac\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -560,\n -100\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 450,\n \"height\": 970,\n \"content\": \"## Fetch the latest YouTube video and dedupe\\n\\nEnter your YouTube Channel ID in the \\\"Channel ID\\\" field of this node. You can find your [Channel ID here]({{ $env.WEBHOOK_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8e99c377-7d14-473b-a6e4-a190702ad8a9\",\n \"name\": \"Fetch Latest Videos\",\n \"type\": \"n8n-nodes-base.youTube\",\n \"position\": [\n -500,\n 100\n ],\n \"parameters\": {\n \"limit\": 2,\n \"filters\": {\n \"channelId\": \"...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-af122b71\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.042683\",\n \"updatedAt\": \"2025-09-29T07:07:52.042702\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"2b3112a9-046e-4aae-8fcc-95bddf3bb02e\",\n \"name\": \"Slack\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n 828,\n 327\n ],\n \"parameters\": {\n \"limit\": 10,\n \"query\": \"in:#n8n-tickets has::ticket:\",\n \"options\": {},\n \"operation\": \"search\"\n },\n \"credentials\": {\n \"slackApi\": {\n \"id\": \"VfK3js0YdqBdQLGP\",\n \"name\": \"Slack account\"\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This slack node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"65fd6821-4d19-436c-81d9-9bdb0f5efddd\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1920,\n 480\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"85125704-7363-40de-af84-f267f8c7e919\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2100,\n 480\n ],\n \"parameters\": {\n \"jsonSchema\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"title\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"summary\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"ideas\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": { \\\"type\\\": \\\"string\\\" }\\n },\\n \\\"priority\\\": { \\\"type\\\": \\\"string\\\" }\\n }\\n}\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This outputParserStructured node per...", "input": "", "output": "The node 'Collect Descriptions' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Collect Descriptions'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"E2hq7z4ANLoL5vw1\",\n \"meta\": {\n \"instanceId\": \"workflow-b523b138\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.087496\",\n \"updatedAt\": \"2025-09-29T07:07:52.087523\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Noco Kanban Board with AI Prioritization\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"4976d737-a419-4cc6-a8fc-dc1a9482642d\",\n \"name\": \"Incident Form\",\n \"type\": \"n8n-nodes-base.formTrigger\",\n \"disabled\": true,\n \"position\": [\n -100,\n 200\n ],\n \"webhookId\": \"fef1bb69-69e9-49ff-ba29-ded7cc398a13\",\n \"parameters\": {\n \"options\": {},\n \"formTitle\": \"Incident Form\",\n \"formFields\": {\n \"values\": [\n {\n \"fieldType\": \"email\",\n \"fieldLabel\": \"Email\",\n \"placeholder\": \"Your Email\",\n \"requiredField\": true\n },\n {\n \"fieldType\": \"textarea\",\n \"fieldLabel\": \"Incident Description\",\n \"placeholder\": \"Incident Description\",\n \"requiredField\": true\n },\n {\n \"fieldType\": \"dropdown\",\n \"fieldLabel\": \"Incident Desired Category\",\n \"fieldOptions\": {\n \"values\": [\n {\n \"option\": \"Critical\"\n },\n {\n \"option\": \"Major\"\n },\n {\n \"option\": \"Medium\"\n },\n {\n \"option\": \"Minor\"\n },\n {\n \"option\": \"Support\"\n },\n {\n \"option\": \"Feature\"\n }\n ]\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-7c914022\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.091433\",\n \"updatedAt\": \"2025-09-29T07:07:52.091499\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f55b3110-f960-4d89-afba-d47bc58102eb\",\n \"name\": \"Twilio Trigger\",\n \"type\": \"n8n-nodes-base.twilioTrigger\",\n \"position\": [\n 100,\n 180\n ],\n \"webhookId\": \"bfc8f587-8183-46f8-9e76-3576caddf8c0\",\n \"parameters\": {\n \"updates\": [\n \"com.twilio.messaging.inbound-message.received\"\n ]\n },\n \"credentials\": {\n \"twilioApi\": {\n \"id\": \"TJv4H4lXxPCLZT50\",\n \"name\": \"Twilio account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This twilioTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8472f5b0-329f-45ac-b35f-c42558daa7c7\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1140,\n 1360\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4b3e8a26-c808-46e5-bbcf-2e1279989a0b\",\n \"name\": \"Find Follow-Up Candidates\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 720,\n 1240\n ],\n \"parameters\": {\n \"base\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"appO2nHiT9XPuGrjN\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Twilio-Scheduling-Agent\"\n },\n \"table\": {\n \"__rl\": true,\n \"mode\": \"list\",\n ...", "input": "", "output": "The workflow has a broken data flow. The node 'fc0adfdf-724c-45d2-84f6-cb2b43254cc0' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'fc0adfdf-724c-45d2-84f6-cb2b43254cc0'.\n\n**Impact**: Data from 'fc0adfdf-724c-45d2-84f6-cb2b43254cc0' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'fc0adfdf-724c-45d2-84f6-cb2b43254cc0' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"fc0adfdf-724c-45d2-84f6-cb2b43254cc0\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'fc0adfdf-724c-45d2-84f6-cb2b43254cc0' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"JJKkNnO4PQ12gQdE\",\n \"meta\": {\n \"instanceId\": \"workflow-860d423a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.095545\",\n \"updatedAt\": \"2025-09-29T07:07:52.095558\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Retry Execution Hourly\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"ca8badce-4a43-4e86-acb8-6a3939ffa597\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 580,\n 740\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7867cbd1-bf14-488d-9bbf-11d4478f93f2\",\n \"name\": \"n8n\",\n \"type\": \"n8n-nodes-base.n8n\",\n \"position\": [\n 1160,\n 860\n ],\n \"parameters\": {\n \"filters\": {\n \"status\": \"error\"\n },\n \"options\": {\n \"activeWorkflows\": false\n },\n \"resource\": \"execution\",\n \"returnAll\": true,\n \"requestOptions\": {}\n },\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"m9lkUOoNENYqXZIQ\",\n \"name\": \"Gatu a/c\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This n8n node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b9826e10-43b9-4a21-b2f8-f91fdee3e6a2\",\n \"name\": \"Log into n8n\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 960,\n 860\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {\n \"response\": {\n \"response\": {\n \"fullResponse\": true\n }\n }\n },\n \"sendBody\": true,\n \"sendHeaders\": true...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"PtPKIqDlz5xrrvHP\",\n \"meta\": {\n \"instanceId\": \"workflow-8eedc09f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.106950\",\n \"updatedAt\": \"2025-09-29T07:07:52.107031\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Sync Todoist tasks to Notion\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"0122196d-e051-4154-9e39-3ddbfe26858f\",\n \"name\": \"On schedule\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 640,\n 280\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"seconds\"\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1a15e1cc-cdd5-4a49-aa7a-a0779f858e69\",\n \"name\": \"Get all tasks with specific label\",\n \"type\": \"n8n-nodes-base.todoist\",\n \"position\": [\n 860,\n 280\n ],\n \"parameters\": {\n \"filters\": {\n \"labelId\": \"send-to-notion\"\n },\n \"operation\": \"getAll\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This todoist node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"35b13f4a-da38-4d63-9fbf-7c36c97cbc11\",\n \"name\": \"Add to Notion database\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 1080,\n 280\n ],\n \"parameters\": {\n \"title\": \"={{ $json.content }}\",\n \"options\": {},\n \"resource\": \"databasePage\",\n \"databaseId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"5a98bd24-dd2b-41a3-b7e2-3b8a9ee21d41\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n ...", "input": "", "output": "The node 'Get all tasks with specific label' (type: n8n-nodes-base.todoist) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"todoistOAuth2Api\": {\n \"id\": \"E6PTOAR6ysBeLwCB\",\n \"name\": \"Todoist account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Get all tasks with specific label' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"Qj1307oyBx1hZJy5\",\n \"meta\": {\n \"instanceId\": \"workflow-214b51ae\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.088088\",\n \"updatedAt\": \"2025-09-29T07:07:52.088098\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"SSL Expiry Alert\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"260b66a2-0841-4dc7-9666-acbc9317fd91\",\n \"name\": \"URLs to Monitor\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 1120,\n -120\n ],\n \"parameters\": {\n \"columns\": {\n \"value\": {\n \"URL\": \"{{ $env.BASE_URL }}\",\n \"KnownExpiryDate\": \"={{ $json.result.valid_till }}\"\n },\n \"schema\": [\n {\n \"id\": \"Website \",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": true,\n \"required\": false,\n \"displayName\": \"Website \",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"URL\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"URL\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"KnownExpiryDate\",\n \"type\": \"string\",\n \"display\": true,\n \"required\": false,\n \"displayName\": \"KnownExpiryDate\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"row_number\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": true,\n \"readOnly\": true,\n \"required\": false...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"RJ4PaYq0JBr29KJm\",\n \"meta\": {\n \"instanceId\": \"workflow-751a3b18\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.093990\",\n \"updatedAt\": \"2025-09-29T07:07:52.094002\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Reschedule overdue Asana tasks and clean up completed tasks\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"9262720e-2beb-4426-a472-3d7bf8bc28af\",\n \"name\": \"Everyday at 7am\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 80,\n -520\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"triggerAtHour\": 7\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0d074451-5d61-4ed4-86a8-f6cdf002e84b\",\n \"name\": \"Get user tasks\",\n \"type\": \"n8n-nodes-base.asana\",\n \"position\": [\n 320,\n -520\n ],\n \"parameters\": {\n \"filters\": {\n \"assignee\": \"1201727447190193\",\n \"workspace\": \"1201727656813934\",\n \"completed_since\": \"={{ DateTime.now().format('yyyy-MM-dd') }}\"\n },\n \"operation\": \"getAll\",\n \"returnAll\": true\n },\n \"credentials\": {\n \"asanaApi\": {\n \"id\": \"u7fFpY0SmMcpBCdn\",\n \"name\": \"Asana account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This asana node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"14939268-9bda-4fc1-9fef-aa6a74c2365a\",\n \"name\": \"Get task infos\",\n \"type\": \"n8n-nodes-base.asana\",\n \"position\": [\n 540,\n -520\n ],\n \"parameters\": {\n \"id\": \"={{ $json.gid }}\",\n \"operation\": \"ge...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"TqnC0nyAa0LRfYBX\",\n \"meta\": {\n \"instanceId\": \"workflow-d76be73e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.130458\",\n \"updatedAt\": \"2025-09-29T07:07:52.130760\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Amazon Product Price Tracker\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"cc15c8e6-53f9-4dd1-895f-34a72af4506f\",\n \"name\": \"Products to Monitor\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 40,\n -220\n ],\n \"parameters\": {\n \"options\": {},\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gid=0\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Products to Monitor\"\n },\n \"documentId\": {\n \"__rl\": true,\n \"mode\": \"url\",\n \"value\": \"={{ $json.spreadsheet_url }}\"\n }\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"xWJJNb7VGUUp4vzV\",\n \"name\": \"Google Sheets account 2\"\n }\n },\n \"typeVersion\": 4.5,\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4ec34045-ea02-40bc-a243-b50c804ab947\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 260,\n -220\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d5cdb7eb-144f-477b-83d6-85be5cd2eb79\",\n \"name\": \"Scrapeops - Amazon Product\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 720,\n -80\n ],\n \"parameters\": {\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"d45cf237-dbbc-48ed-a7f0-fa9506ae1d67\",\n \"name\": \"Update priority in todoist\",\n \"type\": \"n8n-nodes-base.todoist\",\n \"position\": [\n 2060,\n 520\n ],\n \"parameters\": {\n \"taskId\": \"={{ $('Get inbox tasks').item.json.id }}\",\n \"operation\": \"update\",\n \"updateFields\": {\n \"priority\": \"={{ $('Your Projects').first().json.projects[$json.message.content] }}\"\n }\n },\n \"credentials\": {\n \"todoistApi\": {\n \"id\": \"{{ $credentials.todoistApi.id }}\",\n \"name\": \"Todoist account\"\n }\n },\n \"retryOnFail\": true,\n \"typeVersion\": 2,\n \"waitBetweenTries\": 5000,\n \"notes\": \"This todoist node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4d0ebf98-5a1d-4dfd-85df-da182b3c5099\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 600,\n 520\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {}\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a950e470-6885-42f4-9b17-7b2c2525d3e4\",\n \"name\": \"Get inbox tasks\",\n \"type\": \"n8n-nodes-base.todoist\",\n \"position\": [\n 1020,\n 520\n ],\n \"parameters\": {\n \"filters\": {\n \"projectId\": \"938017196\"\n },\n \"operation\": \"getAll\",\n \"returnAll\": true\n },\n \"credentials\": {\n \"todoistApi\": {\n \"id\": \"{{ $credentials.todoistApi.id }}\",\n \"name\": \"Todoist account\"\n }\n },\n \"retryOnFail\": true,\n \"typeVersion\": 2,\n \"waitBetweenTries\": 5000,\n \"notes\": \"This todoist node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"093bcb2e-79b7-427e-b13d-540a5b28f427\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8...", "input": "", "output": "The node 'Categorize' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"{{ $credentials.openAiApi.id }}\",\n \"name\": \"n8n OpenAi\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Categorize' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"VtiRiIGkdeUhyh0N\",\n \"meta\": {\n \"instanceId\": \"workflow-c8a3b2bb\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.146983\",\n \"updatedAt\": \"2025-09-29T07:07:52.147030\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"GoogleSheets MySQL Integration\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"ec43f0df-338b-462f-9195-b20024e83ba1\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 720,\n 500\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e9fd1af3-dcf8-4442-958d-cb8390c85263\",\n \"name\": \"Compare Datasets\",\n \"type\": \"n8n-nodes-base.compareDatasets\",\n \"position\": [\n 1380,\n 380\n ],\n \"parameters\": {\n \"options\": {\n \"skipFields\": \"record_created,record_updated,id\"\n },\n \"mergeByFields\": {\n \"values\": [\n {\n \"field1\": \"timestamp\",\n \"field2\": \"timestamp\"\n },\n {\n \"field1\": \"source_name\",\n \"field2\": \"source_name\"\n }\n ]\n }\n },\n \"typeVersion\": 2.3,\n \"notes\": \"This compareDatasets node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5b14d739-9037-48a8-9990-5b8ac3318b1c\",\n \"name\": \"Send Notifications\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1840,\n 260\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"10ff3339-9091-4ea2-be4e-12a91208e27d\",\n \"name\": \"Sche...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"WceMkVib0VLlF1BZ\",\n \"meta\": {\n \"instanceId\": \"workflow-c4828a28\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.148504\",\n \"updatedAt\": \"2025-09-29T07:07:52.148519\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Vector DB Loader from Google Drive\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"6652e41a-d14a-4e17-9dcd-34df114d219a\",\n \"name\": \"Default Data Loader\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1240,\n 1100\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This documentDefaultDataLoader node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8ae38b72-52fd-46bc-ab47-50bebe5ac4ee\",\n \"name\": \"Recursive Character Text Splitter\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1320,\n 1300\n ],\n \"parameters\": {\n \"options\": {},\n \"chunkOverlap\": 50\n },\n \"typeVersion\": 1,\n \"notes\": \"This textSplitterRecursiveCharacterTextSplitter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"57ce64af-88d4-4dc4-8c8e-01717c1bd47d\",\n \"name\": \"Embeddings OpenAI\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1120,\n 1100\n ],\n \"parameters\": {\n \"model\": \"text-embedding-3-small\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"fzLcLisovaZjIqma\",\n \"name\": \"AlexK OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This embeddingsOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e6bed8bc-f629-41fd-aa6e-9158b1cbc323\",\n \"name\": \"Postgres PGVector Store\",\n \"type\": \"n...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"cGqPi5Uy2u1ShmoO\",\n \"meta\": {\n \"instanceId\": \"workflow-52a17087\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.169629\",\n \"updatedAt\": \"2025-09-29T07:07:52.169661\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\ud83d\\udcbb Schedule workflow activity time\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"294244fd-8c35-4b70-af84-cc466a60541f\",\n \"name\": \"n8n Activate\",\n \"type\": \"n8n-nodes-base.n8n\",\n \"position\": [\n 360,\n -180\n ],\n \"parameters\": {\n \"operation\": \"activate\",\n \"workflowId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"={{ $json.workflowID }}\"\n },\n \"requestOptions\": {}\n },\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"zYX6aInNigxW08J2\",\n \"name\": \"n8n acc for Gitlab/hub sync of repos\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This n8n node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e669e5e3-288a-4d6b-af12-011340e60f64\",\n \"name\": \"n8n Deactivate\",\n \"type\": \"n8n-nodes-base.n8n\",\n \"position\": [\n 360,\n 140\n ],\n \"parameters\": {\n \"operation\": \"deactivate\",\n \"workflowId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"={{ $json.workflowID }}\"\n },\n \"requestOptions\": {}\n },\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"zYX6aInNigxW08J2\",\n \"name\": \"n8n acc for Gitlab/hub sync of repos\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This n8n node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a9c7337f-d0ca-4e7e-873d-1d38813f2717\",\n \"name\": \"Workflow ID\",\n \"type\": \"n8n-nodes-base.set\",\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"fvYgcG9s1pqP5cQ6\",\n \"meta\": {\n \"instanceId\": \"workflow-b69882aa\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.175053\",\n \"updatedAt\": \"2025-09-29T07:07:52.175069\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Monitor ProductHunt\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"3cf0b7e0-ec9f-4173-bc85-1b4daef5aa22\",\n \"name\": \"Define relevant products\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 220,\n -100\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"a83156e0-1782-4d0a-a15c-1ff889ff915d\",\n \"name\": \"Relevant Products\",\n \"type\": \"string\",\n \"value\": \"AI Agents\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a316f080-0fd8-4723-a65c-bce2c2a13cf8\",\n \"name\": \"Found products?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 660,\n -100\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"552c61c2-1ec0-40b5-b473-2423b646418b\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"notContains\"\n },\n \"leftValue\": \"={{ $json.data.modelResponse }}\",\n \"rightValue\": \"[NA]\"\n }\n ]\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This ...", "input": "", "output": "The node 'Trigger daily' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Trigger daily'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"gemC8tYGZk3LtBHG:\n \"meta\": {\n \"instanceId\": \"workflow-61b7a640\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.178124\",\n \"updatedAt\": \"2025-09-29T07:07:52.178135\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Spotify Sync Liked Songs to Playlist\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"7767a08e-43f0-4c07-968c-06dab188bf86\",\n \"name\": \"Start\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 160,\n 220\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9193f532-335e-4a6a-886e-64849f6fab55\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 180,\n -100\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {}\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"41cffeb0-9dd5-4f71-8519-19f7339e2102\",\n \"name\": \"Sort first added to first item\",\n \"type\": \"n8n-nodes-base.sort\",\n \"position\": [\n 1480,\n -60\n ],\n \"parameters\": {\n \"options\": {},\n \"sortFieldsUi\": {\n \"sortField\": [\n {\n \"fieldName\": \"added_at\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This sort node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ed77edb1-25d4-4330-a6ad-3864117172e3\",\n \"name\": \"Gotify Send deleted n from x\",\n \"type\": \"n8n-nodes-base.gotify\",\n \"position\": [\n 3540,\n 220\n ],\n \"param...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"nV1xFcF5HWJcD6w7\",\n \"meta\": {\n \"instanceId\": \"workflow-ec356036\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.181150\",\n \"updatedAt\": \"2025-09-29T07:07:52.181165\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Automatically Send Daily Meeting List to Telegram\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"eee04fe7-7f65-4db8-8ad8-7b67197a1f70\",\n \"name\": \"Get meetings for today\",\n \"type\": \"n8n-nodes-base.googleCalendar\",\n \"position\": [\n 1240,\n 580\n ],\n \"parameters\": {\n \"options\": {\n \"timeMax\": \"={{ $today.plus({ days: 1 }) }}\",\n \"timeMin\": \"={{ $today }}\",\n \"singleEvents\": true\n },\n \"calendar\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"lrnr6ha3nt9cv8i0fimup684e4@group.calendar.google.com\",\n \"cachedResultName\": \"Meeting Room\"\n },\n \"operation\": \"getAll\"\n },\n \"credentials\": {\n \"googleCalendarOAuth2Api\": {\n \"id\": \"BSvdyVkCIqvVagsr\",\n \"name\": \"Google Calendar account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This googleCalendar node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"358ab462-d69f-4980-99fd-de5a22a3c783\",\n \"name\": \"Every morning @ 6\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 940,\n 580\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"triggerAtHour\": 6\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"57f77b4e-d608-4929-bc49-2dfecff88c8d\",\n \"name\": \"Set\",...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"pcLi17oUJK9pSaee\",\n \"meta\": {\n \"instanceId\": \"workflow-08dc291a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.182341\",\n \"updatedAt\": \"2025-09-29T07:07:52.182355\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Web Server Monitor.\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"014e1202-3822-4d3f-817e-31f64c8bd5f5\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -680,\n -440\n ],\n \"parameters\": {\n \"width\": 560,\n \"height\": 540,\n \"content\": \"\\ud83d\\udcd8 Node Descriptions for Your Web Server Monitor Workflow\\n\\n\\u23f0 1. Schedule Trigger \\nTriggers the workflow every minute to initiate regular checks on server availability.\\n\\n\\ud83d\\udcc4 2. Web Servers List (Google Sheets) \\nFetches a list of server hostnames or IP addresses from a Google Sheet. \\nEach row is treated as one server. This makes server management easy \\u2014 no need to edit the workflow to add/remove servers.\\n\\n\\ud83c\\udf10 3. Server Alive Check (HTTP) \\nSends an HTTP GET request to each server (e.g., {{ $env.WEBHOOK_URL }} \\nIf the request fails, the error path is triggered. \\n\\n\\ud83d\\udcdd 4. Web Server Alive Log (Google Sheets) \\nLogs successful server checks into a separate Sheet with a timestamp.\\nThis log helps track uptime history, verify server health, and generate availability reports.\\n\\n\\ud83d\\udea8\\ud83d\\udce7 5. Server Down Notification (Gmail) \\nSends an alert email if a server does not respond or returns an error. \\nIncludes the server address and the timestamp of failure.\\n\\n\\ud83d\\udcdd 6. Web Server Down Log (Google Sheets)\\nLogs the failed server checks into another Sheet with a timestamp. \\nUseful for uptime reporting, debugging, and aud...", "input": "", "output": "In node 'Server_Status_Alive', the parameter 'operation' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `append`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Server_Status_Alive' parameter 'operation'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-1522b2e2\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.211362\",\n \"updatedAt\": \"2025-09-29T07:07:52.211375\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"d2a24a9b-9cf3-4de0-82e7-5d858658d4b4\",\n \"name\": \"Extract specific content\",\n \"type\": \"n8n-nodes-base.html\",\n \"notes\": \"Extract selected headlines, editor's picks, spotlight etc.\",\n \"position\": [\n 800,\n 340\n ],\n \"parameters\": {\n \"options\": {\n \"cleanUpText\": true\n },\n \"operation\": \"extractHtmlContent\",\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"cssSelector\": \"#site-content > div:nth-child(1) > section > div > div > div.layout-desktop__grid.layout-desktop__grid--span4.layout-desktop__grid--column-start-1.layout-desktop__grid--row-start-1.layout-desktop__grid--with-border.layout--default > div > div > div > div.story-group-stacked__primary-story > div > div > div > div > div.primary-story__teaser\"\n },\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"cssSelector\": \"#site-content > div:nth-child(1) > section > div > div > div.layout-desktop__grid.layout-desktop__grid--span6.layout-desktop__grid--column-start-5.layout-desktop__grid--row-start-1.layout-desktop__grid--with-border.layout--default > div > div > div > div > div > div.story-group__article.story-group__article--featured > div > div.featured-story-content > div.headline.js-teaser-headline.headline--scale-5.headline--color-black > a > span\"\n },\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"cssSelector\": \"#site-content > div:nth-child(1) > section > div > div > div.layout-desktop__grid.layout-desktop__grid--span2.layout-desktop_...", "input": "", "output": "The workflow has a broken data flow. The node '38af5df2-65ce-4f04-aed3-6f71d81a37df' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '38af5df2-65ce-4f04-aed3-6f71d81a37df'.\n\n**Impact**: Data from '38af5df2-65ce-4f04-aed3-6f71d81a37df' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '38af5df2-65ce-4f04-aed3-6f71d81a37df' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"38af5df2-65ce-4f04-aed3-6f71d81a37df\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '38af5df2-65ce-4f04-aed3-6f71d81a37df' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Twitter\",\n \"type\": \"n8n-nodes-base.twitter\",\n \"position\": [\n 720,\n -220\n ],\n \"parameters\": {\n \"text\": \"=Hey there, my design is now on a new product \\u2728\\nVisit my {{$json[\\\"vendor\\\"]}} shop to get this cool{{$json[\\\"title\\\"]}} (and check out more {{$json[\\\"product_type\\\"]}}) \\ud83d\\udecd\\ufe0f\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"twitterOAuth1Api\": \"twitter\"\n },\n \"typeVersion\": 1,\n \"id\": \"8c187e0b-a9f2-47be-a172-4d205e0fdc01\",\n \"notes\": \"This twitter node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 720,\n -20\n ],\n \"parameters\": {\n \"text\": \"=Hey there, my design is now on a new product!\\nVisit my {{$json[\\\"vendor\\\"]}} shop to get this cool{{$json[\\\"title\\\"]}} (and check out more {{$json[\\\"product_type\\\"]}})\",\n \"chatId\": \"123456\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": \"telegram_habot\"\n },\n \"typeVersion\": 1,\n \"id\": \"f31b896d-c6de-4b08-9144-2b9ee98ca6bc\",\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"product created\",\n \"type\": \"n8n-nodes-base.shopifyTrigger\",\n \"position\": [\n 540,\n -110\n ],\n \"webhookId\": \"2a7e0e50-8f09-4a2b-bf54-a849a6ac4fe0\",\n \"parameters\": {\n \"topic\": \"products/create\"\n },\n \"credentials\": {\n \"shopifyApi\": \"shopify_nodeqa\"\n },\n \"typeVersion\": 1,\n \"id\": \"6f1afddb-4110-4107-9ce4-cdbfea1d6da4\",\n \"notes\": \"This shopifyTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-3398f40c\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ...", "input": "", "output": "In node 'Error Handler', the parameter 'message' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `Workflow execution error`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Error Handler' parameter 'message'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 13,\n \"name\": \"Creating an Onfleet Task for a new Shopify Fulfillment\",\n \"nodes\": [\n {\n \"name\": \"Shopify Trigger\",\n \"type\": \"n8n-nodes-base.shopifyTrigger\",\n \"position\": [\n 240,\n 440\n ],\n \"webhookId\": \"576e8785-bbb4-426b-a922-da671efced68\",\n \"parameters\": {\n \"topic\": \"fulfillments/create\"\n },\n \"credentials\": {\n \"shopifyApi\": {\n \"id\": \"{{ $credentials.shopifyApi.id }}\",\n \"name\": \"Shopify account\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"d363331a-ed1b-4cd8-a0d6-c9d9f1c7be92\",\n \"notes\": \"This shopifyTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Onfleet\",\n \"type\": \"n8n-nodes-base.onfleet\",\n \"position\": [\n 460,\n 440\n ],\n \"parameters\": {\n \"operation\": \"create\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"onfleetApi\": {\n \"id\": \"{{ $credentials.onfleetApi.id }}\",\n \"name\": \"Onfleet API Key\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"2bf6900f-b888-4518-bfd6-35ad916033ac\",\n \"notes\": \"This onfleet node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-edecdaa0\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n },\n {\n \"parameters\": {\n \"url\": \"https://api.example.com/data\",\n \"method\": \"GET\",\n \"options\": {}\n },\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 450,\n 300\n ]\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"exe...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\" {\n \"instanceId\": \"workflow-98aa009d\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.258523\",\n \"updatedAt\": \"2025-09-29T07:07:52.258534\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"1b1fd43f-5acb-45e7-bd98-e4774754cdfe\",\n \"name\": \"On order updated\",\n \"type\": \"n8n-nodes-base.shopifyTrigger\",\n \"position\": [\n 180,\n 520\n ],\n \"webhookId\": \"0972ce92-d800-4049-ab60-7c71898ecbfa\",\n \"parameters\": {\n \"topic\": \"orders/updated\"\n },\n \"credentials\": {\n \"shopifyApi\": {\n \"id\": \"{{ $credentials.shopifyApi.id }}\",\n \"name\": \"Shopify account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This shopifyTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d96cde15-f810-4302-aa45-554f6675b505\",\n \"name\": \"Order exists in Zendesk\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1220,\n 540\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{ $json[\\\"ZendeskTicketId\\\"] }}\",\n \"operation\": \"isNotEmpty\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"62c09ef2-55c8-4269-9869-c15e8a955169\",\n \"name\": \"NoOp\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1500,\n 460\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"68f867c3-842c-478a-8afd-c7299e12b98d\",\n \"name\": \"Find if order already has a ticket in Zendesk\",\n \"type\": \"n8n-nodes-base.zendesk\",\n \"position\": [\n 480,\n 660\n ],\n \"...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-8316ec25\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.269350\",\n \"updatedAt\": \"2025-09-29T07:07:52.269381\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"a5f74e05-acea-4ff4-b3b2-5997850be036\",\n \"name\": \"On new customer\",\n \"type\": \"n8n-nodes-base.shopifyTrigger\",\n \"position\": [\n 180,\n 420\n ],\n \"webhookId\": \"8efd263c-73fb-481b-90d8-8ae0db929548\",\n \"parameters\": {\n \"topic\": \"customers/create\",\n \"authentication\": \"{{ $credentials.accessToken }}\"\n },\n \"credentials\": {\n \"shopifyAccessTokenApi\": {\n \"id\": \"{{ $credentials.shopifyAccessTokenApi.id }}\",\n \"name\": \"[UPDATE ME]\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This shopifyTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5b4a9e71-3aa7-40d8-a439-79a504c60a46\",\n \"name\": \"Create contact\",\n \"type\": \"n8n-nodes-base.mautic\",\n \"position\": [\n 400,\n 420\n ],\n \"parameters\": {\n \"email\": \"={{$node[\\\"On new customer\\\"].json[\\\"email\\\"]}}\",\n \"options\": {},\n \"lastName\": \"={{$node[\\\"On new customer\\\"].json[\\\"last_name\\\"]}}\",\n \"firstName\": \"={{$node[\\\"On new customer\\\"].json[\\\"first_name\\\"]}}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"mauticApi\": {\n \"id\": \"{{ $credentials.mauticApi.id }}\",\n \"name\": \"[UPDATE ME]\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This mautic node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4b7b306e-1b4c-464f-b8f0-373167ded16f\",\n \"name\": \"Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 400,\n 600\n ],\n \"parameters\": {\n \"width\": 332,\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"44PIIGwPzUe9dGfb\",\n \"meta\": {\n \"instanceId\": \"workflow-c6947a5a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.260824\",\n \"updatedAt\": \"2025-09-29T07:07:52.260832\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Sync New Shopify Products to Odoo Product\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"5ad7f941-4146-4897-ad30-dcdccab85e82\",\n \"name\": \"Odoo6\",\n \"type\": \"n8n-nodes-base.odoo\",\n \"position\": [\n 320,\n 0\n ],\n \"parameters\": {\n \"limit\": 1,\n \"options\": {},\n \"resource\": \"custom\",\n \"operation\": \"getAll\",\n \"filterRequest\": {\n \"filter\": [\n {\n \"value\": \"={{ $('Shopify Trigger').all()[0].json.variants[0].product_id }}\",\n \"fieldName\": \"default_code\"\n }\n ]\n },\n \"customResource\": \"product.product\"\n },\n \"credentials\": {\n \"odooApi\": {\n \"id\": \"0qIK4Cq1BwOSbxT8\",\n \"name\": \"Odoo 148.66.157.208:8069\"\n }\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": true,\n \"notes\": \"This odoo node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1b1a3753-e645-465c-8155-ad8c006f3e13\",\n \"name\": \"Filter2\",\n \"type\": \"n8n-nodes-base.filter\",\n \"position\": [\n 740,\n 0\n ],\n \"parameters\": {\n \"conditions\": {\n \"boolean\": [\n {\n \"value1\": \"={{ $json.existing }}\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This filter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5b388afc-de9a-4246-85a8-0ef4ec8ac0bc\",\n \"name\": \"Odoo7\",\n \"type\": \"n8n-nodes-base.odoo\",\n \"posit...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Shopify Trigger\",\n \"type\": \"n8n-nodes-base.shopifyTrigger\",\n \"position\": [\n 450,\n 450\n ],\n \"webhookId\": \"fd11b3d8-ff82-4902-89cc-c93b36ae38e7\",\n \"parameters\": {\n \"topic\": \"orders/create\"\n },\n \"credentials\": {\n \"shopifyApi\": \"shopify_creds\"\n },\n \"typeVersion\": 1,\n \"id\": \"16a141d0-dfa3-4653-8120-4d754bd9247d\",\n \"notes\": \"This shopifyTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-6d3ac7fc\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Shopifytrigger Workflow\",\n \"description\": \"Automated workflow: Shopifytrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-1f3d50b6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.260305\",\n \"updatedAt\": \"2025-09-29T07:07:52.260316\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"notes\": \"Excellent quality workflow: Shopifytrigger Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation.\"\n}...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"Zp0R3I1dUjZOIz2l\",\n \"meta\": {\n \"instanceId\": \"workflow-6c2ae933\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.291012\",\n \"updatedAt\": \"2025-09-29T07:07:52.291019\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Sync New Shopify Customers to Odoo Contacts\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"ae072919-4f88-4722-b139-2628e24b89ba\",\n \"name\": \"Filter\",\n \"type\": \"n8n-nodes-base.filter\",\n \"position\": [\n -420,\n -40\n ],\n \"parameters\": {\n \"conditions\": {\n \"boolean\": [\n {\n \"value1\": \"={{ $json.existing }}\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This filter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a36747d5-3381-43b8-9def-e3dbc8942dbd\",\n \"name\": \"Search Odoo Contact\",\n \"type\": \"n8n-nodes-base.odoo\",\n \"position\": [\n -800,\n -40\n ],\n \"parameters\": {\n \"limit\": 1,\n \"options\": {},\n \"resource\": \"custom\",\n \"operation\": \"getAll\",\n \"filterRequest\": {\n \"filter\": [\n {\n \"value\": \"={{ $('Shopify Trigger').item.json.email }}\",\n \"fieldName\": \"email\"\n }\n ]\n },\n \"customResource\": \"res.partner\"\n },\n \"credentials\": {\n \"odooApi\": {\n \"id\": \"0qIK4Cq1BwOSbxT8\",\n \"name\": \"Odoo 148.66.157.208:8069\"\n }\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": true,\n \"notes\": \"This odoo node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a52d6acf-e8c2-48cd-b44c-903617c23e9e\",\n \"name\": \"Shopify Trigger\",\n \"type\": \"n8n-nodes-base.shopifyTrigger\",\n ...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Function\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 230,\n 710\n ],\n \"parameters\": {\n \"functionCode\": \"// Code here will run only once, no matter how many input items there are.\\n// More info and help: https://docs.n8n.io/nodes/n8n-nodes-base.function\\n\\n// Loop over inputs and add a new field called 'myNewField' to the JSON of each one\\nfor (item of items) {\\n \\nvar type = \\\"Status\\\";\\n// Acknowledged\\nif ((item.json.body.alert.statusCode == 2) && (item.json.body.eventType == 201)) {\\n type = \\\"Acknowledged\\\";\\n}\\n// Closed\\nif ((item.json.body.alert.statusCode == 4) & (item.json.body.eventType == 201)) {\\n type = \\\"Closed\\\";\\n}\\n// New Alert\\nif ((item.json.body.alert.statusCode == 1) & (item.json.body.eventType == 200)) {\\n type = \\\"New Alert\\\";\\n}\\n\\n// No one on duty\\nif ((item.json.body.alert.statusCode == 16) & (item.json.body.eventType == 201)) {\\n type = \\\"No one on duty\\\";\\n}\\n \\n// Annotation\\nvar annotation = \\\"\\\";\\nif ((item.json.body.eventType == 203) & (item.json.body.annotation != undefined) ) {\\n type = \\\"Annotated\\\";\\n annotation = item.json.body.annotation.message;\\n}\\nif (annotation != \\\"\\\") {\\n annotation = \\\": \\\" + annotation;\\n}\\n \\nvar username = \\\"System\\\";\\nif (item.json.body.user != undefined) {\\n username = item.json.body.user.username;\\n}\\n \\nvar data = type + \\\" by \\\" + username + annotation;\\n \\nitem.json.s4Status = data; // + \\\": \\\" + JSON.stringify(item.json);\\n\\n\\nitem.json.s4Up = false;\\nif (type == \\\"Closed\\\") {\\n item.json.s4Up = true;\\n}\\n\\n}\\n\\n// You can write logs to the browser console\\nconsole.log('Done!');\\n\\nreturn items;\\n\\n\\n\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-05b80966\"\n },\n {\n \"name\": \"Notion Trigger\",\n \"type\": \"n8n-nodes-base.notionTrigger\",\n \"disabled\": true,\n \"position\": [\n 230,\n 210\n ],\n \"parameters\": {\n \"event\": \"pageAddedToDatab...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 100,\n \"name\": \"On new Stripe Invoice Payment update Hubspot and notify the team in Slack\",\n \"nodes\": [\n {\n \"name\": \"When Invoice Paid\",\n \"type\": \"n8n-nodes-base.stripeTrigger\",\n \"position\": [\n 400,\n 460\n ],\n \"webhookId\": \"47727266-5233-48e5-b7f7-e47252840a4e\",\n \"parameters\": {\n \"events\": [\n \"invoice.payment_succeeded\"\n ]\n },\n \"credentials\": {\n \"stripeApi\": {\n \"id\": \"{{ $credentials.stripeApi.id }}\",\n \"name\": \"Stripe account\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"17a26229-e09d-4df9-918e-608d824da585\",\n \"notes\": \"This stripeTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Update Deal to Paid\",\n \"type\": \"n8n-nodes-base.hubspot\",\n \"position\": [\n 1240,\n 500\n ],\n \"parameters\": {\n \"dealId\": \"={{$json[\\\"id\\\"]}}\",\n \"operation\": \"update\",\n \"updateFields\": {\n \"customPropertiesUi\": {\n \"customPropertiesValues\": [\n {\n \"value\": \"Yes\",\n \"property\": \"paid\"\n }\n ]\n }\n },\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"hubspotOAuth2Api\": {\n \"id\": \"{{ $credentials.hubspotOAuth2Api.id }}\",\n \"name\": \"Hubspot account 2\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"9a7ee4d8-14e5-4385-9b44-08781f8f9ff6\",\n \"notes\": \"This hubspot node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Find Deal based on PO Number\",\n \"type\": \"n8n-nodes-base.hubspot\",\n \"position\": [\n 820,\n 480\n ],\n \"parameters\": {\n \"operation\": \"search\",\n \"filterGroupsUi\": {\n \"filterGroupsValues\": [\n {\n \"filtersUi\": {\n \"filterValues\": [\n {\n \"value\": \"={{$jso...", "input": "", "output": "The node 'Send invoice paid message' (type: n8n-nodes-base.slack) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"slackApi\": {\n \"id\": \"{{ $credentials.slackApi.id }}\",\n \"name\": \"Slack Access Token\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Send invoice paid message' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Google Calendar\",\n \"type\": \"n8n-nodes-base.googleCalendar\",\n \"position\": [\n 540,\n -320\n ],\n \"parameters\": {\n \"options\": {},\n \"calendar\": \"xxxxx@gmail.com\",\n \"operation\": \"getAll\",\n \"returnAll\": true\n },\n \"credentials\": {\n \"googleCalendarOAuth2Api\": \"Google Accounts\"\n },\n \"typeVersion\": 1,\n \"id\": \"ab6d1837-844d-4c99-88c6-8c27b5c6a0e4\",\n \"notes\": \"This googleCalendar node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Function\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 540,\n 70\n ],\n \"parameters\": {\n \"functionCode\": \"var date = new Date().toISOString();\\nvar day = new Date().getDay();\\nconst weekday = [\\\"Sunday\\\", \\\"Monday\\\", \\\"Tuesday\\\", \\\"Wednesday\\\", \\\"Thursday\\\", \\\"Friday\\\", \\\"Saturday\\\"];\\n\\nitems[0].json.date_today = date;\\nitems[0].json.day_today = weekday[day];\\n\\nreturn items;\"\n },\n \"notesInFlow\": false,\n \"typeVersion\": 1,\n \"id\": \"31c11055-846c-47d7-9aa6-0f5cf93c2fb9\",\n \"notes\": \"This function node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Date & Time\",\n \"type\": \"n8n-nodes-base.dateTime\",\n \"position\": [\n 720,\n -320\n ],\n \"parameters\": {\n \"value\": \"={{$json[\\\"start\\\"][\\\"dateTime\\\"]}}\",\n \"custom\": true,\n \"options\": {\n \"toTimezone\": \"Asia/Qatar\"\n },\n \"toFormat\": \"DD/MM/YYYY\",\n \"dataPropertyName\": \"Event Start Date Only\"\n },\n \"typeVersion\": 1,\n \"id\": \"98e575f6-ca00-41d5-9595-7d734a623096\",\n \"notes\": \"This dateTime node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1410,\n -110\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Typeform Trigger\",\n \"type\": \"n8n-nodes-base.typeformTrigger\",\n \"position\": [\n 140,\n 200\n ],\n \"webhookId\": \"\",\n \"parameters\": {\n \"formId\": \"\"\n },\n \"credentials\": {\n \"typeformApi\": {\n \"id\": \"\",\n \"name\": \"\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"73899714-936e-4ba0-9cc3-b77e0120b3ec\",\n \"notes\": \"This typeformTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Slack1\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n 1360,\n 300\n ],\n \"parameters\": {\n \"text\": \"\\ud83e\\udd73 An existing lead has just subscribed!\",\n \"channel\": \"\",\n \"attachments\": [],\n \"otherOptions\": {}\n },\n \"credentials\": {\n \"slackApi\": {\n \"id\": \"\",\n \"name\": \"\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"49111827-a9eb-4e16-8983-d77604d50235\",\n \"notes\": \"This slack node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Airtable - Contact List\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 540,\n 200\n ],\n \"parameters\": {\n \"table\": \"Contacts\",\n \"operation\": \"list\",\n \"returnAll\": false,\n \"application\": \"\",\n \"additionalOptions\": {\n \"fields\": [],\n \"filterByFormula\": \"=fullName=\\\"{{$json[\\\"full_name\\\"]}}\\\"\"\n },\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"airtableApi\": {\n \"id\": \"\",\n \"name\": \"\"\n }\n },\n \"executeOnce\": false,\n \"typeVersion\": 1,\n \"alwaysOutputData\": true,\n \"id\": \"9da5beb7-2c6f-4ad9-b526-ddda95eaad4f\",\n \"notes\": \"This airtable node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Airtable - Update Contacts1\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"posit...", "input": "", "output": "The node 'Airtable - Contact List' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Airtable - Contact List'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 14,\n \"name\": \"Onfleet Driver signup message in Slack\",\n \"nodes\": [\n {\n \"name\": \"Onfleet Trigger\",\n \"type\": \"n8n-nodes-base.onfleetTrigger\",\n \"position\": [\n 460,\n 300\n ],\n \"webhookId\": \"a005e163-13a2-4ea2-a127-6e00e30a82f4\",\n \"parameters\": {\n \"triggerOn\": \"workerCreated\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"onfleetApi\": {\n \"id\": \"{{ $credentials.onfleetApi.id }}\",\n \"name\": \"Onfleet API Key\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"526aaef1-42dc-4293-99ab-a77a3d86f440\",\n \"notes\": \"This onfleetTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Slack\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n 680,\n 300\n ],\n \"parameters\": {\n \"text\": \"A new driver has signed up!\",\n \"channel\": \"#new-driver-signup\",\n \"attachments\": [],\n \"otherOptions\": {},\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"slackApi\": {\n \"id\": \"{{ $credentials.slackApi.id }}\",\n \"name\": \"Slack account\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"3ff77f05-1b70-43d0-96bd-ea3900a38053\",\n \"notes\": \"This slack node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-932f4064\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connect...", "input": "", "output": "The node 'Slack' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Slack'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"1a461b8a-090e-4dc4-a3d7-bf976a49828e\",\n \"name\": \"Slack\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n 1660,\n 200\n ],\n \"parameters\": {\n \"text\": \"=\\u2b50 Got a hot lead for you {{ $json.properties.first_name }} {{ $json.properties.last_name }} from {{ $json.company.properties.name }} ({{ $json.company.properties.domain }}) based out of {{ $json.company.properties.location.state }}, {{ $json.company.properties.location.country }}.\\n\\n\\n{{ $('Score lead with MadKudu').item.json.properties.customer_fit.top_signals_formatted }}\",\n \"select\": \"channel\",\n \"channelId\": {\n \"__rl\": true,\n \"mode\": \"name\",\n \"value\": \"#interesting_leads\"\n },\n \"otherOptions\": {}\n },\n \"credentials\": {\n \"slackApi\": {\n \"id\": \"{{ $credentials.slackApi.id }}\",\n \"name\": \"Nathan Slack Bot token\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This slack node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bcd8e7dc-cb7f-4e2b-a0c6-2d154cb58938\",\n \"name\": \"n8n Form Trigger\",\n \"type\": \"n8n-nodes-base.formTrigger\",\n \"position\": [\n 380,\n 420\n ],\n \"webhookId\": \"0bf8840f-1cc4-46a9-86af-a3fa8da80608\",\n \"parameters\": {\n \"path\": \"0bf8840f-1cc4-46a9-86af-a3fa8da80608\",\n \"options\": {},\n \"formTitle\": \"Contact us\",\n \"formFields\": {\n \"values\": [\n {\n \"fieldLabel\": \"What's your business email?\"\n }\n ]\n },\n \"formDescription\": \"We'll get back to you soon\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This formTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c20c626f-fd58-497f-942f-5d10f198f36d\",\n \"name\": \"Check if the email is valid\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 800,\n 420\n ],\n ...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-e981e305\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.326513\",\n \"updatedAt\": \"2025-09-29T07:07:52.326520\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"2ce91ec6-0a8c-438a-8a18-216001c9ee07\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {\n \"width\": 407.6388140161723,\n \"height\": 490.24769122000794,\n \"content\": \"## This is a POST Webhook endpoint\\n\\nMake sure to configure this webhook using a https:// wraper and dont use the default {{ $env.WEBHOOK_URL }} as that will not be recognized by your slack webhook\\n\\n\\nOnce the data has been sent to your webhook, the next step will be passing it via an AI Agent to process data based on the queries we pass to our agent.\\n\\nTo have some sort of a memory, be sure to set the slack token to the memory node. This way you can refer to other chats from the history.\\n\\nThe final message is relayed back to slack as a new message. Since we can not wait longer than 3000 ms for slack response, we will create anew message with reference to the input we passed.\\n\\nWe can advance this using the tools or data sources for it to be more custom tailored for your company.\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7a0c84a8-90ef-4de8-b120-700c94c35a51\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1180,\n 560\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 221.73584905660368,\n \"height\": 233,\n \"content\": \"### Conversation history is stored in memory using the body token as the chatsession id\"\n },\n \"typeVersio...", "input": "", "output": "The workflow has a broken data flow. The node 'cfcf2bbc-8ed5-4a9f-8f35-cf2715686ebe' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'cfcf2bbc-8ed5-4a9f-8f35-cf2715686ebe'.\n\n**Impact**: Data from 'cfcf2bbc-8ed5-4a9f-8f35-cf2715686ebe' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'cfcf2bbc-8ed5-4a9f-8f35-cf2715686ebe' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"cfcf2bbc-8ed5-4a9f-8f35-cf2715686ebe\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'cfcf2bbc-8ed5-4a9f-8f35-cf2715686ebe' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-6eb09e27:\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.325859\",\n \"updatedAt\": \"2025-09-29T07:07:52.325870\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"3af140c3-03eb-4eeb-ad31-71f94bc37790\",\n \"name\": \"Loop to next call\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 4820,\n 120\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8904df21-c993-4c3d-84e6-4418990cb52f\",\n \"name\": \"Execute Workflow Trigger\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n 700,\n -40\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This executeWorkflowTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d85f05bd-c680-4b41-b67a-8126b3ed29b0\",\n \"name\": \"Create Notion DB Page\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 3240,\n 60\n ],\n \"parameters\": {\n \"title\": \"={{ $json.metaData.title }}\",\n \"options\": {\n \"icon\": \"\\ud83d\\udcde\"\n },\n \"resource\": \"databasePage\",\n \"databaseId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1a85b6e0-c94f-81a3-aa21-e3ccf8296d72\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Sales Call Summaries Demo\"\n },\n \"propertiesUi\": {\n \"propertyValues\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"date\": \"={{ $json.metaData.started }}\"\n },\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"urlValue\": \"{{ $env.BASE_URL }}\"\n },\n {\n \"key\": \"YOUR_CR...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 3,\n \"name\": \"Orlen\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 240,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"f43f0530-7091-4a88-9333-507ff8c16ec4\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Current date\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 1160,\n 960\n ],\n \"parameters\": {\n \"functionCode\": \"var today = new Date();\\nvar year = today.getFullYear();\\nvar month = today.getMonth() + 1;\\nvar day = today.getDate();\\n\\nif(month < 10) {\\n month = \\\"0\\\" + month;\\n}\\n\\nitems[0].json.year = year;\\nitems[0].json.month = month;\\nitems[0].json.day = day;\\n\\nreturn items;\"\n },\n \"typeVersion\": 1,\n \"id\": \"1bb0161e-1a38-4533-909c-a9e9425d7536\",\n \"notes\": \"This function node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Every 23:45\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 960,\n 960\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"hour\": 23,\n \"minute\": 45\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"78cd2038-7309-4626-84d2-53a69468661b\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Get Year folder\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 1360,\n 960\n ],\n \"parameters\": {\n \"options\": {\n \"fields\": [\n \"id\"\n ]\n },\n \"operation\": \"list\",\n \"queryFilters\": {\n \"name\": [\n {\n \"value\": \"={{$json[\\\"year\\\"]}}\",\n \"operation\": \"is\"\n }\n ],\n \"mimeType\": [\n {\n \"mimeType\": \"applicat...", "input": "", "output": "The node 'Get Year folder' (type: n8n-nodes-base.googleDrive) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"{{ $credentials.googleDriveOAuth2Api.id }}\",\n \"name\": \"Google Drive account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Get Year folder' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"5\"\n \"name\": \"Slack-GitHub User Info\",\n \"nodes\": [\n {\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 300,\n 300\n ],\n \"webhookId\": \"dacd64a7-a83e-4492-b8fe-363453906d0d\",\n \"parameters\": {\n \"path\": \"dacd64a7-a83e-4492-b8fe-363453906d0d\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-b9332f71\"\n },\n {\n \"name\": \"GraphQL\",\n \"type\": \"n8n-nodes-base.graphql\",\n \"position\": [\n 500,\n 300\n ],\n \"parameters\": {\n \"query\": \"=query {\\nuser(login:\\\"{{$node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"text\\\"]}}\\\"){\\nname\\ncompany\\nlocation\\navatarUrl\\nemail\\npullRequests(last: 25) {\\nedges {\\nnode {\\ncommits(last:25) {\\nnodes {\\ncommit {\\nauthor {\\nemail\\nname\\n}\\n}\\n}\\n}\\n}\\n}\\n}\\n}\\n}\",\n \"endpoint\": \"{{ $env.API_ENDPOINT }}\",\n \"requestFormat\": \"json\",\n \"responseFormat\": \"string\",\n \"headerParametersUi\": {\n \"parameter\": [\n {\n \"name\": \"User-Agent\",\n \"value\": \"n8n\"\n },\n {\n \"name\": \"Authorization\",\n \"value\": \"bearer \"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-8a2ae4e6\"\n },\n {\n \"name\": \"Function\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 700,\n 300\n ],\n \"parameters\": {\n \"functionCode\": \"let emails = [];\\nlet tempEmails = [];\\nconst name = $node[\\\"GraphQL\\\"].json[\\\"data\\\"][\\\"data\\\"][\\\"user\\\"][\\\"name\\\"];\\nconst publicEmail = $node[\\\"GraphQL\\\"].json[\\\"data\\\"][\\\"data\\\"][\\\"user\\\"][\\\"email\\\"];\\nconst username = $node[\\\"Webhook\\\"].json[\\\"body\\\"][\\\"text\\\"];\\nconst nameRegex = new RegExp(name,\\\"g\\\")\\n\\nif(publicEmail){\\n// if public email address exists, push it to the tempEmails array\\n tempEmails.push(publicEmail)\\n}\\n\\n// looping through the pull requests\\nfor(const edge of...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"trigger-43a50227\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"name\": \"Read Harvey's Email\",\n \"type\": \"n8n-nodes-base.emailReadImap\",\n \"position\": [\n 270,\n 390\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"imap\": \"Read Harvey's Mail\"\n },\n \"typeVersion\": 1,\n \"id\": \"200e7ae0-4868-4302-b92d-04e196f1290d\",\n \"notes\": \"This emailReadImap node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Who Is The Email From?\",\n \"type\": \"n8n-nodes-base.switch\",\n \"position\": [\n 460,\n 390\n ],\n \"parameters\": {\n \"rules\": {\n \"rules\": [\n {\n \"value2\": \"Louis Litt \"\n }\n ]\n },\n \"value1\": \"={{$node[\\\"Read Harvey's Email\\\"].json[\\\"from\\\"]}}\",\n \"dataType\": \"string\",\n \"fallbackOutput\": 3\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": false,\n \"id\": \"399d6dcd-65d2-479e-92de-c5d7455c4169\",\n \"notes\": \"This switch node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Read Excuses File\",\n \"type\": \"n8n-nodes-base.readBinaryFile\",\n \"position\": [\n 670,\n 230\n ],\n \"parameters\": {\n \"filePath\": \"/home/n8n/Excuse_Generator.xlsx\"\n },\n \"typeVersion\": 1,\n \"id\": \"640523db-96df-4613-91e9-f660b1b3b5e6\",\n \"notes\": \"This readBinaryFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Retrieve Excuses Spreadsheet Data\",\n \"type\": \"n8n-nodes-base.spreadsheetFile\",\n \"position\": [\n 860,\n 230\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"c77a42c7-378f-4...", "input": "", "output": "The workflow has a broken data flow. The node '200e7ae0-4868-4302-b92d-04e196f1290d' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '200e7ae0-4868-4302-b92d-04e196f1290d'.\n\n**Impact**: Data from '200e7ae0-4868-4302-b92d-04e196f1290d' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '200e7ae0-4868-4302-b92d-04e196f1290d' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"200e7ae0-4868-4302-b92d-04e196f1290d\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '200e7ae0-4868-4302-b92d-04e196f1290d' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 88,\n \"name\": \"Check for valid Hubspot contact email\",\n \"nodes\": [\n {\n \"name\": \"When contact created\",\n \"type\": \"n8n-nodes-base.hubspotTrigger\",\n \"position\": [\n 540,\n 480\n ],\n \"webhookId\": \"d24ffb14-1e00-4d4e-b3b8-a812690c40d5\",\n \"parameters\": {\n \"eventsUi\": {\n \"eventValues\": [\n {}\n ]\n },\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"hubspotDeveloperApi\": {\n \"id\": \"{{ $credentials.hubspotDeveloperApi.id }}\",\n \"name\": \"Hubspot Developer account\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-542efb57\"\n },\n {\n \"name\": \"Get contact email address\",\n \"type\": \"n8n-nodes-base.hubspot\",\n \"position\": [\n 720,\n 480\n ],\n \"parameters\": {\n \"resource\": \"contact\",\n \"contactId\": \"={{ $node.NonExistentNode.json.data }}\",\n \"operation\": \"get\",\n \"additionalFields\": {\n \"properties\": [\n \"email\"\n ],\n \"propertyMode\": \"valueOnly\"\n }\n },\n \"credentials\": {\n \"hubspotApi\": {\n \"id\": \"{{ $credentials.hubspotApi.id }}\",\n \"name\": \"Hubspot account\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-f300abf3\"\n },\n {\n \"name\": \"validate the email\",\n \"type\": \"n8n-nodes-base.oneSimpleApi\",\n \"position\": [\n 900,\n 480\n ],\n \"parameters\": {\n \"resource\": \"utility\",\n \"emailAddress\": \"={{$json[\\\"properties\\\"][\\\"email\\\"][\\\"value\\\"]}}\"\n },\n \"credentials\": {\n \"oneSimpleApi\": {\n \"id\": \"{{ $credentials.oneSimpleApi.id }}\",\n \"name\": \"One Simple account\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-4081bbb3\"\n },\n {\n \"name\": \"If email is suspicious\",\n \"type\": \"n8n-nodes-base.if\",\n \"notes\": \"IF\\ndeliverability is not good\\nOR\\nDomain is not valid\\nOR\\nEmail is Disposable\",\n ...", "input": "", "output": "In node 'Get contact email address', the parameter 'contactId' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `={{$json[\"contactId\"] ? 151 : 151}}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Get contact email address' parameter 'contactId'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 91,\n \"name\": \"New invoice email notification\",\n \"nodes\": [\n {\n \"id\": \"trigger-f3c426cb\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"name\": \"Check for new emails\",\n \"type\": \"n8n-nodes-base.emailReadImap\",\n \"position\": [\n 500,\n 300\n ],\n \"parameters\": {\n \"format\": \"resolved\",\n \"mailbox\": \"Inbox\",\n \"options\": {\n \"allowUnauthorizedCerts\": true\n }\n },\n \"credentials\": {\n \"imap\": {\n \"id\": \"{{ $credentials.imap.id }}\",\n \"name\": \"GMAIL\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"dfb1296d-d8c8-4a41-99b2-d7bea36f97f1\",\n \"notes\": \"This emailReadImap node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If email body contains invoice\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 700,\n 300\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$json[\\\"text\\\"].toLowerCase()}}\",\n \"value2\": \"invoice\",\n \"operation\": \"contains\"\n }\n ]\n },\n \"combineOperation\": \"={{ $json[\\\"non_existent_field\\\"] }}\"\n },\n \"typeVersion\": 1,\n \"id\": \"6fb96f70-a339-4d0e-b6a6-707c4f957874\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Extract the total amount\",\n \"type\": \"n8n-nodes-base.mindee\",\n \"position\": [\n 900,\n 280\n ],\n \"parameters\": {\n \"rawData\": true,\n \"resource\": \"invoice\",\n \"binaryPropertyName\": \"attachment_0\"\n },\n \"credentials\": {\n \"mindeeInvoiceApi\": {\n \"id\": \"{{ $credentials.mindeeInvoiceApi.id }}\",\n \"name\": \"Mindee Invoice account\"\n }\n },\n \"typeV...", "input": "", "output": "In node 'If email body contains invoice', the parameter 'combineOperation' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `any`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'If email body contains invoice' parameter 'combineOperation'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-b330ec87\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.351814\",\n \"updatedAt\": \"2025-09-29T07:07:52.351847\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"2ce91ec6-0a8c-438a-8a18-216001c9ee07\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {\n \"width\": 407.6388140161723,\n \"height\": 490.24769122000794,\n \"content\": \"## This is a POST Webhook endpoint\\n\\nMake sure to configure this webhook using a https:// wraper and dont use the default {{ $env.WEBHOOK_URL }} as that will not be recognized by your slack webhook\\n\\n\\nOnce the data has been sent to your webhook, the next step will be passing it via an AI Agent to process data based on the queries we pass to our agent.\\n\\nTo have some sort of a memory, be sure to set the slack token to the memory node. This way you can refer to other chats from the history.\\n\\nThe final message is relayed back to slack as a new message. Since we can not wait longer than 3000 ms for slack response, we will create anew message with reference to the input we passed.\\n\\nWe can advance this using the tools or data sources for it to be more custom tailored for your company.\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7a0c84a8-90ef-4de8-b120-700c94c35a51\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1180,\n 560\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 221.73584905660368,\n \"height\": 233,\n \"content\": \"### Conversation history is stored in memory using the body token as the chatsession id\"\n },\n \"typeVersio...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"SHpLY12UobbcWRnl\",\n \"meta\": {\n \"instanceId\": \"workflow-2f3831b7\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.405297\",\n \"updatedAt\": \"2025-09-29T07:07:52.405330\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Slack AI Chatbot with RAG for company staff\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"df994f64-af5b-49f5-ad83-5c4b69983d41\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -780,\n 340\n ],\n \"parameters\": {\n \"text\": \"={{ $json.blocks[0].elements[0].elements[1].text }}\",\n \"options\": {\n \"systemMessage\": \"=You are an AI assistant connected to the company's internal knowledge base through a RAG (Retrieval Augmented Generation) system. Your purpose is to help team members quickly find and understand information from company documents.\\n\\nCORE RESPONSIBILITIES:\\n- Respond to queries about company policies, procedures, documentation, and internal knowledge\\n- Provide concise, accurate information retrieved from the company's document repository\\n- Format responses appropriately for Slack (use markdown for clarity)\\n- Cite the specific document source when providing information\\n\\nINTERACTION GUIDELINES:\\n- Keep responses brief and to the point (aim for 3-5 sentences when possible)\\n- Use bullet points for lists or step-by-step instructions\\n- Include direct quotes from documents when relevant, using > for blockquotes\\n- When unable to find information, clearly state this and suggest alternative resources\\n\\nTECHNICAL CONTEXT:\\n- You receive queries through Slack messages\\n- You use the RAG tool in n8n to search and retrieve relevant document sections\\n- All responses should be crafted for readability on Slack's interface\\n\\nRESPONSE...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 115,\n \"name\": \"Archive empty pages in Notion Database\",\n \"nodes\": [\n {\n \"name\": \"Get All Databases\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 240,\n 300\n ],\n \"parameters\": {\n \"resource\": \"database\",\n \"operation\": \"getAll\",\n \"returnAll\": true\n },\n \"credentials\": {\n \"notionApi\": {\n \"id\": \"{{ $credentials.notionApi.id }}\",\n \"name\": \"Notion account\"\n }\n },\n \"typeVersion\": 2,\n \"id\": \"966882fd-9b43-4e6a-a5b1-f4901ff09dc2\",\n \"notes\": \"This notion node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Get All Database Pages\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 420,\n 300\n ],\n \"parameters\": {\n \"simple\": false,\n \"options\": {},\n \"resource\": \"databasePage\",\n \"operation\": \"getAll\",\n \"returnAll\": true,\n \"databaseId\": \"={{$json[\\\"id\\\"]}}\"\n },\n \"credentials\": {\n \"notionApi\": {\n \"id\": \"{{ $credentials.notionApi.id }}\",\n \"name\": \"Notion account\"\n }\n },\n \"typeVersion\": 2,\n \"id\": \"e0f10344-b5c2-46af-a415-4fc3644bf0e5\",\n \"notes\": \"This notion node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Get Page Blocks\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 1180,\n 280\n ],\n \"parameters\": {\n \"blockId\": \"={{$json[\\\"id\\\"]}}\",\n \"resource\": \"block\",\n \"operation\": \"getAll\",\n \"returnAll\": true\n },\n \"credentials\": {\n \"notionApi\": {\n \"id\": \"{{ $credentials.notionApi.id }}\",\n \"name\": \"Notion account\"\n }\n },\n \"typeVersion\": 2,\n \"alwaysOutputData\": true,\n \"id\": \"1ba47d6f-a07f-4410-ba61-6563b8642d9c\",\n \"notes\": \"This notion node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Process Block...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-40f49491\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.430136\",\n \"updatedAt\": \"2025-09-29T07:07:52.430145\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"a9048293-787d-44d6-b995-d329b2495048\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1920,\n 1380\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"56017e8b-2f2e-4f40-9325-184ea01a18be\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1720,\n 1260\n ],\n \"parameters\": {\n \"width\": 1071.752021563343,\n \"height\": 285.66037735849045,\n \"content\": \"## Scrape latest Paul Graham essays\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"aa855d7c-6602-4242-bc84-56fed7c27c26\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -600,\n 1260\n ],\n \"parameters\": {\n \"width\": 625,\n \"height\": 607,\n \"content\": \"## Summarize them with GPT\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1a38e545-6d3b-40b2-a3ff-6f91fdd772de\",\n \"name\": \"Fetch Essay List\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -1640,\n 1380\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the work...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-bd5c43b7\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.429046\",\n \"updatedAt\": \"2025-09-29T07:07:52.429058\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"b2c3ff9d-936e-4c3c-b3da-84b44f12b6f0\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -980,\n 500\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8ddbbd62-a49b-44d9-b8db-d710c2cc7f07\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -560,\n 360\n ],\n \"parameters\": {\n \"width\": 456,\n \"height\": 638,\n \"content\": \"## Chunk the transcript into several parts, and refine-summarize it \"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"007400f1-97b8-4b31-a126-f9b76ffabc65\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -80,\n 360\n ],\n \"parameters\": {\n \"width\": 615.8516011477997,\n \"height\": 443.66706715913415,\n \"content\": \"## Generate Questions and Topics from the summary and make sure the response follows required schema.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7e27d8fa-a21c-4690-bf84-6366695d49b6\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 560,\n 360\n ],\n \"parameters\": {\n \"width\": 479,\n \"height\": 508,\n \"content\": \"## Ask Agent to resea...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a8e0c24e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.494490\",\n \"updatedAt\": \"2025-09-29T07:07:52.494500\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"2e93b7a1-f22c-4e34-8bbe-09763d428ab6\",\n \"name\": \"Get Leads\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1040,\n 522\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"sendQuery\": true,\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpHeaderAuth\",\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"start_date\",\n \"value\": \"={{ $now.minus(1, 'day').toFormat('yyyy-MM-dd') }}\"\n },\n {\n \"name\": \"end_date\",\n \"value\": \"={{ $now.toFormat('yyyy-MM-dd') }}\"\n }\n ]\n }\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"xipzlNJVo73gB17T\",\n \"name\": \"Leapfeeder Token\"\n }\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0274033f-582a-40f6-9c08-161a81cfb2ab\",\n \"name\": \"Filter Leads by company criteria\",\n \"type\": \"n8n-nodes-base.filter\",\n \"position\": [\n 640,\n 762.4643026004727\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"077363ca-c785-497c-bae9-24829bb321cd\",\n \"operator\": {\n \"type\": \"number\",\n ...", "input": "", "output": "The workflow has a broken data flow. The node '425b3030-d745-4fe0-a489-c6d79f1d6dca' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '425b3030-d745-4fe0-a489-c6d79f1d6dca'.\n\n**Impact**: Data from '425b3030-d745-4fe0-a489-c6d79f1d6dca' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '425b3030-d745-4fe0-a489-c6d79f1d6dca' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"425b3030-d745-4fe0-a489-c6d79f1d6dca\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '425b3030-d745-4fe0-a489-c6d79f1d6dca' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a1aea79a:\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.478550\",\n \"updatedAt\": \"2025-09-29T07:07:52.478563\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"e087fb9b-d299-441b-8508-a36a389acb0d\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 820,\n 360\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"daysInterval\": 2,\n \"triggerAtHour\": 7\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5d272d3d-7b35-4ac3-8646-28d7136b3e5b\",\n \"name\": \"Get Deals\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1020,\n 360\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"hubspotOAuth2Api\": {\n \"id\": \"WEONgGVHLYPjIE6k\",\n \"name\": \"HubSpot account\"\n }\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"26862c28-fc42-41f5-9435-c69082282e8a\",\n \"name\": \"Get contact for deals\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1600,\n 360\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"hubspotOAuth2Api\": {\n ...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-e382e415\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.528136\",\n \"updatedAt\": \"2025-09-29T07:07:52.528163\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f59411f9-5dad-4f8c-af0c-c3ab25171107\",\n \"name\": \"Get recetn tweets\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 233.55908776779552,\n 1409.619212163096\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {\n \"batching\": {\n \"batch\": {\n \"batchSize\": 1,\n \"batchInterval\": 2000\n }\n }\n },\n \"sendQuery\": true,\n \"sendHeaders\": true,\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"limit\",\n \"value\": \"10\"\n },\n {\n \"name\": \"user_id\",\n \"value\": \"={{ $json.twitter.id }}\"\n },\n {\n \"name\": \"include_replies\",\n \"value\": \"={{ false }}\"\n },\n {\n \"name\": \"include_pinned\",\n \"value\": \"={{ false }}\"\n }\n ]\n },\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"X-RapidAPI-Host\",\n \"value\": \"twitter154.p.rapidapi.com\"\n },\n {\n \"name\": \"X-RapidAPI-Key\",\n \"value\": \"={{ $('Setup').first().json.twitterAPIKey }}\"\n }\n ]\n }\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c25d29ef-71bb-4ea1-8794-47911dac997f\",\n \"name\": \"Setup\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -440,\n 980\n ],\n \"par...", "input": "", "output": "The workflow has a broken data flow. The node 'f59411f9-5dad-4f8c-af0c-c3ab25171107' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'f59411f9-5dad-4f8c-af0c-c3ab25171107'.\n\n**Impact**: Data from 'f59411f9-5dad-4f8c-af0c-c3ab25171107' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'f59411f9-5dad-4f8c-af0c-c3ab25171107' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"f59411f9-5dad-4f8c-af0c-c3ab25171107\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'f59411f9-5dad-4f8c-af0c-c3ab25171107' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\" {\n \"instanceId\": \"workflow-0f635519\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.489349\",\n \"updatedAt\": \"2025-09-29T07:07:52.489390\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"ed18a0ab-ac62-469e-9490-d9fcf75b4606\",\n \"name\": \"Setup\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -700,\n 320\n ],\n \"parameters\": {\n \"fields\": {\n \"values\": [\n {\n \"name\": \"linkedInAPIKey\"\n },\n {\n \"name\": \"twitterAPIKey\"\n },\n {\n \"name\": \"emails\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 3.2,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d6624796-3f59-4077-8d41-4418c869ad27\",\n \"name\": \"Every morning @ 7\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -940,\n 320\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"triggerAtHour\": 7\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1cb46dc8-c2b5-487c-a382-a5714686be50\",\n \"name\": \"Get meetings for today\",\n \"type\": \"n8n-nodes-base.googleCalendar\",\n \"position\": [\n -300,\n 320\n ],\n \"parameters\": {\n \"options\": {\n \"timeMax\": \"={{ $today.plus({ days: 1 }) }}\",\n \"timeMin\": \"={{ $today.minus({ days: 3 }) }}\",\n \"singleEvents\": true\n },\n \"calendar\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"milorad.filipovic19@gmail.com\",\n \"cachedResultName\": \"milorad.filipovic19@gmai...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\" {\n \"instanceId\": \"workflow-5cf1a66a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.480231\",\n \"updatedAt\": \"2025-09-29T07:07:52.480250\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"85c8481e-9bc8-49ca-bce1-1d2d915829bd\",\n \"name\": \"Respond All Items\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 2180,\n 500\n ],\n \"parameters\": {\n \"options\": {},\n \"respondWith\": \"allIncomingItems\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This respondToWebhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"194a1e37-ae2a-4142-a3f6-38161abbc20b\",\n \"name\": \"Respond Asked Item\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 2180,\n 280\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This respondToWebhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9bb8cb37-9723-4f85-8878-f3b0abe5763f\",\n \"name\": \"Incoming Webhook Trigger\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 700,\n 300\n ],\n \"webhookId\": \"309c36da-224c-4023-b989-8f991502b625\",\n \"parameters\": {\n \"path\": \"eu-exchange-rate\",\n \"options\": {},\n \"responseMode\": \"responseNode\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f1fe517a-bd74-45e0-b9df-9d7167d50068\",\n \"name\": \"Get latest Euro exchange rates\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 920,\n 300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node ...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a6beb010\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.494137\",\n \"updatedAt\": \"2025-09-29T07:07:52.494151\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f28a0602-f02c-4f41-8bbf-dfd46d0def87\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 2020,\n 620\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"Email\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d995d088-9be1-4a64-a533-d764587b3ae4\",\n \"name\": \"Remove Duplicates\",\n \"type\": \"n8n-nodes-base.removeDuplicates\",\n \"onError\": \"continueRegularOutput\",\n \"position\": [\n 2480,\n 600\n ],\n \"parameters\": {},\n \"retryOnFail\": true,\n \"typeVersion\": 1,\n \"notes\": \"This removeDuplicates node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b64f9bc5-7e85-41df-b27c-10d53df6809f\",\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 2740,\n 600\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This respondToWebhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"466cf9ce-4baf-45f9-bd70-d2041c20605e\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1204.5476340072564,\n 520\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 1764.2311804548722,\n \"height\": 309.99889350400827,\n \"content\": \"\\n* Scraping emails from websites using an api\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated t...", "input": "", "output": "The workflow has a broken data flow. The node 'b64f9bc5-7e85-41df-b27c-10d53df6809f' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'b64f9bc5-7e85-41df-b27c-10d53df6809f'.\n\n**Impact**: Data from 'b64f9bc5-7e85-41df-b27c-10d53df6809f' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'b64f9bc5-7e85-41df-b27c-10d53df6809f' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"b64f9bc5-7e85-41df-b27c-10d53df6809f\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'b64f9bc5-7e85-41df-b27c-10d53df6809f' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-4558ad25\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.506955\",\n \"updatedAt\": \"2025-09-29T07:07:52.506986\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"2b12fb75-ec81-4d2c-a8bb-12ff2bb7e935\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 680,\n 2.662790697674268\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 410.6749642132356,\n \"height\": 428.2515771212859,\n \"content\": \"## Setup\\n1. Go to Company Settings -> Data fields -> Organization and add `Domain` as a custom field\\n2. Go to Company Settings -> Data fields -> Leads and add `Enriched at` as a custom date field\\n2. Add your `Pipedrive`, `Clearbit` and `Slack` credentials.\\n3. Fill the `setup` node below. To get the ID of your custom domain fields, simply run the `Show only custom organization fields` and `Show only custom lead fields` nodes below and copy the keys of your domain and enriched at field.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"123ad2e5-f4f2-4411-bf03-5668124b8757\",\n \"name\": \"Sticky Note5\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1800,\n 160\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 223.7628185364029,\n \"height\": 276.3308728978709,\n \"content\": \"Adjust condition to filter leads by your desired condition. e.g, revenue, number of employees, etc.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7725dc9e-5c93-475d-9522-f99b4fd1c81f\",\n \"name\": \"Enrich company\",\n \"type\": \"n8n-nodes-base.clearbit\",\n \"position...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"48a0524d-db39-4046-bad1-18684064cbac\",\n \"name\": \"Every 1 hour\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 40,\n 600\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\",\n \"triggerAtMinute\": 30\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bf9e2480-e879-4ebc-829f-b61f29251d29\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 680,\n 600\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f8e8a9a4-6104-4d4c-a400-5160e37f6c55\",\n \"name\": \"No Operation, do nothing\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 920,\n 400\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"980351bb-685b-4392-bb28-a10bec1608fe\",\n \"name\": \"RSS Read\",\n \"type\": \"n8n-nodes-base.rssFeedRead\",\n \"onError\": \"continueRegularOutput\",\n \"position\": [\n 920,\n 620\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {}\n },\n \"retryOnFail\": true,\n \"typeVersion\": 1,\n \"waitBetweenTries\": 5000,\n \"notes\": \"This rssFeedRead node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7281072f-f773-468f-8599-4efa5832f8e2\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 260,\n 760\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 162,\n \"height\": 84,\n \"content\":...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"58c69358-3d02-41c3-b50c-6e57452523a2\",\n \"name\": \"Every day at 06:00\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 960,\n 600\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"triggerAtHour\": 9\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0a388351-6aec-45c4-a142-e89b338be155\",\n \"name\": \"Get all your team's tickets\",\n \"type\": \"n8n-nodes-base.graphql\",\n \"position\": [\n 1200,\n 600\n ],\n \"parameters\": {\n \"query\": \"query ($filter: IssueFilter) {\\n issues(filter: $filter, first: 100) {\\n pageInfo {\\n hasNextPage\\n endCursor\\n }\\n nodes {\\n id\\n identifier\\n url\\n title\\n priorityLabel\\n createdAt\\n completedAt\\n state {\\n type\\n name\\n }\\n cycle {\\n number\\n }\\n estimate\\n labels { nodes { name } }\\n }\\n }\\n}\",\n \"endpoint\": \"{{ $env.API_BASE_URL }}\",\n \"variables\": \"={\\n \\\"filter\\\": {\\n \\\"team\\\": {\\n \\\"name\\\": {\\n \\\"eq\\\": \\\"Adore\\\"\\n }\\n }\\n }\\n}\",\n \"requestFormat\": \"json\",\n \"authentication\": \"{{ $credentials.headerAuth }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This graphql node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"91f29056-f934-4c15-8e98-2a202753971d\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1200,\n 460\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 256.14371825927645,\n \"height\": 100,\n \"content\": \"\\ud83d\\udc47\\ud83c\\udffd Set your team name here in the filter. \\n(Our team's name is Adore)\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNot...", "input": "", "output": "The node 'Get all your team's tickets' (type: n8n-nodes-base.graphql) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"QNQL42DMISvQl50S\",\n \"name\": \"Linear api \"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Get all your team's tickets' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-7321c35c\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.568065\",\n \"updatedAt\": \"2025-09-29T07:07:52.568094\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"80b17b5c-6a05-45b9-bfa6-97fe84706687\",\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 940,\n 320\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"12b006e7-83f0-450e-98a8-3b5c3864fac4\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1420,\n 260\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"items[0].mostReplayed.markers\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cb4cdfe1-7601-43e9-b314-818556c4724b\",\n \"name\": \"has intensity data?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1160,\n 320\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"91f8b87d-228f-4877-ad25-5b9cef3a0f86\",\n \"operator\": {\n \"type\": \"object\",\n \"operation\": \"exists\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.items[0].mostReplayed }}\",\n \"rightValue\": \"\"\n }\n ]\n }\n },\n \"typeVersion\": 2,...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-540fc7c7\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.592434\",\n \"updatedAt\": \"2025-09-29T07:07:52.592462\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"551a3a1f-07ad-48aa-bc9a-18f39c883929\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 940,\n 180\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"toplevel.CompleteSuggestion\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f451dc0d-a78d-4ba6-adcf-c1180502a904\",\n \"name\": \"Aggregate\",\n \"type\": \"n8n-nodes-base.aggregate\",\n \"position\": [\n 1260,\n 180\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldsToAggregate\": {\n \"fieldToAggregate\": [\n {\n \"fieldToAggregate\": \"Keywords\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This aggregate node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ccad69b0-7f88-490e-bfbd-50ef702f48ce\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 350.13991769547397,\n 134.716049382716\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 1323.884773662551,\n \"height\": 224.79012345679018,\n \"content\": \"* Generating keywords for your SEO\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9ed26e36-e05a-416e-a517-3f5d07718256\",\n \"name\": \"Receive Keyword\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 400,\n 180\n ],\n \"webhookId\": \"76a63718-b3cb-4...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a9e6fab2\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.591996\",\n \"updatedAt\": \"2025-09-29T07:07:52.592018\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"be49d136-6392-481d-8544-d4f4d4fd0357\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 90,\n 260\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 1000.427054367056,\n \"height\": 572.2734520891689,\n \"content\": \"## Find WooCommerce User-ID\\nUser-ID is required to query past orders\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5932f77b-63e2-4991-aa16-2b8587b2b560\",\n \"name\": \"No email provided\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 400,\n 640\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"9a06428b-4115-4eee-97f4-8e828c5a7e5a\",\n \"name\": \"response\",\n \"type\": \"string\",\n \"value\": \"No email address got provided.\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"909a9a47-8683-4a1f-a359-8f6a878f8cd7\",\n \"name\": \"If email provided\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 140,\n 460\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"13f7bd32-5760-4ac3...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-27017829\"\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.580294\",\n \"updatedAt\": \"2025-09-29T07:07:52.580313\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"2a5a96c9-926c-447d-8244-db760e48a45f\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -180,\n -140\n ],\n \"parameters\": {\n \"content\": \"## Edit your own prompt \\u2b07\\ufe0f\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4c3a6b0b-2771-441d-8cb2-e17c07a92156\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1440,\n -100\n ],\n \"parameters\": {\n \"content\": \"## Filter comments and customize your trigger words \\u2b07\\ufe0f\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4f42b776-cc24-486c-889f-7c09522503ed\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1180,\n -120\n ],\n \"parameters\": {\n \"content\": \"## Replace your gitlab URL and token \\u2b07\\ufe0f\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b8859219-ce90-4940-8d9e-338c742def5e\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 140,\n -140\n ],\n \"parameters\": {\n \"content\": \"## Replace your gitlab URL and token \\u2b07\\ufe0f\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\":...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-da49e467:\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.576542\",\n \"updatedAt\": \"2025-09-29T07:07:52.576552\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"8eaf0925-1394-4771-bf43-281ad14fefb4\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 540,\n 880\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 301.3874093724939,\n \"height\": 371.765663140765,\n \"content\": \"## Data check\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ab31ac7c-6bd4-44f6-8c0c-8e41463a3983\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 560,\n 940\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 272.8190508599808,\n \"height\": 80,\n \"content\": \"Checks that the data returned by OpenAI is correct\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"306ffdb5-d6b6-4e49-a26d-a256e32f7c67\",\n \"name\": \"Sticky Note5\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1940,\n 880\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 302,\n \"height\": 392,\n \"content\": \"## Draft on WordPress\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"928da5f9-194c-461d-a5dd-7fd5c8563345\",\n \"name\": \"Sticky Note9\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1960,\n 960\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 254.7726922137309...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-8b29ac5a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.610267\",\n \"updatedAt\": \"2025-09-29T07:07:52.610282\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"4074dda0-993b-4b63-8502-3db09a920e42\",\n \"name\": \"Send Gmail\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 1520,\n 260\n ],\n \"parameters\": {\n \"sendTo\": \"nico@n8n.io\",\n \"message\": \"={{ $json.html }}\",\n \"options\": {\n \"appendAttribution\": true\n },\n \"subject\": \"new stable version of n8n released\"\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmail node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"01364110-5482-416f-abab-32ddbb9c3123\",\n \"name\": \"Fetch Github Repo Releases\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 840,\n 260\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fb96efc1-e615-4378-80c5-1ddafff3a4e8\",\n \"name\": \"Split Out Content\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1080,\n 260\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"body\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ca540fee-a2dc-4780-95d1-6a0a5b8dc6fa\",\n \"name\": \"Convert Markdown to HTML\",\n \"type\": \"n8n-nodes-base.markdown\",\n \"position\": [\n 1260,\n 260\n ],\n \"parameters\": {\n \"mode\": \"markdownToHtml\",\n \"options\": {},\n \"markdown\": \"={{ $json.body }}\",\n ...", "input": "", "output": "The node 'Send Gmail' (type: n8n-nodes-base.gmail) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"nx3IJyQ7TuVxI0y2\",\n \"name\": \"Gmail account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Send Gmail' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-b27dbe34\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.641955\",\n \"updatedAt\": \"2025-09-29T07:07:52.641969\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"96c1dcb2-1fbe-4be5-b8e3-b5d2626bb5e8\",\n \"name\": \"If no playlist\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1180,\n 635.2020978272825\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"4cd09fd5-f5bf-4f82-94f4-938e6d6fc1db\",\n \"operator\": {\n \"type\": \"boolean\",\n \"operation\": \"true\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.isEmpty() }}\",\n \"rightValue\": \"\"\n }\n ]\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d17fdd6c-b998-4d41-9e44-34133577067b\",\n \"name\": \"Create Downloads Playlist\",\n \"type\": \"n8n-nodes-base.spotify\",\n \"position\": [\n 1840,\n 435.2020978272825\n ],\n \"parameters\": {\n \"name\": \"Downloads\",\n \"resource\": \"playlist\",\n \"operation\": \"create\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"spotifyOAuth2Api\": {\n \"id\": \"MXfVMBGiR5OTHLNn\",\n \"name\": \"Spotify account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This spotify node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2250ac0d-5a7c-460c-a9b2-d3b1bcb44ac7\",\n \"name\": \"Get Liked Tracks\",\n \"typ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-44edbfb6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.674315\",\n \"updatedAt\": \"2025-09-29T07:07:52.674349\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"a6d8c7aa-c75c-4aaa-8fe2-e23f3da2b8f5\",\n \"name\": \"get node types\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 820,\n 240\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"xhyxmtPC3UwZ7HmL\",\n \"name\": \"n8n account\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"55bedad2-0096-4a59-8818-9bdbe9799230\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"dc37402e-558d-4c6c-883e-450f161d5766\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1040,\n 480\n ],\n \"parameters\": {\n \"include\": \"selectedOtherFields\",\n \"options\": {\n \"destinationFieldName\": \"node\"\n },\n \"fieldToSplitOut\": \"nodes\",\n \"fieldsToInclude\": \"name, id\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"dcaec125-684a-4b50-8cb8-fcce9763929b\",\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"6cdc45e5-1fa4-47fe-b80a-0e1560996936\",\n \"name\": \"Text\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1460,\n 980\n ],\n \"parameters\": {\n \"name\": \"text_retrieval_tool\",\n \"source\": \"parameter\",\n \"description\": \"Call this tool to return all text from the given website. Query should be full website URL.\",\n \"workflowJson\": \"{\\n \\\"nodes\\\": [\\n {\\n \\\"parameters\\\": {},\\n \\\"id\\\": \\\"05107436-c9cb-419b-ae8a-b74d309a130d\\\",\\n \\\"name\\\": \\\"Execute workflow\\\",\\n \\\"type\\\": \\\"n8n-nodes-base.manualTrigger\\\",\\n \\\"typeVersion\\\": 1,\\n \\\"position\\\": [\\n 2220,\\n 620\\n ]\\n },\\n {\\n \\\"parameters\\\": {\\n \\\"assignments\\\": {\\n \\\"assignments\\\": [\\n {\\n \\\"id\\\": \\\"253c2b17-c749-4f0a-93e8-5ff74f1ce49b\\\",\\n \\\"name\\\": \\\"domain\\\",\\n \\\"value\\\": \\\"={{ $json.query }}\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n },\\n \\\"options\\\": {}\\n },\\n \\\"id\\\": \\\"bb8be616-3227-4705-8520-1827069faacd\\\",\\n \\\"name\\\": \\\"Set domain\\\",\\n \\\"type\\\": \\\"n8n-nodes-base.set\\\",\\n \\\"typeVersion\\\": 3.3,\\n \\\"position\\\": [\\n 2440,\\n 620\\n ]\\n },\\n {\\n \\\"parameters\\\": {\\n \\\"assignments\\\": {\\n \\\"assignments\\\": [\\n {\\n \\\"id\\\": \\\"ed0f1505-82b6-4393-a0d8-088055137ec9\\\",\\n \\\"name\\\": \\\"domain\\\",\\n \\\"value\\\": \\\"={{ $json.domain.startsWith(\\\\\\\"http\\\\\\\") ? $json.domain : \\\\\\\"http://\\\\\\\" + $json.domain }}\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n },\\n \\\"options\\\": {}\\n },\\n \\\"id\\\": \\\"bdf29340-f135-489f-848e-1c7fa43a01df\\\",\\n \\\"name\\\": \\\"Add protocool to domain\\\",\\n \\\"type\\\": \\\"n8n-nodes-base.set\\\",\\n \\\"typeVersion\\\": 3.3,\\n \\\"position\\\": [\\n 2640,\\n 620\\n ]\\n },\\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-3e410afd\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.657160\",\n \"updatedAt\": \"2025-09-29T07:07:52.657174\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"806e7f80-b936-49c3-9759-6f91fab5781e\",\n \"name\": \"For Each User ID...\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1640,\n 1438\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"users\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8a932c63-18d2-438d-a09c-256c3432a01f\",\n \"name\": \"Get User\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n 1900,\n 1278\n ],\n \"parameters\": {\n \"user\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"={{ $json.users }}\"\n },\n \"resource\": \"user\"\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This slack node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fefe8889-a564-4d70-a909-a3e836ca6286\",\n \"name\": \"Search for Invite Requests\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n 340,\n 840\n ],\n \"parameters\": {\n \"limit\": 3,\n \"query\": \"in:#n8n-events has::calendar:\",\n \"options\": {},\n \"operation\": \"search\"\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This slack node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bbe29b66-2b02-409a-a7c9-c6afd08f62f8\",\n \"name\": \"Get Existing Invite EventID\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 815,\n 883\n ],\n \"parameters\": {\n \"jsCode\": \"const channel = $('Search for Invite Requests').item.json.channel;\\n\\nreturn $input\\n...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-c7992f26\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.693198\",\n \"updatedAt\": \"2025-09-29T07:07:52.693213\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"bec5c6c1-52d4-4665-b814-56a6bb82ea6b\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 800,\n 660\n ],\n \"parameters\": {\n \"options\": {\n \"temperature\": 0\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d3e057d1-df44-4ac3-ac46-fc2b04e3de78\",\n \"name\": \"Get Meeting ConferenceRecords\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 20,\n 580\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"sendQuery\": true,\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"filter\",\n \"value\": \"=space.meeting_code={{ $json.conferenceData.conferenceId }}\"\n }\n ]\n },\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"googleOAuth2Api\": {\n \"id\": \"kgVOfvlBIWTWXthG\",\n \"name\": \"Google Meets Oauth2 API\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"831668fd-04ab-4144-bec0-c733902f2a13\",\n \"name\": \"Get Meeting Transcript Location\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-68ae4abe\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.740733\",\n \"updatedAt\": \"2025-09-29T07:07:52.740752\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"6359f725-1ede-4b05-bc19-05a7e85c0865\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 680,\n 292\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9e1e61c7-f5fd-4e8a-99a6-ccc5a24f5528\",\n \"name\": \"Fetch Source Image\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1000,\n 292\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9b1b94cf-3a7d-4c43-ab6c-8df9824b5667\",\n \"name\": \"Split Out Results Only\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1428,\n 323\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"result\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fcbaf6c3-2aee-4ea1-9c5e-2833dd7a9f50\",\n \"name\": \"Filter Score >= 0.9\",\n \"type\": \"n8n-nodes-base.filter\",\n \"position\": [\n 1608,\n 323\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"367...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-ae4eb085\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.696786\",\n \"updatedAt\": \"2025-09-29T07:07:52.696799\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"0404384b-10b6-4666-84a4-8870db30c607\",\n \"name\": \"Embeddings OpenAI\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1220,\n 280\n ],\n \"parameters\": {\n \"model\": \"text-embedding-3-small\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This embeddingsOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a6741f04-5a5b-47a9-ac08-eb562f9f6052\",\n \"name\": \"Default Data Loader\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1340,\n 280\n ],\n \"parameters\": {\n \"options\": {\n \"metadata\": {\n \"metadataValues\": [\n {\n \"name\": \"question\",\n \"value\": \"={{ $json.question }}\"\n },\n {\n \"name\": \"participant\",\n \"value\": \"={{ $json.participant }}\"\n },\n {\n \"name\": \"survey\",\n \"value\": \"={{ $('Get Survey Results').params.documentId.cachedResultName }}\"\n }\n ]\n }\n },\n \"jsonData\": \"={{ $json.answer }}\",\n \"jsonMode\": \"expressionData\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This documentDefaultDataLoader node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7663c3dd-f713-4034-bef6-0c000285f54f\",\n \"name\": \"Convert to Question Answer Pairs\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [...", "input": "", "output": "The node 'Survey Insights Agent' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Survey Insights Agent'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-bbf38dd0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.744257\",\n \"updatedAt\": \"2025-09-29T07:07:52.744275\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"63501cc8-77c9-4037-9f70-da23b6d20b03\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 280,\n 440\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"00de989c-d9e9-4b42-b5db-7097800a6017\",\n \"name\": \"Zip Entries\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1380,\n 360\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"833a554d-2b39-4160-9348-18b17b28ce30\",\n \"name\": \"data\",\n \"type\": \"array\",\n \"value\": \"={{ \\n $json.review_author.map((review_author, idx) => ({\\n review_author,\\n review_author_reviews_count: $json.review_author_reviews_count[idx].replace(' reviews', '').toInt(),\\n review_country: $json.review_country[idx],\\n review_date: $json.review_date[idx].toDate(),\\n review_date_of_experience: $json.review_date_of_experience[idx].replace('Date of experience: ', '').toDate(),\\n review_rating: $json.review_rating[idx].toInt(),\\n review_text: $json.review_text[idx],\\n review_title: $json.review_title[idx],\\n review_url: $('Get TrustPilot Page').params.url.match(/https:\\\\/\\\\/[^/]+/) + $json.review_url[idx],\\n }))\\n}}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9290e116-c001-49d5-ae4c...", "input": "", "output": "The node 'Sticky Note3' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note3'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-44e32142\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.694844\",\n \"updatedAt\": \"2025-09-29T07:07:52.694857\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"5961a808-a873-497e-bc42-5b760ded1571\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 380,\n 360\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7fa03eaa-7865-46ce-9f58-7e19fc0ec89b\",\n \"name\": \"Hacker News\",\n \"type\": \"n8n-nodes-base.hackerNews\",\n \"position\": [\n 1200,\n 400\n ],\n \"parameters\": {\n \"articleId\": \"={{ $('Set Variables').item.json.story_id }}\",\n \"additionalFields\": {\n \"includeComments\": true\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This hackerNews node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"82675738-9df7-47a3-8363-264bb09255f4\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1560,\n 400\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"data\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6800be57-40da-4d80-ac35-304403423263\",\n \"name\": \"Get Comments\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1380,\n 400\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"91110cf7-1932-43ca-b24e-9d4ed40447e6\",\n \"name\": \"data\",\n \"type\": \"array\",\n \"v...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"169e3a8c-82f5-4527-a187-27b8e5d903c1\",\n \"name\": \"Spotify Next\",\n \"type\": \"n8n-nodes-base.spotify\",\n \"position\": [\n 1300,\n -40\n ],\n \"parameters\": {\n \"operation\": \"nextSong\"\n },\n \"credentials\": {\n \"spotifyOAuth2Api\": {\n \"id\": \"4AquI6TQMHILfmvx\",\n \"name\": \"Spotify App Credentials\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This spotify node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7840d6b8-7eb4-4ac2-8bd0-946561f7de38\",\n \"name\": \"Spotify Resume\",\n \"type\": \"n8n-nodes-base.spotify\",\n \"position\": [\n 1300,\n 660\n ],\n \"parameters\": {\n \"operation\": \"resume\"\n },\n \"credentials\": {\n \"spotifyOAuth2Api\": {\n \"id\": \"4AquI6TQMHILfmvx\",\n \"name\": \"Spotify App Credentials\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This spotify node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"35e768a3-b648-4d5e-a6a4-fa5f5be3d922\",\n \"name\": \"Spotify Pause\",\n \"type\": \"n8n-nodes-base.spotify\",\n \"position\": [\n 1300,\n 480\n ],\n \"parameters\": {\n \"operation\": \"pause\"\n },\n \"credentials\": {\n \"spotifyOAuth2Api\": {\n \"id\": \"4AquI6TQMHILfmvx\",\n \"name\": \"Spotify App Credentials\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This spotify node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0a391400-a8f0-4c1e-ac79-bbdea4aa21b4\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -361,\n 55\n ],\n \"parameters\": {\n \"width\": 611.1911357340722,\n \"height\": 291.1542012927053,\n \"content\": \"### Receive MQTT message from IKEA 5-button Switch, and route actions.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node perf...", "input": "", "output": "The node 'Spotify API - Get Available Devices' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"spotifyOAuth2Api\": {\n \"id\": \"4AquI6TQMHILfmvx\",\n \"name\": \"Spotify App Credentials\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Spotify API - Get Available Devices' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-bc4353ab\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.746687\",\n \"updatedAt\": \"2025-09-29T07:07:52.746706\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"3102dc76-7123-4e87-b30f-e15c240e77da\",\n \"name\": \"Gmail Trigger\",\n \"type\": \"n8n-nodes-base.gmailTrigger\",\n \"position\": [\n 0,\n 0\n ],\n \"parameters\": {\n \"simple\": false,\n \"filters\": {},\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"H4Vkp5Iwb0wrQOR6\",\n \"name\": \"Nik's gmail\"\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This gmailTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1e4a55e5-289e-4d67-a161-9109bd430e75\",\n \"name\": \"Only n8n Paddle invoice mails\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 420,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"229200d1-ec13-4970-ae0e-2c8e17da0bdf\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.from.value[0].address }}\",\n \"rightValue\": \"help@paddle.com\"\n },\n {\n \"id\": \"1830d49a-5ee0-472c-bb9d-0090c0e1f5a4\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"contains\"\n },\n ...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-cf9f7977\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.739074\",\n \"updatedAt\": \"2025-09-29T07:07:52.739099\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"15739f4e-3267-4655-9118-d3c617652f23\",\n \"name\": \"Set snapshot attributes\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 3460,\n 840\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"71a51067-08ed-4300-a831-48f1d7d2ada2\",\n \"name\": \"data[0].snapshotId\",\n \"type\": \"string\",\n \"value\": \"={{ $json.data[0].snapshotId }}\"\n },\n {\n \"id\": \"00161e54-f324-4f6e-a5df-d27d1c4b7706\",\n \"name\": \"displayName\",\n \"type\": \"string\",\n \"value\": \"={{ $json.displayName }}\"\n },\n {\n \"id\": \"b4fbf9e6-c634-4dc7-b75e-44aa048b2e32\",\n \"name\": \"instanceId\",\n \"type\": \"number\",\n \"value\": \"={{ $json.instanceId }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c82ed7b8-c723-46eb-b0fc-1d9da7265a1a\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 540,\n 660\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {}\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"68b9319b-00b8-480b-b8bc-447e78d4e983\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrig...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-66e137b3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.810090\",\n \"updatedAt\": \"2025-09-29T07:07:52.810104\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"6c78b4c7-993b-410d-93e7-e11b3052e53b\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 0,\n 420\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c2ab6497-6d6d-483b-bd43-494ae95394c0\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1440,\n 600\n ],\n \"parameters\": {\n \"schemaType\": \"manual\",\n \"inputSchema\": \"{\\n\\t\\\"type\\\": \\\"object\\\",\\n\\t\\\"properties\\\": {\\n\\t\\t\\\"is_valid\\\": { \\\"type\\\": \\\"boolean\\\" },\\n \\\"photo_description\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"description\\\": \\\"describe the appearance of the person(s), object(s) if any and the background in the image. Mention any colours of each if possible.\\\"\\n },\\n\\t\\t\\\"reasons\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": { \\\"type\\\": \\\"string\\\" }\\n }\\n\\t}\\n}\"\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This outputParserStructured node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b23f5298-17c7-49ac-a8ca-78e006b2d294\",\n \"name\": \"Photo URLs\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 360,\n 380\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"6baa3e08-8957-454e-8ee9-d5414a0ff990\",\n \"name\": \"data\",\n \"type\": \"array\",\n \"v...", "input": "", "output": "The workflow has a broken data flow. The node '0a36ba22-90b2-4abf-943b-c1cc8e7317d5' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '0a36ba22-90b2-4abf-943b-c1cc8e7317d5'.\n\n**Impact**: Data from '0a36ba22-90b2-4abf-943b-c1cc8e7317d5' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '0a36ba22-90b2-4abf-943b-c1cc8e7317d5' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"0a36ba22-90b2-4abf-943b-c1cc8e7317d5\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '0a36ba22-90b2-4abf-943b-c1cc8e7317d5' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-4e78ed6e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.825753\",\n \"updatedAt\": \"2025-09-29T07:07:52.825767\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"trigger-1d0184c0\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"082d1828-72b1-48c0-8426-c8051c29f0db\",\n \"name\": \"Session\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -20,\n -20\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"3IRsYkeB2ofrwQjv\",\n \"name\": \"Fastmail\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d7dc4c50-c8fc-4999-918d-5d357567ed14\",\n \"name\": \"Get Mailbox IDs\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"notes\": \"{{ $env.API_BASE_URL }}\\n\\n{{ $env.API_BASE_URL }}\",\n \"position\": [\n 200,\n -20\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"using\\\": [\\\"urn:ietf:params:jmap:core\\\", \\\"urn:ietf:params:jmap:mail\\\"],\\n \\\"methodCalls\\\": [\\n [\\n \\\"Mailbox/get\\\",\\n {\\n \\\"accountId\\\": \\\"{{ $('Session').item.json.primaryAccounts['urn:ietf:params:jmap:mail'] }}\\\"\\n },\\n \\\"c0\\\"\\n ]\\n ]\\n }\",\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"specifyBody\": \"j...", "input": "", "output": "The node 'upload draft email' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"3IRsYkeB2ofrwQjv\",\n \"name\": \"Fastmail\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'upload draft email' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-2e964e8f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.841361\",\n \"updatedAt\": \"2025-09-29T07:07:52.841379\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f4570aad-db25-4dcd-8589-b1c8335935de\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 200,\n 2800\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"92aae60e-5fcd-4588-9a41-92e7c1b7f2ff\",\n \"name\": \"SERP results\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1286,\n 2800\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"b3e662aa-7ace-45ca-815a-0ad1d65ef7a0\",\n \"name\": \"organicResults\",\n \"type\": \"array\",\n \"value\": \"={{ $json.result.organicResults }}\"\n },\n {\n \"id\": \"ac655bf2-181f-4117-a7d6-aa4ec2738bd9\",\n \"name\": \"peopleAlsoAsk\",\n \"type\": \"array\",\n \"value\": \"={{ $json.result.peopleAlsoAsk }}\"\n },\n {\n \"id\": \"9e045f00-006e-4b8b-863d-cb25d682b69d\",\n \"name\": \"searchQuery\",\n \"type\": \"string\",\n \"value\": \"={{ $json.result.searchQuery.term }}\"\n },\n {\n \"id\": \"08c1f92b-deac-4951-863f-721e0714739b\",\n \"name\": \"paidAds\",\n \"type\": \"string\",\n \"value\": \"={{ $json.result.paidResults }}\"\n }\n ]\n }\n },\n \"notesInFlow\": true,\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as par...", "input": "", "output": "In node 'Split out Keywords', the parameter 'fieldToSplitOut' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `Keyword`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Split out Keywords' parameter 'fieldToSplitOut'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a4ef417a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.827392\",\n \"updatedAt\": \"2025-09-29T07:07:52.827405\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"dd9e2f9c-225a-4b6b-9904-293206a477e4\",\n \"name\": \"Get advice articles from a Google search\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1040,\n 360\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {\n \"batching\": {\n \"batch\": {\n \"batchSize\": 25\n }\n }\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0e2bcaeb-65a0-400a-a15e-0840723d8144\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 980,\n 320\n ],\n \"parameters\": {\n \"color\": 2,\n \"width\": 621.7044818991839,\n \"height\": 566.8592254014303,\n \"content\": \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n## 1. Get advice articles from a Google search**\\nUses an HTTP request to perform a Google search for LinkedIn advice articles based on a predefined query.\\n\\n## 2. Extract Article links for LinkedIn advice articles\\nThis Code node extracts LinkedIn article URLs from the Google search results by using a regular expression. It pulls all article links related to LinkedIn advice.\\n\\n## 3. Split Out all links for LinkedIn advice articles\\nSplits the list of extracted LinkedIn article links into individual items. This allows each article to be processed one at a time in the following steps.\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"68eefc93-6c82...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a0e6a2c8\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.829658\",\n \"updatedAt\": \"2025-09-29T07:07:52.829673\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f4570aad-db25-4dcd-8589-b1c8335935de\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 480,\n 1800\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1c1be9d6-3fd5-44c2-a7dd-d291b9efe65b\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -260,\n 1360\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 657.3293805248016,\n \"height\": 843.3412992154545,\n \"content\": \"## Generate SEO Keyword Search Volume Data using Google API\\n\\n## Use Case\\nGenerate accurate search volume data for SEO keyword research:\\n- You have a list of potential keywords to target for your website SEO but don't know their actual search volume\\n- You need historical data to identify seasonal trends in keyword popularity\\n- You want to assess keyword difficulty to prioritize your content strategy\\n- You need data-driven insights for planning your SEO campaigns\\n\\n## What this Workflow Does\\nThe workflow connects to Google's Keyword Planner API to retrieve keyword metrics for your SEO research:\\n\\n- Fetches monthly search volume for each keyword\\n- Provides historical trends data for the past 12 months\\n- Calculates keyword difficulty scores\\n- Delivers competition metrics from Google Ads\\n\\n\\n## Setup\\n1. Fill the `Set 20 Keywords` with up to 20 Keywords of your choosing in an array e.g. [\\\"keyword 1\\\", \\\"keyword 2\\\",...]\\n2. Create a Google Ads ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-7c6a6210\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.862889\",\n \"updatedAt\": \"2025-09-29T07:07:52.862901\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"6325369f-5881-4e4e-b71b-510a64b236ef\",\n \"name\": \"Retrieve relevant info\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1260,\n 400\n ],\n \"parameters\": {\n \"mode\": \"raw\",\n \"options\": {},\n \"jsonOutput\": \"={\\n\\\"track\\\" : \\\"{{ $json.track.name.replaceAll('\\\"',\\\"'\\\") }}\\\",\\n\\\"artist\\\": \\\"{{ $json.track.artists[0].name }}\\\",\\n\\\"album\\\" :\\\"{{ $json.track.album.name }}\\\",\\n\\\"track_spotify_uri\\\" : \\\"{{ $json.track.uri }}\\\",\\n\\\"track_spotify_id\\\" : \\\"{{ $json.track.id }}\\\",\\n\\\"external_urls\\\": \\\"{{ $json.track.external_urls.spotify }}\\\",\\n\\\"track_popularity\\\" : \\\"{{ $json.track.popularity }}\\\",\\n\\\"album_release_date\\\" : \\\"{{ $json.track.album.release_date.toDateTime().year }}\\\"\\n}\"\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2252fe16-6ee7-4fbe-b74e-d9bdcc7ad708\",\n \"name\": \"Batch preparation\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 1560,\n 280\n ],\n \"parameters\": {\n \"jsCode\": \"const items = $input.all();\\nconst trackSpotifyIds = items.map((item) => item?.json?.track_spotify_id);\\n\\nconst aggregatedItems = [];\\nfor (let i = 0; i < trackSpotifyIds.length; i += 100) {\\n aggregatedItems.push({\\n json: {\\n trackSpotifyIds: trackSpotifyIds.slice(i, i + 100),\\n },\\n });\\n}\\n\\nreturn aggregatedItems;\\n\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"83c181f8-ed18-41d7-8c7e-26b0dd320083\",\n \"name\": \"Get Track...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-22b6c420\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.860174\",\n \"updatedAt\": \"2025-09-29T07:07:52.860188\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"11abe711-000c-4960-9f07-4e124532ba83\",\n \"name\": \"create_folder\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 20,\n 440\n ],\n \"parameters\": {\n \"name\": \"={{ $('topic_variables').item.json.Title }}\",\n \"driveId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"My Drive\"\n },\n \"options\": {},\n \"folderId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"root\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"/ (Root folder)\"\n },\n \"resource\": \"folder\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"MHcgKR744VHXSe3X\",\n \"name\": \"Drive n8n\"\n }\n },\n \"typeVersion\": 3,\n \"notes\": \"This googleDrive node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8198bcdb-3082-43d8-84aa-77e292b56e05\",\n \"name\": \"input_brief\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1040,\n 440\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"eff28505-c438-4c44-8db4-188797b1e5f3\",\n \"name\": \"content\",\n \"type\": \"string\",\n \"value\": \"={{ $('create_outline').item.json.message.content }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9b2be845-91c5-4fa8-9007-c0cee4058ddd\",\n \"name\": \"new_lines...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"c3ef40df-084e-435c-9a11-3aa0a2f94f36\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 740,\n 520\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e0583472-a450-4582-83bc-84a014bea543\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1640,\n 520\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"output.results\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b8aa573d-5b63-4669-900f-bcc915b6ad41\",\n \"name\": \"Save to Google Sheets\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 1900,\n 520\n ],\n \"parameters\": {\n \"columns\": {\n \"value\": {},\n \"schema\": [\n {\n \"id\": \"name\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"name\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"price\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"price\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"availability\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"availability\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"imag...", "input": "", "output": "The node 'Jina Fetch' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Jina Fetch'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"d73e5113-119f-4e62-9872-48e6a971d760\",\n \"name\": \"Stop Interview?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 3380,\n 920\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"3cf788a6-94d0-4223-9caa-30b8e4df8e01\",\n \"operator\": {\n \"type\": \"boolean\",\n \"operation\": \"true\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.output.stop_interview }}\",\n \"rightValue\": \"\"\n }\n ]\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cda3c487-97fa-4037-b9a0-0802f4a02727\",\n \"name\": \"Generate Row\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 3740,\n 1200\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"06146a75-b67a-42cf-aa6f-241f23c47b9a\",\n \"name\": \"timestamp\",\n \"type\": \"string\",\n \"value\": \"={{ $now.toISO() }}\"\n },\n {\n \"id\": \"b0278c64-58a7-487d-b7ba-d102fb5d4a0c\",\n \"name\": \"type\",\n \"type\": \"string\",\n \"value\": \"next_question\"\n },\n {\n \"id\": \"ba034ca1-408e-422f-b071-dab0ef12fb48\",\n \"name\": \"question\",\n \"type\": \"string\",\n \"value\": \"={{ $('Parse Response').item.json.output.question }}\"\n },\n {\n \"id\": \"a2231f6e-f507-408e-b598-53888cf8d4b5\",\n \"name\": \"answer\",\n \"type\": \"st...", "input": "", "output": "In node 'Sticky Note', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n### \ud83d\udea8 Set Interview Topic Here!`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-3653027a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.913515\",\n \"updatedAt\": \"2025-09-29T07:07:52.913642\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Import Productboard Notes, Companies and Features into Snowflake\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"adcb71e4-880b-4c19-acbb-0708ae4af95f\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 5620,\n 1440\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 442.66083354762577,\n \"height\": 155.09952210536395,\n \"content\": \"## Preview Slack Message\\n:productboard: Weekly Update in :snowflake_logo: Completed\\n27 new insights added in the last 7 days.\\n88 insights remain unprocessed.\\nYou can view the updated :metabase: dashboard below:\\n\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8a590e59-cbcd-43f3-a0de-7c1391661fcf\",\n \"name\": \"Manual mapping feature\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 4380,\n -180\n ],\n \"parameters\": {\n \"fields\": {\n \"values\": [\n {\n \"name\": \"feature_id\",\n \"stringValue\": \"={{ $json.id }}\"\n },\n {\n \"name\": \"feature_name\",\n \"stringValue\": \"={{ $json.name }}\"\n },\n {\n \"name\": \"feature_status\",\n \"stringValue\": \"={{ $json.status.name }}\"\n },\n {\n \"name\": \"feature_start_date\",\n \"stringValue\": \"={{ $json.timeframe.startDate }}\"\n },\n {\n \"name\": \"fea...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-9a3c5ed9:\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:52.944226\",\n \"updatedAt\": \"2025-09-29T07:07:52.944238\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"201ef455-2d65-4563-8ec1-318211b1fa6a\",\n \"name\": \"Get Message Contents\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 2080,\n 500\n ],\n \"webhookId\": \"fa1d496f-17fa-4e50-bae9-84ca85ed4502\",\n \"parameters\": {\n \"simple\": false,\n \"options\": {},\n \"messageId\": \"={{ $json.id }}\",\n \"operation\": \"get\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"Sf5Gfl9NiFTNXFWb\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmail node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ded010af-e977-4c47-87dd-8221d601af74\",\n \"name\": \"Simplify Emails\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 2240,\n 500\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"2006c806-42db-4457-84c2-35f59ed39018\",\n \"name\": \"date\",\n \"type\": \"string\",\n \"value\": \"={{ $json.date }}\"\n },\n {\n \"id\": \"872278d2-b97c-45ba-a9d3-162f154fe7dc\",\n \"name\": \"subject\",\n \"type\": \"string\",\n \"value\": \"={{ $json.subject }}\"\n },\n {\n \"id\": \"282f03e9-1d0f-4a17-b9ed-75b44171d4ee\",\n \"name\": \"text\",\n \"type\": \"string\",\n \"value\": \"={{ $json.text }}\"\n },\n {\n \"id\": \"9421776c-ff53-4490-b0e1-1e610534ba25\",\n \"name\": \"from\",\n \"type\": \"string\",\n ...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"ec2683b4-06ae-4255-bf20-b6c5850f4fc5\",\n \"name\": \"Parse Webhook\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -480,\n 1100\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"e63f9299-a19d-4ba1-93b0-59f458769fb2\",\n \"name\": \"response\",\n \"type\": \"object\",\n \"value\": \"={{ $json.body.payload }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bb178ce9-3177-433e-a877-3635be7c3705\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -820,\n 740\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 466.8168310000617,\n \"height\": 567.6433222116042,\n \"content\": \"![Imgur]({{ $env.WEBHOOK_URL }}\\n## Events Webhook Trigger\\nThe first node receives all messages from Slack API via Subscription Events API. You can find more information about setting up the subscription events API by [clicking here]({{ $env.API_BASE_URL }} \\n\\nThe second node extracts the payload from slack into an object that n8n can understand. \"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"04d35926-1c7d-406b-90f1-9641680cb3b7\",\n \"name\": \"Sticky Note15\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -340,\n 420\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 566.0553219408072,\n \"height\": 1390.6748140207737,\n \"content\": \"![n8n]({{ $env.WEBHOOK_URL }}\\n## Efficient Slack Interaction Handling with n8n\\n\\nThis section of the workflow is designed to efficiently manage and route messages and submissions from Slack based on specific triggers and condition...", "input": "", "output": "The node 'Post Image to Channel' (type: n8n-nodes-base.slack) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"slackApi\": {\n \"id\": \"GjRorC99RZt4Wnrp\",\n \"name\": \"Image Upload Bot\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Post Image to Channel' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"a4c46baf-ff6d-489f-9c77-a5e4cfe6b580\",\n \"name\": \"Fetch Github Repo Releases\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 640,\n 240\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"aba391ad-eedc-4cf7-a770-646eba11e3fe\",\n \"name\": \"Split Out Content\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1100,\n 140\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"body\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ea29ed9d-5b34-46f2-87c6-2bacf4b7d7bf\",\n \"name\": \"Convert Markdown to HTML\",\n \"type\": \"n8n-nodes-base.markdown\",\n \"position\": [\n 1280,\n 140\n ],\n \"parameters\": {\n \"mode\": \"markdownToHtml\",\n \"options\": {},\n \"markdown\": \"={{ $json.body }}\",\n \"destinationKey\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This markdown node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"53bf597d-3f64-4375-9632-c8aed38e88df\",\n \"name\": \"Daily Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {}\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"14bf72aa-167b-44e4-ba6c-f20f1c366b93\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 540,\n 140\n ],\n \"parameters\": {\n \"width\": 288,\n \"height\": 300,\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-93ae74d6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.007168\",\n \"updatedAt\": \"2025-09-29T07:07:53.007224\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"266ebce9-540d-4fd8-95c2-2799f0eff8d9\",\n \"name\": \"Get Base Schema\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 420,\n 160\n ],\n \"parameters\": {\n \"base\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"={{ $json.BaseId }}\"\n },\n \"resource\": \"base\",\n \"operation\": \"getSchema\"\n },\n \"credentials\": {\n \"airtableTokenApi\": {\n \"id\": \"Und0frCQ6SNVX3VV\",\n \"name\": \"Airtable Personal Access Token account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This airtable node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1c33d0db-6eac-4638-8b5e-867ec52abd11\",\n \"name\": \"On form submission\",\n \"type\": \"n8n-nodes-base.formTrigger\",\n \"position\": [\n 80,\n 160\n ],\n \"webhookId\": \"a6daabfe-5507-4ac1-9345-45a59ba67630\",\n \"parameters\": {\n \"options\": {\n \"path\": \"airtable-n8n-form\",\n \"ignoreBots\": true\n },\n \"formTitle\": \"Airtable to n8n Form\",\n \"formFields\": {\n \"values\": [\n {\n \"fieldType\": \"dropdown\",\n \"fieldLabel\": \"BaseId\",\n \"fieldOptions\": {\n \"values\": [\n {\n \"option\": \"appfP15Xd0aVZR9xV\"\n }\n ]\n },\n \"requiredField\": true\n },\n {\n \"fieldType\": \"dropdown\",\n \"fieldLabel\": \"TableId\",\n \"fieldOptions\": {\n \"values\": [\n {\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"8e3f167d-cbeb-4f7f-a867-c356d2dca9d0:\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1580,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"rows\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"19370d12-f6de-44a1-91a6-da097abdf7de\",\n \"name\": \"Edit Fields\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1780,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"7343c80f-37f3-4bb5-84d8-9f21f8a350cd\",\n \"name\": \"Keyword\",\n \"type\": \"string\",\n \"value\": \"={{ $json.keys[0] }}\"\n },\n {\n \"id\": \"436e7c8b-2df2-40a9-97af-597dc00cf143\",\n \"name\": \"clicks\",\n \"type\": \"number\",\n \"value\": \"={{ $json.clicks }}\"\n },\n {\n \"id\": \"5b4aaffe-391a-4c9d-8249-f447397a3f5d\",\n \"name\": \"impressions\",\n \"type\": \"number\",\n \"value\": \"={{ $json.impressions }}\"\n },\n {\n \"id\": \"33677237-57fe-48f4-aff8-72ae81b5f5a2\",\n \"name\": \"ctr\",\n \"type\": \"number\",\n \"value\": \"={{ $json.ctr }}\"\n },\n {\n \"id\": \"f961deee-d222-4df7-a7ff-b7286405e4a7\",\n \"name\": \"position\",\n \"type\": \"number\",\n \"value\": \"={{ $json.position }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9eae4908-5266-439c-a66b-5679036234de\",\n \"name\": \"Split Out1\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1580,\n 440\n ],...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"c17e444e-0a5e-4bfe-8de6-c3185de4465d\",\n \"name\": \"Grants to List\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n -240,\n -180\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"oppHits\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9251d39c-6098-42fa-aadd-3a22464dee64\",\n \"name\": \"Get Grant Details\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 280,\n -280\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"contentType\": \"form-urlencoded\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"oppId\",\n \"value\": \"={{ $json.id }}\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ade994d6-a1f8-45bf-a82e-83eb38da08d6\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 440,\n -120\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4d81b20e-0038-48d3-840c-3fcf8b798a0d\",\n \"name\": \"Summarize Synopsis\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 460,\n -280\n ],\n \"parameters\": {\n \"text\": \"=Agency: {{ $json.synopsis.agencyName }}\\nTitle: {{ $json.opportunityTitle }}\\nSynopsis: {{ $json.synopsis.synopsisDesc }}\",\n \"options\": {\n \"systemPromptTemplate\": \"You've bee...", "input": "", "output": "The node 'Everyday @ 9am' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Everyday @ 9am'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"82fd6023-2cc3-416e-83b7-fda24d07d77a\",\n \"name\": \"Issues to List\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 40,\n -100\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"data.issues.nodes\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9cc77786-e14f-47c6-a3cf-60c2830612e6\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 360,\n 80\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"821d4a60-81a4-4915-9c13-3d978cc0114b\",\n \"name\": \"Combine Sentiment Analysis\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 700,\n -80\n ],\n \"parameters\": {\n \"mode\": \"raw\",\n \"options\": {},\n \"jsonOutput\": \"={{\\n{\\n ...$('Issues to List').item.json,\\n ...$json.output\\n}\\n}}\"\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fe6560f6-2e1b-4442-a2af-bd5a1623f213\",\n \"name\": \"Sentiment over Issue Comments\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 360,\n -80\n ],\n \"parameters\": {\n \"text\": \"={{\\n$json.comments.nodes.map(node => [\\n `${node.user.displayName} commented on ${node.createdAt}:`,\\n node.body\\n].join('\\\\n')).join('---\\\\n')\\n}}\",\n \"options\": {},\n \"attributes\": {\n \"attributes\": [\n {\n \"name\": \"sentiment\",\n \"required\": true,\n \"description\": \"One of positive, negative or neutral\"\n ...", "input": "", "output": "The node 'Fetch Active Linear Issues' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Fetch Active Linear Issues'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"d3159589-dbb7-4cca-91f5-09e8b2e4cba8\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 240,\n 500\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b4b42b3f-ef30-4fc8-829d-59f8974c4168\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2180,\n 700\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"032c3012-ed8d-44eb-94f0-35790f4b616f\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2980,\n 460\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bf922785-7e8f-4f93-bfff-813c16d93278\",\n \"name\": \"OpenAI Chat Model2\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2020,\n 520\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d8d4b26f-270f-4b39-a4cd-a6e4361da591\",\n \"name\": \"Extract Voice Characteristics\",\n \"type\": \"n8n-nodes-base.no...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"41183066-0045-4a75-ba23-42f4efcfeccc\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 720,\n 720\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-1.5-flash\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"Hx1fn2jrUvojSKye\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatGoogleGemini node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"eb061c39-7a4d-42e7-bb42-806504731b11\",\n \"name\": \"Basic LLM Chain\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 700,\n 560\n ],\n \"parameters\": {\n \"text\": \"=Your Task is to find the best resources to learn {{ $('GetTopicFromToLearn').item.json[\\\"I want to learn\\\"] }}. \\n\\nI have scraped the HackerNews and The following is the list of comments from HackerNews on topic about Learning {{ $('GetTopicFromToLearn').item.json[\\\"I want to learn\\\"] }}\\n\\n\\nFocus only on comments that provide any resouces or advice or insight about learning {{ $('GetTopicFromToLearn').item.json.Learn }}. Ignore all other comments that are off topic discussions.\\n\\nNow based on these comments, you need to find the top resources and list them. \\n\\nCategorize them based on resource type (course, book, article, youtube videos, lectures, etc) and also figure out the difficultiy level (beginner, intermediate, advanced, expert).\\n\\nYou don't always to have fill in these categories exactly, these are given here for reference. Use your intution to find the best categorization.\\n\\nNow based on these metrics and running a basic sentiment analysis on comments you need to figure out what the top resources are. \\n\\nRespond back in Markdown formatted text. In the following format\\n\\n**OUTPUT FORMAT**\\n\\n```\\n\\n## Top HN Recomended Resources To Learn \\...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-1e8bd270\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.048976\",\n \"updatedAt\": \"2025-09-29T07:07:53.049027\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"ff4e8706-09a0-4bf1-86c1-dfb65f55ccb3\",\n \"name\": \"Google Drive Trigger\",\n \"type\": \"n8n-nodes-base.googleDriveTrigger\",\n \"position\": [\n 20,\n -140\n ],\n \"parameters\": {\n \"event\": \"fileCreated\",\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n },\n \"triggerOn\": \"specificFolder\",\n \"folderToWatch\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1-hRMnBRYgY6iVJ_youKMyPz83k9GAVYu\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"nnnnnnnnnnn8n\"\n }\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"PlyNQuMqlwn9SuLb\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This googleDriveTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"340fb03b-3b8a-4eb4-ad4c-b0ba12b72b19\",\n \"name\": \"Google Drive\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 260,\n -140\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"={{ $json.id }}\"\n },\n \"options\": {\n \"binaryPropertyName\": \"data\"\n },\n \"operation\": \"download\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"PlyNQuMqlwn9SuLb\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 3,\n \"notes\": \"This googleDrive node performs automated t...", "input": "", "output": "In node 'Sticky Note', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `## Remove PII from CSV Files\nThis workflow monitors a Google Drive folder for new CSV files, identifies and removes PII columns using OpenAI, and uploads the sanitized file back to the drive. It requires Google Drive and OpenAI integrations with API access enabled.`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"065d7ec9-edc5-46f6-b8ac-d62ed0e5c8e3\",\n \"name\": \"Baserow Event\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n -1180,\n -140\n ],\n \"webhookId\": \"267ea500-e2cd-4604-a31f-f0773f27317c\",\n \"parameters\": {\n \"path\": \"267ea500-e2cd-4604-a31f-f0773f27317c\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ac1403b4-9d45-404d-9892-0bed39b9ec82\",\n \"name\": \"Event Type\",\n \"type\": \"n8n-nodes-base.switch\",\n \"position\": [\n -220,\n -140\n ],\n \"parameters\": {\n \"rules\": {\n \"values\": [\n {\n \"outputKey\": \"YOUR_CREDENTIAL_HERE\",\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"2162daf8-d23d-4b8f-8257-bdfc5400a3a8\",\n \"operator\": {\n \"name\": \"filter.operator.equals\",\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.event_type }}\",\n \"rightValue\": \"rows.updated\"\n }\n ]\n },\n \"renameOutput\": true\n },\n {\n \"outputKey\": \"YOUR_CREDENTIAL_HERE\",\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n ...", "input": "", "output": "The node 'Sticky Note13' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note13'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-227fa03b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.076421\",\n \"updatedAt\": \"2025-09-29T07:07:53.076429\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"86ddd018-3d6b-46b9-aa93-dedd6c6b5076\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -880,\n 360\n ],\n \"webhookId\": \"a9668bb8-bbe8-418a-b5c9-ff7dd431244f\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a5ba5090-8e3b-4408-82df-92d2c524039e\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -680,\n 360\n ],\n \"parameters\": {\n \"options\": {\n \"systemMessage\": \"You are a cybersecurity expert trained on MITRE ATT&CK and enterprise incident response. Your job is to:\\n1. Extract TTP information from SIEM data.\\n2. Provide actionable remediation steps tailored to the alert.\\n3. Cross-reference historical patterns and related alerts.\\n4. Recommend external resources for deeper understanding.\\n\\nEnsure that:\\n- TTPs are tagged with the tactic, technique name, and technique ID.\\n- Remediation steps are specific and actionable.\\n- Historical data includes related alerts and notable trends.\\n- External links are relevant to the observed behavior.\\n\"\n }\n },\n \"typeVersion\": 1.7,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"67c52944-b616-4ea6-9507-e9fb6fcdbe2b\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -740,\n 580\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\"...", "input": "", "output": "The node 'Qdrant Vector Store query' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"qdrantApi\": {\n \"id\": \"u0qre50aar6iqyxu\",\n \"name\": \"Angel MitreAttack Demo Cluster\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Qdrant Vector Store query' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-655452ac\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.074168\",\n \"updatedAt\": \"2025-09-29T07:07:53.074176\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"dd049dd7-3f85-4c36-a4ec-d5df856fed14\",\n \"name\": \"Notion Trigger\",\n \"type\": \"n8n-nodes-base.notionTrigger\",\n \"position\": [\n -100,\n 360\n ],\n \"parameters\": {\n \"event\": \"pagedUpdatedInDatabase\",\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n },\n \"databaseId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"f50f830b-cadd-4d9c-9a38-bb22e284193e\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Journal\"\n }\n },\n \"credentials\": {\n \"notionApi\": {\n \"id\": \"C26NOhx95lnHIdzV\",\n \"name\": \"Notion account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This notionTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4bedb493-7a17-4d3f-8b00-93d7134e74ca\",\n \"name\": \"Notion\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 320,\n 220\n ],\n \"parameters\": {\n \"blockId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"={{ $json.id }}\"\n },\n \"resource\": \"block\",\n \"operation\": \"getAll\",\n \"returnAll\": true\n },\n \"credentials\": {\n \"notionApi\": {\n \"id\": \"C26NOhx95lnHIdzV\",\n \"name\": \"Notion account\"\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This notion node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8994422e-8b71-4638-be36-d105557a20d8\",\n \"name\": \"Notion Node Blocks to Md\",...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-683b1b22\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.106657\",\n \"updatedAt\": \"2025-09-29T07:07:53.106678\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"cbc036f7-b0e1-4eb4-94c3-7571c67a1efe\",\n \"name\": \"Code\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n -120,\n 40\n ],\n \"parameters\": {\n \"mode\": \"runOnceForEachItem\",\n \"jsCode\": \"// Get the input text\\nconst text = $input.item.json.text;\\n\\n// Ensure text is not null or undefined\\nif (!text) {\\n throw new Error('Input text is empty');\\n}\\n\\n// Function to split text into sentences while preserving dates and list items\\nfunction splitIntoSentences(text) {\\n const monthNames = '(?:Januar|Februar|M\\u00e4rz|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember)';\\n const datePattern = `(?:\\\\\\\\d{1,2}\\\\\\\\.\\\\\\\\s*(?:${monthNames}|\\\\\\\\d{1,2}\\\\\\\\.)\\\\\\\\s*\\\\\\\\d{2,4})`;\\n \\n // Split by sentence-ending punctuation, but not within dates or list items\\n const regex = new RegExp(`(?<=[.!?])\\\\\\\\s+(?=[A-Z\\u00c4\\u00d6\\u00dc]|$)(?!${datePattern}|\\\\\\\\s*[-\\u2022]\\\\\\\\s)`, 'g');\\n \\n return text.split(regex)\\n .map(sentence => sentence.trim())\\n .filter(sentence => sentence !== '');\\n}\\n\\n// Split the text into sentences\\nconst sentences = splitIntoSentences(text);\\n\\n// Output a single object with an array of sentences\\nreturn { json: { sentences: sentences } };\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"faae4740-a529-4275-be0e-b079c3bfde58\",\n \"name\": \"Split Out1\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 340,\n -180\n ],\n \"parameters\": {\n \"options\": {\n \"destinationFieldName\": \"claim\"\n },...", "input": "", "output": "The node 'Basic LLM Chain' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Basic LLM Chain'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-c3d97436\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.109720\",\n \"updatedAt\": \"2025-09-29T07:07:53.109729\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"c8481fc0-4cc2-4662-b008-e81eaeb4840b\",\n \"name\": \"Gmail Trigger\",\n \"type\": \"n8n-nodes-base.gmailTrigger\",\n \"position\": [\n -340,\n 0\n ],\n \"parameters\": {\n \"simple\": false,\n \"filters\": {\n \"sender\": \"ray.thomas@charter.com\",\n \"readStatus\": \"unread\"\n },\n \"options\": {\n \"downloadAttachments\": true,\n \"dataPropertyAttachmentsPrefixName\": \"attachment_\"\n },\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"egorWvqjkdIG2ovh\",\n \"name\": \"Gmail account - rthomascharter\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This gmailTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fd82d244-dfab-46db-af8e-e674501db75d\",\n \"name\": \"Google Drive\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 540,\n 0\n ],\n \"parameters\": {\n \"name\": \"={{ $binary.values()[0].fileName }}\",\n \"driveId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"My Drive\"\n },\n \"options\": {},\n \"folderId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"0BwqhgrfUUaOuM2x1NXhxLUlGVEE\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"misc\"\n },\n \"inputDataFieldName\": \"={{ $binary.keys()[0] }}\"\n },\n \"typeVersion\": 3,\n \"notes\": \"This googleDrive node performs a...", "input": "", "output": "The node 'Google Drive' (type: n8n-nodes-base.googleDrive) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"fwkvLJni8GfLNqBZ\",\n \"name\": \"Google Drive account - rthomascharter\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Google Drive' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-d32701c9\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.108403\",\n \"updatedAt\": \"2025-09-29T07:07:53.108411\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"95c798a4-bc34-4219-b7c3-6b4a4070886b\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -320,\n 1080\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"09987590-1ec2-48d4-aa04-32b85addd9e6\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 420,\n 1080\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"newsTitle\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"758e3f60-01dc-46c7-bb53-7460eaed92e3\",\n \"name\": \"Extract News Block\",\n \"type\": \"n8n-nodes-base.html\",\n \"position\": [\n 220,\n 1080\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"extractHtmlContent\",\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"cssSelector\": \".eGcloy\",\n \"returnArray\": true,\n \"returnValue\": \"html\"\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This html node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"20440f9a-a40c-4419-af6d-383de041d078\",\n \"name\": \"Extract News Content\",\n \"type\": \"n8n-nodes-base.html\",\n \"position\": [\n 600,\n 1080\n ],\n \"parameters\": {\n \"options\": {},\n \"...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"2DzQ1FH11S3Gp6wn\",\n \"meta\": {\n \"instanceId\": \"workflow-983a517b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.138441\",\n \"updatedAt\": \"2025-09-29T07:07:53.138485\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"YogiAI\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"2afc390e-d774-4db4-a52f-138f13837646\",\n \"name\": \"Azure OpenAI Chat Model2\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1040,\n 0\n ],\n \"parameters\": {\n \"model\": \"4o\",\n \"options\": {\n \"temperature\": 0.8\n }\n },\n \"credentials\": {\n \"azureOpenAiApi\": {\n \"id\": \"5AjoWhww5SQi2VXd\",\n \"name\": \"Azure Open AI account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatAzureOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"529d9ed9-3ae5-41cb-983e-874aa37ee1c7\",\n \"name\": \"YogaLog\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 2240,\n -100\n ],\n \"parameters\": {\n \"columns\": {\n \"value\": {\n \"Date\": \"={{ $('Trigger 2130 YogaPosesToday').first().json.timestamp }}\",\n \"JSON\": \"={{ $('CombineAll').item.json.LineBody }}\",\n \"Text\": \"={{ $('RewritePosesToday').item.json.text }}\"\n },\n \"schema\": [\n {\n \"id\": \"Date\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"Date\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"Text\",\n \"type\": \"string\",\n \"display\": true,\n \"requ...", "input": "", "output": "The node 'AI Agent' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'AI Agent'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-797a6228\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.118421\",\n \"updatedAt\": \"2025-09-29T07:07:53.118439\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"25fb4302-853a-421d-8e4f-4a18d723c4a0\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"disabled\": true,\n \"position\": [\n -860,\n 380\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"acb8e29a-75b8-4ccb-aca8-20d5a7053334\",\n \"name\": \"Gong\",\n \"type\": \"n8n-nodes-base.gong\",\n \"disabled\": true,\n \"position\": [\n -440,\n 120\n ],\n \"parameters\": {\n \"filters\": {\n \"toDateTime\": \"={{ $now.toISO() }}\",\n \"fromDateTime\": \"={{ $now.minus({ days: 2 }).toISO() }}\"\n },\n \"options\": {},\n \"returnAll\": true,\n \"requestOptions\": {}\n },\n \"credentials\": {\n \"gongApi\": {\n \"id\": \"EchfvOC4rjw8MUkr\",\n \"name\": \"Liam Gong Cred\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This gong node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"930a7fc9-64a1-4966-be0d-c58132b735e5\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -700,\n -60\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 1080,\n \"height\": 920,\n \"content\": \"## Get Gong Calls and Supporting Data\\nBesides the phone calls, integration and competitor data is extracted to supplement the AI prompt with accurate data to compare against mispronunciations. \"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs...", "input": "", "output": "The node 'Get list of Competitors' (type: n8n-nodes-base.notion) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"notionApi\": {\n \"id\": \"{{ $credentials.notionApi.id }}\",\n \"name\": \"Notion david-internal\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Get list of Competitors' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-0a893a9d\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.126429\",\n \"updatedAt\": \"2025-09-29T07:07:53.126438\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"e893e48c-1b69-413a-90d7-ad6ce5987e7c\",\n \"name\": \"Execute Workflow Trigger\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n -180,\n -60\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This executeWorkflowTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1c42e95b-705d-43ae-91ce-1029334b9e9a\",\n \"name\": \"Retrieve detailed call data\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 60,\n 40\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {\n \"fullResponse\": true\n },\n \"requestMethod\": \"POST\",\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"jsonParameters\": true,\n \"genericAuthType\": \"httpHeaderAuth\",\n \"bodyParametersJson\": \"={\\n \\\"contentSelector\\\": {\\n \\\"context\\\": \\\"Extended\\\",\\n \\\"contextTiming\\\": [\\\"Now\\\", \\\"TimeOfCall\\\"],\\n \\\"exposedFields\\\": {\\n \\\"collaboration\\\": {\\n \\\"publicComments\\\": true\\n },\\n \\\"content\\\": {\\n \\\"pointsOfInterest\\\": true,\\n \\\"structure\\\": true,\\n \\\"topics\\\": true,\\n \\\"trackers\\\": true\\n },\\n \\\"interaction\\\": {\\n \\\"personInteractionStats\\\": true,\\n \\\"questions\\\": true,\\n \\\"speakers\\\": true,\\n \\\"video\\\": true\\n },\\n \\\"media\\\": false,\\n \\\"parties\\\": true\\n }\\n },\\n \\\"filter\\\": {\\n \\\"callIds\\\": [\\\"{{ $json['calldata[0].calls'].id }}\\\"]\\n }\\n}\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\"...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-85fcc410\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.143168\",\n \"updatedAt\": \"2025-09-29T07:07:53.143178\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"eec7d9b8-d1e3-4a43-9e0d-f6d750e736b5\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -640,\n -400\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5276a2cf-3d42-409a-800d-9080aa5e1a09\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1820,\n -60\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.0-flash\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"BB5B0v4OaFQeEt3C\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatGoogleGemini node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1b89dca9-1137-4e0f-b3ff-1b354152c128\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1880,\n -260\n ],\n \"parameters\": {\n \"text\": \"={{ $('Loop Over Items').all() }}\",\n \"options\": {\n \"passthroughBinaryImages\": true\n },\n \"promptType\": \"define\"\n },\n \"typeVersion\": 1.7,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"00348203-882f-48da-8127-e57cf30c5b20\",\n \"name\": \"Get image from unsplash2\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1160,\n -280\n ],\n \"parameters\": {\n ...", "input": "", "output": "The node 'Call Gemini API with Image' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"httpQueryAuth\": {\n \"id\": \"Eh1GI1UjOtJk4CDZ\",\n \"name\": \"Query Gemini Auth account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Call Gemini API with Image' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-5c1747cf\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.169047\",\n \"updatedAt\": \"2025-09-29T07:07:53.169069\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"My workflow 2\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"1562791c-33a9-425c-a774-32e328bd4715\",\n \"name\": \"Token Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"notes\": \"Get the token from Dartagnan that expires after 60 minutes\",\n \"position\": [\n 60,\n 200\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"method\": \"POST\",\n \"options\": {\n \"redirect\": {\n \"redirect\": {}\n }\n },\n \"sendBody\": true,\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"client_id\",\n \"value\": \"={{ $('Assign Credentials').item.json.client_id }}\"\n },\n {\n \"name\": \"client_secret\",\n \"value\": \"={{ $('Assign Credentials').item.json.client_secret }}\"\n },\n {\n \"name\": \"grant_type\",\n \"value\": \"client_credentials\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"2d81394c-9898-419a-a832-339e66d56a29\",\n \"name\": \"Assign Credentials\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -400,\n 300\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"debe5309-40f6-411d-8c4d-3b282cf1bba9\",\n \"name\": \"client_id\",\n \"type\": \"string\",\n \"value\": \"Enter your Dartagnan client_id\"\n },\n {\n \"id\": \"6028c0c...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-6a45f06b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.173953\",\n \"updatedAt\": \"2025-09-29T07:07:53.173964\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"5d02237f-151b-4bb4-9341-b11149925309\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -980,\n -40\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"dc60bffa-b6f8-432d-85ed-0d08f092a454\",\n \"name\": \"Filter\",\n \"type\": \"n8n-nodes-base.filter\",\n \"position\": [\n -20,\n -220\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"3b4c2e25-862d-4b4e-aa66-38c5f0e5a7b2\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"contains\"\n },\n \"leftValue\": \"={{ $json['urlset.url']['news:news']['news:title'] }}\",\n \"rightValue\": \"raise\"\n }\n ]\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This filter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f779a004-57f6-451b-984b-3fd9517e4842\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1900,\n 100\n ],\n \"parameters\": {\n \"jsonSchemaExample\": \"{\\n\\t\\\"website_url\\\": \\\"{{ $env.WEBHOOK_URL }}\\\"\\n}\"\n },\n \"typeVersion\": 1.2,\n \"notes\": \"...", "input": "", "output": "The workflow has a broken data flow. The node 'c6082aa7-84ce-40ce-8372-a73163439a8f' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'c6082aa7-84ce-40ce-8372-a73163439a8f'.\n\n**Impact**: Data from 'c6082aa7-84ce-40ce-8372-a73163439a8f' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'c6082aa7-84ce-40ce-8372-a73163439a8f' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"c6082aa7-84ce-40ce-8372-a73163439a8f\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'c6082aa7-84ce-40ce-8372-a73163439a8f' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-4a8706f6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.157730\",\n \"updatedAt\": \"2025-09-29T07:07:53.157741\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"eb8bbb43-d6ca-48f9-9522-12ac7100961d\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1360,\n 380\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"77bf0c40-b045-40f9-9401-d1b206938180\",\n \"name\": \"Convert to File\",\n \"type\": \"n8n-nodes-base.convertToFile\",\n \"position\": [\n -360,\n -420\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"toJson\",\n \"binaryPropertyName\": \"=data\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This convertToFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c2e870c2-52e8-4808-9091-e3dcf286eaa5\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n -660,\n 20\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"data\"\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": true,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2bcafdc1-94e0-4a3d-9ad5-a189973be980\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -1500,\n -340\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"minutes\",\n \"minutesInterval\": 15\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"...", "input": "", "output": "In node 'Write cache.json', the parameter 'operation' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `write`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Write cache.json' parameter 'operation'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-5c235117\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.209648\",\n \"updatedAt\": \"2025-09-29T07:07:53.209657\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"33114dba-d3e2-469c-bb01-e50d4e84be53\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 120,\n 60\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"68a92424-8345-40d1-bdb2-ad4b68c35406\",\n \"name\": \"Get Orders\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 500,\n 0\n ],\n \"parameters\": {\n \"url\": \"{{ $env.SHOPIFY_URL }}\",\n \"options\": {\n \"response\": {\n \"response\": {\n \"fullResponse\": true\n }\n }\n },\n \"sendQuery\": true,\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"limit\",\n \"value\": \"250\"\n },\n {\n \"name\": \"fields\",\n \"value\": \"id,note,email,processed_at,customer\"\n },\n {\n \"name\": \"={{ $json.page_info ? \\\"page_info\\\" : \\\"status\\\" }}\",\n \"value\": \"={{ $json.page_info ? $json.page_info : 'any' }}\"\n }\n ]\n },\n \"nodeCredentialType\": \"={{ $json[\\\"non_existent_field\\\"] }}\"\n },\n \"credentials\": {\n \"shopifyAccessTokenApi\": {\n \"id\": \"vtyKGPLLdjc7MLea\",\n \"name\": \"Shopify Access Token account\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part...", "input": "", "output": "In node 'Get Orders', the parameter 'nodeCredentialType' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `YOUR_CREDENTIAL_HERE`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Get Orders' parameter 'nodeCredentialType'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-aab16153\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.226964\",\n \"updatedAt\": \"2025-09-29T07:07:53.227058\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"bc49829b-45f2-4910-9c37-907271982f14\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -4200,\n -560\n ],\n \"parameters\": {\n \"width\": 780,\n \"height\": 540,\n \"content\": \"### 5. Do you need more details?\\nFind a step-by-step guide in this tutorial\\n![Guide]({{ $env.WEBHOOK_URL }}\\n[\\ud83c\\udfa5 Watch My Tutorial]({{ $env.WEBHOOK_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fca5a1f8-874b-4b25-92af-066e7ca03f67\",\n \"name\": \"Order Information\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -4360,\n -1000\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"a55ebbb4-3eba-4584-8894-9e8d623d498f\",\n \"name\": \"documentType\",\n \"type\": \"string\",\n \"value\": \"={{ $json.summary.documentType }}\"\n },\n {\n \"id\": \"cbbff4da-4679-4258-bc3c-848075c5f1df\",\n \"name\": \"documentNumber\",\n \"type\": \"string\",\n \"value\": \"={{ $json.summary.documentNumber }}\"\n },\n {\n \"id\": \"a2eb5f07-8d1b-4c3a-b08b-a785045aeb34\",\n \"name\": \"orderDate\",\n \"type\": \"string\",\n \"value\": \"={{ $json.summary.orderDate }}\"\n },\n {\n \"id\": \"7e319d29-463b-4875-b556-684cb0c06c59\",\n \"name\": \"lineItemCount\",\n \"type\": \"string\",\n...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a8bb2959\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.207784\",\n \"updatedAt\": \"2025-09-29T07:07:53.207797\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"ff5634c3-349b-4181-a03a-97b310e5232b\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 120,\n 60\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"66e204fb-3e00-45e0-b1b2-341836476b95\",\n \"name\": \"Extract page_info \",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 900,\n 120\n ],\n \"parameters\": {\n \"jsCode\": \"function parseNextParams(headerValue) {\\n // Match the URL inside <>\\n const urlMatch = headerValue.match(/<([^>]+)>;\\\\s*rel=\\\"next\\\"/);\\n if (!urlMatch) return null;\\n\\n const url = urlMatch[1]; // Extracted URL\\n const paramsString = url.split(\\\"?\\\")[1]; // Get query string\\n\\n if (!paramsString) return {}; // No params found\\n\\n // Convert query string to object\\n return paramsString.split(\\\"&\\\").reduce((acc, param) => {\\n const [key, value] = param.split(\\\"=\\\");\\n acc[decodeURIComponent(key)] = decodeURIComponent(value);\\n return acc;\\n }, {});\\n}\\n\\n/* Example usage\\n`<{{ $env.API_BASE_URL }}>; rel=\\\"next\\\"`\\n*/\\nconst headerValue = $input.first().json.headers.link;\\nconst params = parseNextParams(headerValue);\\nreturn params;\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5b0086ce-f09b-4d55-86b6-9a14574506ab\",\n \"name\": \"Merge Loop items\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-5983227f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.228699\",\n \"updatedAt\": \"2025-09-29T07:07:53.228710\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"19f32c25-df26-426d-8e28-f1d29c8571b1\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n -200,\n -240\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"data\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7360c3f9-2e11-4839-b105-ecab66a39af2\",\n \"name\": \"HTTP Request1\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 20,\n -240\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"49cb0c7b-c9d8-4bf1-afa5-5afab9e7967e\",\n \"name\": \"Read/Write Files from Disk2\",\n \"type\": \"n8n-nodes-base.readWriteFile\",\n \"position\": [\n 460,\n -240\n ],\n \"parameters\": {\n \"options\": {},\n \"fileName\": \"test.pdf\",\n \"operation\": \"write\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This readWriteFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"05ef1b18-481d-40f8-a6b3-712bb9ba2b6f\",\n \"name\": \"Read/Write Files from Disk3\",\n \"type\": \"n8n-nodes-base.readWriteFile\",\n \"position\": [\n 680,\n -240\n ],\n \"parameters\": {\n \"options\": {},\n \"fileSelector\": \"test.pdf\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This readWriteFile node performs automated tasks as part of the workflow.\"\n },\n {\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-ea194c33\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.330121\",\n \"updatedAt\": \"2025-09-29T07:07:53.330132\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"754006f5-1a7e-4e29-9850-e38b1d0c0d09\",\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 360,\n 80\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6b7b0d05-38cc-4c2d-8a71-874ff5ad29d9\",\n \"name\": \"Split Out Order \",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1080,\n 200\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"result\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1494f1ff-f377-4d56-8da7-274f0c182588\",\n \"name\": \"Globals\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 600,\n 200\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"7411b768-9861-414c-aeaa-2743b3d61a3b\",\n \"name\": \"api-version\",\n \"type\": \"string\",\n \"value\": \"1.0\"\n },\n {\n \"id\": \"6cf546c5-5737-4dbd-851b-17d68e0a3780\",\n \"name\": \"modifiedAfter\",\n \"type\": \"string\",\n \"value\": \"\"\n },\n {\n \"id\": \"452efa28-2dc6-4ea3-a7a2-c35d100d0382\",\n \"name\": \"modifiedBefore\",\n \"type\": \"string\",\n \"value\": \"\"\n },\n {\n \"id\": \"81c4dc54-86bf-4432-a23f-22c7ea831e74\",\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-1cf57416\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.343047\",\n \"updatedAt\": \"2025-09-29T07:07:53.343059\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"59b7eed3-8622-4722-b93f-f225cc0aa4e0\",\n \"name\": \"Spam Detection\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 260,\n 100\n ],\n \"parameters\": {\n \"options\": {},\n \"inputText\": \"={{ $json.content }}\",\n \"categories\": {\n \"categories\": [\n {\n \"category\": \"is_spam\",\n \"description\": \"This text is a promotion, sales pitch or likely spam message to get members to visit another site.\"\n },\n {\n \"category\": \"is_not_spam\",\n \"description\": \"This text is not spam.\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This textClassifier node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"74420874-d831-4ff0-a8f4-e7c3b6551c57\",\n \"name\": \"Get Recent Messages\",\n \"type\": \"n8n-nodes-base.discord\",\n \"position\": [\n -1020,\n 40\n ],\n \"webhookId\": \"7aa72e1f-06f4-4fe8-82ec-ad0e87a5b6b9\",\n \"parameters\": {\n \"guildId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"123456789\"\n },\n \"options\": {\n \"simplify\": true\n },\n \"resource\": \"message\",\n \"channelId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1248678443432808512\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"general\"\n },\n \"operation\": \"getAll\"\n },\n \"credentials\": {\n \"discordBotApi\": {\n \"id\": \"YUwD52E3oHsSUWdW\",\n \"name\": \"Discord Bot account\"\n...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-6d30d92e:\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.325481\",\n \"updatedAt\": \"2025-09-29T07:07:53.325496\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"cce90ce3-5661-4c8b-9752-71bc0e643f01\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -1880,\n -180\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {}\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9f39b744-e3d5-4cb8-9631-d41ccb311e57\",\n \"name\": \"Embeddings OpenAI\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -840,\n -260\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This embeddingsOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fd6f3243-3c94-4208-b200-511eef53f2f7\",\n \"name\": \"Default Data Loader\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -700,\n -260\n ],\n \"parameters\": {\n \"options\": {\n \"metadata\": {\n \"metadataValues\": [\n {\n \"name\": \"project_key\",\n \"value\": \"={{ $json.project_key }}\"\n },\n {\n \"name\": \"issue_key\",\n \"value\": \"={{ $json.issue_key }}\"\n },\n {\n \"name\": \"issue_type\",\n \"value\": \"={{ $json.issue_type }}\"\n },\n {\n \"name\": \"created_at\",\n ...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-68f93a00\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.311441\",\n \"updatedAt\": \"2025-09-29T07:07:53.311456\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"fd4629a6-f7c3-4927-a3da-767d8206b486\",\n \"name\": \"set credentials\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 0,\n 300\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"bfb7f25d-f992-4395-9fbe-939a57fc2a3c\",\n \"name\": \"n8n\",\n \"type\": \"string\",\n \"value\": \"=[your n8n instance without a trailling /]\"\n },\n {\n \"id\": \"538e0608-fd19-46ed-ba2c-c1efe03eaf9b\",\n \"name\": \"username\",\n \"type\": \"string\",\n \"value\": \"=your n8n username\"\n },\n {\n \"id\": \"ad1c4785-70d0-40d7-a61c-e97c3e8702e7\",\n \"name\": \"password\",\n \"type\": \"string\",\n \"value\": \"=your n8n password\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"877bbd5c-fb57-4fa4-9d0a-113270113f31\",\n \"name\": \"login n8n\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 180,\n 300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {\n \"response\": {\n \"response\": {\n \"fullResponse\": true\n }\n }\n },\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"emailOrLdapLoginId\",\n \"value\": \"={{ $json.use...", "input": "", "output": "The node 'my-projects' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'my-projects'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-dfaf8431\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.326769\",\n \"updatedAt\": \"2025-09-29T07:07:53.326780\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"c3a9ba81-3a7e-4afe-be8b-cf482cbb88c2\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -1040,\n -540\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"triggerAtHour\": 6\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f63d035c-5a7b-4cf4-8730-5fa7dff6f94b\",\n \"name\": \"Get Subscribers\",\n \"type\": \"n8n-nodes-base.microsoftExcel\",\n \"position\": [\n -860,\n -540\n ],\n \"parameters\": {\n \"options\": {},\n \"resource\": \"worksheet\",\n \"workbook\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"=\"\n },\n \"operation\": \"readRows\",\n \"worksheet\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"=\"\n }\n },\n \"credentials\": {\n \"microsoftExcelOAuth2Api\": {\n \"id\": \"56tIUYYVARBe9gfX\",\n \"name\": \"Microsoft Excel account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This microsoftExcel node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e93aa8de-5c68-4a01-ae60-beb141e0a430\",\n \"name\": \"Get Unique Categories\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -400,\n -160\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"fe138128-50d5-469f-8c0b-0af8c873f198\",\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-4b98f7d0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.346394\",\n \"updatedAt\": \"2025-09-29T07:07:53.346413\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"8f203423-b063-4918-a6ec-dad3ac7d1a20\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 860,\n -100\n ],\n \"webhookId\": \"c82193c7-163c-4556-942f-81c80037e0ea\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d9f2e90f-128b-458b-b3cf-79db2ec08633\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1000,\n 100\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {},\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4f752502-8589-4e31-bbe1-4b8395e7325a\",\n \"name\": \"Simple Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1160,\n 100\n ],\n \"parameters\": {},\n \"typeVersion\": 1.3,\n \"notes\": \"This memoryBufferWindow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"61ca5a4b-3661-4330-ac4c-e09e75dd764c\",\n \"name\": \"Acuity Support Search API\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1840,\n 80\n ],\n \"parameters\": {\n \"...", "input": "", "output": "The node 'OpenAI Chat Model' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'OpenAI Chat Model'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a0996b58\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.360361\",\n \"updatedAt\": \"2025-09-29T07:07:53.360375\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f8f5a571-c4de-469e-a182-faa60060d06b\",\n \"name\": \"Has Shared with External Users\",\n \"type\": \"n8n-nodes-base.filter\",\n \"position\": [\n 40,\n -220\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"or\",\n \"conditions\": [\n {\n \"id\": \"c72e9718-b50a-4c5f-8a26-7b3fda89e202\",\n \"operator\": {\n \"type\": \"boolean\",\n \"operation\": \"true\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.shared && $json.permissions.some(item => item.emailAddress ? !item.emailAddress.endsWith('example.com') : false) }}\",\n \"rightValue\": \"\"\n },\n {\n \"id\": \"0479b4ae-fc0c-49c4-8813-6978ea55265a\",\n \"operator\": {\n \"type\": \"object\",\n \"operation\": \"exists\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.permissions.find(item => item.type === 'anyone') }}\",\n \"rightValue\": \"\"\n }\n ]\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This filter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"14b6d453-0403-476a-8537-cdeeace70115\",\n \"name\": \"Create New Sheet\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n -620,\n -220\n ],\n \"parameters\": {\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-ba4f121e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.427853\",\n \"updatedAt\": \"2025-09-29T07:07:53.427872\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"6d0b95c8-db4f-4bc1-b51b-87da0b1cbca9\",\n \"name\": \"Data Collection\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 820,\n 3860\n ],\n \"parameters\": {\n \"width\": 380,\n \"height\": 620,\n \"content\": \"# Data Collection\\nFetches latest news articles from two RSS sources: Calcalist and Mako\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"62a73f4d-229f-44fa-891d-c36dc50bad99\",\n \"name\": \"Data Processing\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1260,\n 3860\n ],\n \"parameters\": {\n \"width\": 740,\n \"height\": 360,\n \"content\": \"# Data Processing\\nFilters, sorts and prepares news articles for AI selection\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"13092778-b6a3-4436-b69d-f67245999ffe\",\n \"name\": \"AI Selection\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 2020,\n 3860\n ],\n \"parameters\": {\n \"width\": 400,\n \"height\": 360,\n \"content\": \"# AI Selection\\nUses GPT-4o to select the top 5 most relevant articles for a senior executive\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b1b25c3b-976e-41eb-a82d-e0571ba9b2f2\",\n \"name\": \"Email Generation\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1260,\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-59ccd2d1\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.397814\",\n \"updatedAt\": \"2025-09-29T07:07:53.397865\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"33e94ee1-4244-4075-bb4b-93a99a2cacd9\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 20,\n 560\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"dd97266d-a039-4d8f-bc7d-fb439ad5a6d7\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -180,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c4d4a979-3182-46c9-b145-fa4e6ba57011\",\n \"name\": \"Fetch Essay List\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 80,\n 0\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2e2913f9-d01a-41e8-b1b8-9a981910db7b\",\n \"name\": \"Extract essay names\",\n \"type\": \"n8n-nodes-base.html\",\n \"position\": [\n 280,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"extractHtmlContent\",\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"attribute\": \"href\",\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-4241edd3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.410785\",\n \"updatedAt\": \"2025-09-29T07:07:53.410800\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"49620d3a-d4ec-4017-ade1-ff2ef5473c11\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -220,\n -80\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 680,\n \"height\": 660,\n \"content\": \"## 1. Set up an MCP Server Trigger\\n[Read more about the MCP Server Trigger]({{ $env.WEBHOOK_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f0646a81-d328-4f07-a744-60f576b5a51e\",\n \"name\": \"Insert\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -40,\n 380\n ],\n \"parameters\": {\n \"name\": \"insert_review\",\n \"workflowId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"={{ $workflow.id }}\"\n },\n \"description\": \"=Call this tool to insert a customer's review into our review database.\",\n \"workflowInputs\": {\n \"value\": {\n \"text\": \"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('text', `The contents of the review`, 'string') }}\",\n \"text2\": \"null\",\n \"operation\": \"insert\",\n \"companyIds\": \"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('companyIds', `The company ID is their url address.`, 'string') }}\"\n },\n \"schema\": [\n {\n \"id\": \"operation\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"operation\",\n \"defaultMatch\": false,\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-2a1259e7\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.428302\",\n \"updatedAt\": \"2025-09-29T07:07:53.428313\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"e3ed1048-bad0-4e91-bfb5-aef3e1883de4\",\n \"name\": \"Simplify Workflows\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -1740,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"821226b0-12ad-4d1d-81c3-dfa3c286cce4\",\n \"name\": \"id\",\n \"type\": \"string\",\n \"value\": \"={{ $json.id }}\"\n },\n {\n \"id\": \"629d95d6-2501-4ad4-a5ed-e557237e1cc2\",\n \"name\": \"name\",\n \"type\": \"string\",\n \"value\": \"={{ $json.name }}\"\n },\n {\n \"id\": \"30699f7c-98d3-44ee-9749-c5528579f7e6\",\n \"name\": \"description\",\n \"type\": \"string\",\n \"value\": \"={{\\n$json.nodes\\n .filter(node => node.type === 'n8n-nodes-base.stickyNote')\\n .filter(node => node.parameters.content.toLowerCase().includes('try it out'))\\n .map(node => node.parameters.content.substr(0,255) + '...')\\n .join('\\\\n')\\n}}\"\n },\n {\n \"id\": \"6199c275-1ced-4f72-ba59-cb068db54c1b\",\n \"name\": \"parameters\",\n \"type\": \"string\",\n \"value\": \"={{\\n(function(node) {\\n if (!node) return {};\\n const inputs = node.parameters.workflowInputs.values;\\n return {\\n \\\"type\\\": \\\"object\\\",\\n \\\"required\\\": inputs.map(input => input.name),\\n \\\"properties\\\": inputs.reduce((acc, input) => ({\\n ...acc,\\n [input.name]: { type: input.type ?? 'string' }\\n }), {})\\n }\\n})(\\n$json.nodes\\n .filter(node => node.type === 'n8n-no...", "input": "", "output": "The workflow has a broken data flow. The node '194fbcbc-a7bb-41c8-9289-a214b1415386' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '194fbcbc-a7bb-41c8-9289-a214b1415386'.\n\n**Impact**: Data from '194fbcbc-a7bb-41c8-9289-a214b1415386' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '194fbcbc-a7bb-41c8-9289-a214b1415386' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"194fbcbc-a7bb-41c8-9289-a214b1415386\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '194fbcbc-a7bb-41c8-9289-a214b1415386' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"18813eed-27a8-4338-8e71-abb270d43082\",\n \"name\": \"Split by object\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n -260,\n 540\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"object\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ee610ddd-5bd7-4d97-82a9-b688c71616d8\",\n \"name\": \"Fetch properties from Hubspot\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -40,\n 540\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"hubspotOAuth2Api\": {\n \"id\": \"JxzF93M0SJ00jDD9\",\n \"name\": \"HubSpot account\"\n },\n \"hubspotDeveloperApi\": {\n \"id\": \"EN6KsMdrxSVNfhyz\",\n \"name\": \"HubSpot Developer account\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"22662720-97ae-4e59-a70e-3b858e8e632d\",\n \"name\": \"Define crm_type\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 180,\n 540\n ],\n \"parameters\": {\n \"mode\": \"runOnceForEachItem\",\n \"jsCode\": \"// Loop over input items and add a new field called 'myNewField' to the JSON of each one\\n\\nfor (let result of $json.results) {\\n result.crm_type = $('Split by object').item.json.object;\\n delete result.options\\n}\\nreturn {results: $json.results};\\n\\n\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"abfdd971-1112-4dd4-9513-13f12f3e92f2\",\n \"name\": \"Split results\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"pos...", "input": "", "output": "The node 'Uploads to Hubspot' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"hubspotOAuth2Api\": {\n \"id\": \"JxzF93M0SJ00jDD9\",\n \"name\": \"HubSpot account\"\n },\n \"hubspotDeveloperApi\": {\n \"id\": \"EN6KsMdrxSVNfhyz\",\n \"name\": \"HubSpot Developer account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Uploads to Hubspot' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-bca002cf\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.461022\",\n \"updatedAt\": \"2025-09-29T07:07:53.461040\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"7976731d-692d-45f8-b986-3f82d998dfa0\",\n \"name\": \"Research Company\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 600,\n 780\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"requestMethod\": \"POST\",\n \"authentication\": \"{{ $credentials.headerAuth }}\",\n \"jsonParameters\": true,\n \"bodyParametersJson\": \"={{\\n JSON.stringify({\\n model: \\\"gpt-4o\\\",\\n tools: [{ type: \\\"web_search_preview\\\" }],\\n input: $json.prompt\\n })\\n}}\",\n \"queryParametersJson\": \"{}\",\n \"headerParametersJson\": \"{}\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"rhDo5pdVQQsBgcVZ\",\n \"name\": \"Header Auth account 2\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2f123bde-a5a0-4828-81e8-b875ac27d081\",\n \"name\": \"Research Person\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 940,\n 960\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"requestMethod\": \"POST\",\n \"authentication\": \"{{ $credentials.headerAuth }}\",\n \"jsonParameters\": true,\n \"bodyParametersJson\": \"={{\\n JSON.stringify({\\n model: \\\"gpt-4o\\\",\\n tools: [{ type: \\\"web_search_preview\\\" }],\\n input: $json.prompt\\n })\\n}}\",\n \"queryParametersJson\": \"{}\",\n \"headerParametersJson\": \"{}\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"rhDo5pdVQQsBgcVZ\",\n ...", "input": "", "output": "In node 'Sticky Note', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `## 2. Research Attendee + Company\n\nAPI calls are made to the OpenAI Responses API using the new web search preview endpoint. This allows us to search the web for any mentions of each attendee. If the email address is a company email, we also make a search request to find out about the company. We use some context about ourself (in the \"Set Context\" node) so that the LLM can make an educated guess if there are many people with the same name.`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-7f582033\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.446352\",\n \"updatedAt\": \"2025-09-29T07:07:53.446364\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"ea812abb-5f9c-45d9-9cca-c82cd100fa94\",\n \"name\": \"Google Sheets Trigger\",\n \"type\": \"n8n-nodes-base.googleSheetsTrigger\",\n \"position\": [\n -2000,\n 800\n ],\n \"parameters\": {\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyX\",\n \"unit\": \"minutes\"\n }\n ]\n },\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gid=0\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Companies\"\n },\n \"documentId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1KqKFZ7Uxrt1MivBjLklGdPRMgNBhEc0slpthoSjt2wI\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Copy of Company Decision Maker Discovery\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This googleSheetsTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8ac2066b-c84f-4556-a700-d95f015e6869\",\n \"name\": \"Apollo Organization Enrichment\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -460,\n 800\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"sendQuery\": true,\n \"jsonHeaders\": \"{\\n \\\"accept\\\": \\\"application/json\\\",\\n \\\"Cache-Control\\\": \\\"no-cache\\\",\\n \\\"Content-Type\\\": \\\"application/json\\\",\\n \\\"x-api-key\\\": \\\"your-api-key\\\"\\n}\",\n \"sendHeaders\": true,\n \"specifyHeaders\": \"json\",\n \"queryParameters\": {\n \"paramet...", "input": "", "output": "The workflow has a broken data flow. The node 'a9ff1d43-7eb8-4bad-87b5-bff8d1e7df99' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'a9ff1d43-7eb8-4bad-87b5-bff8d1e7df99'.\n\n**Impact**: Data from 'a9ff1d43-7eb8-4bad-87b5-bff8d1e7df99' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'a9ff1d43-7eb8-4bad-87b5-bff8d1e7df99' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"a9ff1d43-7eb8-4bad-87b5-bff8d1e7df99\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'a9ff1d43-7eb8-4bad-87b5-bff8d1e7df99' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-6f07f167\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.507137\",\n \"updatedAt\": \"2025-09-29T07:07:53.507160\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f1b36f4b-6558-4e83-a999-e6f2d24e196c\",\n \"name\": \"OpenRouter Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 620,\n 240\n ],\n \"parameters\": {\n \"model\": \"openai/gpt-4.1\",\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenRouter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"89ca0a07-286f-4e68-9e85-0327a4859cc0\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 900,\n 240\n ],\n \"parameters\": {\n \"schemaType\": \"manual\",\n \"inputSchema\": \"{\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"name\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"description\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"rating\\\": { \\\"type\\\": \\\"number\\\" },\\n \\\"reviews\\\": { \\\"type\\\": \\\"integer\\\" },\\n \\\"price\\\": { \\\"type\\\": \\\"string\\\" }\\n },\\n \\\"required\\\": [\\\"name\\\", \\\"description\\\", \\\"rating\\\", \\\"reviews\\\", \\\"price\\\"]\\n }\\n}\"\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This outputParserStructured node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e4800c1d-c0d8-4093-81ec-fc19ad0034cd\",\n \"name\": \"scrap url\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 240,\n 60\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"bodyParameters\": {\n \"parameters\": [\n {\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"2804a082-c17b-482f-828d-901dab7e7a11\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -160,\n 40\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"58d51340-5246-4089-ae63-f16ff4be184e\",\n \"name\": \"Get list of owners\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 280,\n 40\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"hubspotOAuth2Api\": {\n \"id\": \"qubiIFrowxvUdpu6\",\n \"name\": \"HubSpot account for node\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"335ffd8c-68fa-4d55-85e9-462963a8a291\",\n \"name\": \"Get list of clients for owner\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 280,\n 575\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"filterGroups\\\": [\\n {\\n \\\"filters\\\": [\\n {\\n \\\"propertyName\\\": \\\"hubspot_owner_id\\\",\\n \\\"operator\\\": \\\"EQ\\\",\\n \\\"value\\\": \\\"{{ $('When Executed by Another Workflow').item.json.ownerId }}\\\"\\n }\\n ]\\n }\\n ],\\n \\\"properties\\\": [\\\"firstname\\\", \\\"lastname\\\", \\\"email\\\", \\\"linkedinURL\\\", \\\"company\\\"],\\n\\\"limit\\\": 200,\\n\\\"after\\\": {{ $node['Edit'].json[\\\"sofar\\\"] }}\\n} \",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"nodeCredentialType\": \"YOUR...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-7c50a561\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.508319\",\n \"updatedAt\": \"2025-09-29T07:07:53.508329\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"ed993205-977a-43cd-8d0b-4faef216d766\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 360,\n -120\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"predictions\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"67f2bb16-ee38-4bc8-9cc7-50a44614cc3b\",\n \"name\": \"Imagen 3.0\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 140,\n -120\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={{\\n{\\n \\\"instances\\\": [\\n {\\n \\\"prompt\\\": [\\n $json.candidates[0].content.parts[0].text,\\n `Generate the following image: ${$('Variables').first().json.targetPrompt}`\\n ].join(' ')\\n }\\n ],\\n \\\"parameters\\\": {\\n \\\"sampleCount\\\": $('Variables').first().json.numberSamples.toNumber()\\n }\\n}\\n}}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"dSxo6ns5wn658r8N\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b1730c97-8c5c-48a5-90cf-7940f6c9e2d0\",\n \"name\": \"Variables\",\n \"type\": \"n8n-nodes-base.set\",\n \"position...", "input": "", "output": "The node 'Upload to Cloudinary' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Upload to Cloudinary'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-b790b0bf\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.529229\",\n \"updatedAt\": \"2025-09-29T07:07:53.529240\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f4322829-1799-4954-a75a-b40e95f41c10\",\n \"name\": \"Get Last Week's Messages\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n -2200,\n -160\n ],\n \"webhookId\": \"8078218a-7edc-4e0b-9b4d-9860bd309877\",\n \"parameters\": {\n \"filters\": {\n \"oldest\": \"={{ $now.minus('1', 'week') }}\",\n \"inclusive\": false\n },\n \"resource\": \"channel\",\n \"channelId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"C06RS1WPUQ6\",\n \"cachedResultName\": \"general\"\n },\n \"operation\": \"history\",\n \"returnAll\": true\n },\n \"credentials\": {\n \"slackApi\": {\n \"id\": \"VfK3js0YdqBdQLGP\",\n \"name\": \"Slack account\"\n }\n },\n \"typeVersion\": 2.3,\n \"notes\": \"This slack node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f0e89c19-ee1f-4a4d-8176-c222c18e0514\",\n \"name\": \"Simplify Message\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -1320,\n 380\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"547e8934-e6f2-47f0-b8a0-c60bd9d8a0c3\",\n \"name\": \"ts\",\n \"type\": \"string\",\n \"value\": \"={{ $json.ts }}\"\n },\n {\n \"id\": \"22473b44-b1d9-4b85-b0d9-1a54c5511ff4\",\n \"name\": \"userId\",\n \"type\": \"string\",\n \"value\": \"={{ $('Get User').first().json.id }}\"\n },\n {\n \"id\": \"2059b147-8b12-42c9-bee8-488dc11a0b...", "input": "", "output": "The node 'Sticky Note2' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note2'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-2c05ba79\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.512135\",\n \"updatedAt\": \"2025-09-29T07:07:53.512148\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"ee39f797-6f6f-4a62-9cf1-0c95b47baf23\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -160,\n 0\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {}\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c1b9fadc-586b-4edf-a19a-6995479d4de5\",\n \"name\": \"Fetch Latest Channel Messages\",\n \"type\": \"n8n-nodes-base.microsoftTeams\",\n \"position\": [\n 60,\n 0\n ],\n \"webhookId\": \"b36a534a-1bca-4c3d-ab25-777ca98fba1a\",\n \"parameters\": {\n \"teamId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"=fc62d6a3-eaba-430f-b451-3c3107751ba0\"\n },\n \"resource\": \"channelMessage\",\n \"channelId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"=19:NQuQMYvvtC9DcTEQs1Vul1Nm1xIXnRmznAwov7MuNZ81@thread.tacv2\"\n },\n \"operation\": \"getAll\"\n },\n \"credentials\": {\n \"microsoftTeamsOAuth2Api\": {\n \"id\": \"AUH9lDgO5KTl2J6q\",\n \"name\": \"Microsoft Teams account\"\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This microsoftTeams node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1be03962-5028-47a8-8deb-3c59c121df01\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 920,\n 140\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n ...", "input": "", "output": "The workflow has a broken data flow. The node '1be03962-5028-47a8-8deb-3c59c121df01' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '1be03962-5028-47a8-8deb-3c59c121df01'.\n\n**Impact**: Data from '1be03962-5028-47a8-8deb-3c59c121df01' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '1be03962-5028-47a8-8deb-3c59c121df01' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"1be03962-5028-47a8-8deb-3c59c121df01\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '1be03962-5028-47a8-8deb-3c59c121df01' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"43gMd18arOcxqDcC\",\n \"meta\": {\n \"instanceId\": \"workflow-a5b12c83\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.545241\",\n \"updatedAt\": \"2025-09-29T07:07:53.545252\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"LLM Chaining examples\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"35e53ce7-06b4-47ca-b7f3-b147bd059fcf\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 200,\n 520\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"aeef734e-1c3b-4a91-93ae-2ae9c50951b8\",\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 400,\n 520\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7f6b95eb-df8c-4f0f-ba69-6b298d624ccd\",\n \"name\": \"Markdown\",\n \"type\": \"n8n-nodes-base.markdown\",\n \"position\": [\n 600,\n 520\n ],\n \"parameters\": {\n \"html\": \"={{ $json.data }}\",\n \"options\": {},\n \"destinationKey\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This markdown node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"994dbe06-4c25-4fb3-a8f3-566eb5b66c6d\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 160,\n 340\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 700,\n \"height\": 360,\n \"content...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"5DiXT9FykJvuElc1\",\n \"meta\": {\n \"instanceId\": \"workflow-fc5ff82b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.557093\",\n \"updatedAt\": \"2025-09-29T07:07:53.557120\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Get Comments from Facebook Page\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"a9c1f0fb-396e-4c36-92d4-ec3eeb36c644\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 600,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9031abae-aaa0-4602-8fb1-29e89c73f3e8\",\n \"name\": \"Split Out Comments\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 2400,\n 240\n ],\n \"parameters\": {\n \"include\": \"allOtherFields\",\n \"options\": {},\n \"fieldToSplitOut\": \"data\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c8216862-1d39-47e6-b59e-cf1fb17f7226\",\n \"name\": \"Filter Out Null Comments\",\n \"type\": \"n8n-nodes-base.filter\",\n \"position\": [\n 2180,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"4d8bd55c-35d0-40db-98ac-a954b0a99710\",\n \"operator\": {\n \"type\": \"array\",\n \"operation\": \"notEmpty\",\n \"singl...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"7fdJOvYNILCr24fH\",\n \"meta\": {\n \"instanceId\": \"workflow-90f384ee\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.544247\",\n \"updatedAt\": \"2025-09-29T07:07:53.544259\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Read sitemap and filter URLs\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"38910330-5286-4f3f-b62e-9216acccd503\",\n \"name\": \"\\u2018Test workflow\\u2019 trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -460,\n -60\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d4e5991b-62d9-45ca-962f-c1077f3bce19\",\n \"name\": \"Set sitemap URL\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -280,\n -60\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"d6c5ac86-6d67-42fb-96ec-9826caf452e2\",\n \"name\": \"sitemapUrl\",\n \"type\": \"string\",\n \"value\": \"{{ $env.WEBHOOK_URL }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0d957deb-5830-4077-97e4-437dc7c0e527\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 260,\n -60\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"urlset.url\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7021088c-dfa1-4aae-b2e7-15b0ca10a750\",\n \"name\": \"Get Sitemap\",\n \"type\": \"n8...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"7wwY8wfZdNpL83QQ\",\n \"meta\": {\n \"instanceId\": \"workflow-45ec8d29\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.608258\",\n \"updatedAt\": \"2025-09-29T07:07:53.608279\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"LinkedIn Leads Scraping & Enrichment (Main)\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"5d07dfa4-6e6a-41a6-a2ea-8a8787331735\",\n \"name\": \"On form submission\",\n \"type\": \"n8n-nodes-base.formTrigger\",\n \"position\": [\n -80,\n -80\n ],\n \"webhookId\": \"28ff6927-5d05-4182-910b-be2381e3b2c4\",\n \"parameters\": {\n \"options\": {},\n \"formTitle\": \"Leads Search\",\n \"formFields\": {\n \"values\": [\n {\n \"fieldLabel\": \"Job Title\",\n \"requiredField\": true\n },\n {\n \"fieldLabel\": \"Location\",\n \"requiredField\": true\n },\n {\n \"fieldType\": \"number\",\n \"fieldLabel\": \"Number of Leads\",\n \"requiredField\": true\n }\n ]\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This formTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"76ade63a-7b44-4fd1-85d8-6dbacd83aca7\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 360,\n -80\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"people\"\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": false,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3c7b7179-a8b9-41d6-9617-8eb7af38f571\",\n \"name\": \"Google Sheets Trigger\",\n \"type\": \"n8n-nodes-base.googleSheetsTrigger\",\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"7zRCNv7B5WFRg7ux\",\n \"meta\": {\n \"instanceId\": \"workflow-0263394e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.578857\",\n \"updatedAt\": \"2025-09-29T07:07:53.578884\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Restore your credentials from GitHub\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"f8aff38c-3e40-4820-b8f5-50e3e1f878c8\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -640,\n -120\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f838e0c6-36aa-4c0b-bdd2-ef096ffd3d1d\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1020,\n -140\n ],\n \"parameters\": {\n \"width\": 320,\n \"height\": 420,\n \"content\": \"## Restore from GitHub \\nThis workflow will restore all instance credentials from GitHub backups.\\n\\n\\n### Setup\\nOpen `Globals` node and update the values below \\ud83d\\udc47\\n\\n- **repo.owner:** your Github username\\n- **repo.name:** the name of your repository\\n- **repo.path:** the folder to use within the repository.\\n\\n\\nIf your username was `john-doe` and your repository was called `n8n-backups` and you wanted the credentials to go into a `credentials` folder you would set:\\n\\n- repo.owner - john-doe\\n- repo.name - n8n-backups\\n- repo.path - credentials/\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8f59b7b0-ea9d-4209-8c6b-d48fe9d8cf7b\",\n \"name\": \"Globals\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\":...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"87FUCRVFV07sNlbM\",\n \"meta\": {\n \"instanceId\": \"workflow-e501632e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.633524\",\n \"updatedAt\": \"2025-09-29T07:07:53.633542\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Workflow Importer\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"eb3d4912-09c3-4c17-8e2b-94dd15e145f4\",\n \"name\": \"Extract from File\",\n \"type\": \"n8n-nodes-base.extractFromFile\",\n \"position\": [\n 2960,\n 440\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"fromJson\",\n \"destinationKey\": \"YOUR_CREDENTIAL_HERE\",\n \"binaryPropertyName\": \"Workflow_File\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This extractFromFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"56b7a01f-47a0-4884-9200-5f5f695ab355\",\n \"name\": \"Export Credentials\",\n \"type\": \"n8n-nodes-base.executeCommand\",\n \"position\": [\n 3180,\n 620\n ],\n \"parameters\": {\n \"command\": \"n8n export:credentials --all --pretty --decrypted --output=/tmp/cred\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This executeCommand node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"85de1146-4d61-45bf-b225-956d3d16e84b\",\n \"name\": \"Get Credentials Data\",\n \"type\": \"n8n-nodes-base.readWriteFile\",\n \"position\": [\n 3400,\n 620\n ],\n \"parameters\": {\n \"options\": {},\n \"fileSelector\": \"/tmp/cred\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This readWriteFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"187f1f50-472f-41ac-96e8-9c2f17fa3c00\",\n \"name\": \"Binary to JSON\",\n \"type\": \"n8n-nodes-base.extractFromFile\",\n...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"065d7ec9-edc5-46f6-b8ac-d62ed0e5c8e3\",\n \"name\": \"Baserow Event\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n -1180,\n -140\n ],\n \"webhookId\": \"267ea500-e2cd-4604-a31f-f0773f27317c\",\n \"parameters\": {\n \"path\": \"267ea500-e2cd-4604-a31f-f0773f27317c\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ac1403b4-9d45-404d-9892-0bed39b9ec82\",\n \"name\": \"Event Type\",\n \"type\": \"n8n-nodes-base.switch\",\n \"position\": [\n -220,\n -140\n ],\n \"parameters\": {\n \"rules\": {\n \"values\": [\n {\n \"outputKey\": \"YOUR_CREDENTIAL_HERE\",\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"2162daf8-d23d-4b8f-8257-bdfc5400a3a8\",\n \"operator\": {\n \"name\": \"filter.operator.equals\",\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.event_type }}\",\n \"rightValue\": \"rows.updated\"\n }\n ]\n },\n \"renameOutput\": true\n },\n {\n \"outputKey\": \"YOUR_CREDENTIAL_HERE\",\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n ...", "input": "", "output": "The node 'Update Row' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"F28aPWK5NooSHAg0\",\n \"name\": \"Baserow (n8n-local)\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Update Row' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"c3ef40df-084e-435c-9a11-3aa0a2f94f36\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 740,\n 520\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e0583472-a450-4582-83bc-84a014bea543\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1640,\n 520\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"output.results\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b8aa573d-5b63-4669-900f-bcc915b6ad41\",\n \"name\": \"Save to Google Sheets\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 1900,\n 520\n ],\n \"parameters\": {\n \"columns\": {\n \"value\": {},\n \"schema\": [\n {\n \"id\": \"name\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"name\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"price\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"price\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"availability\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"availability\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"imag...", "input": "", "output": "In node 'Information Extractor', the parameter 'inputSchema' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `{\n \"results\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"price\": {\n \"type\": \"string\"\n },\n \"title\": {\n \"type\": \"string\"\n },\n \"image_url\": {\n \"type\": \"string\"\n },\n \"product_url\": {\n \"type\": \"string\"\n },\n \"availability\": {\n \"type\": \"string\"\n } \n }\n }\n }\n}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Information Extractor' parameter 'inputSchema'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-20412d49\"\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.674629\",\n \"updatedAt\": \"2025-09-29T07:07:53.674640\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"be49d136-6392-481d-8544-d4f4d4fd0357\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 90,\n 260\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 1000.427054367056,\n \"height\": 572.2734520891689,\n \"content\": \"## Find WooCommerce User-ID\\nUser-ID is required to query past orders\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5932f77b-63e2-4991-aa16-2b8587b2b560\",\n \"name\": \"No email provided\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 400,\n 640\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"9a06428b-4115-4eee-97f4-8e828c5a7e5a\",\n \"name\": \"response\",\n \"type\": \"string\",\n \"value\": \"No email address got provided.\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"909a9a47-8683-4a1f-a359-8f6a878f8cd7\",\n \"name\": \"If email provided\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 140,\n 460\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"13f7bd32-5760-4ac3-...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-3b93ab48\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.674131\",\n \"updatedAt\": \"2025-09-29T07:07:53.674151\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"bec5c6c1-52d4-4665-b814-56a6bb82ea6b\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 800,\n 660\n ],\n \"parameters\": {\n \"options\": {\n \"temperature\": 0\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d3e057d1-df44-4ac3-ac46-fc2b04e3de78\",\n \"name\": \"Get Meeting ConferenceRecords\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 20,\n 580\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"sendQuery\": true,\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"filter\",\n \"value\": \"=space.meeting_code={{ $json.conferenceData.conferenceId }}\"\n }\n ]\n },\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"googleOAuth2Api\": {\n \"id\": \"kgVOfvlBIWTWXthG\",\n \"name\": \"Google Meets Oauth2 API\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"831668fd-04ab-4144-bec0-c733902f2a13\",\n \"name\": \"Get Meeting Transcript Location\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n ...", "input": "", "output": "The node 'Get Transcript File' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Get Transcript File'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"d3159589-dbb7-4cca-91f5-09e8b2e4cba8\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 240,\n 500\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b4b42b3f-ef30-4fc8-829d-59f8974c4168\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2180,\n 700\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"032c3012-ed8d-44eb-94f0-35790f4b616f\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2980,\n 460\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bf922785-7e8f-4f93-bfff-813c16d93278\",\n \"name\": \"OpenAI Chat Model2\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2020,\n 520\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d8d4b26f-270f-4b39-a4cd-a6e4361da591\",\n \"name\": \"Extract Voice Characteristics\",\n \"type\": \"n8n-nodes-base.no...", "input": "", "output": "In node 'Extract Article Content', the parameter 'operation' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `extractHtmlContent`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Extract Article Content' parameter 'operation'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-066330de\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.781526\",\n \"updatedAt\": \"2025-09-29T07:07:53.781587\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"6c78b4c7-993b-410d-93e7-e11b3052e53b\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 0,\n 420\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c2ab6497-6d6d-483b-bd43-494ae95394c0\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1440,\n 600\n ],\n \"parameters\": {\n \"schemaType\": \"manual\",\n \"inputSchema\": \"{\\n\\t\\\"type\\\": \\\"object\\\",\\n\\t\\\"properties\\\": {\\n\\t\\t\\\"is_valid\\\": { \\\"type\\\": \\\"boolean\\\" },\\n \\\"photo_description\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"description\\\": \\\"describe the appearance of the person(s), object(s) if any and the background in the image. Mention any colours of each if possible.\\\"\\n },\\n\\t\\t\\\"reasons\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": { \\\"type\\\": \\\"string\\\" }\\n }\\n\\t}\\n}\"\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This outputParserStructured node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b23f5298-17c7-49ac-a8ca-78e006b2d294\",\n \"name\": \"Photo URLs\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 360,\n 380\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"6baa3e08-8957-454e-8ee9-d5414a0ff990\",\n \"name\": \"data\",\n \"type\": \"array\",\n \"value\": \"={{\\n[\\n{\\n \\\"name\\\": \\\"portrait_1\\\",\\n \\\"url\\\": ...", "input": "", "output": "The workflow has a broken data flow. The node '7fb3b829-88a7-42ec-abfd-3ddaa042c916' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '7fb3b829-88a7-42ec-abfd-3ddaa042c916'.\n\n**Impact**: Data from '7fb3b829-88a7-42ec-abfd-3ddaa042c916' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '7fb3b829-88a7-42ec-abfd-3ddaa042c916' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"7fb3b829-88a7-42ec-abfd-3ddaa042c916\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '7fb3b829-88a7-42ec-abfd-3ddaa042c916' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-b5d71388\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.794543\",\n \"updatedAt\": \"2025-09-29T07:07:53.794557\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"86ddd018-3d6b-46b9-aa93-dedd6c6b5076\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -880,\n 360\n ],\n \"webhookId\": \"a9668bb8-bbe8-418a-b5c9-ff7dd431244f\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a5ba5090-8e3b-4408-82df-92d2c524039e\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -680,\n 360\n ],\n \"parameters\": {\n \"options\": {\n \"systemMessage\": \"You are a cybersecurity expert trained on MITRE ATT&CK and enterprise incident response. Your job is to:\\n1. Extract TTP information from SIEM data.\\n2. Provide actionable remediation steps tailored to the alert.\\n3. Cross-reference historical patterns and related alerts.\\n4. Recommend external resources for deeper understanding.\\n\\nEnsure that:\\n- TTPs are tagged with the tactic, technique name, and technique ID.\\n- Remediation steps are specific and actionable.\\n- Historical data includes related alerts and notable trends.\\n- External links are relevant to the observed behavior.\\n\"\n }\n },\n \"typeVersion\": 1.7,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"67c52944-b616-4ea6-9507-e9fb6fcdbe2b\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -740,\n 580\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\"...", "input": "", "output": "The workflow has a broken data flow. The node '3aeb973d-22e5-4eaf-8fe8-fae3447909e1' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '3aeb973d-22e5-4eaf-8fe8-fae3447909e1'.\n\n**Impact**: Data from '3aeb973d-22e5-4eaf-8fe8-fae3447909e1' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '3aeb973d-22e5-4eaf-8fe8-fae3447909e1' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"3aeb973d-22e5-4eaf-8fe8-fae3447909e1\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '3aeb973d-22e5-4eaf-8fe8-fae3447909e1' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-22f96133\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.826844\",\n \"updatedAt\": \"2025-09-29T07:07:53.826861\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"201ef455-2d65-4563-8ec1-318211b1fa6a\",\n \"name\": \"Get Message Contents\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 2080,\n 500\n ],\n \"webhookId\": \"fa1d496f-17fa-4e50-bae9-84ca85ed4502\",\n \"parameters\": {\n \"simple\": false,\n \"options\": {},\n \"messageId\": \"={{ $json.id }}\",\n \"operation\": \"get\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"Sf5Gfl9NiFTNXFWb\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmail node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ded010af-e977-4c47-87dd-8221d601af74\",\n \"name\": \"Simplify Emails\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 2240,\n 500\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"2006c806-42db-4457-84c2-35f59ed39018\",\n \"name\": \"date\",\n \"type\": \"string\",\n \"value\": \"={{ $json.date }}\"\n },\n {\n \"id\": \"872278d2-b97c-45ba-a9d3-162f154fe7dc\",\n \"name\": \"subject\",\n \"type\": \"string\",\n \"value\": \"={{ $json.subject }}\"\n },\n {\n \"id\": \"282f03e9-1d0f-4a17-b9ed-75b44171d4ee\",\n \"name\": \"text\",\n \"type\": \"string\",\n \"value\": \"={{ $json.text }}\"\n },\n {\n \"id\": \"9421776c-ff53-4490-b0e1-1e610534ba25\",\n \"name\": \"from\",\n \"type\": \"string\",\n ...", "input": "", "output": "The node 'WhatsApp Business Cloud' (type: n8n-nodes-base.whatsApp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"whatsAppApi\": {\n \"id\": \"9SFJPeqrpChOkAmw\",\n \"name\": \"WhatsApp account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'WhatsApp Business Cloud' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"6cdc45e5-1fa4-47fe-b80a-0e1560996936\",\n \"name\": \"Text\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1460,\n 980\n ],\n \"parameters\": {\n \"name\": \"text_retrieval_tool\",\n \"source\": \"parameter\",\n \"description\": \"Call this tool to return all text from the given website. Query should be full website URL.\",\n \"workflowJson\": \"{\\n \\\"nodes\\\": [\\n {\\n \\\"parameters\\\": {},\\n \\\"id\\\": \\\"05107436-c9cb-419b-ae8a-b74d309a130d\\\",\\n \\\"name\\\": \\\"Execute workflow\\\",\\n \\\"type\\\": \\\"n8n-nodes-base.manualTrigger\\\",\\n \\\"typeVersion\\\": 1,\\n \\\"position\\\": [\\n 2220,\\n 620\\n ]\\n },\\n {\\n \\\"parameters\\\": {\\n \\\"assignments\\\": {\\n \\\"assignments\\\": [\\n {\\n \\\"id\\\": \\\"253c2b17-c749-4f0a-93e8-5ff74f1ce49b\\\",\\n \\\"name\\\": \\\"domain\\\",\\n \\\"value\\\": \\\"={{ $json.query }}\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n },\\n \\\"options\\\": {}\\n },\\n \\\"id\\\": \\\"bb8be616-3227-4705-8520-1827069faacd\\\",\\n \\\"name\\\": \\\"Set domain\\\",\\n \\\"type\\\": \\\"n8n-nodes-base.set\\\",\\n \\\"typeVersion\\\": 3.3,\\n \\\"position\\\": [\\n 2440,\\n 620\\n ]\\n },\\n {\\n \\\"parameters\\\": {\\n \\\"assignments\\\": {\\n \\\"assignments\\\": [\\n {\\n \\\"id\\\": \\\"ed0f1505-82b6-4393-a0d8-088055137ec9\\\",\\n \\\"name\\\": \\\"domain\\\",\\n \\\"value\\\": \\\"={{ $json.domain.startsWith(\\\\\\\"http\\\\\\\") ? $json.domain : \\\\\\\"http://\\\\\\\" + $json.domain }}\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n },\\n \\\"options\\\": {}\\n },\\n \\\"id\\\": \\\"bdf29340-f135-489f-848e-1c7fa43a01df\\\",\\n \\\"name\\\": \\\"Add protocool to domain\\\",\\n \\\"type\\\": \\\"n8n-nodes-base.set\\\",\\n \\\"typeVersion\\\": 3.3,\\n \\\"position\\\": [\\n 2640,\\n 620\\n ]\\n },\\n {\\n \\\"parameters\\\": {\\n \\\"assignments\\\": {\\n \\\"assignments\\\": [\\n {\\n \\\"id\\\": \\\"2b1c7ff8-06a7-448b-99b7-5ede4b2e0bf0\\\",\\n \\\"name\\\": \\\"response\\\",\\n \\\"value\\\": \\\"={{ $json.data }}\\\",\\n \\\"type\\\": \\\"string\\\"\\n }\\n ]\\n },\\n \\\"options\\\": {}\\n },\\n \\\"id\\\": \\\"9f0aa264-08c1-459a-bb99-e28599fe8f76\\\",\\n \\\"name\\\": \\\"Set response\\\",\\n \\\"type\\\": \\\"n8n-nodes-base.set\\\",\\n \\\"typeVersion\\\": 3.3,\\n \\\"position\\\": [\\n 33...", "input": "", "output": "In node 'Sticky Note7', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `### Insert data to database\nAdd new rows in database table with extracted data.\n\n\ud83d\udca1 **You can replace Supabase with other database of your choice.**`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note7' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"TBiW9x7O4ijo4yOX\",\n \"meta\": {\n \"instanceId\": \"workflow-bed09aa0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.847488\",\n \"updatedAt\": \"2025-09-29T07:07:53.847554\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Bitrix24 Open Chanel RAG Chatbot Application Workflow example with Webhook Integration\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"dbd7b2c0-2b27-4c23-beb7-eec128da0787\",\n \"name\": \"Bitrix24 Handler\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n -1280,\n 620\n ],\n \"webhookId\": \"bde38660-2604-4e00-afc0-5ebceebb7f0a\",\n \"parameters\": {\n \"path\": \"bitrix24/openchannel-rag-bothandler.php\",\n \"options\": {},\n \"httpMethod\": \"POST\",\n \"responseMode\": \"responseNode\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0ead4d82-4d9b-4392-af4c-2c315068b983\",\n \"name\": \"Credentials\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -1040,\n 620\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"030f8f90-2669-4c20-9eab-c572c4b7c70c\",\n \"name\": \"CLIENT_ID\",\n \"type\": \"string\",\n \"value\": \"local.67c8f9e81cb353.30162021\"\n },\n {\n \"id\": \"de9bbb7a-b782-4540-b259-527625db8490\",\n \"name\": \"CLIENT_SECRET\",\n \"type\": \"string\",\n \"value\": \"Db5943DCy4JhYq4oU0yNb21Hx8WimQeThczOYk03uJrVroc8R4\"\n },\n {\n \"id\": \"86b7aff7-1e25-4b12-a366-23cf34e5a405\",\n \"name\": \"application_token\",\n \"type\": \"string\",\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"d73e5113-119f-4e62-9872-48e6a971d760\",\n \"name\": \"Stop Interview?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 3380,\n 920\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"3cf788a6-94d0-4223-9caa-30b8e4df8e01\",\n \"operator\": {\n \"type\": \"boolean\",\n \"operation\": \"true\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.output.stop_interview }}\",\n \"rightValue\": \"\"\n }\n ]\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cda3c487-97fa-4037-b9a0-0802f4a02727\",\n \"name\": \"Generate Row\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 3740,\n 1200\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"06146a75-b67a-42cf-aa6f-241f23c47b9a\",\n \"name\": \"timestamp\",\n \"type\": \"string\",\n \"value\": \"={{ $now.toISO() }}\"\n },\n {\n \"id\": \"b0278c64-58a7-487d-b7ba-d102fb5d4a0c\",\n \"name\": \"type\",\n \"type\": \"string\",\n \"value\": \"next_question\"\n },\n {\n \"id\": \"ba034ca1-408e-422f-b071-dab0ef12fb48\",\n \"name\": \"question\",\n \"type\": \"string\",\n \"value\": \"={{ $('Parse Response').item.json.output.question }}\"\n },\n {\n \"id\": \"a2231f6e-f507-408e-b598-53888cf8d4b5\",\n \"name\": \"answer\",\n \"type\": \"st...", "input": "", "output": "The node 'Query By Session' (type: n8n-nodes-base.redis) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"redis\": {\n \"id\": \"AbPH1yYQ924bVUqm\",\n \"name\": \"Upstash (ai interviewer)\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Query By Session' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-b9857866\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.914162\",\n \"updatedAt\": \"2025-09-29T07:07:53.914245\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"63501cc8-77c9-4037-9f70-da23b6d20b03\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 280,\n 440\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"00de989c-d9e9-4b42-b5db-7097800a6017\",\n \"name\": \"Zip Entries\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1380,\n 360\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"833a554d-2b39-4160-9348-18b17b28ce30\",\n \"name\": \"data\",\n \"type\": \"array\",\n \"value\": \"={{ \\n $json.review_author.map((review_author, idx) => ({\\n review_author,\\n review_author_reviews_count: $json.review_author_reviews_count[idx].replace(' reviews', '').toInt(),\\n review_country: $json.review_country[idx],\\n review_date: $json.review_date[idx].toDate(),\\n review_date_of_experience: $json.review_date_of_experience[idx].replace('Date of experience: ', '').toDate(),\\n review_rating: $json.review_rating[idx].toInt(),\\n review_text: $json.review_text[idx],\\n review_title: $json.review_title[idx],\\n review_url: $('Get TrustPilot Page').params.url.match(/https:\\\\/\\\\/[^/]+/) + $json.review_url[idx],\\n }))\\n}}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9290e116-c001-49d5-ae4c-d91cd246f2c2\",\n \"name\":...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"DNqCvzBvS7GAFWm4\",\n \"meta\": {\n \"instanceId\": \"workflow-2ae6eeb3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.924296\",\n \"updatedAt\": \"2025-09-29T07:07:53.924324\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Send Emails from Obsidian\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"9bd809d6-c270-4429-945d-1e519384acae\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -320,\n 20\n ],\n \"parameters\": {\n \"width\": 395.06030313757196,\n \"height\": 388.5681601162638,\n \"content\": \"## Obsidian to Email Overview\\n\\nThis workflow allows you to send your Obsidian notes (including attachments) via email, with YAML metadata for customization.\\n\\n### Key Features:\\n- Trigger email sending through [Obsidian's Post Webhook plugin]({{ $env.WEBHOOK_URL }}\\n- Parse YAML frontmatter for email metadata like recipients, subject, and more.\\n- Automatic handling of attachments (images/files) via base64 encoding.\\n- Append Webhook response automatically to the bottom of your note in Obsidian\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bc2376ea-31db-43dc-84c4-7933bc7a96f8\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -320,\n 439\n ],\n \"parameters\": {\n \"color\": 3,\n \"width\": 398.9156829431131,\n \"height\": 447.41755555994735,\n \"content\": \"## YAML Frontmatter Example\\n\\nUse YAML frontmatter in your Obsidian notes to define key email details such as recipients, subject, and more.\\n\\n### Example YAML:\\n```yaml\\n---\\nto: \\\"recipient@example.com\\\"\\ncc: \\\"cc@example.co...", "input": "", "output": "In node 'Respond to Obsidian', the parameter 'respondWith' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `text`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Respond to Obsidian' parameter 'respondWith'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"c17e444e-0a5e-4bfe-8de6-c3185de4465d\",\n \"name\": \"Grants to List\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n -240,\n -180\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"oppHits\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9251d39c-6098-42fa-aadd-3a22464dee64\",\n \"name\": \"Get Grant Details\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 280,\n -280\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"contentType\": \"form-urlencoded\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"oppId\",\n \"value\": \"={{ $json.id }}\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ade994d6-a1f8-45bf-a82e-83eb38da08d6\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 440,\n -120\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4d81b20e-0038-48d3-840c-3fcf8b798a0d\",\n \"name\": \"Summarize Synopsis\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 460,\n -280\n ],\n \"parameters\": {\n \"text\": \"=Agency: {{ $json.synopsis.agencyName }}\\nTitle: {{ $json.opportunityTitle }}\\nSynopsis: {{ $json.synopsis.synopsisDesc }}\",\n \"options\": {\n \"systemPromptTemplate\": \"You've bee...", "input": "", "output": "The node 'AI Grants since Yesterday' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'AI Grants since Yesterday'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-282eaafc\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.941331\",\n \"updatedAt\": \"2025-09-29T07:07:53.941363\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"cbc036f7-b0e1-4eb4-94c3-7571c67a1efe\",\n \"name\": \"Code\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n -120,\n 40\n ],\n \"parameters\": {\n \"mode\": \"runOnceForEachItem\",\n \"jsCode\": \"// Get the input text\\nconst text = $input.item.json.text;\\n\\n// Ensure text is not null or undefined\\nif (!text) {\\n throw new Error('Input text is empty');\\n}\\n\\n// Function to split text into sentences while preserving dates and list items\\nfunction splitIntoSentences(text) {\\n const monthNames = '(?:Januar|Februar|M\\u00e4rz|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember)';\\n const datePattern = `(?:\\\\\\\\d{1,2}\\\\\\\\.\\\\\\\\s*(?:${monthNames}|\\\\\\\\d{1,2}\\\\\\\\.)\\\\\\\\s*\\\\\\\\d{2,4})`;\\n \\n // Split by sentence-ending punctuation, but not within dates or list items\\n const regex = new RegExp(`(?<=[.!?])\\\\\\\\s+(?=[A-Z\\u00c4\\u00d6\\u00dc]|$)(?!${datePattern}|\\\\\\\\s*[-\\u2022]\\\\\\\\s)`, 'g');\\n \\n return text.split(regex)\\n .map(sentence => sentence.trim())\\n .filter(sentence => sentence !== '');\\n}\\n\\n// Split the text into sentences\\nconst sentences = splitIntoSentences(text);\\n\\n// Output a single object with an array of sentences\\nreturn { json: { sentences: sentences } };\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"faae4740-a529-4275-be0e-b079c3bfde58\",\n \"name\": \"Split Out1\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 340,\n -180\n ],\n \"parameters\": {\n \"options\": {\n \"destinationFieldName\": \"claim\"\n },\n \"fiel...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"DqvkhR9nzoPQKxGh\",\n \"meta\": {\n \"instanceId\": \"workflow-93781d19\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.962572\",\n \"updatedAt\": \"2025-09-29T07:07:53.962588\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Scrape Trustpilot Reviews to Google Sheets\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"6680358c-de48-4459-aac7-dd7b903e542d\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1300,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"896d5dcb-d2cf-4a86-8c84-7997bc7a2d0a\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1000,\n 40\n ],\n \"parameters\": {\n \"width\": 232,\n \"height\": 346,\n \"content\": \"## Edit this node \\ud83d\\udc47\\n\\nChange to the name of the company registered on Trustpilot and the maximum number of pages to scrape\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4d208d18-991b-4dfd-a717-8f752ea74a90\",\n \"name\": \"Get reviews\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -700,\n 220\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {\n \"pagination\": {\n \"pagination\": {\n \"parameters\": {\n \"parameters\": [\n {\n \"name\": \"page\",\n \"value\": \"={{ $pageCount + 1 }}\"\n }\n ]\n },\n \"maxR...", "input": "", "output": "In node 'Split Out', the parameter 'fieldToSplitOut' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `reviews`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Split Out' parameter 'fieldToSplitOut'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-df02f461\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:53.993666\",\n \"updatedAt\": \"2025-09-29T07:07:53.993686\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"6359f725-1ede-4b05-bc19-05a7e85c0865\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 680,\n 292\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9e1e61c7-f5fd-4e8a-99a6-ccc5a24f5528\",\n \"name\": \"Fetch Source Image\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1000,\n 292\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9b1b94cf-3a7d-4c43-ab6c-8df9824b5667\",\n \"name\": \"Split Out Results Only\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1428,\n 323\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"result\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fcbaf6c3-2aee-4ea1-9c5e-2833dd7a9f50\",\n \"name\": \"Filter Score >= 0.9\",\n \"type\": \"n8n-nodes-base.filter\",\n \"position\": [\n 1608,\n 323\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"367...", "input": "", "output": "In node 'Upload to Cloudinary', the parameter 'method' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `POST`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Upload to Cloudinary' parameter 'method'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"FU3MrLkaTHmfdG4n\",\n \"meta\": {\n \"instanceId\": \"workflow-99884fcb\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.012116\",\n \"updatedAt\": \"2025-09-29T07:07:54.012126\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Hugging Face to Notion\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"32d5bfee-97f1-4e92-b62e-d09bdd9c3821\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -2640,\n -300\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"weeks\",\n \"triggerAtDay\": [\n 1,\n 2,\n 3,\n 4,\n 5\n ],\n \"triggerAtHour\": 8\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b1f4078e-ac77-47ec-995c-f52fd98fafef\",\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n -1360,\n -280\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"7094d6db-1fa7-4b59-91cf-6bbd5b5f067e\",\n \"operator\": {\n \"type\": \"object\",\n \"operation\": \"empty\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json }}\",\n \"rightValue\": \"\"\n }\n ]\n }\n },\n \"typeVersion...", "input": "", "output": "The node 'Store Abstract Notion' (type: n8n-nodes-base.notion) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"notionApi\": {\n \"id\": \"I5KdUzwhWnphQ862\",\n \"name\": \"notion\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Store Abstract Notion' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"sUGieRWulZJ7scll\",\n \"meta\": {\n \"instanceId\": \"workflow-1720e6e1\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.019593\",\n \"updatedAt\": \"2025-09-29T07:07:54.019799\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Fetch Squarespace Blog & Event Collections to Google Sheets \",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"43bb2c50-a9a9-4647-a470-612ad502283f\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -240,\n 420\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {}\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"410fa5ad-a8b8-4cde-b9a9-1d16db0880c9\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -240,\n 180\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fa58fb9d-9292-4f25-8326-fad6e59a5513\",\n \"name\": \"Fetch Squarespace blog\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 20,\n 300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"options\": {\n \"pagination\": {\n \"pagination\": {\n \"parameters\": {\n \"parameters\": [\n {\n \"name\": \"offset\",\n \"value\": \"={{ $response.body.pagination.nextPageOffset }}\"\n },\n {\n \"name\": \"format\",\n \"value\": \"json\"\n ...", "input": "", "output": "The workflow has a broken data flow. The node 'fa58fb9d-9292-4f25-8326-fad6e59a5513' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'fa58fb9d-9292-4f25-8326-fad6e59a5513'.\n\n**Impact**: Data from 'fa58fb9d-9292-4f25-8326-fad6e59a5513' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'fa58fb9d-9292-4f25-8326-fad6e59a5513' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"fa58fb9d-9292-4f25-8326-fad6e59a5513\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'fa58fb9d-9292-4f25-8326-fad6e59a5513' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"FyoPGDh8r3pxcGxo:\n \"meta\": {\n \"instanceId\": \"workflow-815fdce8\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.010204\",\n \"updatedAt\": \"2025-09-29T07:07:54.010221\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"New OpenAI Image Generation\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"6b5f9234-351f-4f6b-a0ab-f0d30897f60a\",\n \"name\": \"Convert to File\",\n \"type\": \"n8n-nodes-base.convertToFile\",\n \"position\": [\n 320,\n 400\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"toBinary\",\n \"sourceProperty\": \"b64_json\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This convertToFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9c60f827-bf37-486b-9026-0cbe97fd83b6\",\n \"name\": \"OpenAI - Generate Image\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -120,\n 400\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"model\\\": \\\"{{ $json.openai_image_model }}\\\",\\n \\\"prompt\\\": \\\"{{ $json.image_prompt }}\\\",\\n \\\"n\\\": {{ $json.number_of_images }},\\n \\\"size\\\": \\\"{{ $json.size_of_image }}\\\",\\n \\\"quality\\\": \\\"{{ $json.quality_of_image }}\\\"\\n}\",\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ]\n },\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"Kzj...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"GM9Qxzul4NPQpJkn\",\n \"meta\": {\n \"instanceId\": \"workflow-46c0c589\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.041712\",\n \"updatedAt\": \"2025-09-29T07:07:54.041737\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\u26a1\\ud83d\\udcfd\\ufe0f Ultimate AI-Powered Chatbot for YouTube Summarization & Analysis\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"10cfb27f-ef93-41cd-972e-37dfdcab97ad\",\n \"name\": \"Get YouTube Transcript\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 20,\n 360\n ],\n \"parameters\": {\n \"jsCode\": \"// Get all input items\\nconst items = $input.all();\\nconst results = [];\\n\\n// Import the YoutubeTranscript module from the youtube-transcript package\\n// npm i -g youtube-transcript\\nconst { YoutubeTranscript } = require('youtube-transcript');\\n\\nfor (let i = 0; i < items.length; i++) {\\n // Extract the VIDEO_ID from the input JSON\\n const VIDEO_ID = items[i].json.VIDEO_ID;\\n \\n if (!VIDEO_ID) {\\n throw new Error('The video ID parameter is empty.');\\n }\\n \\n try {\\n // Fetch the transcript for the provided video ID\\n const transcript = await YoutubeTranscript.fetchTranscript(VIDEO_ID);\\n \\n // Append the fetched transcript data to the results\\n results.push({\\n json: {\\n youtubeId: VIDEO_ID,\\n transcript,\\n },\\n });\\n } catch (error) {\\n // In case of an error, add an error message to the output for this item\\n results.push({\\n json: {\\n youtubeId: VIDEO_ID,\\n error: error.message,\\n },\\n });\\n }\\n}\\n\\n// Return the results to be used by the next node in the workflow\\nreturn results;\\n\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of...", "input": "", "output": "The node 'Respond with YouTube Details & Transcript' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Respond with YouTube Details & Transcript'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-0759b0c3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.054082\",\n \"updatedAt\": \"2025-09-29T07:07:54.054097\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"1205b121-8aaa-4e41-874b-4e81aad6374e\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 120,\n 600\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 462.4041757955455,\n \"height\": 315.6388466176832,\n \"content\": \"## Generate SEO Seed Keywords Using AI\\n\\nThis flow uses an AI node to generate Seed Keywords to focus SEO efforts on based on your ideal customer profile\\n\\n**Outputs:** \\n- List of 20 Seed Keywords\\n\\n\\n**Pre-requisites / Dependencies:**\\n- You know your ideal customer profile (ICP)\\n- An AI API account (either OpenAI or Anthropic recommended)\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d2654d75-2b64-4ec3-b583-57d2b6b7b195\",\n \"name\": \"Sticky Note13\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"disabled\": true,\n \"position\": [\n 640,\n 920\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 287.0816455493243,\n \"height\": 330.47923074942287,\n \"content\": \"**Generate draft seed KW based on ICP**\\n\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d248a58e-3705-4b6f-99cb-e9187e56781c\",\n \"name\": \"Anthropic Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 680,\n 1120\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatAnthropic node performs automated tasks as ...", "input": "", "output": "The node 'Aggregate for AI node' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Aggregate for AI node'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"Hjyv9FkH5Oh6Yxw4\",\n \"meta\": {\n \"instanceId\": \"workflow-65c5e3ea\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.110866\",\n \"updatedAt\": \"2025-09-29T07:07:54.110878\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Insert and retrieve documents\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"52044ccd-4e0d-4353-b612-cf8db1b55331\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -500,\n -100\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b6993775-d21b-4ae8-a59c-43aef2b7002b\",\n \"name\": \"Fetch Essay List\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -220,\n -100\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cbaeb236-5c93-4b34-a06b-ff0e5de8525f\",\n \"name\": \"Extract essay names\",\n \"type\": \"n8n-nodes-base.html\",\n \"position\": [\n -20,\n -100\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"extractHtmlContent\",\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"attribute\": \"href\",\n \"cssSelector\": \"table table a\",\n \"returnArray\": true,\n \"returnValue\": \"attribute\"\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This html node performs automated tasks as part of the workflow.\"\n },\n {\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"I2qMAcQET7isaqYD\",\n \"meta\": {\n \"instanceId\": \"workflow-c201de5a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.076447\",\n \"updatedAt\": \"2025-09-29T07:07:54.076461\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"n8napi-check-workflow-which-model-is-using\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"a027dc3c-b3a2-45f6-9126-dbec39f55b39\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -880,\n -40\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0aafc781-6847-4b5d-8f80-3bd457f16db3\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n -220,\n -40\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"242d1965-d1e3-4b74-8064-53ea56118e94\",\n \"name\": \"Edit Fields-set_model_data\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 460,\n 80\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"3c08b3a3-092d-4f88-81ef-7a7b3acf47b2\",\n \"name\": \"node_name\",\n \"type\": \"string\",\n \"value\": \"={{ $json.name }}\"\n },\n {\n \"id\": \"9b060fdb-f6a6-444a-a28d-deeacb21b3d3\",\n \"name\": \"model\",\n \"type\": \"string\",\n \"value\": \"={{ $json?.parameters?.model?.value || $json?.parameters?.model || $json?.parameters?...", "input": "", "output": "The node 'n8n-get all workflow' (type: n8n-nodes-base.n8n) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"n8nApi\": {\n \"id\": \"dXWG3XrAfEA64tjh\",\n \"name\": \"n8n account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'n8n-get all workflow' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"KKCfXEpBjjhp1LC8\",\n \"meta\": {\n \"instanceId\": \"workflow-7e613cc8\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.076705\",\n \"updatedAt\": \"2025-09-29T07:07:54.076711\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Entra User to Zammad User Sync\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"0007443e-b0d4-4f98-a613-3ec7c2842aa3\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -2140,\n 140\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2b285a4f-7e39-411b-88b9-cb55c5cf62e3\",\n \"name\": \"Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1700,\n 380\n ],\n \"parameters\": {\n \"width\": 1635.910561370123,\n \"height\": 329.7269624573379,\n \"content\": \"## Select Entra Users in a named Entra Group that should be synced to Zammad\\n\\n\\n\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"929e529e-a4a3-4663-b9dc-e2300a860fed\",\n \"name\": \"Get Groups from Entra\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -1660,\n 480\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"options\": {},\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"microsoftOAuth2Api\": {\n \"id\": \"U2E5p3lreqSi8v1N\",\n \"name\": \"ms365test.zammad.org\"\n },\n \"microsoftGraphSecurityOAuth2Api\": {...", "input": "", "output": "In node 'Update Zammad User', the parameter 'operation' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `update`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Update Zammad User' parameter 'operation'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"41183066-0045-4a75-ba23-42f4efcfeccc\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 720,\n 720\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-1.5-flash\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"Hx1fn2jrUvojSKye\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatGoogleGemini node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"eb061c39-7a4d-42e7-bb42-806504731b11\",\n \"name\": \"Basic LLM Chain\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 700,\n 560\n ],\n \"parameters\": {\n \"text\": \"=Your Task is to find the best resources to learn {{ $('GetTopicFromToLearn').item.json[\\\"I want to learn\\\"] }}. \\n\\nI have scraped the HackerNews and The following is the list of comments from HackerNews on topic about Learning {{ $('GetTopicFromToLearn').item.json[\\\"I want to learn\\\"] }}\\n\\n\\nFocus only on comments that provide any resouces or advice or insight about learning {{ $('GetTopicFromToLearn').item.json.Learn }}. Ignore all other comments that are off topic discussions.\\n\\nNow based on these comments, you need to find the top resources and list them. \\n\\nCategorize them based on resource type (course, book, article, youtube videos, lectures, etc) and also figure out the difficultiy level (beginner, intermediate, advanced, expert).\\n\\nYou don't always to have fill in these categories exactly, these are given here for reference. Use your intution to find the best categorization.\\n\\nNow based on these metrics and running a basic sentiment analysis on comments you need to figure out what the top resources are. \\n\\nRespond back in Markdown formatted text. In the following format\\n\\n**OUTPUT FORMAT**\\n\\n```\\n\\n## Top HN Recomended Resources To Learn \\...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-cd65de7e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.095698\",\n \"updatedAt\": \"2025-09-29T07:07:54.095709\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"6325369f-5881-4e4e-b71b-510a64b236ef\",\n \"name\": \"Retrieve relevant info\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1260,\n 400\n ],\n \"parameters\": {\n \"mode\": \"raw\",\n \"options\": {},\n \"jsonOutput\": \"={\\n\\\"track\\\" : \\\"{{ $json.track.name.replaceAll('\\\"',\\\"'\\\") }}\\\",\\n\\\"artist\\\": \\\"{{ $json.track.artists[0].name }}\\\",\\n\\\"album\\\" :\\\"{{ $json.track.album.name }}\\\",\\n\\\"track_spotify_uri\\\" : \\\"{{ $json.track.uri }}\\\",\\n\\\"track_spotify_id\\\" : \\\"{{ $json.track.id }}\\\",\\n\\\"external_urls\\\": \\\"{{ $json.track.external_urls.spotify }}\\\",\\n\\\"track_popularity\\\" : \\\"{{ $json.track.popularity }}\\\",\\n\\\"album_release_date\\\" : \\\"{{ $json.track.album.release_date.toDateTime().year }}\\\"\\n}\"\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2252fe16-6ee7-4fbe-b74e-d9bdcc7ad708\",\n \"name\": \"Batch preparation\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 1560,\n 280\n ],\n \"parameters\": {\n \"jsCode\": \"const items = $input.all();\\nconst trackSpotifyIds = items.map((item) => item?.json?.track_spotify_id);\\n\\nconst aggregatedItems = [];\\nfor (let i = 0; i < trackSpotifyIds.length; i += 100) {\\n aggregatedItems.push({\\n json: {\\n trackSpotifyIds: trackSpotifyIds.slice(i, i + 100),\\n },\\n });\\n}\\n\\nreturn aggregatedItems;\\n\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"83c181f8-ed18-41d7-8c7e-26b0dd320083\",\n \"name\": \"Get Track details\",\n ...", "input": "", "output": "The node 'Get Track details' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"spotifyOAuth2Api\": {\n \"id\": \"S9iODAILG9yn19ta\",\n \"name\": \"Spotify account - Arnaud's\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Get Track details' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"NDCN2arRu5tLuP61\",\n \"meta\": {\n \"instanceId\": \"workflow-dd4b5c1a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.124948\",\n \"updatedAt\": \"2025-09-29T07:07:54.124959\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Automate PDF Image Extraction & Analysis with GPT-4o and Google Drive\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"78bb478a-721d-433f-a615-8f131ef1d87f\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1180,\n 140\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b1c2e97b-3539-4e16-89df-434a34c6a243\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -740,\n -440\n ],\n \"parameters\": {\n \"color\": 3,\n \"width\": 360,\n \"height\": 480,\n \"content\": \"### Setup\\n1.Set up your credentials when you first open the workflow. You\\u2019ll need accounts for OpenAI, Convert API, and Google Drive.\\n2.Convert API does not rate-limit your API, sometimes you may receive 503 service unavailable error.\\nNevertheless, it doesn\\u2019t mean that you cannot convert your file. It simply means that you should retry the conversion in a few seconds.\\n3.Upload a PDF with images to Google Drive.\\n4.Remove unnecessary parts and retrieve image-related information.\\n5.Integrate image and image analysis information together.\\n6.Analyze each image using the OPENAI GPT-4o model.\\n7.Retrieve all image analysis content and image URL\\n8.Integrate multiple image URLs and analysis content\\n9.Output content to a .txt file.\\n\\nTemplate was created in n8n...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"NGwD3pIHXBU0w5hC\",\n \"meta\": {\n \"instanceId\": \"workflow-5f06b4ea\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.160343\",\n \"updatedAt\": \"2025-09-29T07:07:54.160355\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"[n8n] - Shopify Orders to D365 Business Central Sales Orders / Sales Invoices\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"92db12db-d96d-4076-a9cd-441c4bdfe212\",\n \"name\": \"GetFufillmentOrders\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 840,\n 300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"sendHeaders\": true,\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Content-Type\",\n \"value\": \"application/json\"\n }\n ]\n },\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"BkNv57yQW9PSPr6p\",\n \"name\": \"Shopify HTTP Token Auth\"\n },\n \"shopifyAccessTokenApi\": {\n \"id\": \"9P9B0Hcwyj2CpqeA\",\n \"name\": \"Shopify Access Token account\"\n }\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"60e0bd37-a2d1-48c5-8b47-830094d5e2ae\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 780,\n 140\n ],\n \"parameters\": {\n \"width\": 730.3433300216063,\n \"height\": 394.8862809393426,\n \"content\": \"## Shopify Line Locations\\nFor multi-location Shopify accounts, these group of nodes get the active ...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"NOycL25YOISt8OLU\",\n \"meta\": {\n \"instanceId\": \"workflow-f6909c9a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.143746\",\n \"updatedAt\": \"2025-09-29T07:07:54.143761\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Search LinkedIn companies and add them to Airtable CRM\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"671698bb-adb4-48dc-9115-c6557b5ffc5d\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 80,\n 460\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"315d7d7d-145d-4326-a1ae-9da2d1a420b4\",\n \"name\": \"Process Each Company\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"onError\": \"continueRegularOutput\",\n \"position\": [\n 1020,\n 460\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3,\n \"alwaysOutputData\": false,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"efaca93a-d954-491d-a03b-d727efeafe07\",\n \"name\": \"Get Company Info\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"onError\": \"continueRegularOutput\",\n \"position\": [\n 1260,\n 460\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {\n \"batching\": {\n \"batch\": {\n \"batchSize\": 1,\n \"batchInterval\": 2000\n }\n }\n },\n \"sendQuery\": true,\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpHeaderAuth\",\n \"queryParameters\": {\n ...", "input": "", "output": "The workflow has a broken data flow. The node '3de1fad5-53c0-4fc3-b97b-1a96515df9c6' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '3de1fad5-53c0-4fc3-b97b-1a96515df9c6'.\n\n**Impact**: Data from '3de1fad5-53c0-4fc3-b97b-1a96515df9c6' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '3de1fad5-53c0-4fc3-b97b-1a96515df9c6' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"3de1fad5-53c0-4fc3-b97b-1a96515df9c6\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '3de1fad5-53c0-4fc3-b97b-1a96515df9c6' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"P9Jr9s9yfcDXTe9R\",\n \"meta\": {\n \"instanceId\": \"workflow-f2e683f6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.152355\",\n \"updatedAt\": \"2025-09-29T07:07:54.152371\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"n8n Subworkflow Dependency Graph & Auto-Tagging\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"c3e6b9cb-4681-4778-b2f4-01c4a7d8c844\",\n \"name\": \"Update workflow tags\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 3200,\n 740\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"method\": \"PUT\",\n \"options\": {},\n \"jsonBody\": \"={{ $json.tags }}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"XXXXXX\",\n \"name\": \"n8n account\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d348051c-cc81-40cf-9c9b-f42c6f16c9d6\",\n \"name\": \"GET all workflows\",\n \"type\": \"n8n-nodes-base.n8n\",\n \"position\": [\n 1000,\n 0\n ],\n \"parameters\": {\n \"filters\": {},\n \"requestOptions\": {}\n },\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"XXXXXX\",\n \"name\": \"n8n account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This n8n node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bd1c08e5-f8fa-46a0-bfa9-ced09373d3eb\",\n \"name\": \"List callers of subworkflows\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 1200,\n 0\n...", "input": "", "output": "The node 'GET all tags' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"n8nApi\": {\n \"id\": \"XXXXXX\",\n \"name\": \"n8n account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'GET all tags' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"R6tFG45dQydBz63e\",\n \"meta\": {\n \"instanceId\": \"workflow-83ed3b83\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.163201\",\n \"updatedAt\": \"2025-09-29T07:07:54.163211\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"n8n Community Topic Tracker by Keyword\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"b735226c-ce7f-4daf-8255-45ba80262aa5\",\n \"name\": \"Google Sheets\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 760,\n 0\n ],\n \"parameters\": {\n \"columns\": {\n \"value\": {\n \"id\": \"={{ $json.id }}\",\n \"url\": \"{{ $env.BASE_URL }}\",\n \"date\": \"={{ $json.created_at }}\",\n \"title\": \"={{ $json.title }}\",\n \"has_solution\": \"={{ $json.has_accepted_answer }}\"\n },\n \"schema\": [\n {\n \"id\": \"id\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"id\",\n \"defaultMatch\": true,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"date\",\n \"type\": \"string\",\n \"display\": true,\n \"required\": false,\n \"displayName\": \"date\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"title\",\n \"type\": \"string\",\n \"display\": true,\n \"required\": false,\n \"displayName\": \"title\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"url\",\n \"type\": \"string\",\n \"display\": true,\n \"remove...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-93c1ba4d\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.208575\",\n \"updatedAt\": \"2025-09-29T07:07:54.208590\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"ff4e8706-09a0-4bf1-86c1-dfb65f55ccb3\",\n \"name\": \"Google Drive Trigger\",\n \"type\": \"n8n-nodes-base.googleDriveTrigger\",\n \"position\": [\n 20,\n -140\n ],\n \"parameters\": {\n \"event\": \"fileCreated\",\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n },\n \"triggerOn\": \"specificFolder\",\n \"folderToWatch\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1-hRMnBRYgY6iVJ_youKMyPz83k9GAVYu\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"nnnnnnnnnnn8n\"\n }\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"PlyNQuMqlwn9SuLb\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This googleDriveTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"340fb03b-3b8a-4eb4-ad4c-b0ba12b72b19\",\n \"name\": \"Google Drive\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 260,\n -140\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"={{ $json.id }}\"\n },\n \"options\": {\n \"binaryPropertyName\": \"data\"\n },\n \"operation\": \"download\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"PlyNQuMqlwn9SuLb\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 3,\n \"notes\": \"This googleDrive node performs automated t...", "input": "", "output": "The node 'Extract from File' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Extract from File'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"SHgOqN3ednIo5gNu\",\n \"meta\": {\n \"instanceId\": \"workflow-7909618c\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.228094\",\n \"updatedAt\": \"2025-09-29T07:07:54.228105\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Find Top Keywords\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"386c7972-34c2-4f51-9329-dee7f6a7511b\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -3440,\n 760\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3ebf40fd-acfd-4424-99c9-95ddaac74de3\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -3440,\n 1040\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"cronExpression\",\n \"expression\": \"0 */4 * * *\"\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a24af92b-849d-48ee-aedd-6c7e75d9c902\",\n \"name\": \"Gen Time\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n -3160,\n 940\n ],\n \"parameters\": {\n \"jsCode\": \"// Get today's date\\nconst today = new Date();\\n\\n// Subtract one day to get the previous day\\nconst yesterday = new Date(today);\\nyesterday.setDate(today.getDate() - 1);\\n\\n// Format the date as yyyy-mm-dd\\nconst year = yesterday.getFullYear();\\nconst month = String(yesterday.getMonth() + 1).padStart(2, '0'); // Month is zero-indexed\\nconst day = String(yesterday.getDate()).pa...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-e6018044\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.279220\",\n \"updatedAt\": \"2025-09-29T07:07:54.279229\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"67850bd7-f9f4-4d5b-8c9e-bd1451247ba6\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -740,\n 1000\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0d9133f9-b6d3-4101-95c6-3cd24cdb70c3\",\n \"name\": \"Fetch essay list\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -520,\n 1000\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ee634297-a456-4f70-a995-55b02950571e\",\n \"name\": \"Extract essay names\",\n \"type\": \"n8n-nodes-base.html\",\n \"position\": [\n -300,\n 1000\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"extractHtmlContent\",\n \"dataPropertyName\": \"=data\",\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"attribute\": \"href\",\n \"cssSelector\": \"table table a\",\n \"returnArray\": true,\n \"returnValue\": \"attribute\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This html node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"83d75693-dbb8-44c4-8533-da06f611c59c\",\n \"name\": \"Fetch essay texts\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"pos...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"DswhuYzoemjA6iNN\",\n \"meta\": {\n \"instanceId\": \"workflow-12a48778\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.269052\",\n \"updatedAt\": \"2025-09-29T07:07:54.269080\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Scrape Books from URL with Dumpling AI, Clean HTML, Save to Sheets, Email as CSV\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"2e4f64a5-353c-4dd3-9822-62df795d4940\",\n \"name\": \"Convert to CSV File\",\n \"type\": \"n8n-nodes-base.convertToFile\",\n \"position\": [\n 1640,\n 340\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This convertToFile node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"472442d3-a691-4310-93f8-019579d0c473\",\n \"name\": \"Extract all books from the page\",\n \"type\": \"n8n-nodes-base.html\",\n \"position\": [\n 760,\n 340\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"extractHtmlContent\",\n \"dataPropertyName\": \"content\",\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"cssSelector\": \".row > li\",\n \"returnArray\": true,\n \"returnValue\": \"html\"\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This html node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"92765257-d64d-47c9-bd57-50914342138b\",\n \"name\": \"Sort by price\",\n \"type\": \"n8n-nodes-base.sort\",\n \"position\": [\n 1420,\n 340\n ],\n \"parameters\": {\n \"options\": {},\n \"sortFieldsUi\": {\n \"sortField\": [\n {\n \"order\": \"descending\",\n \"fi...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"82fd6023-2cc3-416e-83b7-fda24d07d77a\",\n \"name\": \"Issues to List\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 40,\n -100\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"data.issues.nodes\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9cc77786-e14f-47c6-a3cf-60c2830612e6\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 360,\n 80\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"821d4a60-81a4-4915-9c13-3d978cc0114b\",\n \"name\": \"Combine Sentiment Analysis\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 700,\n -80\n ],\n \"parameters\": {\n \"mode\": \"raw\",\n \"options\": {},\n \"jsonOutput\": \"={{\\n{\\n ...$('Issues to List').item.json,\\n ...$json.output\\n}\\n}}\"\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fe6560f6-2e1b-4442-a2af-bd5a1623f213\",\n \"name\": \"Sentiment over Issue Comments\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 360,\n -80\n ],\n \"parameters\": {\n \"text\": \"={{\\n$json.comments.nodes.map(node => [\\n `${node.user.displayName} commented on ${node.createdAt}:`,\\n node.body\\n].join('\\\\n')).join('---\\\\n')\\n}}\",\n \"options\": {},\n \"attributes\": {\n \"attributes\": [\n {\n \"name\": \"sentiment\",\n \"required\": true,\n \"description\": \"One of positive, negative or neutral\"\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"82fd6023-2cc3-416e-83b7-fda24d07d77a\",\n \"name\": \"Issues to List\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 40,\n -100\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"data.issues.nodes\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9cc77786-e14f-47c6-a3cf-60c2830612e6\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 360,\n 80\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"821d4a60-81a4-4915-9c13-3d978cc0114b\",\n \"name\": \"Combine Sentiment Analysis\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 700,\n -80\n ],\n \"parameters\": {\n \"mode\": \"raw\",\n \"options\": {},\n \"jsonOutput\": \"={{\\n{\\n ...$('Issues to List').item.json,\\n ...$json.output\\n}\\n}}\"\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fe6560f6-2e1b-4442-a2af-bd5a1623f213\",\n \"name\": \"Sentiment over Issue Comments\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 360,\n -80\n ],\n \"parameters\": {\n \"text\": \"={{\\n$json.comments.nodes.map(node => [\\n `${node.user.displayName} commented on ${node.createdAt}:`,\\n node.body\\n].join('\\\\n')).join('---\\\\n')\\n}}\",\n \"options\": {},\n \"attributes\": {\n \"attributes\": [\n {\n \"name\": \"sentiment\",\n \"required\": true,\n \"description\": \"One of positive, negative or neutral\"\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-832df7ae\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.300339\",\n \"updatedAt\": \"2025-09-29T07:07:54.300355\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"0404384b-10b6-4666-84a4-8870db30c607\",\n \"name\": \"Embeddings OpenAI\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1220,\n 280\n ],\n \"parameters\": {\n \"model\": \"text-embedding-3-small\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This embeddingsOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a6741f04-5a5b-47a9-ac08-eb562f9f6052\",\n \"name\": \"Default Data Loader\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1340,\n 280\n ],\n \"parameters\": {\n \"options\": {\n \"metadata\": {\n \"metadataValues\": [\n {\n \"name\": \"question\",\n \"value\": \"={{ $json.question }}\"\n },\n {\n \"name\": \"participant\",\n \"value\": \"={{ $json.participant }}\"\n },\n {\n \"name\": \"survey\",\n \"value\": \"={{ $('Get Survey Results').params.documentId.cachedResultName }}\"\n }\n ]\n }\n },\n \"jsonData\": \"={{ $json.answer }}\",\n \"jsonMode\": \"expressionData\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This documentDefaultDataLoader node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7663c3dd-f713-4034-bef6-0c000285f54f\",\n \"name\": \"Convert to Question Answer Pairs\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [...", "input": "", "output": "The node 'Get Survey Headers' (type: n8n-nodes-base.googleSheets) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"XHvC7jIRR8A2TlUl\",\n \"name\": \"Google Sheets account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Get Survey Headers' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"UuuCIDvTNnloIlvq\",\n \"meta\": {\n \"instanceId\": \"workflow-ccbc3e9f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.343100\",\n \"updatedAt\": \"2025-09-29T07:07:54.343110\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Automate Etsy Data Mining with Bright Data Scrape & Google Gemini\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"f369feaf-4782-4411-9d08-fe91b9ffd97e\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 200,\n -555\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"231bae3c-c27e-49fc-b878-2d5cc1e14c5a\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 200,\n -1020\n ],\n \"parameters\": {\n \"width\": 400,\n \"height\": 300,\n \"content\": \"## Note\\n\\nDeals with the Esty web scraping by utilizing the Bright Data Web Unlocker Product.\\n\\nThe Information Extraction node being used to demonstrate the usage of the N8N AI capabilities.\\n\\n**Please make sure to set the Indeed search query and update the Webhook Notification URL**\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f568de40-b389-41f9-afe9-5e09a291c367\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 640,\n -1020\n ],\n \"parameters\": {\n \"width\": 480,\n \"height\": 300,\n \"content\": \"## LLM Usages\\n\\nGoogle Gemini Flash Exp model is being used.\\n\\nBasic LLM Chain Data Extractor.\"\n },\n \"t...", "input": "", "output": "The node 'Google Gemini Chat Model for product info' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"YeO7dHZnuGBVQKVZ\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Google Gemini Chat Model for product info' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"W5cevjhP3xIQdMhT\",\n \"meta\": {\n \"instanceId\": \"workflow-cd7964d0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.344986\",\n \"updatedAt\": \"2025-09-29T07:07:54.344998\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Simple LinkedIn profile collector\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"6a120c5d-3405-467e-8073-80bf30f2f0fc\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -580,\n 160\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5a4cb9af-faff-4fba-a5ce-d2c9bc25a070\",\n \"name\": \"Google search w/ SerpAPI\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -100,\n 160\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"sendQuery\": true,\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"q\",\n \"value\": \"=site:{{ $json.site }} {{ $json.Keyword }} {{ $json.Location }}\"\n },\n {\n \"name\": \"hl\",\n \"value\": \"={{ $json['Host langauge'] }}\"\n },\n {\n \"name\": \"gl\",\n \"value\": \"={{ $json.Geolocation }}\"\n },\n {\n \"name\": \"num\",\n \"value\": \"={{ $json['Number of search results to be returned'] }}\"\n },\n {\n \"name\": \"engine\",\n \"value\": \"={{ $json['Search engine'] }}\"\n }\n ]\n },\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n ...", "input": "", "output": "In node 'Sticky Note13', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `## What does it do?\n\n- Based on criteria input, it searches LinkedIn profiles\n- It discards unnecessary data and turns the follower count into a real number\n- The output is provided as an Excel table for download and in a NocoDB database`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note13' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"WUFuYk56jNNpjfZm\",\n \"meta\": {\n \"instanceId\": \"workflow-fba85cd3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.378929\",\n \"updatedAt\": \"2025-09-29T07:07:54.378942\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Real Estate Market Scanning\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"db8f34be-8475-4be6-b070-79a8185fad69\",\n \"name\": \"Schedule Market Scan\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -1580,\n 260\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\"\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"36f4babd-3441-4da7-b485-3f9f561cb929\",\n \"name\": \"BatchData API Configuration\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -1380,\n 260\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"f44f6a90-6de5-4c02-909d-73cfce0c0c9a\",\n \"name\": \"apiKey\",\n \"type\": \"string\",\n \"value\": \"YOUR_BATCHDATA_API_KEY\"\n },\n {\n \"id\": \"9356ff74-9783-40cf-a8af-94e45f1ac83e\",\n \"name\": \"searchParameters\",\n \"type\": \"object\",\n \"value\": \"={\\n \\\"city\\\": \\\"Austin\\\",\\n \\\"state\\\": \\\"TX\\\",\\n \\\"minimumMarketValue\\\": 250000,\\n \\\"maximumMarketValue\\\": 600000,\\n \\\"minimumEquity\\\": 30,\\n \\\"propertyType\\\": [\\\"SFR\\\"],\\n \\\"limit\\\": 100\\n}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part o...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"XGFs5jZNCeURd4OT\",\n \"meta\": {\n \"instanceId\": \"workflow-747de0c3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.391334\",\n \"updatedAt\": \"2025-09-29T07:07:54.391355\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Publish Image Post to Bluesky\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"afd666fc-8f79-488d-a295-4bfdd6883924\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 35,\n 260\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d31bfe18-5acc-4f72-80d0-d85111dd62cc\",\n \"name\": \"Create Bluesky Session\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 435,\n 260\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={{ $('Define Credentials').item.json.credentials }}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\"\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"514ac077-3c96-41f0-b178-afefe2f9faae\",\n \"name\": \"Download Images\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1260,\n 260\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"67e77e91-3a53-44c3-a474-2cd3b4977cf2\",\n \"name\": \"Code\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n ...", "input": "", "output": "In node 'Sticky Note3', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `# Create a new post with images on Bluesky\nThis workflow will \n1. retrieve images from URLs you specify\n2. upload them 1 by 1 as blobs to BlueSky\n3. let you specify the basic text of a post\n3. use your Bluesky credentials to post to your feed`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note3' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"XYz1JYUXFHFVdlLj\",\n \"meta\": {\n \"instanceId\": \"workflow-bcb31cc1\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.360747\",\n \"updatedAt\": \"2025-09-29T07:07:54.360763\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Restore your workflows from GitHub\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"cab3a8b6-4106-4449-8b12-d57cc93477ab\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1040,\n -160\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"733ce565-bd6e-4297-8166-52f79d68a0f2\",\n \"name\": \"Globals\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -840,\n -160\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"6cf546c5-5737-4dbd-851b-17d68e0a3780\",\n \"name\": \"repo.owner\",\n \"type\": \"string\",\n \"value\": \"BeyondspaceStudio\"\n },\n {\n \"id\": \"452efa28-2dc6-4ea3-a7a2-c35d100d0382\",\n \"name\": \"repo.name\",\n \"type\": \"string\",\n \"value\": \"n8n-backup\"\n },\n {\n \"id\": \"81c4dc54-86bf-4432-a23f-22c7ea831e74\",\n \"name\": \"repo.path\",\n \"type\": \"string\",\n \"value\": \"workflows\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e20b94c3-f33a-48ff-b1df-aa8acc8f6f44\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-node...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"YZpFvpXOTYkBpiUU\",\n \"meta\": {\n \"instanceId\": \"workflow-d8fbde86\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.428043\",\n \"updatedAt\": \"2025-09-29T07:07:54.428056\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Extract Business Leads from Google Maps with Dumpling AI to Google Sheets\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"3a49e594-6c62-4128-825e-99cdfd7e6ed5\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -660,\n -200\n ],\n \"parameters\": {\n \"width\": 600,\n \"height\": 700,\n \"content\": \"#### \\ud83d\\udd0d Workflow Goal\\nAutomatically search Google Maps using Dumpling AI based on a keyword (e.g., best restaurants in New York), extract results, and log them into a structured Google Sheet.\\n\\n## \\ud83d\\ude80 Workflow Steps\\n1. **Manual Trigger**\\n - Starts the workflow when testing manually.\\n\\n2. **Dumpling AI Google Search**\\n - Sends a POST request to Dumpling AI to search for locations on Google Maps based on your query.\\n\\n3. **Split Out Node**\\n - Breaks the `places[]` array into individual items so each result can be handled separately.\\n\\n4. **Google Sheets Node**\\n - Appends each place\\u2019s data (name, address, phone, website, rating, etc.) into a specific tab of your Google Sheets.\\n\\n##### \\ud83e\\udde0 Notes\\n- The search query is currently set to: `\\\"best+restaurants+in+New+York\\\"`\\n- Output columns include rating, price level, website, phone, booking links, etc.\\n- Each run consumes Dumpling AI credits per query.\\n- You can customize search keywords or location in the HTTP Request body.\\n\\n#### \\u2705 Tip\\nTo automate this regularly, change the trigger node to a **Schedule Trigger** and add dynamic query in...", "input": "", "output": "The node 'Split Places List for Processing' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Split Places List for Processing'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ZI0PxugfKsyepqeH\",\n \"meta\": {\n \"instanceId\": \"workflow-77424804\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.444260\",\n \"updatedAt\": \"2025-09-29T07:07:54.444272\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Shopify order UTM to Baserow\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"2ba892fc-59c9-442b-aa21-a5c23b6076e5\",\n \"name\": \"Baserow\",\n \"type\": \"n8n-nodes-base.baserow\",\n \"position\": [\n 2860,\n 380\n ],\n \"parameters\": {\n \"tableId\": 646,\n \"fieldsUi\": {\n \"fieldValues\": [\n {\n \"fieldId\": 6164,\n \"fieldValue\": \"={{ $json.order }}\"\n },\n {\n \"fieldId\": 6165,\n \"fieldValue\": \"={{ $json.campaign }}\"\n },\n {\n \"fieldId\": 6166,\n \"fieldValue\": \"={{ $json.content }}\"\n },\n {\n \"fieldId\": 6167,\n \"fieldValue\": \"={{ $json.medium }}\"\n },\n {\n \"fieldId\": 6168,\n \"fieldValue\": \"={{ $json.source }}\"\n },\n {\n \"fieldId\": 6170,\n \"fieldValue\": \"={{ $json.revenue }}\"\n }\n ]\n },\n \"operation\": \"={{ $items[999].json.value }}\",\n \"databaseId\": 121\n },\n \"credentials\": {\n \"baserowApi\": {\n \"id\": \"VaQgKQ8NPXVMrvMl\",\n \"name\": \"Baserow account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This baserow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e35a0417-7a6a-46bb-8970-20aa7c19d168\",\n \"name\": \"No Operation, do nothing\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2860,\n ...", "input": "", "output": "In node 'Baserow', the parameter 'operation' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `create`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Baserow' parameter 'operation'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ZiIoKEClTk83g1Jt\",\n \"meta\": {\n \"instanceId\": \"workflow-8bfd2626\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.451560\",\n \"updatedAt\": \"2025-09-29T07:07:54.451597\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Gmail to Vector Embeddings with PGVector and Ollama\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"162b1a8b-2471-4880-9fcb-7f2dcfe175a8\",\n \"name\": \"Embeddings Ollama\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1920,\n -100\n ],\n \"parameters\": {\n \"model\": \"nomic-embed-text:latest\"\n },\n \"credentials\": {},\n \"typeVersion\": 1,\n \"notes\": \"This embeddingsOllama node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"49eb04b0-3b54-499c-ba46-3251102a4017\",\n \"name\": \"Default Data Loader\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2040,\n -97.5\n ],\n \"parameters\": {\n \"options\": {\n \"metadata\": {\n \"metadataValues\": [\n {\n \"name\": \"emails_metadata.id\",\n \"value\": \"={{ $('Extract email fields').item.json.email_id }}\"\n },\n {\n \"name\": \"emails_metadata.thread_id\",\n \"value\": \"={{ $('Extract email fields').item.json.thread_id }}\"\n }\n ]\n }\n },\n \"jsonData\": \"={{ $('Extract email fields').item.json.email_text }}\",\n \"jsonMode\": \"expressionData\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This documentDefaultDataLoader node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b4853472-6ac7-4da5-97b3-b22950ddff06\",\n \"name\": \"Recursive Character Text Splitter\",\n \"type\": \"n8n-nodes-base.no...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ZkIH2ygj2BNSfMOh\",\n \"meta\": {\n \"instanceId\": \"workflow-37eda352\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.447802\",\n \"updatedAt\": \"2025-09-29T07:07:54.447860\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Dynamic Form with AI\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"5893c244-22b0-4699-a286-0ce121ccc427\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -340,\n 240\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"1OMpAMAKR9l3eUDI\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e7e333d4-42e5-4e6a-b78b-a3a45c31f37c\",\n \"name\": \"Clarification Questions\",\n \"type\": \"n8n-nodes-base.form\",\n \"position\": [\n 1100,\n -60\n ],\n \"webhookId\": \"61936e5d-a2d3-447f-bf2f-722be2e1eb17\",\n \"parameters\": {\n \"options\": {},\n \"defineForm\": \"json\",\n \"jsonOutput\": \"={{ $json.data }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This form node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4b2bbc17-0e74-499d-ac6f-6c94ce3eb5ee\",\n \"name\": \"Get Basic Information\",\n \"type\": \"n8n-nodes-base.formTrigger\",\n \"position\": [\n -880,\n -60\n ],\n \"webhookId\": \"5256b332-3d3c-486a-8449-85fa44961bb8\",\n \"parameters\": {\n \"options\": {},\n \"formTitle\": \"Get in Touch\",\n \"formFields\": {\n \"values\": [\n ...", "input": "", "output": "In node 'Sticky Note6', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `### Modification\nModify the prompt to suit your use case`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note6' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ZpgJpdtmq6MM1jr2\",\n \"meta\": {\n \"instanceId\": \"workflow-60be7bfb\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.446435\",\n \"updatedAt\": \"2025-09-29T07:07:54.446448\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"AI T-Shirt Redesign Workflow from any Mockup Image\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-ef941bcc\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"97ce19f8-d83b-481d-a5c4-8ed46a06f18d\",\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 360,\n -600\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"model\\\": \\\"gpt-image-1\\\",\\n \\\"prompt\\\": \\\"{{ $json.escapedString }}\\\",\\n \\\"n\\\": 1,\\n \\\"size\\\": \\\"1024x1536\\\",\\n \\\"quality\\\": \\\"high\\\"\\n}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"15P9TuEdDQwlWhIR\",\n \"name\": \"OpenAi account 2\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3ba73c97-c6d7-4275-8c8c-064a49762edb\",\n \"name\": \"Convert to File\",\n \"type\": \"n8n-nodes-base.convertToFile\",\n \"position\": [\n 780,\n -600\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"toBinary\",\n \"sourceProperty\": \"data[0].b64_...", "input": "", "output": "The node 'Sticky Note1' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note1'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"\",\n \"meta\": {\n \"instanceId\": \"workflow-63a22670\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.461903\",\n \"updatedAt\": \"2025-09-29T07:07:54.461917\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Easily Compare LLMs Using OpenAI and Google Sheets\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-cb3e8076\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -7400,\n 3040\n ],\n \"webhookId\": \"\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"-1\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n -5960,\n 3040\n ],\n \"parameters\": {\n \"options\": {\n \"reset\": false\n }\n },\n \"typeVersion\": 3,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"-2\",\n \"name\": \"Simple Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -4880,\n 3000\n ],\n \"parameters\": {\n \"sessionKey\": \"YOUR_CREDENTIAL_HERE\",\n \"sessionIdType\": \"customKey\"\n },\n \"typeVersion\": 1.3,\n \"notes\": \"This memoryBufferWindow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"-3\",\n \"name\": \"Chat Memory Manager\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -4...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"cRprVEUCjjvozkfb\",\n \"meta\": {\n \"instanceId\": \"workflow-771c7daf\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.511872\",\n \"updatedAt\": \"2025-09-29T07:07:54.511887\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Get all orders in Squarespace to Google Sheets\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"cafda066-7a13-4e0d-8e3d-288196b8297a\",\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 340,\n 100\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a1dcafad-6e82-4569-ba33-560d3286b08e\",\n \"name\": \"Query Orders\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 800,\n 180\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {\n \"pagination\": {\n \"pagination\": {\n \"parameters\": {\n \"parameters\": [\n {\n \"name\": \"cursor\",\n \"value\": \"={{ $response.body.pagination.nextPageCursor }}\"\n }\n ]\n },\n \"maxRequests\": \"={{ $json.maxPage === -1 ? Infinity : $json.maxPage }}\",\n \"limitPagesFetched\": true,\n \"completeExpression\": \"={{ !$response.body.pagination.nextPageCursor }}\",\n \"paginationCompleteWhen\": \"other\"\n }\n }\n },\n \"sendQuery\": true,\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpHeaderAuth\",\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"modified...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-0ad4bcd5\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.509492\",\n \"updatedAt\": \"2025-09-29T07:07:54.509502\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"trigger-bad9d6e0\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"082d1828-72b1-48c0-8426-c8051c29f0db\",\n \"name\": \"Session\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -20,\n -20\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"3IRsYkeB2ofrwQjv\",\n \"name\": \"Fastmail\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d7dc4c50-c8fc-4999-918d-5d357567ed14\",\n \"name\": \"Get Mailbox IDs\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"notes\": \"{{ $env.API_BASE_URL }}\\n\\n{{ $env.API_BASE_URL }}\",\n \"position\": [\n 200,\n -20\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"using\\\": [\\\"urn:ietf:params:jmap:core\\\", \\\"urn:ietf:params:jmap:mail\\\"],\\n \\\"methodCalls\\\": [\\n [\\n \\\"Mailbox/get\\\",\\n {\\n \\\"accountId\\\": \\\"{{ $('Session').item.json.primaryAccounts['urn:ietf:params:jmap:mail'] }}\\\"\\n },\\n \\\"c0\\\"\\n ]\\n ]\\n }\",\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"{{ $credentials.genericC...", "input": "", "output": "The node 'upload draft email' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"3IRsYkeB2ofrwQjv\",\n \"name\": \"Fastmail\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'upload draft email' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"d23vz3qcBf6KfuZA\",\n \"meta\": {\n \"instanceId\": \"workflow-529f7985\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.518233\",\n \"updatedAt\": \"2025-09-29T07:07:54.518336\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\ud83c\\udfa6\\ud83d\\ude80 YouTube Video Comment Analysis Agent\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"6661e7c3-ec1e-43b0-8bc6-44abbefbbcea\",\n \"name\": \"When Executed by Another Workflow\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"disabled\": true,\n \"position\": [\n -160,\n 80\n ],\n \"parameters\": {\n \"inputSource\": \"jsonExample\",\n \"jsonExample\": \"{\\n \\\"query\\\": {\\n\\t\\\"videoId\\\": \\\"YouTube video id\\\"\\n }\\n}\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This executeWorkflowTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"729edcc9-7eda-4ad0-b168-5e5a57cdbf6a\",\n \"name\": \"Sticky Note10\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -300,\n -80\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 1730,\n \"height\": 760,\n \"content\": \"## \\ud83d\\udee0\\ufe0fYouTube Video Details & Comments Processing Tool\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"454c3494-9808-475d-ad53-decd54d99783\",\n \"name\": \"Create YouTube API URL\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 500,\n 100\n ],\n \"parameters\": {\n \"jsCode\": \"// Define the base URL for the YouTube Data API\\nconst BASE_URL = '{{ $env.API_BASE_URL }}';\\n\\n// Get the first input item\\nconst item = $input.first();\\n\\n// Extract the videoId and google...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ift5iHQG9G2lzJzP\"\n \"meta\": {\n \"instanceId\": \"workflow-2cde4ad9\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.556880\",\n \"updatedAt\": \"2025-09-29T07:07:54.556897\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Linkedin to Airtable\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"623c5cf2-0c16-47fe-8ec0-fa66e7c32576\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -980,\n -520\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {}\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f09f752b-162b-4d9d-a397-69f3ead78e45\",\n \"name\": \"Fetch LinkedIn Likes\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -780,\n -520\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"sendQuery\": true,\n \"sendHeaders\": true,\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"username\",\n \"value\": \"< YOUR LINKEDIN USERNAME >\"\n },\n {\n \"name\": \"start\",\n \"value\": \"0\"\n }\n ]\n },\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"x-rapidapi-host\",\n \"value\": \"linkedin-api8.p.rapidapi.com\"\n },\n {\n \"name\": \"x-rapidapi-key\",\n \"value\": \"< YOUR RAPID API KEY >\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflo...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ikxQzs58WxtUjbuE\",\n \"meta\": {\n \"instanceId\": \"workflow-9df78d7d\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.557274\",\n \"updatedAt\": \"2025-09-29T07:07:54.557283\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Entra Contacts to Zammad User Sync\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"5cf615cd-d555-4efa-bde4-5e1e2bda0c71\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -2120,\n 160\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"334e380c-ce6b-48c6-be2a-e688cd52ef14\",\n \"name\": \"Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1700,\n 380\n ],\n \"parameters\": {\n \"width\": 1635.910561370123,\n \"height\": 329.7269624573379,\n \"content\": \"## Select Entra Contacts that should be synced to Zammad\\n\\n\\n\\n\",\n \"_injected_number_field\": \"not_a_number\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"39b9ace7-97ba-4202-9c7a-752f67c6a60b\",\n \"name\": \"Zammad Univeral User Object\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -500,\n 500\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"entra_key\",\n \"value\": \"={{ $json.id }}\"\n }\n ],\n \"string\": [\n {\n \"name\": \"email\",\n \"value\": \"={{ $json.mail }}\"\n },\n {\n \"name\": \"lastname\",\n \"value\": ...", "input": "", "output": "The node 'Note1' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Note1'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"kJMoiGRorIlsTYZv\",\n \"meta\": {\n \"instanceId\": \"workflow-17c55cae\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.577801\",\n \"updatedAt\": \"2025-09-29T07:07:54.577814\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Amazon keywords\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"ac4b8cad-b8a3-4cc0-a848-1b6976c1d78a\",\n \"name\": \"Clean Keywords\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 380,\n 620\n ],\n \"parameters\": {\n \"options\": {\n \"ignoreConversionErrors\": true\n },\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"fb95058f-0c20-4249-8a45-7b935fde1874\",\n \"name\": \"Keywords\",\n \"type\": \"array\",\n \"value\": \"={{ $json.value }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"62575572-e4d2-43e8-9339-d4737961883e\",\n \"name\": \"Get airtable data\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n -220,\n 620\n ],\n \"parameters\": {\n \"id\": \"={{ $json.query.q }}\",\n \"base\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"appGZ14ny5J2PYbq8\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Amazon keyword\"\n },\n \"table\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"tblvK8Nq4Jqb2Ubun\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Table 1\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"airtableTokenApi\": {\n \"id\": \"FV1F34pRcGoKZ8GY\",\n \"name\": ...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"keFEBUqHOrsib60G\",\n \"meta\": {\n \"instanceId\": \"workflow-75b96bea\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.610471\",\n \"updatedAt\": \"2025-09-29T07:07:54.610487\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\ud83e\\udd99\\ud83d\\udc41\\ufe0f\\ud83d\\udc41\\ufe0f Find the Best Local Ollama Vision Models by Comparison\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"dd2f1201-a78a-4ea9-b5ff-7543673e8445\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1080,\n 1160\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 340,\n \"height\": 340,\n \"content\": \"## \\ud83d\\udc41\\ufe0f Analyze Image with Local Ollama LLM\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"81975be4-1e40-41e9-b938-612270f80a92\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 280,\n 640\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 300,\n \"height\": 300,\n \"content\": \"## \\ud83d\\udc4dTry Me!\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3a56f75b-4836-4c37-a246-83ef6507c581\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 380,\n 740\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bb4570c7-269c-4d28-85d4-183ca2fabb89\",\n \"name\": \"Ollama LLM Request\",\n \"type\": \"n8n-nod...", "input": "", "output": "In node 'Sticky Note', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `## \u2b07\ufe0fDownload Image from Google Drive`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"nGpVbW7RTylKujyT\",\n \"meta\": {\n \"instanceId\": \"workflow-4c2ad8a3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.617344\",\n \"updatedAt\": \"2025-09-29T07:07:54.617503\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"AI powered SEO Keyword Research Automation - The vibe Marketer\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"65aacfa5-4891-49f9-a614-2866c96142ee\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 88,\n 455\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"o1\",\n \"cachedResultName\": \"o1\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"AZynAxNG099jyj7B\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5a0445ad-20c9-4e62-8e04-62451d3e8f7e\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 208,\n 455\n ],\n \"parameters\": {\n \"jsonSchemaExample\": \"{\\n \\\"primary_keywords\\\": [\\\"string\\\"],\\n \\\"long_tail_keywords\\\": [\\n {\\n \\\"keyword\\\": \\\"string\\\",\\n \\\"intent\\\": \\\"string\\\"\\n }\\n ],\\n \\\"question_based_keywords\\\": [\\\"string\\\"],\\n \\\"related_topics\\\": [\\\"string\\\"]\\n}\\n\"\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This outputParserStructured node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"38cd2c66-d4b7-47a9-a3eb-f58eb32f55ab\",\n \"name\": \"Topic Expansion\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 60,\n 235\n ],\n ...", "input": "", "output": "The node 'OpenAI Chat Model1' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"AZynAxNG099jyj7B\",\n \"name\": \"OpenAi account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'OpenAI Chat Model1' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"nmVATBvrztDxZX6z\",\n \"meta\": {\n \"instanceId\": \"workflow-baf697a7\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.676047\",\n \"updatedAt\": \"2025-09-29T07:07:54.676059\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"LinkedIn Profile Finder via Form using Bright Data & GPT-4o-mini\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"ff6d4985-8b42-46d8-95c8-e80ff102440c\",\n \"name\": \"Extract Body and Title from Website\",\n \"type\": \"n8n-nodes-base.html\",\n \"position\": [\n 1600,\n -1120\n ],\n \"parameters\": {\n \"options\": {\n \"trimValues\": true\n },\n \"operation\": \"extractHtmlContent\",\n \"dataPropertyName\": \"body\",\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"cssSelector\": \"title\"\n },\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"cssSelector\": \"body\"\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This html node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4da21d9c-59d2-4151-a1ca-5e7a85cf0316\",\n \"name\": \"When User Completes Form\",\n \"type\": \"n8n-nodes-base.formTrigger\",\n \"position\": [\n 580,\n -1120\n ],\n \"webhookId\": \"41d0bffa-f5ca-4df7-b757-ca5a1e472b8a\",\n \"parameters\": {\n \"options\": {\n \"path\": \"search-user\",\n \"ignoreBots\": true,\n \"buttonLabel\": \"Get References\"\n },\n \"formTitle\": \"Sales prospecting\",\n \"formFields\": {\n \"values\": [\n {\n \"fieldLabel\": \"Person Fullname\",\n \"placeholder\": \"Complete the fullname\",\n \"requiredField\": true\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"olDVR3wuxbUsTvuW\",\n \"meta\": {\n \"instanceId\": \"workflow-daf98164\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.667198\",\n \"updatedAt\": \"2025-09-29T07:07:54.667215\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Get all scaleway server info copy\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"9da28130-ed83-4129-b65c-82969fe3126d\",\n \"name\": \"Code\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 2000,\n -60\n ],\n \"parameters\": {\n \"jsCode\": \"// Function to extract essential information from servers\\nfunction extractServers(serversArray) {\\n let servers = [];\\n\\n if (!Array.isArray(serversArray)) {\\n console.log(\\\"\\u26a0\\ufe0f Invalid data received:\\\", JSON.stringify(serversArray, null, 2));\\n return servers; // Returns an empty array if the data is not valid\\n }\\n\\n serversArray.forEach(server => {\\n servers.push({\\n name: server.name || \\\"Unknown\\\",\\n tags: server.tags && server.tags.length > 0 ? server.tags.join(\\\", \\\") : \\\"No tags\\\",\\n public_ip: getPublicIPs(server),\\n type: server.commercial_type || server.offer_name || \\\"Unknown\\\", // Baremetal does not have commercial_type, but offer_name\\n state: server.state || server.status || \\\"Unknown\\\", // Baremetal uses status instead of state\\n zone: server.zone || \\\"Unknown\\\",\\n user: getUser(server) // User management\\n });\\n });\\n\\n return servers;\\n}\\n\\n// Function to extract the public IP (IPv4 prioritized, otherwise IPv6)\\nfunction getPublicIPs(server) {\\n let ipv4 = null;\\n let ipv6 = null;\\n\\n // Case for Compute instances (public_ips is an array)\\n if (server.public_ips && Array.isArray(se...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"rJNvM4vU6SLUeC1d\",\n \"meta\": {\n \"instanceId\": \"workflow-2cb1da93\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.657777\",\n \"updatedAt\": \"2025-09-29T07:07:54.657794\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Sync Youtube Video Urls with Google Sheets\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"f1cd1374-2214-41c1-af32-9e31e72aab88\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1720,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"items\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e59d5ac8-5386-4fa4-a18c-39cd84779eae\",\n \"name\": \"Manual Trigger (When Clicking 'Test workflow'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 1100,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"46897f6d-5e64-4a85-92b5-d8e596d02702\",\n \"name\": \"Get Youtube Channel Ids from Google Sheet\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 1300,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": 1592454760,\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Sheet3\"\n },\n \"documentId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1xoCVr_mlwn4jFcnJENtrU-_K5nkIytZ8qBXzxMq55n4\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Youtube Videos Com...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"0GCQ1fO3d5MBdKmi\",\n \"meta\": {\n \"instanceId\": \"workflow-88d0d516\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.707424\",\n \"updatedAt\": \"2025-09-29T07:07:54.707440\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"template-demo-chatgpt-image-1-with-drive-and-sheet copy\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"7d78d4e3-cbb3-4f32-82d9-73c9d7f6c892\",\n \"name\": \"When clicking 'Test workflow'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"disabled\": true,\n \"position\": [\n -480,\n -245\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b32b61bb-c837-4697-9742-a1bb2854b628\",\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -260,\n -120\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"model\",\n \"value\": \"gpt-image-1\"\n },\n {\n \"name\": \"prompt\",\n \"value\": \"={{ $json.chatInput }}\"\n },\n {\n \"name\": \"output_format\",\n \"value\": \"jpeg\"\n },\n {\n \"name\": \"quality\",\n \"value\": \"low\"\n },\n {\n \"name\": \"output_compression\",\n \"value\": \"={{parseInt('80')}}\"\n },\n {\n \"name\": \"size\",\n \"value\": \"1024x1024\"\n },\n {\n...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"vssVsRO0FW6InbaY\",\n \"meta\": {\n \"instanceId\": \"workflow-db839ba9\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.724930\",\n \"updatedAt\": \"2025-09-29T07:07:54.724950\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Translate\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"7e55613e-c304-47cb-a017-2d912014ea8e\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1180,\n 140\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"txt\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1ab3e545-e7a1-4b3d-a190-d38cb55ebf96\",\n \"name\": \"Google Translate\",\n \"type\": \"n8n-nodes-base.googleTranslate\",\n \"position\": [\n 1620,\n 140\n ],\n \"parameters\": {\n \"text\": \"={{ JSON.stringify($json.parts.secondPart) }}\",\n \"translateTo\": \"={{ $json.language }}\"\n },\n \"credentials\": {\n \"googleTranslateOAuth2Api\": {\n \"id\": \"ssWzCSWk0cvCXZtz\",\n \"name\": \"Google Translate account\"\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This googleTranslate node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"07de7be3-5477-4e6c-b709-f632a3d5f162\",\n \"name\": \"Aggregate\",\n \"type\": \"n8n-nodes-base.aggregate\",\n \"position\": [\n 520,\n 340\n ],\n \"parameters\": {\n \"options\": {},\n \"aggregate\": \"aggregateAllItemData\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This aggregate node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cbe5892e-3661-42fb-a850-1e0448a53e0a\",\n \"name\": \"Edit Fields\",\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"wDD4XugmHIvx3KMT\",\n \"meta\": {\n \"instanceId\": \"workflow-5620e689\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.744051\",\n \"updatedAt\": \"2025-09-29T07:07:54.744072\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Synchronize your Google Sheets with Postgres\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"44171bad-84b6-49f8-b538-fb0c2d52db43\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 900,\n 360\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\"\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1d1558cc-523b-4985-81e2-da49e3d0f4b7\",\n \"name\": \"Compare Datasets\",\n \"type\": \"n8n-nodes-base.compareDatasets\",\n \"position\": [\n 1820,\n 380\n ],\n \"parameters\": {\n \"options\": {},\n \"resolve\": \"preferInput1\",\n \"mergeByFields\": {\n \"values\": [\n {\n \"field1\": \"first_name\",\n \"field2\": \"first_name\"\n }\n ]\n }\n },\n \"typeVersion\": 2.3,\n \"notes\": \"This compareDatasets node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b4442fd7-6817-40bb-a76e-851659c836ec\",\n \"name\": \"Split Out Relevant Fields\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 1460,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"first_name, last_name, town, age\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"xaC6zL4bWBo14xyJ\",\n \"meta\": {\n \"instanceId\": \"workflow-3d3a83fb\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.777612\",\n \"updatedAt\": \"2025-09-29T07:07:54.777621\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"YouTube Comment Sentiment Analyzer\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"0bacd739-7ea3-42f5-8986-2f7d47628ee9\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 820,\n -40\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"body.items\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"236aaaab-6a9a-42d7-8645-980bf8c3254d\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1080,\n 180\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"4d73v7kxEDNu3n25\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c1eda3a6-9fbe-4150-8086-c3ffebaeb2e1\",\n \"name\": \"No Operation, do nothing\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 380,\n 140\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d28f3fbf-6013-47af-ba84-3bdd9800fd3b\",\n \"name\": \"Get Video Urls from Google Sheet\",\n \"type\": \"n8n-nodes-base.google...", "input": "", "output": "The node 'Format fields as required to save in google sheet' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Format fields as required to save in google sheet'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"yOhH9SGiZgZTDUB4\",\n \"meta\": {\n \"instanceId\": \"workflow-061b9bf5\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.754492\",\n \"updatedAt\": \"2025-09-29T07:07:54.754540\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Clone n8n Workflows between Instances using n8n API\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"9e61140a-2b09-4dab-9a3b-3ca9781410cf\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -80,\n -260\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"50fdfb08-0ca1-4bb4-82a6-46b81ef6e3b2\",\n \"name\": \"GET - Workflows\",\n \"type\": \"n8n-nodes-base.n8n\",\n \"position\": [\n 180,\n -400\n ],\n \"parameters\": {\n \"filters\": {},\n \"requestOptions\": {}\n },\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"HBPpxcTQs4aNcq4K\",\n \"name\": \"AK n8n original account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This n8n node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7c1b5530-bc0c-41f8-ac5f-d53c42ea9c44\",\n \"name\": \"CREATE - Workflow\",\n \"type\": \"n8n-nodes-base.n8n\",\n \"position\": [\n 1200,\n -160\n ],\n \"parameters\": {\n \"operation\": \"create\",\n \"requestOptions\": {},\n \"workflowObject\": \"={\\n \\\"name\\\": \\\"{{ $json.name }}\\\",\\n \\\"nodes\\\": {{ JSON.stringify($json[\\\"nodes\\\"]) }},\\n \\\"connections\\\": {{ JSON.stringify($json[\\\"connections\\\"] || {}) }}\\n}\\n\"\n },\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"0XLL6lxiSB0ORf5Z\",\n \"name\": \"Alex...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Ssetrigger Workflow\",\n \"nodes\": [\n {\n \"name\": \"SSE Trigger\",\n \"type\": \"n8n-nodes-base.sseTrigger\",\n \"position\": [\n 850,\n 420\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\"\n },\n \"typeVersion\": 1,\n \"id\": \"ff31ca8a-9343-4296-8733-f2ffef1d5440\",\n \"notes\": \"This sseTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-440a1e39\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Ssetrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-35e5e6fa\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.784294\",\n \"updatedAt\": \"2025-09-29T07:07:54.784345\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"notes\": \"Excellent quality workflow: Ssetrigger Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation.\"\n}...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-f85ff3ed\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.793373\",\n \"updatedAt\": \"2025-09-29T07:07:54.793386\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"cc514d10-89cc-4fcf-8c1f-b65395cd168a\",\n \"name\": \"On new invoice in Clockify\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 460,\n 460\n ],\n \"webhookId\": \"8af31ab8-e16a-4401-84b7-b246c65ba6a9\",\n \"parameters\": {\n \"path\": \"8af31ab8-e16a-4401-84b7-b246c65ba6a9\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ef9e5ce6-cb3e-4cb9-b33d-3b05a2ab589d\",\n \"name\": \"Create database page\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 680,\n 460\n ],\n \"parameters\": {\n \"title\": \"={{ $json[\\\"body\\\"][\\\"number\\\"] }}\",\n \"resource\": \"databasePage\",\n \"databaseId\": \"ea3219a7-0a1a-4792-8dd6-ab450204dc06\",\n \"propertiesUi\": {\n \"propertyValues\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"date\": \"={{ $json[\\\"body\\\"][\\\"issuedDate\\\"] }}\"\n },\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"date\": \"={{ $json[\\\"body\\\"][\\\"dueDate\\\"] }}\"\n },\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"numberValue\": \"={{ $json[\\\"body\\\"][\\\"amount\\\"] }}\"\n }\n ]\n }\n },\n \"credentials\": {\n \"notionApi\": {\n \"id\": \"{{ $credentials.notionApi.id }}\",\n \"name\": \"[UPDATE ME]\"\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This notion node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-405b2924\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.788366\",\n \"updatedAt\": \"2025-09-29T07:07:54.788441\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"trigger-be33a8fa\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"a8211c61-5ca5-4b0a-adce-b7954a387aba\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -540,\n 900\n ],\n \"parameters\": {\n \"width\": 300,\n \"height\": 225,\n \"content\": \"### The conversation history (last 20 messages) is stored in a buffer memory\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"639ef27d-3e6e-4d2b-804a-5d1c95d509fc\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -200,\n 900\n ],\n \"parameters\": {\n \"width\": 340,\n \"height\": 225,\n \"content\": \"### Tools which agent can use to accomplish the task\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"dcb7ade3-005c-44e3-a369-526baa5b8813\",\n \"name\": \"Sticky Note6\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -500,\n 500\n ],\n \"parameters\": {\n \"width\": 422,\n \"height\": 211,\n \"content\": \"### Conversational agent will utilise available tools to answer the prompt. \"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-65f089a6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.801346\",\n \"updatedAt\": \"2025-09-29T07:07:54.801395\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"trigger-3373165d\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"27e5f0c0-ba88-4c28-b3be-99c973be15cb\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -480,\n -140\n ],\n \"parameters\": {\n \"width\": 1083,\n \"height\": 357,\n \"content\": \"## This is an example of basic LLM Chain connected to an open-source model\\n### The Chain is connected to the Mistral-7B-Instruct-v0.1 model, but you can change this\\n\\nPlease note the initial prompt that guides the model:\\n```\\nYou are a helpful assistant.\\nPlease reply politely to the users.\\nUse emojis and a text.\\nQ: {{ $json.input }}\\nA: \\n```\\n\\nThis way the model \\\"knows\\\" that it needs to answer the question right after the `A: `.\\n\\nSince Hugging Face node is this is an inference mode, it does not support LangChain Agents at the moment. Please use [Ollama Chat Model]({{ $env.WEBHOOK_URL }} node for that\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4756d5a8-7027-4942-b214-a5ff8310869a\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -200,\n 280\n ],\n \"webhookId\": \"bf2e38b8-566a-4aeb-8efe-28240f4a6991\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of...", "input": "", "output": "The node 'Hugging Face Inference Model' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"huggingFaceApi\": {\n \"id\": \"ARQ5mOhvBxi283Qk\",\n \"name\": \"HuggingFaceApi account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Hugging Face Inference Model' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a2880137\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.790440\",\n \"updatedAt\": \"2025-09-29T07:07:54.790457\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"23dc1873-b376-473e-935b-b1df5e663c9e\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 1100,\n 1120\n ],\n \"webhookId\": \"c80ce133-899b-41c9-b2ae-2c876694f9fd\",\n \"parameters\": {\n \"path\": \"c80ce133-899b-41c9-b2ae-2c876694f9fd\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"417ddfd1-8a27-498b-b203-0f410f8092b8\",\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1320,\n 1120\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"email\",\n \"value\": \"={{ $json.body.data.results.emails[0].email }}\"\n },\n {\n \"name\": \"firstname\",\n \"value\": \"={{ $json.body.data.results.firstname }}\"\n },\n {\n \"name\": \"lastname\",\n \"value\": \"={{ $json.body.data.results.lastname }}\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 2,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ecf055ad-3f12-43c0-8dcc-0868fdfff5d8\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 660,\n 760\n ],\n \"parameters\": {\n \"height\": 395,\n \"content\": \"## Real-time listening and processing of search results with Icypeas.\\n\\n\\u200d\\n\\nThis wor...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-2159ed30\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.808267\",\n \"updatedAt\": \"2025-09-29T07:07:54.808284\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"0db90229-9929-4d48-93f0-2425c83993ea\",\n \"name\": \"POST\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 780,\n 280\n ],\n \"webhookId\": \"0626e4cc-e132-4024-9ab9-443a9ac7b133\",\n \"parameters\": {\n \"path\": \"1c04b027-39d2-491a-a9c6-194289fe400c\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5441fa4b-adea-4cdc-a224-b4240e3711ea\",\n \"name\": \"Notion\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 1080,\n 280\n ],\n \"parameters\": {\n \"title\": \"={{ $json.body.url }}\",\n \"options\": {},\n \"resource\": \"databasePage\",\n \"databaseId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1420d3ae-bedc-4d23-a932-b402814db9d1\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Bookmarks\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This notion node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9cde5c9e-743a-4368-be53-d8fb57e2da01\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 720,\n 100\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 223,\n \"height\": 350,\n \"content\": \"## Webhook Trigger\\nThis node listens for the event on the bookmarklet we are going to create.\\nThe settings for this should be POST \"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node per...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-9cfb797e:\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.817604\",\n \"updatedAt\": \"2025-09-29T07:07:54.817620\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"trigger-7a3f784a\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"b26e5f35-214a-4eba-83f6-a61736a2f017\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 240,\n 560\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 398,\n \"height\": 217,\n \"content\": \"Call the assistant, passing in the previous chat messages\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7cba00f3-7824-47eb-a17f-6e34fab51c0d\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -440,\n 460\n ],\n \"parameters\": {\n \"height\": 300.48941882630095,\n \"content\": \"## Try me out\\n1. In the OpenAI Assistant node, make sure your OpenAI credentials are set and choose an assistant to use (you'll need to create one if you don't have one already)\\n2. Click the 'Chat' button below\\n\\n - In the first message, tell the AI what your name is\\n - In a second message, ask the AI what your name is\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a71b8aef-5ee9-4ff2-9a77-5154fee67cc8\",\n \"name\": \"Simple Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 180,\n 920\n ],\n \"parameters\": {\n \"sessionKey\": \"YOU...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-ea894418\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.813343\",\n \"updatedAt\": \"2025-09-29T07:07:54.813358\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"trigger-6ff03bf6\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"d1d4291e-fa37-43d0-81e0-f0a594371426\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 680,\n 620\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {\n \"timeout\": 25000,\n \"temperature\": 0.7\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"AzPPV759YPBxJj3o\",\n \"name\": \"Max's DevRel OpenAI account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"68e6805b-9c19-4c9e-a300-8983f2b7c28a\",\n \"name\": \"Search notion database\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 980,\n 620\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"method\": \"POST\",\n \"jsonBody\": \"{\\n \\\"filter\\\": {\\n \\\"or\\\": [\\n {\\n \\\"property\\\": \\\"question\\\",\\n \\\"rich_text\\\": {\\n \\\"contains\\\": \\\"{keyword}\\\"\\n }\\n },\\n {\\n \\\"property\\\": \\\"tags\\\",\\n \\\"multi_select\\\": {\\n \\\"contains\\\": \\\"{tag}\\\"\\n }\\n }\\n ]\\n },\\n \\\"sorts\\\": [\\n {\\n \\\"property\\\": \\\"updated_at\\\",\\n \\\"direction\\\": \\\"ascending\\\"\\n }\\n ]\\n}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"{{ $credentials.predefinedCred...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"trigger-d7f56818\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"9052b5b2-1e2d-425c-92e5-1ed51323e71c\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 616.7964812508943,\n \"height\": 231.27721611949534,\n \"content\": \"# Generate new workflow version for specific notion db schema\\nInput a Notion database URL and get an AI Assistant chatbot workflow for it based on this template: {{ $env.WEBHOOK_URL }}\\n\\nProject in notion: {{ $env.WEBHOOK_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b4a83f76-2bad-4bbe-9b7f-1df684166035\",\n \"name\": \"Notion\",\n \"type\": \"n8n-nodes-base.notion\",\n \"onError\": \"continueErrorOutput\",\n \"position\": [\n 1280,\n 480\n ],\n \"parameters\": {\n \"simple\": false,\n \"resource\": \"database\",\n \"databaseId\": {\n \"__rl\": true,\n \"mode\": \"url\",\n \"value\": \"={{ $json.chatInput.match(/https?:\\\\/\\\\/[^\\\\s/$.?#].[^\\\\s]*/g)[0] }}\"\n }\n },\n \"credentials\": {\n \"notionApi\": {\n \"id\": \"aDS2eHXMOtsMrQnJ\",\n \"name\": \"Nathan's notion account\"\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This notion node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"39537c95-5ca0-47a9-b2bf-2c0134d3f236\",\n \"name\": \"Return success to chat\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 3540,\n 740\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"bebcb43c-461d-40d7-af...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-6d2670e3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.842468\",\n \"updatedAt\": \"2025-09-29T07:07:54.842479\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"eece2f27-2a2f-4207-a756-c3b8062c0028\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 0,\n 0\n ],\n \"webhookId\": \"f6ec2074-6c23-410e-ad31-ac1eaf7381ad\",\n \"parameters\": {\n \"path\": \"f6ec2074-6c23-410e-ad31-ac1eaf7381ad\",\n \"options\": {},\n \"httpMethod\": \"POST\",\n \"responseMode\": \"responseNode\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3a710d14-a56b-4a9a-a30a-f298de68d92b\",\n \"name\": \"Extract Incident ID from Response\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 200,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"38125eed-d2ab-4a69-b48f-97cb8d1905b1\",\n \"name\": \"incident_id\",\n \"type\": \"string\",\n \"value\": \"={{ $json.body.text }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cf285efd-f722-4c26-9b64-0b91206c739c\",\n \"name\": \"Search For Incident in ServiceNow\",\n \"type\": \"n8n-nodes-base.serviceNow\",\n \"onError\": \"continueRegularOutput\",\n \"position\": [\n 440,\n 0\n ],\n \"parameters\": {\n \"options\": {\n \"sysparm_query\": \"=GOTOnumber={{ $json.incident_id }}\",\n \"sysparm_display_value\": \"true\"\n },\n \"resource\": \"incident\",\n \"operation\": \"getAll\",\n \"a...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"2a41e2da-19f7-4c31-ab93-3a534db3179e\",\n \"name\": \"Gmail Trigger\",\n \"type\": \"n8n-nodes-base.gmailTrigger\",\n \"position\": [\n -360,\n -260\n ],\n \"parameters\": {\n \"filters\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyX\",\n \"unit\": \"minutes\",\n \"value\": 5\n }\n ]\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"10LJ3tXKoUfexiKU\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This gmailTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a25e0e42-8eab-49c5-a553-797da40eb623\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -220,\n -60\n ],\n \"parameters\": {\n \"options\": {\n \"maxTokens\": \"YOUR_TOKEN_HERE\"\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"qR44iMsUYcLrhdR0\",\n \"name\": \"OpenAi account\"\n }\n },\n \"notesInFlow\": false,\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cf437748-a0df-42a2-b1ca-f93162d85bfe\",\n \"name\": \"Gmail - read labels\",\n \"type\": \"n8n-nodes-base.gmailTool\",\n \"position\": [\n 80,\n -40\n ],\n \"webhookId\": \"d8ec9401-a9ff-4fe2-9c1e-5a8036cd96c9\",\n \"parameters\": {\n \"resource\": \"label\",\n \"returnAll\": true,\n \"descriptionType\": \"manual\",\n \"toolDescription\": \"Tool to read all existing gmail labels\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"10LJ3tXKoUfexiKU\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmailTool node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"152f197...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-3fd46d85\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.827359\",\n \"updatedAt\": \"2025-09-29T07:07:54.827374\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"trigger-b8ab7914\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"100f23d3-cbe9-458a-9ef1-7cc5fcba8f3c\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 640,\n 540\n ],\n \"parameters\": {\n \"width\": 300,\n \"height\": 205,\n \"content\": \"### The conversation history(last 20 messages) is stored in a buffer memory\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b48f989f-deb9-479c-b163-03f098d00c9c\",\n \"name\": \"On new manual Chat Message\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualChatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"add8e8df-6b2a-4cbd-84e7-3b006733ef7d\",\n \"name\": \"Wikipedia\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1180,\n 640\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This toolWikipedia node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a97454a8-001d-4986-9cb5-83176229ea70\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 980,\n 540\n ],\n \"parameters\": {\n \"width\": 300,\n \"height\": 205,\n \"content\": \"### Tools whi...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"trigger-5732d7cd\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"84460a1f-50e7-4d16-8701-ebc1a86a0ef1\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -360,\n -40\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o\",\n \"cachedResultName\": \"gpt-4o\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8kKub5m50fH8NRfv\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"221bbae2-0920-46b4-8b25-bb654439e567\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -580,\n -220\n ],\n \"webhookId\": \"61927fdb-5d6e-47c2-aa73-bb48e46d41ad\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"dd0a9a82-9ad5-4116-a738-81334c58a0f2\",\n \"name\": \"Basic SSH commands\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -160,\n -40\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"toolDescription\": \"Get basic SSH commands\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This toolHttpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"428f2694-26fd-4ce1-b423-f9a734395b08\",\n \"name\": \"Execute SSH\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 40,\n -40\n ],\n \"parameters\": {\n \"name\": \"SSH\",\n \"source\": \"parameter\"...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-0685e0e0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.860006\",\n \"updatedAt\": \"2025-09-29T07:07:54.860018\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"e563eef6-39c4-4859-b23a-db096e7f8717\",\n \"name\": \"Gmail Trigger\",\n \"type\": \"n8n-nodes-base.gmailTrigger\",\n \"position\": [\n -1300,\n -60\n ],\n \"parameters\": {\n \"simple\": false,\n \"filters\": {},\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyHour\"\n }\n ]\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"umlWq7xPmamha8HX\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This gmailTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"068c250f-84b0-41e4-b48a-6a5260b7a24a\",\n \"name\": \"Text Classifier\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -660,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"inputText\": \"={{ $('Gmail Trigger').item.json.subject }}\\n{{ $('Gmail Trigger').item.json.text }}\",\n \"categories\": {\n \"categories\": [\n {\n \"category\": \"Guest Post\",\n \"description\": \"The inquiry is about the collaboration on guest post inquiry, blog post on syncbricks.com or any other website. \"\n },\n {\n \"category\": \"Youtube\",\n \"description\": \"The inquiry is about adding review video on our youtube channel\"\n },\n {\n \"category\": \"Udemy Courses\",\n \"description\": \"Training and Courses related to Various Technology, AI Etc\"\n }\n ]\n }\n },\n \"typeVersion\": 1...", "input": "", "output": "The node 'Sticky Note2' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note2'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-7572d85a\"\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.861558\",\n \"updatedAt\": \"2025-09-29T07:07:54.861572\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"0c49141e-128c-424e-afdf-ea131b7a3dd8\",\n \"name\": \"GetTableSchema\",\n \"type\": \"n8n-nodes-base.postgresTool\",\n \"position\": [\n -460,\n 220\n ],\n \"parameters\": {\n \"query\": \"SELECT column_name, data_type FROM information_schema.columns WHERE table_name = $1\",\n \"options\": {\n \"queryReplacement\": \"={{ $fromAI('tableName', 'The name of the table.') }}\"\n },\n \"operation\": \"executeQuery\",\n \"descriptionType\": \"manual\",\n \"toolDescription\": \"Read a table's schema.\"\n },\n \"credentials\": {\n \"postgres\": {\n \"id\": \"elRn5sxKOfCdlEs6\",\n \"name\": \"Postgres account\"\n }\n },\n \"typeVersion\": 2.6,\n \"notes\": \"This postgresTool node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8ffeefb9-357c-41bc-8239-0c07c706be97\",\n \"name\": \"ListTables\",\n \"type\": \"n8n-nodes-base.postgresTool\",\n \"position\": [\n -340,\n 300\n ],\n \"parameters\": {\n \"query\": \"SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'\",\n \"options\": {},\n \"operation\": \"executeQuery\",\n \"descriptionType\": \"manual\",\n \"toolDescription\": \"List all available tables.\"\n },\n \"credentials\": {\n \"postgres\": {\n \"id\": \"elRn5sxKOfCdlEs6\",\n \"name\": \"Postgres account\"\n }\n },\n \"typeVersion\": 2.6,\n \"notes\": \"This postgresTool node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"efcf7ff3-976e-448a-9d47-47a98f3b0fcb\",\n \"name\": \"When Executed by Anoth...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-944bcf98\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.907981\",\n \"updatedAt\": \"2025-09-29T07:07:54.907990\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"fcbf7023-7e12-49d8-9c7d-4cb431c79905\",\n \"name\": \"When Executed by Another Workflow\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n 460,\n 260\n ],\n \"parameters\": {\n \"workflowInputs\": {\n \"values\": [\n {\n \"name\": \"operation\"\n },\n {\n \"name\": \"tableName\"\n },\n {\n \"name\": \"values\",\n \"type\": \"object\"\n },\n {\n \"name\": \"where\",\n \"type\": \"object\"\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This executeWorkflowTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"58c93321-ded9-48c1-812f-c35d160e257b\",\n \"name\": \"Operation\",\n \"type\": \"n8n-nodes-base.switch\",\n \"position\": [\n 640,\n 260\n ],\n \"parameters\": {\n \"rules\": {\n \"values\": [\n {\n \"outputKey\": \"YOUR_CREDENTIAL_HERE\",\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"81b134bc-d671-4493-b3ad-8df9be3f49a6\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.operation }}\"...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"trigger-17a77bcd\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"9f2dc93f-bae5-4419-8411-d2fff4b31f5e\",\n \"name\": \"Creates an email engagement\",\n \"type\": \"n8n-nodes-base.hubspot\",\n \"position\": [\n 916,\n -260\n ],\n \"parameters\": {\n \"type\": \"email\",\n \"metadata\": {\n \"html\": \"={{ $('When an email is received').item.json.textHtml || $('When an email is received').item.json.textPlain}}\",\n \"subject\": \"={{ $('When an email is received').item.json.subject }}\",\n \"toEmail\": [\n \"={{ $('When an email is received').item.json.to }}\"\n ],\n \"fromEmail\": \"={{ $('When an email is received').item.json.from }}\"\n },\n \"resource\": \"engagement\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\",\n \"additionalFields\": {\n \"associations\": {\n \"contactIds\": \"={{ $json.vid }}\"\n }\n }\n },\n \"credentials\": {\n \"hubspotOAuth2Api\": {\n \"id\": \"JxzF93M0SJ00jDD9\",\n \"name\": \"HubSpot account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This hubspot node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0a56ec28-afc6-40a9-bf42-4d8742e48eb4\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -140,\n -40\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"1IOLtYX7aTspCAN8\",\n \"name\": \"OpenAI Pollup\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"4nBQyhwqDqmXY2AL\",\n \"meta\": {\n \"instanceId\": \"workflow-a13d1624\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.908858\",\n \"updatedAt\": \"2025-09-29T07:07:54.908869\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Automated Image Metadata Tagging (Community Node)\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"b0b030f5-8a8c-4254-bc18-a2790748248e\",\n \"name\": \"Trigger: New file added to Google Drive Folder\",\n \"type\": \"n8n-nodes-base.googleDriveTrigger\",\n \"position\": [\n -760,\n 120\n ],\n \"parameters\": {\n \"event\": \"fileCreated\",\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n },\n \"triggerOn\": \"specificFolder\",\n \"folderToWatch\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1WaIRWXcaeNViKmpW5IyQ3YGARWYdMg47\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"EXIF\"\n }\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"L47XiMFzcjUgBp2i\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This googleDriveTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1df51279-b3bd-49bd-9711-951eb4164290\",\n \"name\": \"Download Image File\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n -540,\n 120\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"={{ $json.id }}\"\n },\n \"options\": {},\n \"operation\": \"download\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n ...", "input": "", "output": "The node 'Update Image File' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Update Image File'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"6MRJ2tfl8c2f3AuE\",\n \"meta\": {\n \"instanceId\": \"workflow-1ee048a4\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.907722\",\n \"updatedAt\": \"2025-09-29T07:07:54.907736\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\ud83d\\udca5\\ud83d\\udee0\\ufe0fBuild a Web Search Chatbot with GPT-4o and MCP Brave Search\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-8ccdbdc2\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"b6e5eaa8-ddb3-4c13-8069-ce360bf4a945\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 240,\n -180\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.8,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"dde0154e-f7c2-4778-abcc-f79406db5e6b\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -260,\n -180\n ],\n \"webhookId\": \"68e54e15-548a-44df-ad06-7fb9e4e912a9\",\n \"parameters\": {\n \"options\": {},\n \"_injected_number_field\": \"not_a_number\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"877ce640-4d08-4ba7-b1d3-bcfc79600d2c\",\n \"name\": \"MCP Get Brave Tools\",\n \"type\": \"n8n-nodes-mcp.mcpClientTool\",\n \"position\": [\n 200,\n 280\n ],\n \"parameters\": {},\n \"credentials\": {\n \"mcpClientApi\": {\n \"id\": \"t2IDYWq0EcqBWvMA\",\n \"name\": \"MCP Client (STDIO) account 2\"\n }\n },...", "input": "", "output": "The node 'When chat message received' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'When chat message received'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-8c69ac04\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.891133\",\n \"updatedAt\": \"2025-09-29T07:07:54.891146\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"trigger-8917334a\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"100f23d3-cbe9-458a-9ef1-7cc5fcba8f3c\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 640,\n 540\n ],\n \"parameters\": {\n \"width\": 300,\n \"height\": 205,\n \"content\": \"### The conversation history(last 20 messages) is stored in a buffer memory\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b48f989f-deb9-479c-b163-03f098d00c9c\",\n \"name\": \"On new manual Chat Message\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualChatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"add8e8df-6b2a-4cbd-84e7-3b006733ef7d\",\n \"name\": \"Wikipedia\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1180,\n 640\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This toolWikipedia node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a97454a8-001d-4986-9cb5-83176229ea70\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 980,\n 540\n ],\n \"parameters\": {\n \"width\": 300,\n \"height\": 205,\n \"content\": \"### Tools whi...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-3b0de6ff:\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.907093\",\n \"updatedAt\": \"2025-09-29T07:07:54.907109\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"4c52efcf-039b-4550-8a63-3d3d4dde488b\",\n \"name\": \"On new manual Chat Message\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 740,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1.1,\n \"notes\": \"This manualChatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"adb528f1-b87b-4bb2-99e1-776fd839522e\",\n \"name\": \"Execute Workflow Trigger\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n 680,\n 940\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This executeWorkflowTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"092cf737-5b53-4fc8-82f5-c775b77ea0bd\",\n \"name\": \"Hacker News\",\n \"type\": \"n8n-nodes-base.hackerNews\",\n \"position\": [\n 900,\n 940\n ],\n \"parameters\": {\n \"limit\": 50,\n \"resource\": \"all\",\n \"additionalFields\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This hackerNews node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a0805137-630c-4065-826e-88afa000660f\",\n \"name\": \"Clean up data\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1120,\n 940\n ],\n \"parameters\": {\n \"fields\": {\n \"values\": [\n {\n \"name\": \"title\",\n \"stringValue\": \"={{ $json._highlightResult.title.value }}\"\n },\n {\n \"name\": \"points\",\n \"type\": \"numberValue\",\n \"numberValue\": \"={{ $json.points }}\"\n },\n ...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-26ebc370\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.903069\",\n \"updatedAt\": \"2025-09-29T07:07:54.903148\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"trigger-7e7e597c\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"3a3bcb2d-cb94-40d8-8b9e-322ea9d27f6e\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1000,\n 640\n ],\n \"parameters\": {\n \"width\": 300,\n \"height\": 185,\n \"content\": \"### The conversation history(last 20 messages) is stored in a buffer memory\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e279af43-b003-4499-b221-58716e735379\",\n \"name\": \"On new manual Chat Message\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 740,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualChatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f4f8bf03-a43e-4a1f-a592-cd0f8408f552\",\n \"name\": \"Chat OpenAI\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 840,\n 653\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-mini\",\n \"options\": {\n \"temperature\": 0.3\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"66b60f68-bae8-4958-ac81-03883f...", "input": "", "output": "The node 'Window Buffer Memory' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Window Buffer Memory'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"2a41e2da-19f7-4c31-ab93-3a534db3179e\",\n \"name\": \"Gmail Trigger\",\n \"type\": \"n8n-nodes-base.gmailTrigger\",\n \"position\": [\n -360,\n -260\n ],\n \"parameters\": {\n \"filters\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyX\",\n \"unit\": \"minutes\",\n \"value\": 5\n }\n ]\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"10LJ3tXKoUfexiKU\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This gmailTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a25e0e42-8eab-49c5-a553-797da40eb623\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -220,\n -60\n ],\n \"parameters\": {\n \"options\": {\n \"maxTokens\": \"YOUR_TOKEN_HERE\"\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"qR44iMsUYcLrhdR0\",\n \"name\": \"OpenAi account\"\n }\n },\n \"notesInFlow\": false,\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cf437748-a0df-42a2-b1ca-f93162d85bfe\",\n \"name\": \"Gmail - read labels\",\n \"type\": \"n8n-nodes-base.gmailTool\",\n \"position\": [\n 80,\n -40\n ],\n \"webhookId\": \"d8ec9401-a9ff-4fe2-9c1e-5a8036cd96c9\",\n \"parameters\": {\n \"resource\": \"label\",\n \"returnAll\": true,\n \"descriptionType\": \"manual\",\n \"toolDescription\": \"Tool to read all existing gmail labels\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"10LJ3tXKoUfexiKU\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmailTool node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"152f197...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ImiznkEUWCkKbg1w\",\n \"meta\": {\n \"instanceId\": \"workflow-ea6ea968\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.924975\",\n \"updatedAt\": \"2025-09-29T07:07:54.924994\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"CoinMarketCap_DEXScan_Agent_Tool\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"c055762a-8fe7-4141-a639-df2372f30060\",\n \"name\": \"When Executed by Another Workflow\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n -60,\n 320\n ],\n \"parameters\": {\n \"workflowInputs\": {\n \"values\": [\n {\n \"name\": \"sessionId\"\n },\n {\n \"name\": \"message\"\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This executeWorkflowTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"427c5700-f6d4-4e98-b2ef-c8eac986a754\",\n \"name\": \"CoinMarketCap DEXScan Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 360,\n 320\n ],\n \"parameters\": {\n \"text\": \"={{ $json.message }}\",\n \"options\": {\n \"systemMessage\": \"You are an AI agent connected to CoinMarketCap's DEXScan API via a suite of HTTP tools. You can retrieve detailed, real-time, and historical data about decentralized exchanges, spot pairs, liquidity pools, trading activity, and more.\\n\\nEach tool includes parameter validation and usage guidance to prevent 400 Bad Request errors.\\n\\n\\ud83d\\udd27 Available Tools & Descriptions\\n1. \\ud83d\\udcdc DEX Metadata\\nPurpose: Retrieve static information (name, logo, URLs, launch date, etc.) for one or more DEXs.\\nEndpoint: /v4/dex/listings/info\\nRequired: id (one or more CMC DEX IDs)\\nOptional: aux...", "input": "", "output": "The node 'DEX Spot Pairs Latest' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'DEX Spot Pairs Latest'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"KhUd3rHKtZAImiXZ\",\n \"meta\": {\n \"instanceId\": \"workflow-3668cdba\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.946069\",\n \"updatedAt\": \"2025-09-29T07:07:54.946077\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Personal Assistant MCP server\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-b3f332df\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"f27f3d00-8019-401f-a1c4-5c9754ca5d7e\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -220,\n -60\n ],\n \"webhookId\": \"989c3a79-5a0c-4ca1-a542-55e060816121\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"49e4bd69-141f-47ae-bb97-f03a92e56131\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -80,\n 140\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.5-pro-preview-05-06\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"MF12DwQJWL1egyiN\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatGoogleGemini node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"aaa58803-52ad-439b-8876-05a84fc63eaf\",\n \"name\": \"Simple Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 120,\n 140\n ],\n \"parameters\": {},\n \"typeVersion\": 1.3,\n \"n...", "input": "", "output": "The node 'Add new row' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Add new row'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"trigger-1a531bb4\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"9052b5b2-1e2d-425c-92e5-1ed51323e71c\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 616.7964812508943,\n \"height\": 231.27721611949534,\n \"content\": \"# Generate new workflow version for specific notion db schema\\nInput a Notion database URL and get an AI Assistant chatbot workflow for it based on this template: {{ $env.WEBHOOK_URL }}\\n\\nProject in notion: {{ $env.WEBHOOK_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b4a83f76-2bad-4bbe-9b7f-1df684166035\",\n \"name\": \"Notion\",\n \"type\": \"n8n-nodes-base.notion\",\n \"onError\": \"continueErrorOutput\",\n \"position\": [\n 1280,\n 480\n ],\n \"parameters\": {\n \"simple\": false,\n \"resource\": \"database\",\n \"databaseId\": {\n \"__rl\": true,\n \"mode\": \"url\",\n \"value\": \"={{ $json.chatInput.match(/https?:\\\\/\\\\/[^\\\\s/$.?#].[^\\\\s]*/g)[0] }}\"\n }\n },\n \"credentials\": {\n \"notionApi\": {\n \"id\": \"aDS2eHXMOtsMrQnJ\",\n \"name\": \"Nathan's notion account\"\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This notion node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"39537c95-5ca0-47a9-b2bf-2c0134d3f236\",\n \"name\": \"Return success to chat\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 3540,\n 740\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"bebcb43c-461d-40d7-af...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-81a31fbb\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:54.993537\",\n \"updatedAt\": \"2025-09-29T07:07:54.993569\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"trigger-79609b87\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"d1d4291e-fa37-43d0-81e0-f0a594371426\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 680,\n 620\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {\n \"timeout\": 25000,\n \"temperature\": 0.7\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"AzPPV759YPBxJj3o\",\n \"name\": \"Max's DevRel OpenAI account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"68e6805b-9c19-4c9e-a300-8983f2b7c28a\",\n \"name\": \"Search notion database\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 980,\n 620\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"method\": \"POST\",\n \"jsonBody\": \"{\\n \\\"filter\\\": {\\n \\\"or\\\": [\\n {\\n \\\"property\\\": \\\"question\\\",\\n \\\"rich_text\\\": {\\n \\\"contains\\\": \\\"{keyword}\\\"\\n }\\n },\\n {\\n \\\"property\\\": \\\"tags\\\",\\n \\\"multi_select\\\": {\\n \\\"contains\\\": \\\"{tag}\\\"\\n }\\n }\\n ]\\n },\\n \\\"sorts\\\": [\\n {\\n \\\"property\\\": \\\"updated_at\\\",\\n \\\"direction\\\": \\\"ascending\\\"\\n }\\n ]\\n}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"toolDescription\": \"=Use this tool to search the \\\"\\\" Notion app database.\\n\\nIt i...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"R4EuB1gx1IpMXCJM\",\n \"meta\": {\n \"instanceId\": \"workflow-eee01489\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.018579\",\n \"updatedAt\": \"2025-09-29T07:07:55.018596\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"CoinMarketCap_Crypto_Agent_Tool\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"c055762a-8fe7-4141-a639-df2372f30060\",\n \"name\": \"When Executed by Another Workflow\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n -240,\n 260\n ],\n \"parameters\": {\n \"workflowInputs\": {\n \"values\": [\n {\n \"name\": \"message\"\n },\n {\n \"name\": \"sessionId\"\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This executeWorkflowTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3638379c-fad2-4d3b-bb90-b32242da4cc7\",\n \"name\": \"CoinMarketCap Crypto Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 260,\n 260\n ],\n \"parameters\": {\n \"text\": \"={{ $json.message }}\",\n \"options\": {\n \"systemMessage\": \"You are an AI cryptocurrency analyst. You have access to six live CoinMarketCap tools, each linked to a real API endpoint. These tools allow you to retrieve price data, metadata, market rankings, conversions, and global market stats.\\n\\nUse the most relevant tool based on the user\\u2019s intent. Below is a list of your currently connected tools, their functions, and accepted input parameters.\\n\\n---\\n\\n### \\ud83d\\udd27 **Connected Tools & Supported Inputs**\\n\\n---\\n\\n#### 1. **Crypto Map**\\n- **Endpoint**: `/v1/cryptocurrency/map`\\n- **Purpose**: Get CoinMarketCap IDs, symbols, and names...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ZBH1ExE58wsoodkZ\",\n \"meta\": {\n \"instanceId\": \"workflow-44e159ae\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.076319\",\n \"updatedAt\": \"2025-09-29T07:07:55.076335\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"OpenSea NFT Agent Tool\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"33cb5db2-a023-4a6c-a4ad-3f4b3c35ce42\",\n \"name\": \"NFT Agent Brain\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1340,\n 240\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"yUizd8t0sD5wMYVG\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9d1fa8e4-3acf-4ace-965c-ea5cdfcdc366\",\n \"name\": \"NFT Agent Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1520,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1.3,\n \"notes\": \"This memoryBufferWindow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d396bb90-00a6-41da-898d-7815d8d25fe3\",\n \"name\": \"OpenSea NFT Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2140,\n -20\n ],\n \"parameters\": {\n \"text\": \"={{ $json.message }}\",\n \"options\": {\n \"systemMessage\": \"# **\\ud83d\\udee0 OpenSea NFT Agent \\u2013 System Message** \\n\\n## **\\ud83d\\udd39 Role & Purpose**\\nThe **OpenSea NFT Agent** is a powerful AI-driven assistant specialized in retrieving, analyzing, and processing NFT-related data from **OpenSea...", "input": "", "output": "The workflow has a broken data flow. The node '4603a4f0-a46b-4ea9-b226-726f9763d823' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '4603a4f0-a46b-4ea9-b226-726f9763d823'.\n\n**Impact**: Data from '4603a4f0-a46b-4ea9-b226-726f9763d823' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '4603a4f0-a46b-4ea9-b226-726f9763d823' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"4603a4f0-a46b-4ea9-b226-726f9763d823\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '4603a4f0-a46b-4ea9-b226-726f9763d823' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"brRSLvIkYp3mLq0K\",\n \"meta\": {\n \"instanceId\": \"workflow-039e5e49\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.096545\",\n \"updatedAt\": \"2025-09-29T07:07:55.096560\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"OpenSea Marketplace Agent Tool\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"13579b30-83df-4da6-b0de-90eeaf3252e7\",\n \"name\": \"Marketplace Agent Brain\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -300,\n -260\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"yUizd8t0sD5wMYVG\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9f979fae-49c6-4a50-b96b-92de5a49ba14\",\n \"name\": \"Marketplace Agent Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -120,\n -260\n ],\n \"parameters\": {},\n \"typeVersion\": 1.3,\n \"notes\": \"This memoryBufferWindow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"202ca463-f038-46df-99ea-84fbda70a933\",\n \"name\": \"OpenSea Marketplace Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 420,\n -540\n ],\n \"parameters\": {\n \"text\": \"={{ $json.message }}\",\n \"options\": {\n \"systemMessage\": \"### **\\ud83d\\uded2 OpenSea Marketplace Agent Overview**\\nThis agent interacts with the OpenSea marketplace API to retrieve marketplace data, including NFT listings, offers, orders, and trait-specific data. The ...", "input": "", "output": "The node 'OpenSea Get Item Offers' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"3v99GVMGF4tKP5nM\",\n \"name\": \"OpenSea\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'OpenSea Get Item Offers' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"eHuvG2I1vOYj0U6k\",\n \"meta\": {\n \"instanceId\": \"workflow-643b9ea8\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.109616\",\n \"updatedAt\": \"2025-09-29T07:07:55.109668\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"My workflow\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"6503d6be-e4f3-4a06-b027-9fb210788a30\",\n \"name\": \"When Executed by Another Workflow\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n 80,\n 340\n ],\n \"parameters\": {\n \"inputSource\": \"jsonExample\",\n \"jsonExample\": \"{\\n \\\"name\\\" : \\\"Atlassian\\\",\\n \\\"audience\\\" : \\\"api.atlassian.com\\\"\\n}\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This executeWorkflowTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d6246380-096b-458f-a52c-b263c1e4b800\",\n \"name\": \"LLM Bus\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 400,\n 340\n ],\n \"parameters\": {\n \"text\": \"You are an AI agent tasked with identifying the (pretty-print) OAuth service name, audience, authorization URI, and token URI.\\nThe input is only a name bearing on the OAUth service, e.g.:\\n1. Jira. The name Jira must be resolved to the correlated API service, in this case, Atlassian. OAuth information can be gleaned from {{ $env.WEBHOOK_URL }}\\n2. Sage. This is potentially a vague name. However, in the context of API and OAuth, it is probably Sage300 the ERP system. OAuth information can be gleaned from {{ $env.WEBHOOK_URL }}\\n3. SAP. This can be the SAP HANA Cloud Platform. Authorization is usually be dedicated URL, e.g., https://:/sap/bc/sec/oauth2/client/grant/authorization?\\n4. Google. This can be the Google API, e.g., {{ ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"kS9EfgZeaK3QV6Mw\",\n \"meta\": {\n \"instanceId\": \"workflow-43fbc197\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.112491\",\n \"updatedAt\": \"2025-09-29T07:07:55.112506\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Build an MCP server with Airtable\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-6aa5d43b\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"357649f0-43c5-4d6c-97b9-079fa3b5c1f3\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -100,\n -80\n ],\n \"webhookId\": \"c42d1e2e-b175-48cf-bfd4-aa8289266a20\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ddf28f88-d76c-4ab6-82c4-c1ab1b746009\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 152,\n -180\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.9,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3170d4fd-700c-4449-a800-0395c06711aa\",\n \"name\": \"Simple Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 260,\n 40\n ],\n \"parameters\": {},\n \"typeVersion\": 1.3,\n \"notes\": \"This memoryBufferWindow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"557b0e0a-133b-4e80-afba-408803ed9898\",\n \"name\": \"Airtable MCP Client\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"positi...", "input": "", "output": "The workflow has a broken data flow. The node 'a0bc9aa3-decb-42f1-bee4-b9e425db81e8' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'a0bc9aa3-decb-42f1-bee4-b9e425db81e8'.\n\n**Impact**: Data from 'a0bc9aa3-decb-42f1-bee4-b9e425db81e8' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'a0bc9aa3-decb-42f1-bee4-b9e425db81e8' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"a0bc9aa3-decb-42f1-bee4-b9e425db81e8\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'a0bc9aa3-decb-42f1-bee4-b9e425db81e8' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"kbJb4VMD3SZlcS2u\",\n \"meta\": {\n \"instanceId\": \"workflow-03e0f566\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.122805\",\n \"updatedAt\": \"2025-09-29T07:07:55.122824\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"CoinMarketCap_Exchange_and_Community_Agent_Tool\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"c055762a-8fe7-4141-a639-df2372f30060\",\n \"name\": \"When Executed by Another Workflow\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n -160,\n 340\n ],\n \"parameters\": {\n \"workflowInputs\": {\n \"values\": [\n {\n \"name\": \"sessionId\"\n },\n {\n \"name\": \"message\"\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This executeWorkflowTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3609967c-f7c4-4be5-8cf5-1213dcf8cd39\",\n \"name\": \"CoinMarketCap Exchange and Community Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 300,\n 340\n ],\n \"parameters\": {\n \"text\": \"={{ $json.message }}\",\n \"options\": {\n \"systemMessage\": \"You are a **digital asset intelligence agent** designed to provide deep insights into the cryptocurrency ecosystem by querying CoinMarketCap's API. You support data retrieval across exchanges, community sentiment, and index tracking.\\n\\n---\\n\\n### \\ud83d\\udee0\\ufe0f Available Tools & Capabilities\\n\\n#### 1. \\ud83d\\udd0d **Exchange Map**\\n- **Purpose:** Retrieve a list of all registered cryptocurrency exchanges.\\n- **Endpoint:** `{{ $env.API_BASE_URL }}`\\n- **Query Parameters:** \\n - `slug` (recommended starting point)\\n - `listing_status`, `start`, `limi...", "input": "", "output": "The node 'Errors & Licensing' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Errors & Licensing'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"lStrENIdqN2WyGqW\",\n \"meta\": {\n \"instanceId\": \"workflow-55850144\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.111121\",\n \"updatedAt\": \"2025-09-29T07:07:55.111129\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Business Canvas Generator\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-cdfac1de\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"f9083875-e460-46ba-8f86-f2c66402e161\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -300,\n -1280\n ],\n \"webhookId\": \"5ac01b33-5538-4c54-b1a1-33ecc9c40a29\",\n \"parameters\": {\n \"public\": true,\n \"options\": {},\n \"initialMessages\": \"Hi there! \\ud83d\\udc4b\\nPlease tell me everything about your business, and I will help you create the business canvas.\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ff613255-761e-472f-a09b-58e6181571f1\",\n \"name\": \"Key Partners Generator\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 400,\n -500\n ],\n \"parameters\": {\n \"text\": \"=Act as a strategic business analyst. Based on the idea and goals I give you, list 10 key insights for the \\\"Key Partners\\\" section of the Business Model Canvas. Be sure to cover the following questions:\\n\\n- Who are our key partners?\\n- Who are our key suppliers?\\n- Which key resources are we acquiring from partners?\\n- Which key activities do our partners perform?\\n- Motivation for partnerships: Optimization, risk reduct...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"0QQxgdQABUbbDJ0G\",\n \"meta\": {\n \"instanceId\": \"workflow-da6ed992\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.158917\",\n \"updatedAt\": \"2025-09-29T07:07:55.158944\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Multi-Agent Conversation\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-89d6058e\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"218308e2-dc68-43ee-ae84-d931ad7a4ac5\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -1880,\n -3280\n ],\n \"webhookId\": \"a74752f3-419a-4510-856f-3efeaceec019\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a519fe1e-8739-46e0-9770-deb256ab96cf\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -340,\n -3280\n ],\n \"parameters\": {\n \"text\": \"={{ $json.chatInput }}\",\n \"options\": {\n \"systemMessage\": \"=Current date is {{ $now.format('yyyy-MM-dd') }}. The current time is {{ $now.format('HH:MM:ss') }}.\\n\\nThe user is {{ $('Define Global Settings').item.json.user.name }}, based in {{ $('Define Global Settings').item.json.user.location }}. {{ $('Define Global Settings').item.json.user.notes }}\\n\\nYou are part of a conversation with a user and multiple AI Assistants: {{ $('Define Agent Settings').item.json.keys() }}\\n\\nYou are {{ $('First loop?').item.json.name }}.\\n\\n{{ $('Loop Over Items').item.json.systemMessage }}\\n\\n{{ $('Define...", "input": "", "output": "The node 'Sticky Note2' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note2'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"oowUGM7ey6gWxzEG\",\n \"meta\": {\n \"instanceId\": \"workflow-a4ce1ce7\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.194088\",\n \"updatedAt\": \"2025-09-29T07:07:55.194105\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"MCP_SUPABASE_AGENT\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-f24e7bff\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"135ceeee-77cd-479f-a0b4-dd72abe23ac4\",\n \"name\": \"MCP_SUPABASE\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -1460,\n 1180\n ],\n \"webhookId\": \"affff59c-9c5c-4a07-b531-616c1d631601\",\n \"parameters\": {\n \"path\": \"affff59c-9c5c-4a07-b531-616c1d631601\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This mcpTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b25040a8-2d70-4d3a-ba58-b8c7164d375e\",\n \"name\": \"RAG\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1240,\n 760\n ],\n \"parameters\": {\n \"mode\": \"retrieve-as-tool\",\n \"topK\": 5,\n \"options\": {},\n \"toolName\": \"ITERACOES\",\n \"tableName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"documents\",\n \"cachedResultName\": \"documents\"\n },\n \"toolDescription\": \"lembra das interacoes e consulta as instrucoes do system como assim tambem vai guardando o que aprende\"\n },\n \"credentials\": {\n \"supabaseApi\": {\n \"id\": \"yfa6fXRKgmrEx175\",\n \"name\": \"Supabase account\"\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This vectorStoreSupabase node perf...", "input": "", "output": "The node 'UPDATE_ROW_AGENT_STATUS' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'UPDATE_ROW_AGENT_STATUS'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"uD31xU0VYjogxWoY\",\n \"meta\": {\n \"instanceId\": \"workflow-2d08723c\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.168604\",\n \"updatedAt\": \"2025-09-29T07:07:55.168630\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Create_Unique_Jira_tickets_from_Splunk_alerts\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"3f9fa220-1966-4478-b7db-c39056564c9d\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n -640,\n 320\n ],\n \"webhookId\": \"f2a52578-2fef-40a6-a7ff-e03f6b751a02\",\n \"parameters\": {\n \"path\": \"f2a52578-2fef-40a6-a7ff-e03f6b751a02\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"375ac47e-7975-45cb-b7c1-cef1c7fca701\",\n \"name\": \"Add Ticket Comment\",\n \"type\": \"n8n-nodes-base.jira\",\n \"position\": [\n 240,\n 520\n ],\n \"parameters\": {\n \"comment\": \"=Timestamp: {{ $('Set Host Name').item.json.body.timestamp }}\\nDescription: {{ $('Set Host Name').item.json.body.description }}\",\n \"options\": {},\n \"issueKey\": \"YOUR_CREDENTIAL_HERE\",\n \"resource\": \"issueComment\"\n },\n \"credentials\": {\n \"jiraSoftwareCloudApi\": {\n \"id\": \"OYvpDV2Q42eY6iyA\",\n \"name\": \"Alex Jira Cloud\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This jira node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a5dea875-6adf-4d18-aeb9-5fe31a0ebfae\",\n \"name\": \"Search Ticket\",\n \"type\": \"n8n-nodes-base.jira\",\n \"position\": [\n -200,\n 320\n ],\n \"parameters\": {\n \"options\": {\n \"jql\": ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"uLHpFu2ndN6ZKClZ\",\n \"meta\": {\n \"instanceId\": \"workflow-06d72cb3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.291940\",\n \"updatedAt\": \"2025-09-29T07:07:55.291955\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Sync New Files From Google Drive with Airtable\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"f648b663-8adb-4587-bf80-cff7554b72c4\",\n \"name\": \"Share File with Recipient\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"notes\": \"Share File via Email\",\n \"position\": [\n 660,\n -20\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"={{ $json.id }}\"\n },\n \"options\": {},\n \"operation\": \"share\",\n \"permissionsUi\": {\n \"permissionsValues\": {\n \"role\": \"writer\",\n \"type\": \"user\",\n \"emailAddress\": \"test@gmail.com\"\n }\n }\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"\",\n \"name\": \"\"\n }\n },\n \"notesInFlow\": true,\n \"typeVersion\": 3\n },\n {\n \"id\": \"29c9dacf-e9fa-49b7-81e5-0416dbdbc9ba\",\n \"name\": \" Log File Metadata\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"notes\": \"Store File Metadata\",\n \"position\": [\n 940,\n -160\n ],\n \"parameters\": {\n \"base\": {\n \"__rl\": true,\n \"mode\": \"url\",\n \"value\": \"\"\n },\n \"table\": {\n \"__rl\": true,\n \"mode\": \"url\",\n \"value\": \"\"\n },\n \"columns\": {\n \"value\": {\n \"FileId\": \"={{ $('Google Drive').item.json.id }}\",\n \"sentId\": \"={{ $json.id }}\",\n \"FileName\": \"={{ $('Google Drive').item.json.name }}\",\n...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"xEij0kj2I1DHbL3I\",\n \"meta\": {\n \"instanceId\": \"workflow-62e2fa54\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.254315\",\n \"updatedAt\": \"2025-09-29T07:07:55.254359\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\ud83c\\udf10\\ud83e\\ude9b AI Agent Chatbot with Jina.ai Webpage Scraper\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-081e17cc\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"ea5369a0-4283-46fc-b738-8cf787181e93\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 0,\n -280\n ],\n \"webhookId\": \"e298fd8c-2af9-4db2-bb8b-94d70fbc2938\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"07c8338b-d47e-467b-996f-99c9fbe67f89\",\n \"name\": \"Sticky Note14\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 240,\n -460\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 680,\n \"height\": 700,\n \"content\": \"## AI Agent Chatbot with Jina.ai Web Scraper\\n### {{ $env.WEBHOOK_URL }}\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"00da1c9b-b5f7-42b8-8bdd-938a8daf7410\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 520,\n 20\n ],\n \"parameters\": {},\n \"typeVersion\": 1.3,\n \"notes\": \"This memoryBufferWindow node performs...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"xRclXA5QzrT3c6U8\",\n \"meta\": {\n \"instanceId\": \"workflow-d8757c06\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.195652\",\n \"updatedAt\": \"2025-09-29T07:07:55.195664\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Discord MCP Chat Agent\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-0ed678d9\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"3c008773-802c-461c-9350-f42dc5f3969c\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 100,\n -440\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.9,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9b5bd212-19bc-4303-a934-b783f7cb5ea7\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -160,\n -440\n ],\n \"webhookId\": \"79281a20-6afe-4188-ae87-cc80be737ad7\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"32a7152e-47ea-4859-aa35-f220a69ddb0d\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 20,\n -240\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o\",\n \"cachedResultName\": \"gpt-4o\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"AWozvbIHWTdrKYZt\",\n \"name\": \"O...", "input": "", "output": "The node 'Sticky Note' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"yCIEiv9QUHP8pNfR\"\n \"meta\": {\n \"instanceId\": \"workflow-e495fbb3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.256904\",\n \"updatedAt\": \"2025-09-29T07:07:55.256916\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Build Custom AI Agent with LangChain & Gemini (Self-Hosted)\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-f3057849\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"8bd5382d-f302-4e58-b377-7fc5a22ef994\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -220,\n 0\n ],\n \"webhookId\": \"b8a5d72c-4172-40e8-b429-d19c2cd6ce54\",\n \"parameters\": {\n \"public\": true,\n \"options\": {\n \"responseMode\": \"lastNode\",\n \"allowedOrigins\": \"*\",\n \"loadPreviousSession\": \"memory\"\n },\n \"initialMessages\": \"\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6ae8a247-4077-4569-9e2c-bb68bcecd044\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 80,\n 240\n ],\n \"parameters\": {\n \"options\": {\n \"temperature\": 0.7,\n \"safetySettings\": {\n \"values\": [\n {\n \"category\": \"HARM_CATEGORY_SEXUALLY_EXPLICIT\",\n \"threshold\": \"BLOCK_NONE\"\n }\n ]\n }\n },\n \"modelName\": \"models/gemini-2.0-flash-exp\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"UEjK...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"znRwva47HzXesOYk\",\n \"meta\": {\n \"instanceId\": \"workflow-fae050cb\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.263431\",\n \"updatedAt\": \"2025-09-29T07:07:55.263445\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Travel AssistantAgent\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"3742b914-9f9d-4c6e-bfdf-f494295182a3\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 0,\n 0\n ],\n \"webhookId\": \"c9b390dc-3f6a-475c-b168-28f3accd20a7\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5b7fcae2-78ab-45f7-933b-3acf993832e6\",\n \"name\": \"MongoDB Chat Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 320,\n 220\n ],\n \"parameters\": {\n \"databaseName\": \"test\"\n },\n \"credentials\": {\n \"mongoDb\": {\n \"id\": \"aEhI0wdmVEJ8c82Z\",\n \"name\": \"MongoDB account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This memoryMongoDbChat node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"eaba53fd-fc1c-404f-8720-eeea6cde088e\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 180,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.0-flash\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"7DECNCZTsje1tSvf\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatGoogleGemini node performs automated tasks as part of ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-924af4b5\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.308883\",\n \"updatedAt\": \"2025-09-29T07:07:55.308899\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"9681490a-68f1-4c6a-86ea-bf2331c3125d\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -600,\n 1040\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f665f0c6-7694-456f-b877-5f8d69b9f503\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -680,\n 920\n ],\n \"parameters\": {\n \"width\": 715.3278290432247,\n \"height\": 315.32782904322477,\n \"content\": \"## Get and prepare Dummy Data\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"79a9ece6-daa5-4cc0-bfb8-5cf8c9e81296\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 340,\n 480\n ],\n \"parameters\": {\n \"width\": 520.9323109877616,\n \"height\": 577.5426854600692,\n \"content\": \"## Let GPT do the heavy work\\n\\nFor the prompt we follow the one-shot'ish principle. Also I've decided to **_NOT_** give the AI the personal data. Keeps it simpler regarding data privacy.\\n\\nThe AI-Chain will generate a **Headline** and the **Text** for the Email and even **decides** if we should send the user a **Coupon**.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"51e1bc15-0b9e-4d53-9b99-0ec8ed5e00f8\",\n \"name\": \"Sticky...", "input": "", "output": "The workflow has a broken data flow. The node '6c458bf6-ea7b-43b5-bc65-d9ae68542a8c' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '6c458bf6-ea7b-43b5-bc65-d9ae68542a8c'.\n\n**Impact**: Data from '6c458bf6-ea7b-43b5-bc65-d9ae68542a8c' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '6c458bf6-ea7b-43b5-bc65-d9ae68542a8c' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"6c458bf6-ea7b-43b5-bc65-d9ae68542a8c\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '6c458bf6-ea7b-43b5-bc65-d9ae68542a8c' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-fea98264\"\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.325307\",\n \"updatedAt\": \"2025-09-29T07:07:55.325317\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"38cd304e-e260-4bbd-ace1-57b5fd0e6344\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1300,\n 360\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"087994ba-3b40-4337-b17a-e2ab4aa39963\",\n \"name\": \"Whether type is file\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 940,\n 780\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{ $json.type }}\",\n \"value2\": \"file\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ab2ec609-2c7a-4976-9ce0-57f6961578e1\",\n \"name\": \"Set new path for subfolder\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1240,\n 900\n ],\n \"parameters\": {\n \"fields\": {\n \"values\": [\n {\n \"name\": \"from\",\n \"stringValue\": \"={{ decodeURIComponent($json.path) }}\"\n },\n {\n \"name\": \"to\",\n \"stringValue\": \"={{ decodeURIComponent($('Set folder-paths for from and to').item.json.to + '/' + $json.path.split('/').filter(Boolean).pop() + '/') }}\"\n }\n ]\n },\n \"include\": \"none\",\n \"options\": {}\n },\n \"typeVersion\": 3.2,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-75b29c8f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.411523\",\n \"updatedAt\": \"2025-09-29T07:07:55.411538\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"0788a3db-20c3-43b6-956a-394f688f7763\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 360,\n 440\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"51460fab-a53c-46cd-a484-d2c038cd102d\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 360,\n 600\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"triggerAtHour\": 1\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5326416c-5715-4cc7-acfd-38a32f864bfb\",\n \"name\": \"loop\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 1360,\n 600\n ],\n \"parameters\": {\n \"options\": {},\n \"batchSize\": 1\n },\n \"typeVersion\": 2,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fb0ca9f7-ff49-4a4b-9575-42b80594737e\",\n \"name\": \"sitemap_set\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 540,\n 600\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"150b47fe-f1c8-4dcb-b...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-92209f9f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.379682\",\n \"updatedAt\": \"2025-09-29T07:07:55.379699\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"d72750fc-6415-4da6-977a-46d025a91ef9\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -900,\n 900\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b00e7434-f83e-438e-a47b-12d4a2c4fe5b\",\n \"name\": \"List Invoices\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 180,\n 900\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"data\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c142f60b-dbbd-444a-b39b-365e9eb1ff58\",\n \"name\": \"Inject s3 Subpath\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 820,\n 640\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"dca623a6-834c-440f-990a-25bfd9afa2b3\",\n \"name\": \"_s3_year\",\n \"type\": \"string\",\n \"value\": \"={{ DateTime.fromSeconds($json.created).format(\\\"yyyy\\\") }}\"\n },\n {\n \"id\": \"55ab18e0-b2ef-486d-898d-97f671d5049b\",\n \"name\": \"_s3_folder\",\n \"type\": \"string\",\n \"value\": \"={{ $(\\\"Clean and Escape ENV\\\").first().json.subFolder }}\"\n },\n {\n \"id\": \"7f998728-a70e-4495-8d34-3ba72a71986b\",\n \"name\": \"_s3_month\",\n \"type\": \"string\",\n...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-bc348d66\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.329832\",\n \"updatedAt\": \"2025-09-29T07:07:55.329850\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"a342005e-a88e-419b-b929-56ecbba4a936\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1300,\n 1180\n ],\n \"parameters\": {\n \"schemaType\": \"manual\",\n \"inputSchema\": \"{\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"learnings\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"description\\\": \\\"List of learnings, max of 3.\\\",\\n \\\"items\\\": { \\\"type\\\": \\\"string\\\" }\\n },\\n \\\"followUpQuestions\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"description\\\": \\\"List of follow-up questions to research the topic further, max of 3.\\\"\\n }\\n }\\n }\\n}\"\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This outputParserStructured node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"126b8151-6d20-43b8-8028-8163112c4c5b\",\n \"name\": \"Set Variables\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -1360,\n -460\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"df28b12e-7c20-4ff5-b5b8-dc773aa14d4b\",\n \"name\": \"request_id\",\n \"type\": \"string\",\n \"value\": \"={{ $execution.id }}\"\n },\n {\n \"id\": \"9362c1e7-717d-444a-8ea2-6b5f958c9f3f\",\n \"name\": \"prompt\",\n \"type\": \"string\",\n \"value\": \"={{ $json['What would you like to research?'] }}\"\n },\n {\n \"id\": \"09094be4-7844-4a9e-af82-cc8e39322398\",\n \"n...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"2NhqmUqW3KruEkaE\",\n \"meta\": {\n \"instanceId\": \"workflow-b66f9786\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.424212\",\n \"updatedAt\": \"2025-09-29T07:07:55.424224\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Exponential Backoff for Google APIs\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"5d6b1730-33c5-401c-b73f-2b7ea8eedfe3\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -580,\n -80\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6726b630-597c-46cf-8839-75cd80108f2f\",\n \"name\": \"Exponential Backoff\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 160,\n 120\n ],\n \"parameters\": {\n \"mode\": \"runOnceForEachItem\",\n \"jsCode\": \"// Define the retry count (coming from a previous node or set manually)\\nconst retryCount = $json[\\\"retryCount\\\"] || 0; // If not present, default to 0\\nconst maxRetries = 5; // Define the maximum number of retries\\nconst initialDelay = 1; // Initial delay in seconds (1 second)\\n\\n// If the retry count is less than the max retries, calculate the delay\\nif (retryCount < maxRetries) {\\n const currentDelayInSeconds = initialDelay * Math.pow(2, retryCount); // Exponential backoff delay in seconds\\n \\n // Log the delay time for debugging\\n console.log(`Waiting for ${currentDelayInSeconds} seconds before retry...`);\\n \\n return {\\n json: {\\n retryCount: retryCount + 1, // Increment retry count\\n waitTimeInSeconds: currentDelayInSeconds, // Pass the delay time in seconds\\n statu...", "input": "", "output": "In node 'Google Sheets', the parameter 'authentication' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `{{ $credentials.serviceAccount }}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Google Sheets' parameter 'authentication'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-5beefcf5\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.380654\",\n \"updatedAt\": \"2025-09-29T07:07:55.380682\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"99bbf837-2834-4cae-af13-37b6cdf963bb\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n -480,\n -40\n ],\n \"webhookId\": \"83f4e1de-2011-487c-a9f7-be6ccbac0782\",\n \"parameters\": {\n \"path\": \"83f4e1de-2011-487c-a9f7-be6ccbac0782\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0f7c13ea-196b-40a7-bf1e-4829caaaba4c\",\n \"name\": \"Stop and Error\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"position\": [\n 180,\n 60\n ],\n \"parameters\": {\n \"errorMessage\": \"Invalid verification token\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stopAndError node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7ddb4cfc-5917-4b19-acf8-c7db3eaab56a\",\n \"name\": \"Donation\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 400,\n -420\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"67607a8e-55e2-46ec-92f5-1c8ef3addf9c\",\n \"name\": \"from_name\",\n \"type\": \"string\",\n \"value\": \"={{ $json.body.from_name }}\"\n },\n {\n \"id\": \"3e6e86ac-b6c2-4b5f-9e33-22367b9fb9e5\",\n \"name\": \"message\",\n \"type\": \"string\",\n \"value\": \"={{ $json.body.message }}\"\n },\n {\n \"id\": \"4973525a-21b0-442c-8919-24c312f3ff0c\",\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-17488b78\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.383329\",\n \"updatedAt\": \"2025-09-29T07:07:55.383354\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"a5292068-5ace-4372-9869-46100ae81b8f\",\n \"name\": \"Get video details\",\n \"type\": \"n8n-nodes-base.youTube\",\n \"notes\": \"Make a call to the YouTube API so that we have the thumbnail for the email and the duration to filter out shorts.\",\n \"position\": [\n 1000,\n -60\n ],\n \"parameters\": {\n \"part\": [\n \"contentDetails\",\n \"snippet\",\n \"id\"\n ],\n \"options\": {},\n \"videoId\": \"={{ $json.id.replace(\\\"yt:video:\\\", \\\"\\\") }}\",\n \"resource\": \"video\",\n \"operation\": \"get\"\n },\n \"credentials\": {\n \"youTubeOAuth2Api\": {\n \"id\": \"5lD8Hahvq4r7Og0F\",\n \"name\": \"YouTube account\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"b9eb34aa-90c4-492a-a33e-37a32812fa32\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -840,\n -160\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"hours\",\n \"hoursInterval\": 1,\n \"triggerAtMinute\": 47\n }\n ]\n },\n \"_injected_number_field\": \"not_a_number\"\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8f0dbe74-53e5-4b14-86f6-eb0f502c8471\",\n \"name\": \"Filter out shorts\",\n \"type\": \"n8n-nodes-base.if\",\n \"notes\": \"Sometime, some live broadcasts that are then posted as regular videos do not have a duration. That is why we check if `duration` is present in `con...", "input": "", "output": "The node 'Schedule Trigger' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Schedule Trigger'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Prevent concurrent workflow runs using Redis\",\n \"nodes\": [\n {\n \"id\": \"e0729c93-e192-42fb-9ba0-c465d5a38089\",\n \"name\": \"When Executed by Another Workflow\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n -60,\n 720\n ],\n \"parameters\": {\n \"workflowInputs\": {\n \"values\": [\n {\n \"name\": \"action\"\n },\n {\n \"name\": \"value\"\n },\n {\n \"name\": \"key\"\n },\n {\n \"name\": \"timeout\"\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This executeWorkflowTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"caee6ecf-76ee-4014-8e85-a2463dcbba86\",\n \"name\": \"Switch\",\n \"type\": \"n8n-nodes-base.switch\",\n \"position\": [\n 380,\n 720\n ],\n \"parameters\": {\n \"rules\": {\n \"values\": [\n {\n \"outputKey\": \"YOUR_CREDENTIAL_HERE\",\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"97af18cf-bcf5-4b86-86fd-1ee82e9adba9\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.action }}\",\n \"rightValue\": \"get\"\n }\n ]\n },\n \"renameOutput\": true\n },\n {\n \"outputKey\": \"YOUR_CREDENTIAL_HERE\",\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n ...", "input": "", "output": "The node 'Set Workflow \"finishing\"' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Set Workflow \"finishing\"'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"84dT8cFL0FV8ZGPx\",\n \"meta\": {\n \"instanceId\": \"workflow-2a221f17\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.472577\",\n \"updatedAt\": \"2025-09-29T07:07:55.472603\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Slack Webhook - Verify Signature\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"b12fe8e7-45c4-4021-826e-3ae430e34001\",\n \"name\": \"Make Slack Verif Token\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 900,\n 400\n ],\n \"parameters\": {\n \"jsCode\": \"function encodeFormData(data) {\\n const encodedData = Object.keys(data)\\n .map(key => encodeURIComponent(key) + '=' + encodeURIComponent(data[key]))\\n .join('&')\\n .replaceAll(\\\"%20\\\", \\\"+\\\") // Slack does not encode \\\"+\\\" signs\\n .replaceAll(\\\"*\\\", \\\"%2A\\\") // Slack encodes \\\"*\\\" signs\\n .replaceAll(\\\"~\\\", \\\"%7E\\\"); // Slack encodes \\\"~\\\" signs\\n \\n return encodedData;\\n}\\n\\nfunction buildSigBaseString(requestJson) {\\n const version = \\\"v0\\\"; // Slack Webhook version (Always v0 for the moment)\\n \\n const timestamp = requestJson.headers[\\\"x-slack-request-timestamp\\\"];\\n \\n const body = requestJson.body;\\n const encodedBody = encodeFormData(body);\\n \\n const sigBaseString = `${version}:${timestamp}:${encodedBody}`;\\n\\n return sigBaseString;\\n}\\n\\nconst requestJson = $input.first().json;\\n\\nconst sigBaseString = buildSigBaseString(requestJson);\\n\\nconst requestSignature = requestJson.headers[\\\"x-slack-signature\\\"];\\n\\nconsole.log({\\n sigBaseString,\\n requestSignature\\n });\\nreturn {\\n json: {\\n sigBaseString,\\n requestSignature\\n },\\n pairedItem: 0\\n}\\n\\n\\n\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"AS2Rj41p6OyA0xZK\",\n \"meta\": {\n \"instanceId\": \"workflow-85a28d0a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.477215\",\n \"updatedAt\": \"2025-09-29T07:07:55.477228\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Auth0 User Login\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"25022573-c99e-40d2-88e2-a0e7a9780181\",\n \"name\": \"Request Access Token\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1260,\n 320\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"grant_type\\\": \\\"authorization_code\\\",\\n \\\"code\\\": \\\"{{ $json.query.code }}\\\",\\n \\\"client_id\\\": \\\"{{ $json.client_id }}\\\",\\n \\\"client_secret\\\": \\\"{{ $json.client_secret }}\\\",\\n \\\"redirect_uri\\\": \\\"{{ $json.my_server }}\\\",\\n \\\"audience\\\": \\\"{{ $json.domain }}/api/v2/\\\"\\n}\",\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"specifyBody\": \"json\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"content-type\",\n \"value\": \"application/x-www-form-urlencoded\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"233d69ed-d835-4022-815e-e786706ec78a\",\n \"name\": \"Get Userinfo\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1500,\n 320\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"sendHeaders\": true,\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Authorization\",\n \"value\": \"=Bearer {{ $json.access_toke...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"HpjjgJm3Ulnl1cJQ\",\n \"meta\": {\n \"instanceId\": \"workflow-8fcc9fb8\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.527282\",\n \"updatedAt\": \"2025-09-29T07:07:55.527297\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Notion to Clockify Sync Template\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"e0e40960-a45f-44a2-91b8-d0f45c254679\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n -400,\n -100\n ],\n \"webhookId\": \"43028c1f-7331-4fbe-bf56-d6f47c92d9be\",\n \"parameters\": {\n \"path\": \"43028c1f-7331-4fbe-bf56-d6f47c92d9be\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cda9abae-ede3-4ce1-8f2b-b2913eba887a\",\n \"name\": \"Globals\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 40,\n -200\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"0955695f-888f-46bc-807d-979a0798114f\",\n \"name\": \"workspace_id\",\n \"type\": \"string\",\n \"value\": \"={{ $json.id }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a3d588b2-f169-479e-801b-2534bffc47ed\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -400,\n -300\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"triggerAtHour\": 4\n }\n ]\n }\n },\n \"typeVersi...", "input": "", "output": "The node 'Update Client in Clockify' (type: n8n-nodes-base.clockify) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"clockifyApi\": {\n \"id\": \"CMJ0LAYOs143GAXw\",\n \"name\": \"Clockify (octionictest)\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Update Client in Clockify' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"IYgbtNpyB4E6Jbxo\",\n \"meta\": {\n \"instanceId\": \"workflow-170789c5\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.695000\",\n \"updatedAt\": \"2025-09-29T07:07:55.695019\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"2. Refresh Pipedrive tokens\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"2b66edcd-c71a-4dac-971f-deb1b09ef85b\",\n \"name\": \"Stop and Error\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"position\": [\n 1460,\n -80\n ],\n \"parameters\": {\n \"errorMessage\": \"Token refresh failed\"\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": false,\n \"notes\": \"This stopAndError node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b48d6760-766e-4b39-be35-89de7dc3ab5e\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 60,\n -300\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 872,\n \"height\": 97,\n \"content\": \"## Step 2:\\nCreate a workflow to refresh your access token when the access token requires a refresh.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6119eef3-9ffa-45a1-b238-412738e7529e\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 280,\n -80\n ],\n \"parameters\": {\n \"height\": 211,\n \"content\": \"\\n\\n\\n\\n\\n\\n\\n\\nPost unique data to identify your row in Database and be able to fetch the existing access and refresh token\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2d76be21-95e1-4...", "input": "", "output": "The node 'Look for the related record in Supabase' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Look for the related record in Supabase'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"cQAILffOajE9n2cf\",\n \"meta\": {\n \"instanceId\": \"workflow-76c45099\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.774403\",\n \"updatedAt\": \"2025-09-29T07:07:55.774425\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Generate Leads with Google Maps - AlexK1919\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"edc9d8f5-e1f4-48e2-b7f7-36e53674d5b3\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1080,\n 540\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b761e882-298f-454e-8c21-f77b336ce54e\",\n \"name\": \"Run workflow every hours\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"disabled\": true,\n \"position\": [\n -1080,\n 360\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"minutes\",\n \"minutesInterval\": 15\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"63d30ea8-1e31-47d2-8f3a-6757f438ab8a\",\n \"name\": \"Execute Workflow Trigger\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"disabled\": true,\n \"position\": [\n -1080,\n 200\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This executeWorkflowTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"10f40f60-c29f-47db-a4d1-3d0b8e8363d7\",\n \"name\": \"Check Max Retries1\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1680,\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"qAzZekQuABuH8uho\",\n \"meta\": {\n \"instanceId\": \"workflow-bc582f86\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.804972\",\n \"updatedAt\": \"2025-09-29T07:07:55.805054\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Retry on fail except for known error Template\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"fa6fb462-8c1b-4cab-a9f6-876e67688786\",\n \"name\": \"Retry limit reached\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"position\": [\n -940,\n 500\n ],\n \"parameters\": {\n \"errorMessage\": \"Retry limit reached\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stopAndError node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9627165d-1854-4a4f-b840-721f8d779b89\",\n \"name\": \"Set tries\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -940,\n 260\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"cd93a7f6-4c06-4e8a-8d0d-e812c5ec4bc5\",\n \"name\": \"tries\",\n \"type\": \"number\",\n \"value\": \"={{ $json.tries || 0 }}\"\n }\n ]\n },\n \"includeOtherFields\": true\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"466efd16-4922-4e61-bc81-d8e8a1d8ea61\",\n \"name\": \"Update tries\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -60,\n 500\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"df3c9b29-afa6-4e08-868d-5b7e8202eefa\",\n \"name\": \"tries\",\n \"type\": \"number\",\n ...", "input": "", "output": "The node 'Sticky Note6' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note6'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Simplify Result\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 680,\n 100\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"Content\",\n \"value\": \"={{$json[\\\"full_text\\\"].replace(/(?:https?|ftp):\\\\/\\\\/[\\\\n\\\\S]+/g, '')}}\"\n },\n {\n \"name\": \"Author\",\n \"value\": \"={{$json[\\\"user\\\"][\\\"name\\\"]}} (@{{$json[\\\"user\\\"][\\\"screen_name\\\"]}})\"\n },\n {\n \"name\": \"Created\",\n \"value\": \"={{new Date($json[\\\"created_at\\\"]).toISOString()}}\"\n },\n {\n \"name\": \"URL\",\n \"value\": \"=https://twitter.com/{{$json[\\\"user\\\"][\\\"screen_name\\\"]}}/status/{{$json[\\\"id_str\\\"]}}\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"node-c821bf53\"\n },\n {\n \"name\": \"Store in Strapi\",\n \"type\": \"n8n-nodes-base.strapi\",\n \"position\": [\n 1780,\n 100\n ],\n \"parameters\": {\n \"columns\": \"Content,Author,Created,URL\",\n \"operation\": \"create\",\n \"contentType\": \"posts\"\n },\n \"credentials\": {\n \"strapiApi\": {\n \"id\": \"{{ $credentials.strapiApi.id }}\",\n \"name\": \"Strapi Demo\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-11962f0d\"\n },\n {\n \"name\": \"Every 30 Minutes\",\n \"type\": \"n8n-nodes-base.interval\",\n \"position\": [\n 240,\n 100\n ],\n \"parameters\": {\n \"unit\": \"minutes\",\n \"interval\": 30\n },\n \"typeVersion\": 1,\n \"id\": \"node-a7672ade\"\n },\n {\n \"name\": \"Is Retweet or Old?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 900,\n 100\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$json[\\\"Content\\\"]}}\",\n ...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-c16970d3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.945645\",\n \"updatedAt\": \"2025-09-29T07:07:55.945658\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"9c3c06eb-8b48-4229-9b16-7fe7c4f886c3\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 78.44447107090468,\n 520\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2a8d8297-18de-4e1f-b44b-93842f7c1709\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1678.4444710709047,\n 2020\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-mini\",\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a6c24857-ad3b-4561-b40b-8520064e861b\",\n \"name\": \"Format QA Pair1\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 2018.4444710709047,\n 1880\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"2c1bd408-29f0-487b-9a33-7513d5bbfe23\",\n \"name\": \"question\",\n \"type\": \"string\",\n \"value\": \"={{ $('Needs AI Completion?1').item.json.question }}\"\n },\n {\n \"id\": \"02ffc3b7-3d77-4dfe-ba3f-2052f5cc9e83\",\n \"name\": \"answer\",\n \"type\": \"string\",\n \"value\": \"={{\\n[\\n $('Needs AI Completion?1').item.json.answer,\\n $json.text\\n ? $json.text[0].toLowerCase() + $json.text.substring(1, $json.text.length)\\n : '',\\n $('Needs AI Complet...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Simplify Result\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 680,\n 100\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"Content\",\n \"value\": \"={{$json[\\\"full_text\\\"].replace(/(?:https?|ftp):\\\\/\\\\/[\\\\n\\\\S]+/g, '')}}\"\n },\n {\n \"name\": \"Author\",\n \"value\": \"={{$json[\\\"user\\\"][\\\"name\\\"]}} (@{{$json[\\\"user\\\"][\\\"screen_name\\\"]}})\"\n },\n {\n \"name\": \"Created\",\n \"value\": \"={{new Date($json[\\\"created_at\\\"]).toISOString()}}\"\n },\n {\n \"name\": \"URL\",\n \"value\": \"=https://twitter.com/{{$json[\\\"user\\\"][\\\"screen_name\\\"]}}/status/{{$json[\\\"id_str\\\"]}}\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"node-331a87be\"\n },\n {\n \"name\": \"Store in Strapi\",\n \"type\": \"n8n-nodes-base.strapi\",\n \"position\": [\n 1780,\n 100\n ],\n \"parameters\": {\n \"columns\": \"Content,Author,Created,URL\",\n \"operation\": \"create\",\n \"contentType\": \"posts\"\n },\n \"credentials\": {\n \"strapiApi\": {\n \"id\": \"{{ $credentials.strapiApi.id }}\",\n \"name\": \"Strapi Demo\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-2fbd6e09\"\n },\n {\n \"name\": \"Every 30 Minutes\",\n \"type\": \"n8n-nodes-base.interval\",\n \"position\": [\n 240,\n 100\n ],\n \"parameters\": {\n \"unit\": \"minutes\",\n \"interval\": 30\n },\n \"typeVersion\": 1,\n \"id\": \"node-7d430711\"\n },\n {\n \"name\": \"Is Retweet or Old?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 900,\n 100\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$json[\\\"Content\\\"]}}\",\n ...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-93d7cd07\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.911990\",\n \"updatedAt\": \"2025-09-29T07:07:55.912006\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"9c3c06eb-8b48-4229-9b16-7fe7c4f886c3\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 78.44447107090468,\n 520\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2a8d8297-18de-4e1f-b44b-93842f7c1709\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1678.4444710709047,\n 2020\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-mini\",\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a6c24857-ad3b-4561-b40b-8520064e861b\",\n \"name\": \"Format QA Pair1\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 2018.4444710709047,\n 1880\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"2c1bd408-29f0-487b-9a33-7513d5bbfe23\",\n \"name\": \"question\",\n \"type\": \"string\",\n \"value\": \"={{ $('Needs AI Completion?1').item.json.question }}\"\n },\n {\n \"id\": \"02ffc3b7-3d77-4dfe-ba3f-2052f5cc9e83\",\n \"name\": \"answer\",\n \"type\": \"string\",\n \"value\": \"={{\\n[\\n $('Needs AI Completion?1').item.json.answer,\\n $json.text\\n ? $json.text[0].toLowerCase() + $json.text.substring(1, $json.text.length)\\n : '',\\n $('Needs AI Completion?1').i...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"U1xUqDLvBYYSU6EU\",\n \"meta\": {\n \"instanceId\": \"workflow-1f2bf9df\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.917218\",\n \"updatedAt\": \"2025-09-29T07:07:55.917239\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Jira Retrospective\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"b91c4727-8c63-4bf3-8101-6282aa6f592c\",\n \"name\": \"Jira Get All Issues\",\n \"type\": \"n8n-nodes-base.jira\",\n \"position\": [\n 60,\n 60\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"getAll\"\n },\n \"credentials\": {\n \"jiraSoftwareCloudApi\": {\n \"id\": \"AqnrDWxoCa8luriP\",\n \"name\": \"Jira SW Cloud account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This jira node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4cf0689c-2a1f-4a90-81f4-d3483c63fc96\",\n \"name\": \"Jira Get All Comments\",\n \"type\": \"n8n-nodes-base.jira\",\n \"position\": [\n 280,\n 60\n ],\n \"parameters\": {\n \"options\": {},\n \"issueKey\": \"YOUR_CREDENTIAL_HERE\",\n \"resource\": \"issueComment\",\n \"operation\": \"getAll\"\n },\n \"credentials\": {\n \"jiraSoftwareCloudApi\": {\n \"id\": \"AqnrDWxoCa8luriP\",\n \"name\": \"Jira SW Cloud account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This jira node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"26803742-1a94-4969-878b-2f757aced4f8\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 940,\n 60\n ],\n \"parameters\": {\n \"text\": \"=comments = {{ $json.concatenated_Comment }}\\ndescription = {{ $json.Description }}\\ntitle = {{ $json.Title }}\\nstatus = {{...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"cpuFyJYHKmjHTncz\",\n \"meta\": {\n \"instanceId\": \"workflow-e0fb7e46\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.942456\",\n \"updatedAt\": \"2025-09-29T07:07:55.942470\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Adaptive RAG\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"856bd809-8f41-41af-8f72-a3828229c2a5\",\n \"name\": \"Query Classification\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"notes\": \"Classify a query into one of four categories: Factual, Analytical, Opinion, or Contextual.\\n \\nReturns:\\nstr: Query category\",\n \"position\": [\n 380,\n -20\n ],\n \"parameters\": {\n \"text\": \"=Classify this query: {{ $('Combined Fields').item.json.user_query }}\",\n \"options\": {\n \"systemMessage\": \"You are an expert at classifying questions. \\n\\nClassify the given query into exactly one of these categories:\\n- Factual: Queries seeking specific, verifiable information.\\n- Analytical: Queries requiring comprehensive analysis or explanation.\\n- Opinion: Queries about subjective matters or seeking diverse viewpoints.\\n- Contextual: Queries that depend on user-specific context.\\n\\nReturn ONLY the category name, without any explanation or additional text.\"\n },\n \"promptType\": \"define\"\n },\n \"typeVersion\": 1.8\n },\n {\n \"id\": \"cc2106fc-f1a8-45ef-b37b-ab981ac13466\",\n \"name\": \"Switch\",\n \"type\": \"n8n-nodes-base.switch\",\n \"position\": [\n 740,\n -40\n ],\n \"parameters\": {\n \"rules\": {\n \"values\": [\n {\n \"outputKey\": \"YOUR_CREDENTIAL_HERE\",\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSe...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-cba7cd67\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.962506\",\n \"updatedAt\": \"2025-09-29T07:07:55.962525\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"trigger-cbf7624a\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"54065cc9-047c-4741-95f6-cec3e352abd7\",\n \"name\": \"Google Drive\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 2700,\n -1840\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"url\",\n \"value\": \"{{ $env.WEBHOOK_URL }}\"\n },\n \"options\": {},\n \"operation\": \"download\"\n },\n \"typeVersion\": 3,\n \"notes\": \"This googleDrive node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"62af57f5-a001-4174-bece-260a1fc595e8\",\n \"name\": \"Default Data Loader\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 3120,\n -1620\n ],\n \"parameters\": {\n \"loader\": \"epubLoader\",\n \"options\": {},\n \"dataType\": \"binary\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This documentDefaultDataLoader node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ce3d9c7c-6ce9-421a-b4d0-4235217cf8e6\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 2620,\n -2000\n ],\n \"parameters\": {\n \"width\": 749.1276349295781,\n \"height\": 820.5109034066329,\n \"content\": \"# INSERTING\\n\\n- it's important to use the same embedding model when for any interaction with your vector database (inserting, upserting and retrieval)\"\n },\n \"...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"TEA7K9MSVQGCWKe6\",\n \"meta\": {\n \"instanceId\": \"workflow-6ac4b60d\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:55.978253\",\n \"updatedAt\": \"2025-09-29T07:07:55.978265\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"A/B Split Testing\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-0cb47c89\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"e8404493-4297-4169-a72f-89e668ae5fbc\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -1460,\n -140\n ],\n \"webhookId\": \"334e3a8d-73d2-4d3c-9927-158c1169ef5e\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"582e1c1b-12ff-42ff-8130-48f94eebd706\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 220,\n -160\n ],\n \"parameters\": {\n \"text\": \"={{ $('When chat message received').item.json.chatInput }}\",\n \"options\": {\n \"systemMessage\": \"={{ $json.prompt }}\"\n },\n \"promptType\": \"define\"\n },\n \"typeVersion\": 1.7,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"39ca5c70-11d4-4f86-bde5-0f9827297be9\",\n \"name\": \"Check If Session Exists\",\n \"type\": \"n8n-nodes-base.supabase\",\n \"position\": [\n -960,\n -140\n ],\n \"parameters\": {\n \"filters\": {\n \"conditions\": [\n {\n \"keyName\": \"YOUR_CREDENTIAL_HE...", "input": "", "output": "The node 'Assign Path To Session' (type: n8n-nodes-base.supabase) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"supabaseApi\": {\n \"id\": \"1iEg1EzFrF29iqp2\",\n \"name\": \"Supabase (bsde.ai)\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Assign Path To Session' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"SurveyMonkey Trigger\",\n \"type\": \"n8n-nodes-base.surveyMonkeyTrigger\",\n \"position\": [\n 880,\n 390\n ],\n \"webhookId\": \"52754661-725a-49e0-88fc-a8e5dbbea5a5\",\n \"parameters\": {\n \"event\": \"response_created\",\n \"surveyIds\": [\n \"288506979\"\n ],\n \"objectType\": \"survey\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"surveyMonkeyOAuth2Api\": \"{{ $credentials.surveyMonkeyOAuth2Api }}\"\n },\n \"typeVersion\": 1,\n \"id\": \"a2e705c1-93b5-462c-842b-54095befbed1\",\n \"notes\": \"This surveyMonkeyTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-223a6e22\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n },\n {\n \"parameters\": {\n \"url\": \"https://api.example.com/data\",\n \"method\": \"GET\",\n \"options\": {}\n },\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 450,\n 300\n ]\n }\n ],\n \"connections\": {},\n \"name\": \"Surveymonkeytrigger Workflow\",\n \"description\": \"Automated workflow: Surveymonkeytrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"instanceId\": \"workflow-a1d28a1e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.006380\",\n \"updatedAt\": \"2025-09-29T07:07:56.006402\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"70\",\n \"name\": \"Receive updates when an event occurs in Taiga\",\n \"nodes\": [\n {\n \"name\": \"Taiga Trigger\",\n \"type\": \"n8n-nodes-base.taigaTrigger\",\n \"position\": [\n 690,\n 260\n ],\n \"webhookId\": \"53939c3e-7dc6-4fdf-94d8-d29f92f8fa12\",\n \"parameters\": {\n \"projectId\": 385605\n },\n \"credentials\": {\n \"taigaCloudApi\": \"taiga\"\n },\n \"typeVersion\": 1,\n \"id\": \"f11f785d-45ec-4eab-bb4c-2b441fb0b23c\",\n \"notes\": \"This taigaTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-e09cc439\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Receive updates when an event occurs in Taiga. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-bc582153\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.010201\",\n \"updatedAt\": \"2025-09-29T07:07:56.010213\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"notes\": \"Excellent quality workflow: Receive updates when an event occurs in Taiga. This workflow has been optimized for production use with comprehensive error handling, security, and docum...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"02GdRzvsuHmSSgBw\",\n \"meta\": {\n \"instanceId\": \"workflow-3d835878\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.057786\",\n \"updatedAt\": \"2025-09-29T07:07:56.057805\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"#\\ufe0f\\u20e3Nostr #damus AI Powered Reporting + Gmail + Telegram\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"e9c4c7bf-0cce-456e-9b95-726669e4b260\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -500,\n -60\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b8f57e15-8a6e-4a29-a6e8-745bebbd1f44\",\n \"name\": \"Get HTML\",\n \"type\": \"n8n-nodes-base.markdown\",\n \"position\": [\n 880,\n -840\n ],\n \"parameters\": {\n \"mode\": \"markdownToHtml\",\n \"options\": {},\n \"markdown\": \"={{ $json.text }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This markdown node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8b212119-9b69-449c-8a3b-4fdc5b085f30\",\n \"name\": \"Gmail Themes\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 1080,\n -840\n ],\n \"webhookId\": \"e07f9378-bfa5-48ac-88fd-0ef88a725ede\",\n \"parameters\": {\n \"sendTo\": \"joe@example.com\",\n \"message\": \"={{ $json.data }}\",\n \"options\": {\n \"appendAttribution\": false\n },\n \"subject\": \"#damus\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"1xpVDEQ1yx8gV022\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmail node performs autom...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"disabled\": true,\n \"position\": [\n 70,\n 140\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-1839d0bc\"\n },\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 70,\n 320\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"hour\": 8\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-fa77dce6\"\n },\n {\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 620,\n 210\n ],\n \"parameters\": {\n \"text\": \"LIMPOU PACOTES TRANSPORTE-RECEBIDO PONTO MIX\",\n \"chatId\": \"-657820242\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"{{ $credentials.telegramApi.id }}\",\n \"name\": \"Telegram account\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-b9459171\"\n },\n {\n \"name\": \"Telegram1\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 620,\n 460\n ],\n \"parameters\": {\n \"text\": \"LIMPOU PACOTES TRANSPORTE-RECEBIDO OBJETIVA\",\n \"chatId\": \"-657820242\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"{{ $credentials.telegramApi.id }}\",\n \"name\": \"Telegram account\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-a7bc6d31\"\n },\n {\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 70,\n 480\n ],\n \"webhookId\": \"7ecb2d2f-5a09-44a5-a7bc-27f188c74e0b\",\n \"parameters\": {\n \"path\": \"limparPacotes\",\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"node-fc998899\"\n },\n {\n \"name\": \"limparPacoteCliente1\",\n \"type\": \"n8n-nodes-base.my...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 340,\n 380\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"node-4e521ae3\"\n },\n {\n \"name\": \"Write Binary File\",\n \"type\": \"n8n-nodes-base.writeBinaryFile\",\n \"position\": [\n 1680,\n 280\n ],\n \"parameters\": {\n \"fileName\": \"={{$node[\\\"Config\\\"].parameter[\\\"values\\\"][\\\"string\\\"][0][\\\"value\\\"]}}\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-7944b55e\"\n },\n {\n \"name\": \"Read Binary File\",\n \"type\": \"n8n-nodes-base.readBinaryFile\",\n \"position\": [\n 580,\n 460\n ],\n \"parameters\": {\n \"filePath\": \"={{$node[\\\"Config\\\"].parameter[\\\"values\\\"][\\\"string\\\"][0][\\\"value\\\"]}}\"\n },\n \"typeVersion\": 1,\n \"continueOnFail\": true,\n \"alwaysOutputData\": true,\n \"id\": \"node-14a690e0\"\n },\n {\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1020,\n 460\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"authentication\": \"{{ $credentials.headerAuth }}\",\n \"queryParametersUi\": {\n \"parameter\": [\n {\n \"name\": \"schemaVersion\",\n \"value\": \"5\"\n },\n {\n \"name\": \"filter[updated_at][gt]\",\n \"value\": \"={{$json[\\\"last_synced\\\"]}}\"\n }\n ]\n },\n \"headerParametersUi\": {\n \"parameter\": []\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-d51a839f\"\n },\n {\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 1480,\n 460\n ],\n \"parameters\": {\n \"text\": \"={{$json[\\\"title\\\"]}} by {{$json[\\\"author\\\"]}}\\n\\n{{$json[\\\"summary\\\"]}}\\n\\n{{$json[\\\"url\\\"]}}\",\n \"chatId\": \"={{$node[\\\"Config\\\"].parameter[\\\"values\\\"][\\\"...", "input": "", "output": "The node 'HTTP Request' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"{{ $credentials.httpHeaderAuth.id }}\",\n \"name\": \"Header Auth account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'HTTP Request' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 520,\n 440\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"responseFormat\": \"string\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-e7554c0b\"\n },\n {\n \"name\": \"Wait\",\n \"type\": \"n8n-nodes-base.wait\",\n \"position\": [\n 680,\n 440\n ],\n \"webhookId\": \"e5f84b2f-2568-4f5b-a72b-ed54838c768b\",\n \"parameters\": {\n \"unit\": \"minutes\",\n \"amount\": 5\n },\n \"typeVersion\": 1,\n \"id\": \"node-0271899e\"\n },\n {\n \"name\": \"HTTP Request1\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 880,\n 440\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"responseFormat\": \"string\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-c91d106b\"\n },\n {\n \"name\": \"IF\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1100,\n 440\n ],\n \"parameters\": {\n \"conditions\": {\n \"boolean\": [\n {\n \"value1\": \"={{$node[\\\"HTTP Request\\\"].json[\\\"data\\\"]}} {{$node[\\\"HTTP Request\\\"].json[\\\"data\\\"]}}\",\n \"value2\": \"=\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-c1a69de3\"\n },\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 320,\n 440\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"mode\": \"everyX\",\n \"unit\": \"minutes\",\n \"value\": 5\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"node-d34cd52d\"\n },\n {\n \"name\": \"Telegram1\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 1320,\n 520\n ],\n \"parameters\": {\n \"text\": \"Something got changed...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Switch\",\n \"type\": \"n8n-nodes-base.switch\",\n \"notes\": \"check bot commands\",\n \"position\": [\n 460,\n 480\n ],\n \"parameters\": {\n \"rules\": {\n \"rules\": [\n {\n \"value2\": \"/start\"\n },\n {\n \"output\": 1,\n \"value2\": \"/getweather\"\n }\n ]\n },\n \"value1\": \"={{$json[\\\"message\\\"][\\\"text\\\"]}}\",\n \"dataType\": \"string\",\n \"fallbackOutput\": 3\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1,\n \"id\": \"node-9cedec81\"\n },\n {\n \"name\": \"msg_greet\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 1820,\n 300\n ],\n \"parameters\": {\n \"text\": \"=Nice to meet you, {{$node[\\\"Telegram Trigger\\\"].json[\\\"message\\\"][\\\"from\\\"][\\\"first_name\\\"]}}.\\nI am n8n-powered bot, I can send you a weather data for several European capitals. The data is an image generated in ggplot2 package of R programming language.\\nType /getweather to begin.\",\n \"chatId\": \"={{$node[\\\"Telegram Trigger\\\"].json[\\\"message\\\"][\\\"chat\\\"][\\\"id\\\"]}}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"{{ $credentials.telegramApi.id }}\",\n \"name\": \"n8n R test bot\"\n }\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1,\n \"id\": \"node-cfc239d4\"\n },\n {\n \"name\": \"msg_wrongcommand\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 1820,\n 1160\n ],\n \"parameters\": {\n \"text\": \"=Sorry, {{$node[\\\"Telegram Trigger\\\"].json[\\\"message\\\"][\\\"from\\\"][\\\"first_name\\\"]}}, your command was not recognized.\\n/getweather - show image with the weather info.\",\n \"chatId\": \"={{$node[\\\"Telegram Trigger\\\"].json[\\\"message\\\"][\\\"chat\\\"][\\\"id\\\"]}}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"{{ $credent...", "input": "", "output": "The node 'R successful?' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'R successful?'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"174\",\n \"name\": \"Send the Astronomy Picture of the day daily to a Telegram channel\",\n \"nodes\": [\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"hour\": 20\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"772f815a-aaa8-4d09-8477-4192993686d6\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"NASA\",\n \"type\": \"n8n-nodes-base.nasa\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"download\": false,\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"nasaApi\": \"NASA\"\n },\n \"typeVersion\": 1,\n \"id\": \"d5beae1d-e322-4972-9805-9f76fe54c70f\",\n \"notes\": \"This nasa node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 850,\n 300\n ],\n \"parameters\": {\n \"file\": \"={{$node[\\\"NASA\\\"].json[\\\"url\\\"]}}\",\n \"chatId\": \"-485365454\",\n \"operation\": \"sendPhoto\",\n \"additionalFields\": {\n \"caption\": \"={{$node[\\\"NASA\\\"].json[\\\"title\\\"]}}\"\n }\n },\n \"credentials\": {\n \"telegramApi\": \"Telegram n8n bot\"\n },\n \"typeVersion\": 1,\n \"id\": \"1546dd9a-d5bb-402a-9edc-5c6203165955\",\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-3ca5edcf\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"1ZfA8Do3j7lCB3zF\",\n \"meta\": {\n \"instanceId\": \"workflow-142f68e6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.063200\",\n \"updatedAt\": \"2025-09-29T07:07:56.063216\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Blockchain DEX Screener Insights Agent\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"0e57bcd4-661d-40e3-a9d2-c66d5b84171c\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -280,\n 340\n ],\n \"webhookId\": \"e79527d8-89bd-4974-926c-2bcd8020cfa4\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"518565fc-1ee9-4c19-a300-a2c2bef2bb60\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 80,\n 340\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"yUizd8t0sD5wMYVG\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a52660f2-b13a-4dfb-9429-3f8e382fb4a6\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 240,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1.3,\n \"notes\": \"This memoryBufferWindow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6714c6df-cc31-4758-956b-1db42ec3112f\",\n \"name\": \"Telegram Trigger\",\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 1,\n \"name\": \"Daily Journal Reminder\",\n \"nodes\": [\n {\n \"name\": \"Morning reminder\",\n \"type\": \"n8n-nodes-base.cron\",\n \"notes\": \"Trigger very morning\",\n \"position\": [\n 220,\n 60\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"hour\": 6\n }\n ]\n }\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1,\n \"alwaysOutputData\": true,\n \"id\": \"e479f9aa-d31d-4f8a-b2be-72510fe8f8c5\"\n },\n {\n \"name\": \"format reminder\",\n \"type\": \"n8n-nodes-base.functionItem\",\n \"position\": [\n 460,\n 60\n ],\n \"parameters\": {\n \"functionCode\": \"\\n// Creates message with todays date\\nconst today = new Date()\\nconst yesterday = new Date(today)\\n\\nyesterday.setDate(yesterday.getDate() - 1)\\nconst message = `What did you do: ${yesterday.toISOString().split('T')[0]}`\\n\\nreturn {message};\"\n },\n \"typeVersion\": 1,\n \"id\": \"f533aef5-8453-467d-b44d-302a6e9900c2\",\n \"notes\": \"This functionItem node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Send journal reminder\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 700,\n 60\n ],\n \"parameters\": {\n \"text\": \"={{$node[\\\"format reminder\\\"].json[\\\"message\\\"]}}\",\n \"chatId\": \"666884239\",\n \"additionalFields\": {}\n },\n \"credentials\": {},\n \"typeVersion\": 1,\n \"id\": \"0b25832b-6e76-41aa-bbb9-e1a3d2c8f034\",\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-06652537\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": true,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"save...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a61d4513\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.077627\",\n \"updatedAt\": \"2025-09-29T07:07:56.077642\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f305e08e-d4b4-4ec6-be74-5edb7a3711e5\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 520,\n 1279\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"minutes\"\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"abac20ef-6319-40e3-8d30-806d7499a427\",\n \"name\": \"Send Telegram Message\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 1360,\n 1279\n ],\n \"parameters\": {\n \"text\": \"={{ $json.data.replaceAll(/(Last Price: \\\\S+)$/gm,\\\"$1\\\\n\\\").slice(0,1000) }}\",\n \"chatId\": \"-1002138086614\",\n \"additionalFields\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d23c3277-62ca-4e1f-ad5d-48c07e0d6b94\",\n \"name\": \"Aggregate\",\n \"type\": \"n8n-nodes-base.aggregate\",\n \"notes\": \"Combine all items\",\n \"position\": [\n 1020,\n 1279\n ],\n \"parameters\": {\n \"options\": {},\n \"aggregate\": \"aggregateAllItemData\"\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1\n },\n {\n \"id\": \"ba174e7f-4377-46dc-aca8-30adf81e5d61\",\n \"name\": \"Binance 24h Price Change\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"notes\": \"Get data of changed price coins in last 24h\",\n \"position\": [\n 680,\n 1279\n ],\n \"parameters\": {\n \"url...", "input": "", "output": "In node 'Split By 1K chars', the parameter 'jsCode' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `// Function to split the data into chunks of approximately 1000 characters\nfunction splitDataIntoChunks(data) {\n const chunks = [];\n let currentChunk = \"\";\n\n data.forEach(item => {\n // Ensure that each item has a 'message' property\n if (item && item.message) {\n const message = item.message + \"\\n\"; // Adding a newline for separation\n // Check if adding this message to the current chunk would exceed the 1000 characters limit\n if (currentChunk.length + message.length > 1000) {\n // If so, push the current chunk to the chunks array and start a new chunk\n chunks.push({ json: { data: currentChunk } });\n currentChunk = message;\n } else {\n // Otherwise, add the message to the current chunk\n currentChunk += message;\n }\n }\n });\n\n // Add the last chunk if it's not empty\n if (currentChunk) {\n chunks.push({ json: { data: currentChunk } });\n }\n\n return chunks;\n}\n\n// The input data is passed from the previous node\nconst inputData = items[0].json.data; // Accessing the 'data' property\n\n// Process the data\nconst result = splitDataIntoChunks(inputData);\n\n// Output the result\nreturn result;\n`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Split By 1K chars' parameter 'jsCode'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-18822e35\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.079577\",\n \"updatedAt\": \"2025-09-29T07:07:56.079595\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"d2a02884-a082-4d77-8558-b819fdfd8e09\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1305,\n -337\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 629.040241216464,\n \"height\": 1416.261500302191,\n \"content\": \"## Use **Config Bot** to setup your telegram details, like:\\n1- Telegram Group ID (Don't forget add bot as admin)\\n2- Telegram Channel ID (Don't forget add bot as admin)\\n3- Your telegram Bot Token. (Generate through @BotFather)\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n## Setup data & filter & route to the correct Side.\\n0- None of them - Soon - Wait V2\\n1- Chat Type (`Private`)\\n2- Chat Type (`Supergroup`)\\n3- Chat Type (`Channel`)\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n## Remember:\\n* Do not make your support group public. Every message sent in the group on various topics will be forwarded to the user's ticket.\\n* There is no need to promote your broadcasting channel; the main reason for the channel is to organize and broadcast messages.\\n* You can host a Redis database without any coding/server management skills through Coolify.io.\\n* In the next version, I will add the **edit messages** feature, where the forwarded messages will be updated with the new edited one.\\n\\n## Why use this method?\\n* If you deal with Telegram P2P, anyone can delete messages from both sides. If you run a business, then one of your clients may delete all messages, causing you to lose the history. This solution prevents people from deleting messages; every message forwarded into the support group will not b...", "input": "", "output": "The node 'Wait1' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Wait1'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-3bf35499\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.088952\",\n \"updatedAt\": \"2025-09-29T07:07:56.089029\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"9cfeb58b-140f-4941-8442-4e33c671e325\",\n \"name\": \"No Operation, do nothing\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 440,\n 840\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c4e7c596-4f2a-48e0-a932-ad40157c6282\",\n \"name\": \"Get interest name\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n 100,\n 660\n ],\n \"webhookId\": \"3c85f114-6321-4e6d-9b5e-726e1493ee4e\",\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"JR5rQqmm6CGac5CF\",\n \"name\": \"Sender Token\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"69d432d1-4ab1-4059-af5c-ba589dfe16bc\",\n \"name\": \"Check message contents\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 280,\n 660\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [\n {\n \"value1\": \"={{ $json.message.chat.id }}\",\n \"value2\": -1001805495093,\n \"operation\": \"equal\"\n }\n ],\n \"string\": [\n {\n \"value1\": \"={{ $json.message.text }}\",\n \"value2\": \"#interest\",\n \"operation\": \"startsWith\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This if node perfo...", "input": "", "output": "The workflow has a broken data flow. The node '082ddf0f-29ef-424a-a2a2-4bf9e260657f' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '082ddf0f-29ef-424a-a2a2-4bf9e260657f'.\n\n**Impact**: Data from '082ddf0f-29ef-424a-a2a2-4bf9e260657f' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '082ddf0f-29ef-424a-a2a2-4bf9e260657f' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"082ddf0f-29ef-424a-a2a2-4bf9e260657f\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '082ddf0f-29ef-424a-a2a2-4bf9e260657f' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-541d8d45\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.178542\",\n \"updatedAt\": \"2025-09-29T07:07:56.178551\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"trigger-5d687ed0\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"1c7b05e0-d82b-4851-a1ec-713093cdf489\",\n \"name\": \"Email Trigger (IMAP)\",\n \"type\": \"n8n-nodes-base.emailReadImap\",\n \"position\": [\n 540,\n 660\n ],\n \"parameters\": {\n \"format\": \"resolved\",\n \"options\": {\n \"forceReconnect\": 60,\n \"customEmailConfig\": \"[\\\"UNSEEN\\\"]\"\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This emailReadImap node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"734424e6-d292-47d7-abb9-9630bdc00e35\",\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 1140,\n 660\n ],\n \"parameters\": {\n \"text\": \"=\\ud83d\\udce7 You've got mail!\\n\\nA new email has arrived from this address: {{ $node[\\\"Email Trigger (IMAP)\\\"].json[\\\"from\\\"][\\\"value\\\"][\\\"0\\\"][\\\"address\\\"] }}\\n\\n\\ud83c\\udf10 A secert HTML page has been created for it, where you can preview the message by following the link below \\ud83d\\udc47\",\n \"chatId\": \"\",\n \"replyMarkup\": \"inlineKeyboard\",\n \"inlineKeyboard\": {\n \"rows\": [\n {\n \"row\": {\n \"buttons\": [\n {\n \"text\": \"={{ $('Github Gist').item.json.files[\\\"email.html\\\"].filename }}\",\n \"additionalFields\": {\n \"url\": \"{{ $env.BASE_URL }}...", "input": "", "output": "The node 'Github Gist \u200c' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Github Gist \u200c'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a1182171\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.177341\",\n \"updatedAt\": \"2025-09-29T07:07:56.177354\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"0f5aae97-3819-4704-ada2-abbcf14cea5f\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 20,\n 380\n ],\n \"parameters\": {\n \"text\": \"=Respond to this as a helpful assistant with emojis: {{ $json.message.text }}\",\n \"options\": {},\n \"promptType\": \"define\"\n },\n \"typeVersion\": 1.8,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9f828f62-b587-43be-a47f-b2500e36bd9c\",\n \"name\": \"Telegram Trigger\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n -220,\n 380\n ],\n \"webhookId\": \"9bf61652-efa6-47b0-9f52-e0c3362d93e5\",\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"XVBXGXSsaCjU2DOS\",\n \"name\": \"jimleuk_handoff_bot\"\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"abb92991-faee-4678-9038-7555f694acb1\",\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 380,\n 380\n ],\n \"webhookId\": \"5babdcad-dabe-4c8e-8f84-6957e9f1aa15\",\n \"parameters\": {\n \"text\": \"={{ $json.output }}\",\n \"chatId\": \"={{ $('Telegram Trigger').item.json.message.chat.id }}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"XVBXGXSsaCjU2DOS\",\n \"name\": \"jimleuk_handoff_bot\"\n ...", "input": "", "output": "The node 'OpenAI Chat Model' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'OpenAI Chat Model' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"d7ba34e4-5f98-4a32-abe7-1ed1a3d30410\",\n \"name\": \"n8n Form Trigger\",\n \"type\": \"n8n-nodes-base.formTrigger\",\n \"position\": [\n -800,\n 840\n ],\n \"webhookId\": \"ee00f236-5dad-49db-8f29-71b7bce37894\",\n \"parameters\": {\n \"path\": \"0bf8840f-1cc4-46a9-86af-a3fa8da80608\",\n \"options\": {},\n \"formTitle\": \"Contact us\",\n \"formFields\": {\n \"values\": [\n {\n \"fieldLabel\": \"What's your business email?\"\n }\n ]\n },\n \"formDescription\": \"We'll get back to you soon\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This formTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4e91bf1d-ff5b-4a5c-805e-08c930e8dbe9\",\n \"name\": \"Check if the email is valid\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n -380,\n 840\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"54d84c8a-63ee-40ed-8fb2-301fff0194ba\",\n \"operator\": {\n \"name\": \"filter.operator.equals\",\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.status }}\",\n \"rightValue\": \"valid\"\n }\n ]\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d27ef50a-a80d-4f27-bd94-0c354f71fad1\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -800,\n 620\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 545.9804141018467,\n \"height\": 183.48964745383324,\n \"content\"...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"79849bb5-00a4-42e6-92c4-b06c7a20eb3e\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1580,\n 340\n ],\n \"parameters\": {\n \"model\": \"gpt-4-turbo-preview\",\n \"options\": {\n \"temperature\": 0,\n \"responseFormat\": \"json_object\"\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"jazew1WAaSRrjcHp\",\n \"name\": \"OpenAI (workfloows@gmail.com)\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"85df0106-1f78-4412-8751-b84d417c8bf9\",\n \"name\": \"Convert education to HTML\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 2420,\n 180\n ],\n \"parameters\": {\n \"mode\": \"runOnceForEachItem\",\n \"jsCode\": \"function convertToHTML(list) {\\n let html = '';\\n\\n list.forEach((education, index) => {\\n if (index > 0) {\\n html += '

'; // Add a new line if it's not the first item\\n }\\n html += `Institution: ${education.institution}
\\nStart year: ${education.start_year}
\\nDegree: ${education.degree}`;\\n });\\n\\n return html;\\n}\\n\\n// Assuming payload is already defined\\nconst payload = $input.item.json.education;\\n\\nconst htmlOutput = convertToHTML(payload);\\nreturn {\\n htmlOutput\\n};\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"da4fc45d-712f-4171-b72a-66b74b4d8e05\",\n \"name\": \"Auto-fixing Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1820,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This outputParserAutofixing node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"225a7513-6fd4-4672-9b40-b10b...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-32ab9c8d\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.168583\",\n \"updatedAt\": \"2025-09-29T07:07:56.168602\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"06fee9d0-e11e-44f1-949f-94abb476e493\",\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 2100,\n 1020\n ],\n \"parameters\": {\n \"text\": \"={{ $json.message.join(\\\"\\\\n\\\") }}\",\n \"additionalFields\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cd51fa93-700e-4d86-a95b-6e65e7eaf616\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 1080,\n 1020\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"daysInterval\": 7\n }\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"720ca9d2-456f-49a0-85df-d38d1ebdf8e1\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 700,\n 560\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 453.88352097764886,\n \"height\": 160.98843357558172,\n \"content\": \"### \\ud83d\\udc68\\u200d\\ud83c\\udfa4 Setup\\nYou will need:\\n1. API token to your n8n instance (settings)\\n2. Paste the API token in new n8n credentials\\n3. Add telegram credentials as well\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c168ca04-cd47-4d68-b719-7c9bb4e98920\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.st...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-74164a85\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.206007\",\n \"updatedAt\": \"2025-09-29T07:07:56.206040\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"0c8b3a80-00e1-4d69-aac9-df41a464914a\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -246.5549467302767,\n -396.60463598587717\n ],\n \"parameters\": {\n \"width\": 2260.4312974923314,\n \"height\": 1739.059401992624,\n \"content\": \"\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"74ee38b2-2d8a-40bf-8dad-e20125f000f7\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -220,\n -340\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 644.910132006371,\n \"height\": 655.8676264589326,\n \"content\": \"={{ $json.deeply.nested.undefined.path }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"07a4dc07-0109-464e-a661-d5a4bb7b4a1c\",\n \"name\": \"Get message content1\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 640,\n 460\n ],\n \"parameters\": {\n \"simple\": false,\n \"options\": {},\n \"messageId\": \"={{ $json.id }}\",\n \"operation\": \"get\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"UJx4Tiq8WRtxWEIP\",\n \"name\": \"Gmail Omar\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmail node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"283dcd8b-80a8-4e49-aba1-fabec333def3\",\n \"name\": \"OpenAI Chat Model3\",\n \"type\": \"n8n-no...", "input": "", "output": "In node 'Sticky Note', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `### Project Benefit \ud83c\udfa7\ud83c\udf1f\n\nThe goal of this awesome project is to turn those \"CATEGORY_PROMOTIONS\" emails into a super cool audio podcast! \ud83c\udf99\ufe0f This way, users can kick back and enjoy the promotional content without having to squint at their screens. By listening instead of reading, users can soak in the info in a fun and easy way.\n\nThis project rocks a workflow using n8n to automate tasks like a boss. Each node in the workflow plays its part in a smooth operation. Check out the main players:\n\n1. **Gmail trigger1 Node**: Kicks off the action every minute for those \"CATEGORY_PROMOTIONS\" emails.\n \n2. **Get message content1 Node**: Grabs the email content for some magic.\n \n3. **Summarization Chain3 Node**: Whips up some sweet summaries using fancy chunking methods.\n \n4. **Delete the unnecessary items Node**: Clears out the clutter from the email content.\n \n5. **Text to Free TTS Node**: Turns the summary into speech using Free TTS magic.\n \n6. **Convert from base64 to File Node**: Changes the audio into a file format.\n \n7. **Merge Text with Audio Node**: Mixes the text and audio together for a cool combo.\n \n8. **Aggregate in same cell Node**: Puts all the data together for more awesomeness.\n \n10. **Send Message to Telegram Node**: Sends the final audio message with a caption to a special Telegram chat ID.\n\nThis workflow is like a well-oiled machine, with each step flowing seamlessly into the next. By automating these tasks, this project aims to make communication a breeze and bring joy to all involved! \ud83c\udf08\u2728\ud83d\ude80\n`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-c1d2258d\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.192476\",\n \"updatedAt\": \"2025-09-29T07:07:56.192491\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"ecb4bbc8-939a-4c6c-80b6-6f053d1d7745\",\n \"name\": \"Get the Image\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n 1640,\n 880\n ],\n \"webhookId\": \"8404b32c-14bd-428e-88a6-560755f0f7ba\",\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {\n \"download\": true\n }\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"k3RE6o9brmFRFE9p\",\n \"name\": \"Telegram account\"\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2fd523b7-5f89-4e53-9445-4336b51cad51\",\n \"name\": \"Send Content for the Analyzed image\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 2380,\n 760\n ],\n \"parameters\": {\n \"text\": \"={{ $json.content }}\",\n \"chatId\": \"={{ $('Get the Image').item.json.message.chat.id }}\",\n \"additionalFields\": {\n \"appendAttribution\": false\n }\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"k3RE6o9brmFRFE9p\",\n \"name\": \"Telegram account\"\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b77fe84f-7651-42aa-aa40-f903b10c8fb1\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 380,\n 360\n ],\n \"parameters\": {\n \"width\": 1235.4238259410247,\n \"height\": 1361.9843517631348,\n \"content\"...", "input": "", "output": "The node 'Sticky Note1' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note1'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-c763d02e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.209663\",\n \"updatedAt\": \"2025-09-29T07:07:56.209677\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"95252956-51fb-49ee-924e-df01ea27b98d\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 60,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bfaaee00-7545-404b-9526-fb77726e833e\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -940,\n 120\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 819.6790739248162,\n \"height\": 212.7465225154412,\n \"content\": \"# Monitor Multiple Github Repos\\nThis workflow allows you to monitor multiple Github repos simultaneously without polling due to use of Webhooks. It programmatically allows for adding and deleting of repos to your watchlist to make management convenient.\\n\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d1075f59-356e-47c4-9f85-c9067127d70f\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 380,\n 340\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"repos\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7d2a3226-e3b1-4cab-91e2-01f60c1184cb\",\n \"name\": \"Register Github Webhook\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 540,\n 340\n ],\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-eca52130\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.224450\",\n \"updatedAt\": \"2025-09-29T07:07:56.224464\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"c70236ea-91ab-4e47-b6f6-63a70ede5d3c\",\n \"name\": \"Google Calendar\",\n \"type\": \"n8n-nodes-base.googleCalendarTool\",\n \"position\": [\n 1000,\n 680\n ],\n \"parameters\": {\n \"options\": {\n \"fields\": \"=items(summary, start(dateTime))\",\n \"timeMin\": \"={{$fromAI(\\\"date\\\",\\\"the date after which to fetch the messages in format YYYY-MM-DDTHH:MM:SS\\\")}}\"\n },\n \"calendar\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"derekcheungsa@gmail.com\",\n \"cachedResultName\": \"derekcheungsa@gmail.com\"\n },\n \"operation\": \"getAll\"\n },\n \"credentials\": {\n \"googleCalendarOAuth2Api\": {\n \"id\": \"qx8JdPX4I5Xk9c46\",\n \"name\": \"Google Calendar account\"\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This googleCalendarTool node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d2287bea-de47-4180-8ee6-55d4ab1a89da\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 760,\n 680\n ],\n \"parameters\": {\n \"sessionKey\": \"YOUR_CREDENTIAL_HERE\",\n \"sessionIdType\": \"customKey\"\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This memoryBufferWindow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fa955731-86f6-4e4d-8604-dab5f52dee87\",\n \"name\": \"Get Email\",\n \"type\": \"n8n-nodes-base.gmailTool\",\n \"position\": [\n 880,\n 680\n ],\n \"parameters\": {\n \"filters\": {\n \"labelIds\": [\n \"INBOX\",\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"9320d08a-4868-4103-abdf-3f8f54a7a0a0\"\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 0,\n 0\n ],\n \"webhookId\": \"9024e29e-9080-4cf5-9a6b-0d918468f195\",\n \"parameters\": {\n \"path\": \"ytube\",\n \"options\": {},\n \"httpMethod\": \"POST\",\n \"responseMode\": \"responseNode\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a5cc8922-8124-4269-9cfd-e891b29cc2b7\",\n \"name\": \"YouTube Transcript\",\n \"type\": \"n8n-nodes-youtube-transcription.youtubeTranscripter\",\n \"position\": [\n 800,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This youtubeTranscripter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ff3c0fd1-36d8-4d64-b405-0600efd4d93b\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 200,\n 260\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"transcript\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"423276e0-81bf-487a-bbdd-26e9b84fa755\",\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 1200,\n 140\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This respondToWebhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"27344649-8029-48ae-867b-7363d904fc59\",\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 1200,\n 380\n ],\n \"parameters\": {\n \"text\": \"={{ $json.title }}\\n{{ $json.youtubeUrl }}\",\n \"additionalFields\": {\n \"parse_mode\": \"HTML\",\n \"appendAttribution...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"6ea4e702-1af8-407b-b653-964a519db1c2\",\n \"name\": \"Basic LLM Chain\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1560,\n -360\n ],\n \"parameters\": {\n \"text\": \"=You are a highly skilled news categorizer, specializing in indentifying interesting stuff from Hacker News front-page headlines.\\n\\nYou are provided with JSON data containing a list of dates and their corresponding top headlines from the Hacker News front page. Each headline will also include a URL linking to the original article or discussion. Importantly, the dates provided will be the SAME DAY across MULTIPLE YEARS (e.g., January 1st, 2023, January 1st, 2022, January 1st, 2021, etc.). You need to indentify key headlines and also analyze how the tech landscape has evolved over the years, as reflected in the headlines for this specific day.\\n\\nYour task is to indentify top 10-15 headlines from across the years from the given json data and return in Markdown formatted bullet points categorizing into themes and adding markdown hyperlinks to the source URL with Prefixing Year before the headline. Follow the Output Foramt Mentioned.\\n\\n**Input Format:**\\n\\n```json\\n[\\n {\\n \\\"headlines\\\": [\\n \\\"Headline 1 Title [URL1]\\\",\\n \\\"Headline 2 Title [URL2]\\\",\\n \\\"Headline 3 Title [URL3]\\\",\\n ...\\n ]\\n \\\"date\\\": \\\"YYYY-MM-DD\\\",\\n },\\n {\\n \\\"headlines\\\": [\\n \\\"Headline 1 Title [URL1]\\\",\\n \\\"Headline 2 Title [URL2]\\\",\\n ...\\n ]\\n \\\"date\\\": \\\"YYYY-MM-DD\\\",\\n },\\n ...\\n]\\n```\\n\\n**Output Format In Markdown**\\n\\n```\\n# HN Lookback | to \\n\\n## [Theme 1]\\n- YYYY [Headline 1](URL1)\\n- YYYY [Headline 2](URL2)\\n...\\n\\n## [Theme 2]\\n- YYYY [Headline 1](URL1)\\n- YYYY [Headline 2](URL2)\\n...\\n\\n... \\n\\n## \\n\\n```\\n\\n**Here is the Json data for Hackernews Headlines across the years**\\n...", "input": "", "output": "The node 'CleanUpYearList' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'CleanUpYearList'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-9db9a141\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.229180\",\n \"updatedAt\": \"2025-09-29T07:07:56.229197\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"e6d85380-7cfa-4c6e-9b0f-d390ad0cbc67\",\n \"name\": \"HTTP Request1\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1400,\n -180\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"method\": \"=POST\",\n \"options\": {\n \"allowUnauthorizedCerts\": true\n },\n \"jsonBody\": \"={{ $json.output.details }}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"pJcVQegRQ5mpraoQ\",\n \"name\": \"Proxmox\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9b497de8-0f01-40b1-8f8e-28fad1f758c4\",\n \"name\": \"Proxmox API Documentation\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -300,\n 40\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"toolDescription\": \"This is Proxmox API Documentation ensure to read the details from here\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This toolHttpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e7ac54a9-37be-44b5-b58e-8b631892367e\",\n \"name\": \"Auto-fixing Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 40,\n 60\n ],\n \"parameters\": {\n \"options\": {\n \"prompt\": \"Instructions:\\n--------------\\n{instructions}\\n--------------\\nCompleti...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"27\",\n \"name\": \"N8N Espa\\u00f1ol - BOT\",\n \"nodes\": [\n {\n \"name\": \"Saludos-IF\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 450,\n 450\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$node[\\\"Saludos-TelegramTrigger\\\"].json[\\\"message\\\"][\\\"new_chat_member\\\"][\\\"first_name\\\"]}}\",\n \"operation\": \"isEmpty\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"1a90fee6-2e10-4e06-9a7a-8fc426babf09\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Saludos-IF1\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 490,\n 630\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$node[\\\"Saludos-TelegramTrigger\\\"].json[\\\"message\\\"][\\\"left_chat_member\\\"][\\\"first_name\\\"]}}\",\n \"operation\": \"isEmpty\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"78e1509d-06c4-4011-8d17-091681d48d2a\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"S-Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 700,\n 660\n ],\n \"parameters\": {\n \"text\": \"=\\u2716\\ufe0f {{$node[\\\"Saludos-TelegramTrigger\\\"].json[\\\"message\\\"][\\\"left_chat_member\\\"][\\\"first_name\\\"]}} DEP. \\ud83d\\ude4f Que los Dioses te protejan.\",\n \"chatId\": \"=@comunidadn8n\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": \"N8N Espa\\u00f1ol - BOT\"\n },\n \"typeVersion\": 1,\n \"id\": \"01c4c691-48c0-48d5-aa00-14dc5a7783c0\",\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Saludos-TelegramTrigger\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n 260,\n 560...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Telegram Trigger\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n 450,\n 300\n ],\n \"parameters\": {\n \"updates\": [\n \"message\"\n ]\n },\n \"credentials\": {\n \"telegramApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"ccfab7dc-417e-4c94-8ee0-a4067f006aa9\",\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Return Sticker\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 850,\n 200\n ],\n \"parameters\": {\n \"text\": \"=Hi {{$node[\\\"Look for Sticker\\\"].data[\\\"message\\\"][\\\"from\\\"][\\\"first_name\\\"]}}!\\nThe ID of the sticker is: {{$node[\\\"Look for Sticker\\\"].data[\\\"message\\\"][\\\"sticker\\\"][\\\"file_id\\\"]}}\\nIt is part of the sticker-set: {{$node[\\\"Look for Sticker\\\"].data[\\\"message\\\"][\\\"sticker\\\"][\\\"set_name\\\"]}}\",\n \"chatId\": \"={{ $node.NonExistentNode.json.data }}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"ae263e4b-b141-4e06-adce-3bbfcd4e1c51\",\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Return no Sticker found\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 850,\n 400\n ],\n \"parameters\": {\n \"text\": \"=Hi {{$node[\\\"Look for Sticker\\\"].data[\\\"message\\\"][\\\"from\\\"][\\\"first_name\\\"]}}!\\nYour message did not contain any sticker.\",\n \"chatId\": \"={{$node[\\\"Look for Sticker\\\"].data[\\\"message\\\"][\\\"chat\\\"][\\\"id\\\"]}}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": \"n8nTestBot\"\n },\n \"typeVersion\": 1,\n \"id\": \"a1d94bb5-7250-4afd-b942-682b02f2ebb0\",\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Look for Sticker\",\n \"type\": \"n8n-...", "input": "", "output": "In node 'Return Sticker', the parameter 'chatId' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `={{$node[\"Look for Sticker\"].data[\"message\"][\"chat\"][\"id\"]}}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Return Sticker' parameter 'chatId'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"29P4X9mTSmplnjlJ\",\n \"meta\": {\n \"instanceId\": \"workflow-611542b8\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.343695\",\n \"updatedAt\": \"2025-09-29T07:07:56.343710\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"AI Phone Agent with RetellAI\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"55ef0229-0c33-4821-926d-9aabf4f6c812\",\n \"name\": \"Filter\",\n \"type\": \"n8n-nodes-base.filter\",\n \"position\": [\n -100,\n 120\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"or\",\n \"conditions\": [\n {\n \"id\": \"cce162e9-50f7-41dc-ae45-763a53a835af\",\n \"operator\": {\n \"name\": \"filter.operator.equals\",\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.body.event }}\",\n \"rightValue\": \"call_ended\"\n },\n {\n \"id\": \"b0cec556-f565-4ade-90c9-1cfd74ed238b\",\n \"operator\": {\n \"name\": \"filter.operator.equals\",\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.body.event }}\",\n \"rightValue\": \"call_analyzed\"\n }\n ]\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This filter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1873c991-0ac0-40c4-b027-e48a9f2582c6\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 320...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"2LFEJVoSkeZMndiM\",\n \"meta\": {\n \"instanceId\": \"workflow-d6ef76b3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.311538\",\n \"updatedAt\": \"2025-09-29T07:07:56.311550\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"YT AI News Playlist Creator/AI News Form Updater\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"a871e87e-dc02-4364-83b3-fe378ca60687\",\n \"name\": \"Read Channel Names\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 860,\n 100\n ],\n \"parameters\": {\n \"options\": {},\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": 944489068,\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"AI News Channels\"\n },\n \"documentId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1RNah4ZZsLxflQXvMq8AEn3BFpscOC2ygMZ1dPTlk-Kk\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Media Links\"\n }\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"hVq7KRYH68lYmtEB\",\n \"name\": \"Google Sheets account\"\n }\n },\n \"typeVersion\": 4.5,\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bcc83a11-e7e1-4bcb-a054-a2f0cc26c5f0\",\n \"name\": \"Get Videos\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1020,\n 100\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"sendQuery\": true,\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"part\",\n \"value\": \"snippet\"\n },\n {\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-dba67c68\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.342809\",\n \"updatedAt\": \"2025-09-29T07:07:56.342822\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"1340d672-61c8-403e-89a7-f28e3afbc0e7\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1760,\n 540\n ],\n \"parameters\": {\n \"sessionKey\": \"YOUR_CREDENTIAL_HERE\",\n \"sessionIdType\": \"customKey\"\n },\n \"typeVersion\": 1.3,\n \"notes\": \"This memoryBufferWindow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3c770b79-d6c5-4512-94fa-7719af6d0620\",\n \"name\": \"Get Chart\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1900,\n 560\n ],\n \"parameters\": {\n \"name\": \"getChart\",\n \"workflowId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"LCT4zHJr8LcjM6a7\",\n \"cachedResultName\": \"Trading Agent\"\n },\n \"description\": \"Call this tool to get an analysis of a requested stock. The URL that is output from this tool must be returned in markdown format. For example, ![](url)\\n\\nIt'll be obligatory to pass ticker and chart style. Both can be specified by user. If chart style is not specified by user, use \\\"candle\\\" as default. Possible options for style: [bar, candle, line, area, heikinAshi, hollowCandle, baseline, hiLo, column]\",\n \"workflowInputs\": {\n \"value\": {\n \"ticker\": \"={{ $fromAI(\\\"ticker\\\") }}\",\n \"chart_style\": \"={{ $fromAI(\\\"chart_style\\\") }}\"\n },\n \"schema\": [\n {\n \"id\": \"ticker\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"dis...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-7e24124e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.360093\",\n \"updatedAt\": \"2025-09-29T07:07:56.360110\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"c537229c-ffdf-4a4b-8cdd-1d88621e58a0\",\n \"name\": \"Telegram Trigger\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n -1060,\n 2060\n ],\n \"webhookId\": \"1b9f2217-7c53-4440-b62b-aafcf1e1d45d\",\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"wJqs1eMdbjilZH1W\",\n \"name\": \"jimleuk_ai_survey_demo_bot\"\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"90426896-35d8-4449-8607-70e8485441ed\",\n \"name\": \"Send Next Question\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 2560,\n 1900\n ],\n \"webhookId\": \"4306c719-0b05-4986-8ea8-8bcda06e0ad1\",\n \"parameters\": {\n \"text\": \"={{ $('Get Survey State1').first().json.next_question_idx }}. {{ Object.values($('Get Columns1').first().json)[$('Get Survey State1').first().json.next_question_idx+1] }}\",\n \"chatId\": \"={{ $('Telegram Trigger').first().json.message.chat.id }}\",\n \"additionalFields\": {\n \"appendAttribution\": false\n }\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"wJqs1eMdbjilZH1W\",\n \"name\": \"jimleuk_ai_survey_demo_bot\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"614b6d06-7bca-4710-aebf-3a2a685ace09\",\n \"name\": \"Send Response\",\n \"type\": \"n8n-no...", "input": "", "output": "In node 'Update Answer2', the parameter 'url' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `{{ $env.BASE_URL }}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Update Answer2' parameter 'url'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-59e72a35\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.347168\",\n \"updatedAt\": \"2025-09-29T07:07:56.347183\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"bc49829b-45f2-4910-9c37-907271982f14\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -3200,\n 660\n ],\n \"parameters\": {\n \"width\": 780,\n \"height\": 540,\n \"content\": \"### 5. Do you need more details?\\nFind a step-by-step guide in this tutorial\\n![Guide]({{ $env.WEBHOOK_URL }}\\n[\\ud83c\\udfa5 Watch My Tutorial]({{ $env.WEBHOOK_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"91269b35-1dbc-46bd-b8b4-85227d324e6d\",\n \"name\": \"Telegram Trigger\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n -3020,\n 220\n ],\n \"webhookId\": \"97a26e94-6de8-4d44-9cda-631ad869119d\",\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {}\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1,\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5752611d-97b5-4d5b-b40d-a0ae05d7bd71\",\n \"name\": \"Check State\",\n \"type\": \"n8n-nodes-base.switch\",\n \"position\": [\n -2600,\n 1480\n ],\n \"parameters\": {\n \"rules\": {\n \"values\": [\n {\n \"outputKey\": \"YOUR_CREDENTIAL_HERE\",\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"com...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-ae6327f5\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.356493\",\n \"updatedAt\": \"2025-09-29T07:07:56.356510\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"bc49829b-45f2-4910-9c37-907271982f14\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 100,\n 0\n ],\n \"parameters\": {\n \"width\": 780,\n \"height\": 540,\n \"content\": \"### 4. Do you need more details?\\nFind a step-by-step guide in this tutorial\\n![Guide]({{ $env.WEBHOOK_URL }}\\n[\\ud83c\\udfa5 Watch My Tutorial]({{ $env.WEBHOOK_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b5f24526-f1fc-43b0-82bf-887288838304\",\n \"name\": \"Telegram Trigger\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n -2560,\n 540\n ],\n \"webhookId\": \"09021985-57be-46c0-ac3d-c3a029ebf9e9\",\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8bb53ae0-515a-493d-9c1a-8a06362ada2e\",\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n -2340,\n 540\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"a0be860f-a9ae-4a49-b478-dac25bd550e2\",\n \"operator\": {\n \"type\": ...", "input": "", "output": "The workflow has a broken data flow. The node '22752905-50fc-48ee-9b4c-f80e6184c17f' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '22752905-50fc-48ee-9b4c-f80e6184c17f'.\n\n**Impact**: Data from '22752905-50fc-48ee-9b4c-f80e6184c17f' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '22752905-50fc-48ee-9b4c-f80e6184c17f' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"22752905-50fc-48ee-9b4c-f80e6184c17f\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '22752905-50fc-48ee-9b4c-f80e6184c17f' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a273679b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.509751\",\n \"updatedAt\": \"2025-09-29T07:07:56.509763\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"5d6a5a45-8aa8-4c34-aa10-5dd85f05de9d\",\n \"name\": \"Human Handoff using Send and Wait\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 1580,\n 1040\n ],\n \"webhookId\": \"d2bbc82f-0509-470a-af4d-9d92cfed4d5f\",\n \"parameters\": {\n \"chatId\": \"=\",\n \"message\": \"=chatId: {{ $('Handoff Subworkflow').first().json.chatId }}\\nsessionId: {{ $('Handoff Subworkflow').first().json.sessionId }}\\nuser: {{ $('Handoff Subworkflow').first().json.username }} ({{ $('Handoff Subworkflow').item.json.userId }})\\n\\nSummary:\\n{{ $('Handoff Subworkflow').item.json.summary }}\\n\\n---\\nThis user has now been handed off to a human.\\nClick the button to return user to bot.\",\n \"options\": {},\n \"operation\": \"sendAndWait\",\n \"responseType\": \"freeText\"\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"XVBXGXSsaCjU2DOS\",\n \"name\": \"jimleuk_handoff_bot\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5d2f73ff-b233-4456-b34d-d5a5454dabda\",\n \"name\": \"Set Interaction to Bot\",\n \"type\": \"n8n-nodes-base.redis\",\n \"position\": [\n 1780,\n 1040\n ],\n \"parameters\": {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"value\": \"bot\",\n \"keyType\": \"YOUR_CREDENTIAL_HERE\",\n \"operation\": \"set\"\n },\n \"credentials\": {\n \"redis\": {\n \"id\": \"zU4DA70qSDrZM1El\",\n \"name\": \"Redis account (localhost)\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This red...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"33\"\n \"name\": \"n8n_check\",\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -520,\n 250\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"cdbc4848-accf-4e9c-a305-970443fb39e9\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"RSS Feed Read\",\n \"type\": \"n8n-nodes-base.rssFeedRead\",\n \"position\": [\n -320,\n 260\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\"\n },\n \"typeVersion\": 1,\n \"id\": \"1fd64dbf-769a-4755-89c4-1ea2a6ec9909\",\n \"notes\": \"This rssFeedRead node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 70,\n 260\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$node[\\\"Filter by current day\\\"].json[\\\"data\\\"]}}\",\n \"value2\": \"/.+/\",\n \"operation\": \"regex\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"030c09b3-715d-4aad-b148-e4489c61099c\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n -520,\n 421\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"mode\": \"custom\",\n \"cronExpression\": \"0 0 10,14,18 * * *\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"fd39a489-c751-469f-a62e-87f46f3c22a6\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Filter by current day\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n -120,\n 260\n ],\n \"parameters\": {\n \"f...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"cab4467e-449e-4823-abe5-eb0368883e9c\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 740,\n 180\n ],\n \"webhookId\": \"231e8ee3-320f-47c7-8368-03965732d709\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a32a646b-80f2-46a4-81c2-7e3b5a4a192c\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 940,\n 140\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {\n \"temperature\": 0\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"1IOLtYX7aTspCAN8\",\n \"name\": \"OpenAI Pollup\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3d934326-ad89-477f-9ab6-b97c04960597\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1160,\n 140\n ],\n \"parameters\": {\n \"jsonSchemaExample\": \"\\n[{\\\"name\\\": \\\"total Protein\\\",\\n \\\"quantity\\\": 86,\\n \\\"unit\\\": \\\"gr\\\"\\n},\\n {\\\"name\\\": \\\"total lipids\\\",\\n \\\"quantity\\\": 86,\\n \\\"unit\\\": \\\"gr\\\"\\n},\\n {\\\"name\\\": \\\"total carbohydrats\\\",\\n \\\"quantity\\\": 86,\\n \\\"unit\\\": \\\"gr\\\"\\n},\\n {\\\"name\\\": \\\"total potassium\\\",\\n \\\"quantity\\\": 86,\\n \\\"unit\\\": \\\"gr\\\"\\n},\\n {\\\"name\\\": \\\"total magnesium\\\",\\n \\\"quantity\\\": 86,\\n \\\"unit\\\": \\\"gr\\\"\\n},\\n {\\\"name\\\": \\\"total sodium\\\",\\n \\\"quantity\\\": 86,\\n \\\"unit\\\": \\\"gr\\\"\\n},\\n {\\\"name\\\": \\\"total kcal\\\",\\n \\\"quantity\\\": 248,\\n \\\"unit\\\": \\\"kcal\\\"\\n},\\n {\\n \\\"reasoning\\\": \\\"this is my reasoning\\\"\\n }\\n]\"\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This ou...", "input": "", "output": "The workflow has a broken data flow. The node 'f72d4182-26e2-4026-8097-7e4cef50bfed' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'f72d4182-26e2-4026-8097-7e4cef50bfed'.\n\n**Impact**: Data from 'f72d4182-26e2-4026-8097-7e4cef50bfed' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'f72d4182-26e2-4026-8097-7e4cef50bfed' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"f72d4182-26e2-4026-8097-7e4cef50bfed\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'f72d4182-26e2-4026-8097-7e4cef50bfed' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-592e4783\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.500807\",\n \"updatedAt\": \"2025-09-29T07:07:56.500880\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"ca8b122d-1739-4377-ac99-e20dd2341342\",\n \"name\": \"Incoming Message\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n -1020,\n -320\n ],\n \"webhookId\": \"75921955-c8ed-4ff6-8de2-e436c6bbe69d\",\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"ayMpCvQ69GjrbPdP\",\n \"name\": \"gatu_pa_bot\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"68f7568b-e677-454b-a1e8-6c07a05e7570\",\n \"name\": \"MCP Server Trigger\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -860,\n 240\n ],\n \"webhookId\": \"562ffc95-cf8e-4d4d-8f5b-29b3ff22d5ee\",\n \"parameters\": {\n \"path\": \"562ffc95-cf8e-4d4d-8f5b-29b3ff22d5ee\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This mcpTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"635b8ecc-0f50-477d-8e19-631f868e30f6\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 340,\n -320\n ],\n \"parameters\": {\n \"options\": {\n \"systemMessage\": \"=You are a helpful assistant. Whenever askes to update a task, call the get_tasks tools first to retrieve the appropriate task ids then use that to update the tasks.\\n\\nToday's date: {{ $now }}\\n\"\n }\n },\n \"typeVersion\": 1.8,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-098eabf6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.525507\",\n \"updatedAt\": \"2025-09-29T07:07:56.525521\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"43e68fe1-7f48-4bc9-b19a-66d39bee5bbd\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -520,\n 20\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"32aa401a-60c3-4436-94d5-5ba09d3be6ae\",\n \"name\": \"OpenRouter Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 80,\n 0\n ],\n \"parameters\": {\n \"model\": \"openai/gpt-4.1-nano\",\n \"options\": {}\n },\n \"credentials\": {\n \"openRouterApi\": {\n \"id\": \"eQmkAlMDYm8oEtBL\",\n \"name\": \"OpenRouter account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenRouter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f6d325b4-ff87-4bba-9f27-b68590c8a533\",\n \"name\": \"Telegram Trigger\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n -520,\n -220\n ],\n \"webhookId\": \"e61d3286-920e-406c-b787-d330cf897ef4\",\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"ZOl2ZojetuN1uFiX\",\n \"name\": \"My Mail Agent Bot via Telegram\"\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8e10c622-9bf8-414b-8364-185c5c4808a0\",\n \"name\": \"Sticky Note\",\n \"t...", "input": "", "output": "In node 'Sticky Note', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `## Mail Agent\nFor emails in the inbox, archive those that are completely unnecessary, and label the rest based on their relevance.\n\n`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Telegram Trigger\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n 0,\n 250\n ],\n \"parameters\": {\n \"updates\": [\n \"message\"\n ]\n },\n \"credentials\": {\n \"telegramApi\": \"Telegram\"\n },\n \"typeVersion\": 1,\n \"id\": \"0ad7e93e-c15a-4dd6-a58c-a3be4a0321a6\",\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Monday.com\",\n \"type\": \"n8n-nodes-base.mondayCom\",\n \"position\": [\n 650,\n 150\n ],\n \"parameters\": {\n \"name\": \"={{$node[\\\"Freshdesk\\\"].json[\\\"subject\\\"]}}\",\n \"boardId\": \"565971708\",\n \"groupId\": \"new_group\",\n \"resource\": \"boardItem\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"mondayComApi\": \"Monday\"\n },\n \"typeVersion\": 1,\n \"id\": \"6f0251c0-a4fb-4747-b9e3-499c4d862e07\",\n \"notes\": \"This mondayCom node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Monday.com1\",\n \"type\": \"n8n-nodes-base.mondayCom\",\n \"position\": [\n 650,\n 350\n ],\n \"parameters\": {\n \"name\": \"={{$node[\\\"Telegram Trigger\\\"].json[\\\"message\\\"][\\\"text\\\"]}}\",\n \"boardId\": \"565971708\",\n \"groupId\": \"topics\",\n \"resource\": \"boardItem\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"mondayComApi\": \"Monday\"\n },\n \"typeVersion\": 1,\n \"id\": \"f8c3501e-f222-4c88-b020-3b3ca08b3ef2\",\n \"notes\": \"This mondayCom node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 500,\n 150\n ],\n \"parameters\": {\n \"text\": \"Hi, thanks for sending this. We will review your request for refund as soon as possible \\ud83d\\udcb6 \\ud83d\\udcb5 \\ud83d\\udcb7\",\n \"chatId\": \"={{$node[\\\"Telegra...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"3BkxvtCbF6hHGUgM\",\n \"meta\": {\n \"instanceId\": \"workflow-4dc69d36\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.609466\",\n \"updatedAt\": \"2025-09-29T07:07:56.609482\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"N8N Financial Tracker Telegram Invoices to Notion with AI Summaries & Reports\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"3792ae58-807f-4e83-a219-25c17c8b4048\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 680,\n 380\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.5-flash-preview-04-17\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"haEP6ehKtsSUjFmK\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatGoogleGemini node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"943f87e2-a1ac-4f7e-999b-8ea261259e5a\",\n \"name\": \"Basic LLM Chain\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 640,\n 220\n ],\n \"parameters\": {\n \"text\": \"=ini ada base64 invoice rangkumkan Pengeluaran dari invoice tersebut Nama Barang jumlah dan Pengeluaran masing masing barang dan total, outputnya jangan panjang panjang saya cukup berikan \\n\\ndate: DD-MM-YYYY ( Jika dari OCR tidak ada tanggal ambil tanggal hari ini )\\nid:\\nname:\\n qty: \\nprice:\\n total:\\ncategory:\\ntax : (jika di total berbeda dengan item brati ada pajak nya hitungkan juga pajaknya masukan kesini)\\n\\nuntuk pilihan categorynya : Food & Beverage / Transportation / Utilities / Shopping / Healthcare / Entertaiment / Housing / Education\\n\\ndalam bentuk JSON array object, berikan juga key message summ...", "input": "", "output": "In node 'Get Recent Data from Notions', the parameter 'filterType' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `manual`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Get Recent Data from Notions' parameter 'filterType'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"3\",\n \"name\": \"rss-telegram\",\n \"nodes\": [\n {\n \"name\": \"SplitInBatches\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 480,\n 220\n ],\n \"parameters\": {\n \"batchSize\": 1\n },\n \"typeVersion\": 1,\n \"id\": \"09464f2d-b264-4796-9732-137acaeff906\",\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Function\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 610,\n 220\n ],\n \"parameters\": {\n \"functionCode\": \"const staticData = getWorkflowStaticData('global');\\n\\n// Access its data\\nconst oldlink = staticData.oldlink;\\n\\nitems[0].json.oldlink = oldlink || \\\"\\\";\\n\\n// Update its data\\nstaticData.oldlink = items[0].json.link;\\n\\nreturn items;\"\n },\n \"typeVersion\": 1,\n \"id\": \"708ed6bd-4b32-4a0f-933d-41543bfc50cc\",\n \"notes\": \"This function node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Cron1\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 180,\n 290\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"cdcd8520-e271-4a92-9658-b15983940247\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"\\u662f\\u5426\\u91cd\\u590d\",\n \"type\": \"n8n-nodes-base.if\",\n \"notes\": \"\\u5224\\u65ad\\u94fe\\u63a5\\u662f\\u5426\\u76f8\\u540c\",\n \"position\": [\n 750,\n 220\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$node[\\\"Function\\\"].data[\\\"oldlink\\\"]}}\",\n \"value2\": \"={{$node[\\\"Function\\\"].data[\\\"link\\\"]}}\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"e172ef80-7428-49a8-aa5e-716e5b584f4d\"...", "input": "", "output": "The node '\u5176\u4ed6\u72b6\u51b5' (type: n8n-nodes-base.telegram) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"telegramApi\": \"lataimei\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the '\u5176\u4ed6\u72b6\u51b5' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"52pBJt8swWgtdY54\",\n \"meta\": {\n \"instanceId\": \"workflow-1225a941\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.621802\",\n \"updatedAt\": \"2025-09-29T07:07:56.621837\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"MCP Client with Brave and Telegram\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"af9b297d-0f8f-408f-a4d6-7545a94e8a38\",\n \"name\": \"List Brave Tools\",\n \"type\": \"n8n-nodes-mcp.mcpClient\",\n \"position\": [\n 560,\n -40\n ],\n \"parameters\": {},\n \"credentials\": {\n \"mcpClientApi\": {\n \"id\": \"YEgJcPwvAlBOCEDA\",\n \"name\": \"MCP Client (STDIO) Brave\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This mcpClient node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c3265586-a376-4d02-8f33-828bbba6d221\",\n \"name\": \"Exec Brave tool\",\n \"type\": \"n8n-nodes-mcp.mcpClient\",\n \"position\": [\n 800,\n -40\n ],\n \"parameters\": {\n \"toolName\": \"={{ $json.tools[0].name }}\",\n \"operation\": \"executeTool\",\n \"toolParameters\": \"={\\n \\\"query\\\":\\\"{{ $('Clean query').item.json.query }}\\\"\\n}\"\n },\n \"credentials\": {\n \"mcpClientApi\": {\n \"id\": \"YEgJcPwvAlBOCEDA\",\n \"name\": \"MCP Client (STDIO) Brave\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This mcpClient node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"adbfe84e-ab4a-4640-bb52-fcb06f9d1450\",\n \"name\": \"Clean query\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 300,\n -40\n ],\n \"parameters\": {\n \"jsCode\": \"for (const item of $input.all()) {\\n const originalText = item.json.text;\\n\\n const query = originalText.replace(\\...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"5\",\n \"name\": \"bash-dash telegram\",\n \"nodes\": [\n {\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 450,\n 450\n ],\n \"webhookId\": \"b43ae7e2-a058-4738-8d49-ac76db6e8166\",\n \"parameters\": {\n \"path\": \"telegram\",\n \"options\": {\n \"responsePropertyName\": \"response\"\n },\n \"responseMode\": \"={{ $items[999].json.value }}\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-1d353864\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 850,\n 450\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"response\",\n \"value\": \"=Sent message to {{$node[\\\"Telegram\\\"].json[\\\"result\\\"][\\\"chat\\\"][\\\"first_name\\\"]}}: \\\"{{$node[\\\"Telegram\\\"].parameter[\\\"text\\\"]}}\\\"\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"node-bbc49fc7\"\n },\n {\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 650,\n 450\n ],\n \"parameters\": {\n \"text\": \"={{$node[\\\"Webhook\\\"].json[\\\"query\\\"][\\\"parameter\\\"]}}\",\n \"chatId\": \"123456789\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": \"telegram_bot\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-2b9efe9c\"\n },\n {\n \"id\": \"error-4ebae933\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": true,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\":...", "input": "", "output": "In node 'Webhook', the parameter 'responseMode' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `lastNode`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Webhook' parameter 'responseMode'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"5lMPjSDuoMvCJnko\",\n \"meta\": {\n \"instanceId\": \"workflow-a83bd22b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.698968\",\n \"updatedAt\": \"2025-09-29T07:07:56.699027\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\ud83d\\udd0d\\ud83d\\udee0\\ufe0fGenerate SEO-Optimized WordPress Content with Perplexity Research\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"17ab0b24-b1eb-4e4e-a249-9889c9876fe4\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1440,\n 460\n ],\n \"parameters\": {\n \"color\": 3,\n \"width\": 420,\n \"height\": 440,\n \"content\": \"## Write SEO Optimized Blog Post\\n\\n\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0931aacf-5c47-4bb0-86b6-158c2c7470b1\",\n \"name\": \"Wordpress\",\n \"type\": \"n8n-nodes-base.wordpress\",\n \"position\": [\n -1220,\n 1120\n ],\n \"parameters\": {\n \"title\": \"={{ $('Combine Blog Details').item.json.data[2].output.title }}\",\n \"additionalFields\": {\n \"slug\": \"={{ $('Combine Blog Details').item.json.data[2].output.slug }}\",\n \"status\": \"draft\",\n \"sticky\": false,\n \"content\": \"={{ $json.content }}\",\n \"authorId\": 2,\n \"postTemplate\": {\n \"values\": {}\n },\n \"commentStatus\": \"closed\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This wordpress node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"81329ff1-b26a-499c-bd82-fd334503ab4f\",\n \"name\": \"Sticky Note6\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -980,\n 220\n ...", "input": "", "output": "The node 'Wordpress' (type: n8n-nodes-base.wordpress) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"wordpressApi\": {\n \"id\": \"50Ph69y0TPKvO9tn\",\n \"name\": \"Wordpress\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Wordpress' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"6zSE618gr9fDtAfF\"\n \"meta\": {\n \"instanceId\": \"workflow-fe354487\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.706894\",\n \"updatedAt\": \"2025-09-29T07:07:56.706914\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\ud83e\\udd16\\ud83e\\uddd1\\u200d\\ud83d\\udcbb AI Agent for Top n8n Creators Leaderboard Reporting\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"5b9537db-41d3-4d8a-bf41-f875e4044224\",\n \"name\": \"stats_aggregate_creators\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -1240,\n 1300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"feb2328b-57b0-4280-98d8-6b946db0c947\",\n \"name\": \"stats_aggregate_workflows\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -1240,\n 1500\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"53f8b825-b030-4541-b12b-6df6702f7d1b\",\n \"name\": \"Global Variables\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -1660,\n 1460\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"4bcb91c6-d250-4cb4-8ee1-022df13550e1\",\n \"name\": \"path\",\n \"type\": \"string\",\n \"value\": \"{{ $env.WEBHOOK_URL }}\"\n },\n {\n \"id\": \"a910a798-0bfe-41b1-a4f1-41390c7f6997\",\n \"name\": \"workfl...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -60,\n 400\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"id\": \"ffb26ade-7765-40bd-bf07-0d09f6096311\",\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 500,\n 400\n ],\n \"parameters\": {\n \"text\": \"Hello\",\n \"chatId\": \"={{$node[\\\"SplitInBatches\\\"].json[\\\"Chat ID\\\"]}}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": null,\n \"name\": \"telegram-bot\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"ade77d12-61a6-4f65-ace3-ad36954aaf4f\",\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Sheets\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 120,\n 400\n ],\n \"parameters\": {\n \"range\": \"A:A\",\n \"options\": {},\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": null,\n \"name\": \"google-sheet\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"ba5dd47a-c8a7-4583-be97-f9b40fc9e9c0\",\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"SplitInBatches\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 320,\n 400\n ],\n \"parameters\": {\n \"options\": {},\n \"batchSize\": 30\n },\n \"typeVersion\": 1,\n \"id\": \"c98760ad-9c18-4276-b9b9-8dc134ec7a1a\",\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Wait1\",\n \"type\": \"n8n-nodes-base.wait\",\n \"position\": [\n 660,\n ...", "input": "", "output": "The node 'Wait1' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Wait1'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"8tusZTTtcyaiznEG\",\n \"meta\": {\n \"instanceId\": \"workflow-477325ee\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.746656\",\n \"updatedAt\": \"2025-09-29T07:07:56.746667\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\ud83e\\udd16 AI Powered RAG Chatbot for Your Docs + Google Drive + Gemini + Qdrant\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"7ad5796b-d1a0-4cc1-bed6-105ff499beeb\",\n \"name\": \"Data Loader\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 620,\n 720\n ],\n \"parameters\": {\n \"options\": {\n \"metadata\": {\n \"metadataValues\": [\n {\n \"name\": \"file_id\",\n \"value\": \"={{ $json.id }}\"\n },\n {\n \"name\": \"pubkey\",\n \"value\": \"={{ $json.name }}\"\n },\n {\n \"name\": \"=overarching_theme\",\n \"value\": \"={{ $('Extract Meta Data').item.json.output.overarching_theme }}\"\n },\n {\n \"name\": \"recurring_topics\",\n \"value\": \"={{ $('Extract Meta Data').item.json.output.recurring_topics }}\"\n },\n {\n \"name\": \"pain_points\",\n \"value\": \"={{ $('Extract Meta Data').item.json.output.pain_points }}\"\n },\n {\n \"name\": \"analytical_insights\",\n \"value\": \"={{ $('Extract Meta Data').item.json.output.analytical_insights }}\"\n },\n {\n \"name\": \"conclusion\",\n \"value\": \"={{ $('Extract Meta Data').item.json.output.conclusion }}\"\n },\n {\n \"name\": \"keywords\",\n \"value\": \"={{ $('Extract Meta ...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"A7dRnMf9WybO8O02\",\n \"meta\": {\n \"instanceId\": \"workflow-b9054815\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.818961\",\n \"updatedAt\": \"2025-09-29T07:07:56.818978\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Telegram ChatBot with multiple sessions\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"d3104851-90ec-4f0c-ab4d-aee5a6faf81b\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 640,\n 1180\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"4zwP0MSr8zkNvvV9\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e25050a1-e49b-4b46-8452-ce7b3388c7f3\",\n \"name\": \"Simple Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 780,\n 1180\n ],\n \"parameters\": {\n \"sessionKey\": \"YOUR_CREDENTIAL_HERE\",\n \"sessionIdType\": \"customKey\",\n \"contextWindowLength\": 100\n },\n \"typeVersion\": 1.3,\n \"notes\": \"This memoryBufferWindow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d50951ae-e9a2-492c-8ff5-a039ca6975e4\",\n \"name\": \"Get message\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n -520,\n -60\n ],\n \"webhookId\": \"8d87dcf7-1608-4255-a1f1-03b700a42f0e\",\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"tel...", "input": "", "output": "In node 'Sticky Note1', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `## NEW SESSION\n`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note1' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"SvZQB2gsI57KlfvO\",\n \"meta\": {\n \"instanceId\": \"workflow-165dfd21\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.832883\",\n \"updatedAt\": \"2025-09-29T07:07:56.832953\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\ud83d\\udca5AI Social Video Generator with GPT-4, Kling & Blotato \\u2014Auto-Post to Instagram, Facebook,, TikTok...\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"c8cbe0d7-50d5-44a8-9552-ef2531f324d2\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -880,\n -280\n ],\n \"parameters\": {\n \"width\": 2640,\n \"height\": 420,\n \"content\": \"# \\ud83d\\udfeb STEP 1 \\u2014 Create Video Using AI\\n## This step handles the full video creation pipeline using AI.\\n### It starts from a Telegram message containing a prompt, \\n### refines the prompt with GPT-4 to suit Kling\\u2019s video engine, \\n### and generates a cinematic video based entirely on text input.\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"127b9d89-c7ef-4dfc-8431-3da68ce098a8\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -880,\n 180\n ],\n \"parameters\": {\n \"width\": 2640,\n \"height\": 260,\n \"content\": \"# \\ud83d\\udfeb STEP 2 \\u2014 Add Voice-Over to Video\\n## Here, a short-form voice-over script is generated using GPT-4 based on the topic.\\n### The script is converted to speech, uploaded, and merged with the AI-generated video \\u2014 resulting in a fully narrated visual asset.\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workf...", "input": "", "output": "The workflow has a broken data flow. The node 'b13a95eb-998e-445a-a27c-0a474d95bf2b' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'b13a95eb-998e-445a-a27c-0a474d95bf2b'.\n\n**Impact**: Data from 'b13a95eb-998e-445a-a27c-0a474d95bf2b' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'b13a95eb-998e-445a-a27c-0a474d95bf2b' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"b13a95eb-998e-445a-a27c-0a474d95bf2b\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'b13a95eb-998e-445a-a27c-0a474d95bf2b' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ALg2eFzN4AsHIf3R\",\n \"meta\": {\n \"instanceId\": \"workflow-186b39f2\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.961917\",\n \"updatedAt\": \"2025-09-29T07:07:56.961929\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\u270d\\ufe0f\\ud83c\\udf04 Your First Wordpress Content Creator - Quick Start\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"19673371-10cb-419f-b86b-63155aeb4a55\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 180,\n -240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9df33245-102c-45e3-a99b-86be656d12e4\",\n \"name\": \"gpt-4o-mini\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 820,\n -40\n ],\n \"parameters\": {\n \"options\": {\n \"responseFormat\": \"json_object\"\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"jEMSvKmtYfzAkhe6\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5c0cacb0-82de-42b0-903d-0b3718085ad8\",\n \"name\": \"Structured Output - JSON\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1040,\n -40\n ],\n \"parameters\": {\n \"jsonSchemaExample\": \"{\\n \\\"title\\\": \\\"title\\\",\\n \\\"content\\\": \\\"content\\\"\\n}\"\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This outputParserStructured node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1ec2e58e-c775-47ab-9544-7c21521741a1\",\n \"name\": \"Separate ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"AlEVIPHR3dMJkYWt\",\n \"meta\": {\n \"instanceId\": \"workflow-c496248d\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.924266\",\n \"updatedAt\": \"2025-09-29T07:07:56.924288\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Monitor USDT ERC-20 Wallet Balance with Etherscan and Telegram Notifications\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"35b62ca1-3603-4dcb-a3b5-77e1325c78f7\",\n \"name\": \"Balance Changed?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n -40,\n 0\n ],\n \"parameters\": {\n \"conditions\": {\n \"boolean\": [\n {\n \"value1\": \"={{$json.balanceChanged}}\",\n \"value2\": true\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"dfeef0d5-0bb2-40a1-ae75-51d7caeb9c3d\",\n \"name\": \"Balance Changed.\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 320,\n -140\n ],\n \"webhookId\": \"a8fa72ce-638b-4245-bcbc-d59948ae1144\",\n \"parameters\": {\n \"text\": \"=\\ud83d\\udea8 *USDT Balance Change!*\\n\\nWallet Address: {{ $json.walletAddress }}\\n\\n\\ud83d\\udd34 Previous Balance: {{parseFloat($json.previousBalance)/1e6}} USDT\\n\\n\\ud83d\\udfe2 New Balance: {{parseFloat($json.currentBalance)/1e6}} USDT\",\n \"chatId\": \"< Your Telegram Chat ID >\",\n \"additionalFields\": {\n \"parse_mode\": \"Markdown\"\n }\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"Ge3vEXak2MymWtcp\",\n \"name\": \"Telegram account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": ...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"Dctc6QKyRXK17oEq\",\n \"meta\": {\n \"instanceId\": \"workflow-0610f729\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.957609\",\n \"updatedAt\": \"2025-09-29T07:07:56.957622\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"All-in-One Telegram/Baserow AI Assistant \\ud83e\\udd16\\ud83e\\udde0 Voice/Photo/Save Notes/Long Term Mem\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"bbcaac28-f07c-421b-91c6-e3b2d024a71f\",\n \"name\": \"Sticky Note7\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -900,\n 80\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 340,\n \"height\": 380,\n \"content\": \"## Retrieve Long Term Memories\\nBaserow\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"399c0a44-72b5-4e71-b578-3e4eb8087b3c\",\n \"name\": \"Sticky Note8\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -180,\n 420\n ],\n \"parameters\": {\n \"width\": 280,\n \"height\": 380,\n \"content\": \"## Save To Current Chat Memory\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d0438c1d-42e4-47d0-b23b-78f9cee5a28c\",\n \"name\": \"Sticky Note9\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 140,\n 420\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 280,\n \"height\": 380,\n \"content\": \"## Save Long Term Memories\\nBaserow\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d8cbf733-2a69-45d5-9767-43e8c67a43e...", "input": "", "output": "The node 'Merge1' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Merge1'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-5071da4b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.962309\",\n \"updatedAt\": \"2025-09-29T07:07:56.962317\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"c70236ea-91ab-4e47-b6f6-63a70ede5d3c\",\n \"name\": \"Google Calendar\",\n \"type\": \"n8n-nodes-base.googleCalendarTool\",\n \"position\": [\n 1000,\n 680\n ],\n \"parameters\": {\n \"options\": {\n \"fields\": \"=items(summary, start(dateTime))\",\n \"timeMin\": \"={{$fromAI(\\\"date\\\",\\\"the date after which to fetch the messages in format YYYY-MM-DDTHH:MM:SS\\\")}}\"\n },\n \"calendar\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"derekcheungsa@gmail.com\",\n \"cachedResultName\": \"derekcheungsa@gmail.com\"\n },\n \"operation\": \"getAll\"\n },\n \"credentials\": {\n \"googleCalendarOAuth2Api\": {\n \"id\": \"qx8JdPX4I5Xk9c46\",\n \"name\": \"Google Calendar account\"\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This googleCalendarTool node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d2287bea-de47-4180-8ee6-55d4ab1a89da\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 760,\n 680\n ],\n \"parameters\": {\n \"sessionKey\": \"YOUR_CREDENTIAL_HERE\",\n \"sessionIdType\": \"customKey\"\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This memoryBufferWindow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fa955731-86f6-4e4d-8604-dab5f52dee87\",\n \"name\": \"Get Email\",\n \"type\": \"n8n-nodes-base.gmailTool\",\n \"position\": [\n 880,\n 680\n ],\n \"parameters\": {\n \"filters\": {\n \"labelIds\": [\n \"INBOX\",\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-e6443ef6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.964829\",\n \"updatedAt\": \"2025-09-29T07:07:56.964878\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"ecb4bbc8-939a-4c6c-80b6-6f053d1d7745\",\n \"name\": \"Get the Image\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n 1640,\n 880\n ],\n \"webhookId\": \"8404b32c-14bd-428e-88a6-560755f0f7ba\",\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {\n \"download\": true\n }\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"k3RE6o9brmFRFE9p\",\n \"name\": \"Telegram account\"\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2fd523b7-5f89-4e53-9445-4336b51cad51\",\n \"name\": \"Send Content for the Analyzed image\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 2380,\n 760\n ],\n \"parameters\": {\n \"text\": \"={{ $json.content }}\",\n \"chatId\": \"={{ $('Get the Image').item.json.message.chat.id }}\",\n \"additionalFields\": {\n \"appendAttribution\": false\n }\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"k3RE6o9brmFRFE9p\",\n \"name\": \"Telegram account\"\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b77fe84f-7651-42aa-aa40-f903b10c8fb1\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 380,\n 360\n ],\n \"parameters\": {\n \"width\": 1235.4238259410247,\n \"height\": 1361.9843517631348,\n \"content\"...", "input": "", "output": "The node 'Sticky Note1' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note1'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"EOJfPcM9PPWI1Rmp\",\n \"meta\": {\n \"instanceId\": \"workflow-f03d0ee1\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.960705\",\n \"updatedAt\": \"2025-09-29T07:07:56.960717\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Automated Research Report Generation with OpenAI, Wikipedia, Google Search, and Gmail/Telegram\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"46c09535-cd6b-481c-b520-67ecb4aad812\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 776,\n -100\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"WLM64KJjQFXGWGWi\",\n \"name\": \"OpenAi account N8N\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"574ec863-e557-4196-b1b9-5c275a7de73a\",\n \"name\": \"Simple Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 896,\n -100\n ],\n \"parameters\": {\n \"sessionKey\": \"YOUR_CREDENTIAL_HERE\",\n \"sessionIdType\": \"customKey\"\n },\n \"typeVersion\": 1.3,\n \"notes\": \"This memoryBufferWindow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"661349c2-7bb1-4c95-af8f-3a108a619c84\",\n \"name\": \"Search News\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1016,\n -100\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"sendQuery\": true,\n \"parametersQuery\": {\n \"values\": [\n {\n \"name\": \"q\"\n },\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"AvXlqUiuc1qJSwxf\",\n \"meta\": {\n \"instanceId\": \"workflow-2081a5fd\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.981237\",\n \"updatedAt\": \"2025-09-29T07:07:56.981318\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Forward Filtered Gmail Notifications to Telegram Chat\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"99441348-1d5d-459f-961f-48bd593144f2\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -60,\n 0\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 1000,\n \"height\": 300,\n \"content\": \"# Forward Filtered Gmail Notifications to Telegram Chat\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"eadf565c-e753-4682-a8c2-6bc630a30a27\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -60,\n 320\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 1000,\n \"height\": 200,\n \"content\": \"## Description :\\n### This n8n workflow automatically forwards incoming Gmail emails to a Telegram chat only if the email subject contains specific keywords (like \\\"Urgent\\\" or \\\"Server Down\\\"). The workflow extracts key details such as the sender, subject, and message body, and sends them as a formatted message to a specified Telegram chat. This is useful for real-time notifications, security alerts, or monitoring important emails directly from Telegram \\u2014 filtering out unnecessary emails.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bb2a78d7-91ba-4e8c-a9f1-af270a50bd8f...", "input": "", "output": "The workflow has a broken data flow. The node 'e87d46b6-efc6-466f-a708-bfbf34bf001b' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'e87d46b6-efc6-466f-a708-bfbf34bf001b'.\n\n**Impact**: Data from 'e87d46b6-efc6-466f-a708-bfbf34bf001b' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'e87d46b6-efc6-466f-a708-bfbf34bf001b' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"e87d46b6-efc6-466f-a708-bfbf34bf001b\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'e87d46b6-efc6-466f-a708-bfbf34bf001b' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"CNOMivCLJRGfZnUM\",\n \"meta\": {\n \"instanceId\": \"workflow-f30db988\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:56.992047\",\n \"updatedAt\": \"2025-09-29T07:07:56.992083\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\ud83e\\udd9c\\u2728Use OpenAI to Transcribe Audio + Summarize with AI + Save to Google Drive\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"3918995a-a587-40c1-828c-97e75b988a9f\",\n \"name\": \"Gmail User for Approval\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"disabled\": true,\n \"position\": [\n 360,\n -20\n ],\n \"webhookId\": \"c46cf421-ddb6-45a8-b83b-80b381666f0e\",\n \"parameters\": {\n \"sendTo\": \"={{ $env.EMAIL_ADDRESS_JOE }} \",\n \"message\": \"=A new was just created in the Audio Recordings folder on Google Drive. Would you like to continue the workflow and Transcribe the audio file and generate reports.\",\n \"options\": {\n \"limitWaitTime\": {\n \"values\": {\n \"resumeUnit\": \"minutes\",\n \"resumeAmount\": 45\n }\n }\n },\n \"subject\": \"=\\ud83d\\udca1New Audio File Created - Approve Transcription Service\",\n \"operation\": \"sendAndWait\",\n \"approvalOptions\": {\n \"values\": {\n \"approvalType\": \"double\"\n }\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"1xpVDEQ1yx8gV022\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmail node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"44aa6e99-9b4a-4af4-93e3-4b1a50fc7628\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -320,\n 680\n ],\n \"paramete...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-e37e710b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.060818\",\n \"updatedAt\": \"2025-09-29T07:07:57.060833\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"0b4eb8e4-e98b-4f67-b134-914a5aa46b4d\",\n \"name\": \"Telegram Trigger\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n 960,\n 400\n ],\n \"webhookId\": \"9c8b833c-7aa7-430d-8fc0-47936f695ddf\",\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"4lzd2F9cNrnR7j0j\",\n \"name\": \"Telegram account\"\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"339246f2-76cb-44c4-8828-da0cb5d3ad5e\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1100,\n 600\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"m3YyjGXFLLWwcnk7\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"70a981e2-7833-473b-a27a-fedf860901cb\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1200,\n 400\n ],\n \"parameters\": {\n \"text\": \"=Respond to this as a helpful assistant with emojis: {{ $json.message.text }}\",\n \"options\": {}\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fb6ff65b-56b4-44c4-978a-b9a5c3d535d6\",\n \"name\": \"Telegram\"...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"CoYwFuZTq5kUuiba\",\n \"meta\": {\n \"instanceId\": \"workflow-e196a377\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.215139\",\n \"updatedAt\": \"2025-09-29T07:07:57.215157\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Post new Google Calendar events to Telegram\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"be284a6b-7daf-48c8-99af-e939ecb96f32\",\n \"name\": \"Google Calendar Trigger\",\n \"type\": \"n8n-nodes-base.googleCalendarTrigger\",\n \"position\": [\n 100,\n 80\n ],\n \"parameters\": {\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n },\n \"triggerOn\": \"eventCreated\",\n \"calendarId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"\",\n \"cachedResultName\": \"\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This googleCalendarTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"978e80b6-9b18-4fec-87e8-17fa2335ef48\",\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 400,\n 80\n ],\n \"webhookId\": \"dbb6a96e-db3b-4827-9455-a91007b89616\",\n \"parameters\": {\n \"text\": \"=Event Name: {{ $json.summary }}\\nDescription: {{ $json.description }}\\nEvent Location: {{ $json.location }}\\nStart Date: {{ $json.start.dateTime }}\\nEnd Date: {{ $json.end.dateTime }}\\nCreator: {{ $json.creator.email }}\\n\\n\",\n \"chatId\": \"\",\n \"additionalFields\": {\n \"appendAttribution\": false\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f8027fbe-2b57-4b5...", "input": "", "output": "The node 'Google Calendar Trigger' (type: n8n-nodes-base.googleCalendarTrigger) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googleCalendarOAuth2Api\": {\n \"id\": \"\",\n \"name\": \"\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Google Calendar Trigger' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"DnHvQ3KL8v8r5L5Z\",\n \"meta\": {\n \"instanceId\": \"workflow-b6990196\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.082599\",\n \"updatedAt\": \"2025-09-29T07:07:57.082648\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Telegram Chat with Buffering\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"a3cc74e9-c696-48de-a04e-d48555641897\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1640,\n -800\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 220,\n \"height\": 280,\n \"content\": \"## 1. Receive Message\\n\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ff18667d-0a31-4768-acf8-ed0d53b2f382\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 160,\n -840\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 600,\n \"height\": 520,\n \"content\": \"## 3. AI Assistant\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ce90f954-19b6-4224-ae88-b20c4da639e6\",\n \"name\": \"Reply\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 920,\n -700\n ],\n \"webhookId\": \"e3313c88-0d56-4d06-81cf-b48870dfe2fe\",\n \"parameters\": {\n \"text\": \"={{ $json.output }}\",\n \"chatId\": \"={{ $('Receive Message').item.json.message.chat.id }}\",\n \"additionalFields\": {\n \"appendAttribution\": false\n }\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"lvrGkOs0ywXp5agp\",\n \"name\": \"Telegram bsde.ai\"\n ...", "input": "", "output": "The node 'OpenAI Chat Model' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"1OMpAMAKR9l3eUDI\",\n \"name\": \"OpenAi account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'OpenAI Chat Model' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"fSG22q8TeUtsGUGD\",\n \"meta\": {\n \"instanceId\": \"workflow-403e8cbb\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.147787\",\n \"updatedAt\": \"2025-09-29T07:07:57.147804\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\ud83d\\udcc4\\u2728 Easy Wordpress Content Creation from PDF Document + Human In The Loop with Gmail Approval\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"77d8c73c-1cdd-4795-841c-29c3b85040e0\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1140,\n -860\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 461,\n \"height\": 319,\n \"content\": \"## Upload PDF and Extract Text\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"62dc4474-1803-4b6e-8fe5-530e9baf80f7\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1640,\n -860\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 649,\n \"height\": 452,\n \"content\": \"## Create Blog Post\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b8da4206-f1b5-4a8f-b056-70c7558c825d\",\n \"name\": \"Upload PDF\",\n \"type\": \"n8n-nodes-base.formTrigger\",\n \"position\": [\n 1220,\n -760\n ],\n \"webhookId\": \"6c4a4180-7206-469f-a645-f41824ccbf42\",\n \"parameters\": {\n \"path\": \"pdf\",\n \"options\": {},\n \"formTitle\": \"PDF2Blog\",\n \"formFields\": {\n \"values\": [\n {\n \"fieldType\": \"file\",\n \"fieldLabel\": \"Upload PDF File\",\n \"m...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"79849bb5-00a4-42e6-92c4-b06c7a20eb3e\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1580,\n 340\n ],\n \"parameters\": {\n \"model\": \"gpt-4-turbo-preview\",\n \"options\": {\n \"temperature\": 0,\n \"responseFormat\": \"json_object\"\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"jazew1WAaSRrjcHp\",\n \"name\": \"OpenAI (workfloows@gmail.com)\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"85df0106-1f78-4412-8751-b84d417c8bf9\",\n \"name\": \"Convert education to HTML\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 2420,\n 180\n ],\n \"parameters\": {\n \"mode\": \"runOnceForEachItem\",\n \"jsCode\": \"function convertToHTML(list) {\\n let html = '';\\n\\n list.forEach((education, index) => {\\n if (index > 0) {\\n html += '

'; // Add a new line if it's not the first item\\n }\\n html += `Institution: ${education.institution}
\\nStart year: ${education.start_year}
\\nDegree: ${education.degree}`;\\n });\\n\\n return html;\\n}\\n\\n// Assuming payload is already defined\\nconst payload = $input.item.json.education;\\n\\nconst htmlOutput = convertToHTML(payload);\\nreturn {\\n htmlOutput\\n};\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"da4fc45d-712f-4171-b72a-66b74b4d8e05\",\n \"name\": \"Auto-fixing Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1820,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This outputParserAutofixing node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"225a7513-6fd4-4672-9b40-b10b00f121a7\",\n \"name\": \"OpenAI Chat Model1\",\n...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"FQ0Uljxi7aIBdTFX\",\n \"meta\": {\n \"instanceId\": \"workflow-a42ebca7\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.170513\",\n \"updatedAt\": \"2025-09-29T07:07:57.170590\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Coinmarketcap Price Agent\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"4f7066a4-9baa-428e-8b98-f4a3d0a6cf8a\",\n \"name\": \"Telegram Send Message\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 1280,\n 0\n ],\n \"webhookId\": \"0eeae020-ed6f-4900-ae38-d646d893171d\",\n \"parameters\": {\n \"text\": \"={{ $json.output }}\",\n \"chatId\": \"={{ $('Telegram Trigger1').item.json.message.chat.id }}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"R3vpGq0SURbvEw2Z\",\n \"name\": \"Telegram account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"39c91f2b-87ed-46e9-8cc4-8c6ea547f170\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 660,\n 320\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"yUizd8t0sD5wMYVG\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c87b5030-de78-4b86-8bb3-b93ee6b76a54\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 820,\n 320\n ],\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"Fdbft9uw8mLGXMoE\",\n \"meta\": {\n \"instanceId\": \"workflow-e8201276\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.224647\",\n \"updatedAt\": \"2025-09-29T07:07:57.224665\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Speech Support Workflow\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"8868fc75-4a21-4900-b2b9-7860ee981a9e\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1640,\n 240\n ],\n \"parameters\": {\n \"text\": \"={{ $('Route Flow Based on Message Content').item.json.text }}\",\n \"options\": {\n \"systemMessage\": \"={{ $json.system_prompt }}\\n\\nYou are generating text for a Telegram message. The text should be plain. No * or **\"\n },\n \"promptType\": \"define\"\n },\n \"typeVersion\": 1.8,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"23f48680-a190-48a5-bb7c-e070db41b9e7\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1620,\n 800\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.0-flash-001\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"zCkkU4GKPR7wANF5\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatGoogleGemini node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6a909fb0-f550-4b5e-94db-6e16682d70bd\",\n \"name\": \"Recieve Telegram Message\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n -480,\n 240\n ],\n \"webhookId\": \"20140af0-c902-44db-9c53-051def981f9a\",\n \"parameters\": {\n ...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"6ea4e702-1af8-407b-b653-964a519db1c2\",\n \"name\": \"Basic LLM Chain\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1560,\n -360\n ],\n \"parameters\": {\n \"text\": \"=You are a highly skilled news categorizer, specializing in indentifying interesting stuff from Hacker News front-page headlines.\\n\\nYou are provided with JSON data containing a list of dates and their corresponding top headlines from the Hacker News front page. Each headline will also include a URL linking to the original article or discussion. Importantly, the dates provided will be the SAME DAY across MULTIPLE YEARS (e.g., January 1st, 2023, January 1st, 2022, January 1st, 2021, etc.). You need to indentify key headlines and also analyze how the tech landscape has evolved over the years, as reflected in the headlines for this specific day.\\n\\nYour task is to indentify top 10-15 headlines from across the years from the given json data and return in Markdown formatted bullet points categorizing into themes and adding markdown hyperlinks to the source URL with Prefixing Year before the headline. Follow the Output Foramt Mentioned.\\n\\n**Input Format:**\\n\\n```json\\n[\\n {\\n \\\"headlines\\\": [\\n \\\"Headline 1 Title [URL1]\\\",\\n \\\"Headline 2 Title [URL2]\\\",\\n \\\"Headline 3 Title [URL3]\\\",\\n ...\\n ]\\n \\\"date\\\": \\\"YYYY-MM-DD\\\",\\n },\\n {\\n \\\"headlines\\\": [\\n \\\"Headline 1 Title [URL1]\\\",\\n \\\"Headline 2 Title [URL2]\\\",\\n ...\\n ]\\n \\\"date\\\": \\\"YYYY-MM-DD\\\",\\n },\\n ...\\n]\\n```\\n\\n**Output Format In Markdown**\\n\\n```\\n# HN Lookback | to \\n\\n## [Theme 1]\\n- YYYY [Headline 1](URL1)\\n- YYYY [Headline 2](URL2)\\n...\\n\\n## [Theme 2]\\n- YYYY [Headline 1](URL1)\\n- YYYY [Headline 2](URL2)\\n...\\n\\n... \\n\\n## \\n\\n```\\n\\n**Here is the Json data for Hackernews Headlines across the years**\\n\\n```\\n{{ JSON.stringify($json.data) }}\\n```\",\n \"pr...", "input": "", "output": "The node 'Basic LLM Chain' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Basic LLM Chain'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"HnqGW0eq5asKfZxf\",\n \"meta\": {\n \"instanceId\": \"workflow-22b90d31\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.451311\",\n \"updatedAt\": \"2025-09-29T07:07:57.451385\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\ud83d\\udd0d\\ud83d\\udee0\\ufe0fPerplexity Researcher to HTML Web Page\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"ad5d96c6-941a-4ab3-b349-10bae99e5988\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 320,\n 1360\n ],\n \"parameters\": {\n \"color\": 3,\n \"width\": 625.851492623043,\n \"height\": 465.2493344282225,\n \"content\": \"## Create Article from Perplexity Research\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"19b3ca66-5fd2-4d04-b25a-a17fb38642f8\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1240,\n 1360\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 479.02028317328745,\n \"height\": 464.14912719677955,\n \"content\": \"## Convert Article into HTML\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7fad54e8-5a50-42da-b38d-08f6912615ab\",\n \"name\": \"gpt-4o-mini\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1380,\n 1660\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-mini-2024-07-18\",\n \"options\": {\n \"responseFormat\": \"text\"\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"h597GY4ZJQD47RQd\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"JH0OhDnJCwPxBJZX\",\n \"meta\": {\n \"instanceId\": \"workflow-24eee290\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.463387\",\n \"updatedAt\": \"2025-09-29T07:07:57.463403\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Template - SSL Expiry Alert System\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"b1b8afac-d0c7-4db3-aae8-cdf90c9d319e\",\n \"name\": \"URLs to Monitor\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n -240,\n 960\n ],\n \"parameters\": {\n \"columns\": {\n \"value\": {},\n \"schema\": [\n {\n \"id\": \"ID\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"ID\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"version\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"version\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"app\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"app\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"host\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"host\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"KgoL0qrLYZUJFuAS\",\n \"meta\": {\n \"instanceId\": \"workflow-4a761e8f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.460125\",\n \"updatedAt\": \"2025-09-29T07:07:57.460141\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Summarize YouTube Videos & Chat About Content with GPT-4o-mini via Telegram\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"a9cb4358-f9ec-4d81-9422-f1b7133f1f2a\",\n \"name\": \"Split Transcript into Segments\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 800,\n 680\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"transcript\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"03650773-fd85-4ecb-a218-0d18e2f88e68\",\n \"name\": \"Extract YouTube URL from Input\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 580,\n 220\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"3ee42e4c-3cee-4934-97e7-64c96b5691ed\",\n \"name\": \"youtubeUrl\",\n \"type\": \"string\",\n \"value\": \"={{ $json.chatInput || $json.query.url}}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9b55683c-6b04-44e6-8af2-ef69a50e783a\",\n \"name\": \"Extract Video ID from URL\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 580,\n 460\n ],\n \"parameters\": {\n \"language\": \"python\",\n \"pythonCode\": \"# Loop over input items and add a new field called 'myNewField' to the JSON of each one\\nfor ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"LL0TBxEbXoK2zhqp\",\n \"meta\": {\n \"instanceId\": \"workflow-0245cfaf\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.467320\",\n \"updatedAt\": \"2025-09-29T07:07:57.467334\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"AI Document Assistant via Telegram + Supabase\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"0213dfab-a1b2-42c9-9ab1-8a0f1de4c4c0\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 480,\n 40\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.5-flash-preview-04-17\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"QuysglXiB421WI90\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatGoogleGemini node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9c166f83-8ea4-4dc7-8ea2-92ec186c9f32\",\n \"name\": \"OpenWeatherMap\",\n \"type\": \"n8n-nodes-base.openWeatherMapTool\",\n \"position\": [\n 740,\n -100\n ],\n \"parameters\": {\n \"cityName\": \"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('City', ``, 'string') }}\"\n },\n \"credentials\": {\n \"openWeatherMapApi\": {\n \"id\": \"MCzSGdWHBJE7l1aN\",\n \"name\": \"OpenWeatherMap account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This openWeatherMapTool node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"aa0abeff-b5e9-497b-9d9c-8f79721a5c11\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 480,\n -320\n ],\n \"parameters\": {\n \"text\": \"={{ $json.message.text }}\",\n \"options\": {\n ...", "input": "", "output": "The workflow has a broken data flow. The node 'd01f8b15-e495-46cf-bfdf-20b4399c23d7' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'd01f8b15-e495-46cf-bfdf-20b4399c23d7'.\n\n**Impact**: Data from 'd01f8b15-e495-46cf-bfdf-20b4399c23d7' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'd01f8b15-e495-46cf-bfdf-20b4399c23d7' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"d01f8b15-e495-46cf-bfdf-20b4399c23d7\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'd01f8b15-e495-46cf-bfdf-20b4399c23d7' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"PVBUCGQUOiOrIfli\",\n \"meta\": {\n \"instanceId\": \"workflow-0e8bab93\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.470330\",\n \"updatedAt\": \"2025-09-29T07:07:57.470341\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"n8n update\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"445aa127-ac55-4e01-ab07-90a45cf0fab1\",\n \"name\": \"Pull n8n Image\",\n \"type\": \"n8n-nodes-base.ssh\",\n \"position\": [\n 300,\n -240\n ],\n \"parameters\": {\n \"cwd\": \"={{ $('Set Default variable').item.json['working-directory'] }}\",\n \"command\": \"sudo docker pull docker.n8n.io/n8nio/n8n\"\n },\n \"credentials\": {\n \"sshPassword\": {\n \"id\": \"tqNyOVbQTikb35Tk\",\n \"name\": \"SSH Password account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This ssh node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e437f006-cdee-4ab3-bfaa-f323b072c380\",\n \"name\": \"docker compose pull\",\n \"type\": \"n8n-nodes-base.ssh\",\n \"position\": [\n 560,\n -240\n ],\n \"parameters\": {\n \"cwd\": \"={{ $('Set Default variable').item.json['working-directory'] }}\",\n \"command\": \"sudo docker compose pull\"\n },\n \"credentials\": {\n \"sshPassword\": {\n \"id\": \"tqNyOVbQTikb35Tk\",\n \"name\": \"SSH Password account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This ssh node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"79e7a23e-1bd6-45c8-b9b0-ee959c11aa01\",\n \"name\": \"check n8n installed version\",\n \"type\": \"n8n-nodes-base.ssh\",\n \"position\": [\n -1100,\n -660\n ],\n \"parameters\": {\n \"cwd\": \"={{ $json['working-directory'] }}\",\n \"comma...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Parents smart bot\",\n \"nodes\": [\n {\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {\n \"download\": true\n }\n },\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"typeVersion\": 1.2,\n \"position\": [\n -560,\n 20\n ],\n \"id\": \"a1117c0e-8fcc-4de6-b5c3-fe76ea10b975\",\n \"name\": \"Telegram Trigger\",\n \"webhookId\": \"a9b9daf6-4fb2-4c08-a7e3-8dc69a155511\",\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"FXdJyw1yYOOUGF1m\",\n \"name\": \"Telegram account\"\n }\n },\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"parameters\": {\n \"promptType\": \"define\",\n \"text\": \"={{ $json.text }} {{ $json.fullPrompt }}\\n\",\n \"options\": {\n \"systemMessage\": \"=# Overview\\nYou are the central brain of a smart personal assistant built especially for busy parents. \\nYour job is to understand the user's intent and delegate the request to the most appropriate specialized agent (tool). \\nYou do not generate content yourself \\u2014 only orchestrate which tool should do what.\\n\\nYou\\u2019re here to help parents stay organized, reduce cognitive load, and make their lives easier \\u2013 whether it's managing appointments, messaging people, creating content, or helping with daily logistics.\\n\\n## Tools\\n- Email Agent: Use this tool to take action in email.\\n- Calendar Agent: Use this tool to take action in calendar.\\n- Contact Agent: Use this to get, update, or add contacts (like the doctor, the teacher, family, etc).\\n- Content Creator Agent: Use this for generating any written content \\u2014 reminders, messages, summaries, posts, etc.\\n- Tavily: Use this to search the web and gather quick facts or ideas.\\n- Calculator: Use this tool to perform calculations or evaluate numerical expressions when needed\\n\\n## Rules\\n- Never write emails, posts, or summaries your...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-80a1d671\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.476022\",\n \"updatedAt\": \"2025-09-29T07:07:57.476041\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"e6d85380-7cfa-4c6e-9b0f-d390ad0cbc67\",\n \"name\": \"HTTP Request1\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1400,\n -180\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"method\": \"=POST\",\n \"options\": {\n \"allowUnauthorizedCerts\": true\n },\n \"jsonBody\": \"={{ $json.output.details }}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"pJcVQegRQ5mpraoQ\",\n \"name\": \"Proxmox\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9b497de8-0f01-40b1-8f8e-28fad1f758c4\",\n \"name\": \"Proxmox API Documentation\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -300,\n 40\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"toolDescription\": \"This is Proxmox API Documentation ensure to read the details from here\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This toolHttpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e7ac54a9-37be-44b5-b58e-8b631892367e\",\n \"name\": \"Auto-fixing Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 40,\n 60\n ],\n \"parameters\": {\n \"options\": {\n \"prompt\": \"Instructions:\\n--------------\\n{instructions}\\n--------------\\nCompleti...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"SvYHgLmzosuLAe4A\",\n \"meta\": {\n \"instanceId\": \"workflow-d0fb0962\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.536376\",\n \"updatedAt\": \"2025-09-29T07:07:57.536404\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Google Calendar Event Reminder\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"dff5d952-23cb-4822-9aec-0dcae3de568a\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"disabled\": true,\n \"position\": [\n -40,\n 300\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"minutes\",\n \"minutesInterval\": 1\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a6de9944-1dd7-430e-a1d9-100710ddfa9c\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 700,\n 500\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o-mini\"\n },\n \"options\": {}\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6d2208a6-6000-4b6b-a82c-e346b7885409\",\n \"name\": \"Get upcoming event\",\n \"type\": \"n8n-nodes-base.googleCalendar\",\n \"position\": [\n 240,\n 300\n ],\n \"parameters\": {\n \"limit\": 5,\n \"options\": {},\n \"timeMax\": \"={{ $now.plus({ hour: 1, minute:1 }) }}\",\n \"timeMin\": \"={{ $now.plus({ hour: 1 }) }}\",\n \"calendar\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"da...", "input": "", "output": "The node 'OpenAI Chat Model' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"openAiApi\": {\n \"id\": \"CDX6QM4gLYanh0P4\",\n \"name\": \"OpenAi account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'OpenAI Chat Model' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Ultimate Personal Assistant\",\n \"nodes\": [\n {\n \"parameters\": {\n \"promptType\": \"define\",\n \"text\": \"={{ $json.text }}\",\n \"options\": {\n \"systemMessage\": \"=# Overview\\nYou are the ultimate personal assistant. Your job is to send the user's query to the correct tool. You should never be writing emails, or creating even summaries, you just need to call the correct tool.\\n\\n## Tools\\n- emailAgent: Use this tool to take action in email\\n- calendarAgent: Use this tool to take action in calendar\\n- contactAgent: Use this tool to get, update, or add contacts\\n- contentCreator: Use this tool to create blog posts\\n- Tavily: Use this tool to search the web\\n\\n## Rules\\n- Some actions require you to look up contact information first. For the following actions, you must get contact information and send that to the agent who needs it:\\n - sending emails\\n - drafting emails\\n - creating calendar event with attendee\\n\\n## Examples\\n1) \\n- Input: send an email to nate herkelman asking him what time he wants to leave\\n - Action: Use contactAgent to get nate herkelman's email\\n - Action: Use emailAgent to send the email. You will pass the tool a query like \\\"send nate herkelman an email to ask what time he wants to leave. here is his email: [email address]\\n- Output: The email has been sent to Nate Herkelman. Anything else I can help you with?\\n\\n\\n## Final Reminders\\nHere is the current date/time: {{ $now }}\"\n }\n },\n \"type\": \"n8n-nodes-base.noOp\",\n \"typeVersion\": 1.7,\n \"position\": [\n 440,\n -100\n ],\n \"id\": \"f1344298-a586-4a63-a113-b9581ae93c45\",\n \"name\": \"Ultimate Assistant\",\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"value\": \"gpt-4o\",\n \"mode\": \"list\",\n \"cachedResultName\": \"gpt-4o\"\n },\n \"options\": {}\n },\n \"typ...", "input": "", "output": "The node 'Window Buffer Memory' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Window Buffer Memory'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"W1xEzKKEd1qV2D7V\",\n \"meta\": {\n \"instanceId\": \"workflow-378dd17e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.620413\",\n \"updatedAt\": \"2025-09-29T07:07:57.620425\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"2. Add Beehiiv newsletter subscribers from Gumroad sales\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"18e8530e-d04f-47d4-b406-b2961d45f1c1\",\n \"name\": \"Gumroad Sale Trigger\",\n \"type\": \"n8n-nodes-base.gumroadTrigger\",\n \"position\": [\n -380,\n -280\n ],\n \"webhookId\": \"98ba7c08-2193-4ddf-9249-af7899716925\",\n \"parameters\": {\n \"resource\": \"sale\"\n },\n \"credentials\": {\n \"gumroadApi\": {\n \"id\": \"wgjGSvLjsRBJImsQ\",\n \"name\": \"Gumroad account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This gumroadTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6e464a73-a5c0-4a5d-95ce-c3cc2547a373\",\n \"name\": \"append row in CRM\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 300,\n -280\n ],\n \"parameters\": {\n \"columns\": {\n \"value\": {\n \"date\": \"={{ $('Gumroad Sale Trigger').item.json.sale_timestamp }}\",\n \"email\": \"={{ $('Gumroad Sale Trigger').item.json.email }}\",\n \"country\": \"={{ $('Gumroad Sale Trigger').item.json.ip_country }}\",\n \"product name\": \"={{ $('Gumroad Sale Trigger').item.json.product_name }}\"\n },\n \"schema\": [\n {\n \"id\": \"date\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"date\",\n \"defaultMatch\": false,\n \"can...", "input": "", "output": "The node 'Notify in channel' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Notify in channel'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"YkATyvsBXigxnMgo\",\n \"meta\": {\n \"instanceId\": \"workflow-7425d9ee\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.611208\",\n \"updatedAt\": \"2025-09-29T07:07:57.611222\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"AI-Driven WooCommerce Product Importer with SEO\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"aa2d7a06-6e8d-4abc-ab5f-53e9698b1655\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -360,\n -340\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1f2465ab-90fa-44f1-8c06-58b1436dccd0\",\n \"name\": \"OpenRouter Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 180,\n 160\n ],\n \"parameters\": {\n \"model\": \"google/gemini-2.0-flash-exp:free\",\n \"options\": {}\n },\n \"credentials\": {\n \"openRouterApi\": {\n \"id\": \"pb06rfB4xmxzVe3Q\",\n \"name\": \"OpenRouter\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenRouter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"29832953-a3e1-481d-a8bb-238bbf3c736c\",\n \"name\": \"SEO Expert\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 200,\n -60\n ],\n \"parameters\": {\n \"text\": \"=Create metatitle and metadescription in the language of the following product:\\n\\n- Title: {{ $('Create product').item.json.name }}\\n- Category: {{ JSON.stringify($('Create product').item.json.categories) }}\\n- Short Description: {{ $('Create product').item.json.short_description }}\\n- Description: {{ $('Create product').it...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"a4GTp998ENMMfuqK\",\n \"meta\": {\n \"instanceId\": \"workflow-f1198265\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.640642\",\n \"updatedAt\": \"2025-09-29T07:07:57.640711\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Save new Files received on Telegram to Google Drive\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"0fcb072b-ea4b-43b2-ad7c-46ad62b1e2ad\",\n \"name\": \"On new Telegram Message\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n 900,\n 520\n ],\n \"webhookId\": \"1e92584a-dd10-4fec-86a6-3b2691b85bba\",\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {\n \"download\": true\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"08e492f8-b969-4de2-b207-17fcd3cb8787\",\n \"name\": \"If Message contains a File\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1160,\n 520\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"9b876834-1a86-48f1-9890-df60c739c91c\",\n \"operator\": {\n \"type\": \"object\",\n \"operation\": \"exists\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.message.document }}\",\n \"rightValue\": \"\"\n }\n ]\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This if node performs automated tasks as part of the workflow...", "input": "", "output": "The node 'On new Telegram Message' (type: n8n-nodes-base.telegramTrigger) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"telegramApi\": {\n \"id\": \"EO2PA74ehePPYVFU\",\n \"name\": \"Telegram Notification Bot\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'On new Telegram Message' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"dgBdnnnY0622JwGy\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"e205a1ba-9606-457f-9a2f-d433766b3786\",\n \"name\": \"Gmail Get Email\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 60,\n 840\n ],\n \"webhookId\": \"c8979b0a-2ec3-484d-a11b-eac321cc0642\",\n \"parameters\": {\n \"filters\": {\n \"q\": \"=before:{{ $now.minus(14 * $('Increment Loop Var').first().json.page, 'days').format('yyyy/MM/dd') }} after: {{ $now.minus(14 * ($('Increment Loop Var').first().json.page + 1), 'days').format('yyyy/MM/dd') }} -label:n8n-skipped\",\n \"includeSpamTrash\": false\n },\n \"operation\": \"getAll\",\n \"returnAll\": true\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"jlMSfpSUYNYbMUpo\",\n \"name\": \"mr.abizareyhan@gmail.com\"\n }\n },\n \"notesInFlow\": true,\n \"typeVersion\": 2.1,\n \"alwaysOutputData\": false,\n \"notes\": \"This gmail node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"380f6e02-7f74-44e4-9229-4784f2f0c66f\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -600,\n 965\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8acc6bc1-c82e-4c1c-a3b0-dd6cb75cf8c3\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 308,\n 1060\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-1.5-flash\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"42fqm71hBhyrAZHp\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatGoogleGemini node perfor...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"LPQsiqt476n7ne7f\",\n \"meta\": {\n \"instanceId\": \"workflow-af1a6c9c\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.777057\",\n \"updatedAt\": \"2025-09-29T07:07:57.777076\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"e-mail Chatbot with both semantic and structured RAG, using Telegram and Pgvector\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"f0707b32-4d10-457c-9c5e-d120123da4cb\",\n \"name\": \"Telegram Trigger\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n -180,\n 180\n ],\n \"webhookId\": \"1ac710ec-9d76-432e-9cbe-c569db85363f\",\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {\n \"chatIds\": \"6865163996\"\n }\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"ODwnm0QOyG3qSae4\",\n \"name\": \"Telegram mailsearch_plaintext_bot\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2ed04863-6ff8-4770-ad1a-1cab65ac7233\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 1376,\n 180\n ],\n \"parameters\": {\n \"options\": {\n \"reset\": false\n }\n },\n \"typeVersion\": 3,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"063ee7b6-2caf-43c1-a4df-f61e8ad52f79\",\n \"name\": \"Came from Telegram?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 936,\n 280\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\"...", "input": "", "output": "In node 'Sticky Note2', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `## IMPORTANT\nFor this step to work, you must download my other template *Translate questions about e-mails into SQL queries and run them*.`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note2' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"fa2TGWrY9rPurC30\",\n \"meta\": {\n \"instanceId\": \"workflow-0129fe7d\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.738134\",\n \"updatedAt\": \"2025-09-29T07:07:57.744488\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Agent Access Control Template\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"77771654-bfb9-4c34-b644-d4d6eeb15d37\",\n \"name\": \"Simple Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 560,\n 260\n ],\n \"parameters\": {\n \"sessionKey\": \"YOUR_CREDENTIAL_HERE\",\n \"sessionIdType\": \"customKey\"\n },\n \"typeVersion\": 1.3,\n \"notes\": \"This memoryBufferWindow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f1ef483e-4f84-40c7-957d-191a54ffb80e\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 360,\n 260\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o\",\n \"cachedResultName\": \"gpt-4o\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"X7Jf0zECd3IkQdSw\",\n \"name\": \"OpenAi (octionicsolutions)\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c6ba00c9-8ca2-4cf0-9e2c-24ead9eb7c1b\",\n \"name\": \"Check permissions\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 960,\n 260\n ],\n \"parameters\": {\n \"code\": {\n \"supplyData\": {\n \"code\": \"const { DynamicTool } = require(\\\"@langchain/core/tools\\\");\\nconst connectedTools = await this.getInputConnectionData('ai_tool',...", "input": "", "output": "The node 'Telegram Trigger' (type: n8n-nodes-base.telegramTrigger) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"telegramApi\": {\n \"id\": \"3paV9xW2WWlusvsq\",\n \"name\": \"octionictest_bot\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Telegram Trigger' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"heyKyETy1uK0xoX4\",\n \"meta\": {\n \"instanceId\": \"workflow-b8bf4b6a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.760319\",\n \"updatedAt\": \"2025-09-29T07:07:57.760332\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Optimize Prompt\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"a58be0f5-d11d-4bec-bd8c-0c3a7325b22b\",\n \"name\": \"When Executed by Another Workflow\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n -1880,\n 820\n ],\n \"parameters\": {\n \"inputSource\": \"passthrough\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This executeWorkflowTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"67fe408f-e889-4eeb-9e48-f60a579c69f0\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -1600,\n 720\n ],\n \"parameters\": {\n \"text\": \"={{ $json.query }}\",\n \"options\": {\n \"systemMessage\": \"Given the user's initial prompt below, please enhance it. Start with a clear, precise instruction at the beginning. Include specific details about the desired context, outcome, length, format, and style. Provide examples of the desired output format, if applicable. Use appropriate leading words or phrases to guide the desired output, especially for code generation. Avoid any vague or imprecise language. Rather than only stating what not to do, provide guidance on what should be done instead. Ensure the revised prompt remains true to the user's original intent. Do not provide examples of desired prompt format, only describe it. Format your response in markdown.\"\n },\n \"promptType\": \"define\",\n \"hasOutputParser\": true\n },\n \"typeVersion\": 1.7,\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"hiCTcf6srJl3Xsxh\",\n \"meta\": {\n \"instanceId\": \"workflow-81cf9084\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.840337\",\n \"updatedAt\": \"2025-09-29T07:07:57.840354\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Auto-create and publish AI social videos with Telegram, GPT-4 and Blotato\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"b8a41b63-8c48-4964-befe-b949f3e9b755\",\n \"name\": \"Upload Video to Blotato\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 2580,\n 920\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"url\",\n \"value\": \"={{ $('Append Video Data to Google Sheet').item.json['url '] }}\"\n }\n ]\n },\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"blotato-api-key\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ac7a8bf1-b9ec-4a25-8c14-6d90abbc5568\",\n \"name\": \"Post to Instagram\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 2800,\n 120\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"post\\\": {\\n \\\"accountId\\\": \\\"{{ $('Assign Platform IDs for Blotato').item.json.instagram_id }}\\\",\\n \\\"target\\\": {\\n \\\"targetType\\\": \\\"instagram\\\"\\n },\\n \\\"content\\\": {\\n \\\"text\\\": \\\"{{ $('Append Video Data to Googl...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"kjyWJWfDlyXkKL3m\",\n \"meta\": {\n \"instanceId\": \"workflow-b8222634\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.784137\",\n \"updatedAt\": \"2025-09-29T07:07:57.784158\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\u2728\\ud83d\\udd2a Advanced AI Powered Document Parsing & Text Extraction with Llama Parse\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"ea7670da-896e-4b9c-b0c2-b3a3dbb6f88f\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n -2320,\n 80\n ],\n \"webhookId\": \"a9668054-5bd3-427d-8f18-932436441e42\",\n \"parameters\": {\n \"path\": \"parse\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2c445d40-5d8b-469e-811e-7423f57ba054\",\n \"name\": \"Gmail\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n -2040,\n -1260\n ],\n \"webhookId\": \"344de9dc-4062-4552-ae29-1e9150322cdb\",\n \"parameters\": {\n \"limit\": 28,\n \"filters\": {\n \"q\": \"has:attachment\",\n \"sender\": \" joe@example.com\"\n },\n \"operation\": \"getAll\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"1xpVDEQ1yx8gV022\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmail node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f321e1d3-24ba-4623-bb31-93c7f6389aa9\",\n \"name\": \"Gmail Trigger\",\n \"type\": \"n8n-nodes-base.gmailTrigger\",\n \"position\": [\n -2360,\n -1260\n ],\n \"parameters\": {\n \"filters\": {},\n \"pollTimes\": {\n \"item\": [\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"knmxcsujuHmViJl4\",\n \"meta\": {\n \"instanceId\": \"workflow-cd2ee5c6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.779992\",\n \"updatedAt\": \"2025-09-29T07:07:57.780004\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Online Marketing Weekly Report\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"f145b442-3036-4769-b7ad-62c97fa5d662\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -1580,\n -220\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"weeks\",\n \"triggerAtDay\": [\n 1\n ],\n \"triggerAtHour\": 7\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9b25dfe7-cabe-4051-8d03-5f9b1f42621a\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -1380,\n 120\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"niikB3HA4fT5WAqt\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f04d67a6-fb37-434d-8fd7-988db33f8cde\",\n \"name\": \"Google_Ads\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -400,\n 120\n ],\n \"parameters\": {\n \"name\": \"Google_Ads\",\n \"workflowId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"nRGs7Ogv7eU1mJQl\",\n \"cachedResultName\": \"Go...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"mOcaSIUAvpt3QjQ1\",\n \"meta\": {\n \"instanceId\": \"workflow-18604b9c\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.836082\",\n \"updatedAt\": \"2025-09-29T07:07:57.836094\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\ud83c\\udf10 Confluence Page AI Powered Chatbot\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-f73553a3\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"f4761e1a-6430-4b3d-97f9-b91743e02ea6\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 80,\n -340\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 633,\n \"height\": 974,\n \"content\": \"## Confluence\\n{{ $env.API_BASE_URL }}\\n{{ $env.API_BASE_URL }}\\n{{ $env.WEBHOOK_URL }}\\n\\nSupplying basic auth headers\\nYou can construct and send basic auth headers yourself, including a base64-encoded string that contains your Atlassian account email and API token.\\n\\nTo use basic auth headers, perform the following steps:\\n\\nGenerate an API Token for your Atlassian Account: {{ $env.API_BASE_URL }}\\nBuild a string of the form your_email@domain.com:your_user_api_token.\\nYou'll need to encode your authorization credentials to Base64 encoded. You can do this locally:\\nLinux/Unix/MacOS:\\n\\nCopy\\n```\\necho -n your_email@domain.com:your_user_api_token | base64\\n```\\nWindows 7 and later, using Microsoft Powershell:\\n\\nCopy\\n```\\n$Text = \\u2018your_email@domain.com:your_user_api_token\\u2019\\n$Bytes = [System.Text.Encoding]::UTF8.GetBytes($Text)\\n$EncodedText = [Convert]::ToBase64String($Bytes)\\n$EncodedText\\n```\\nSupply an Authorization...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"02GdRzvsuHmSSgBw\",\n \"meta\": {\n \"instanceId\": \"workflow-1a1628b0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.865016\",\n \"updatedAt\": \"2025-09-29T07:07:57.865028\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"#\\ufe0f\\u20e3Nostr #damus AI Powered Reporting + Gmail + Telegram\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"e9c4c7bf-0cce-456e-9b95-726669e4b260\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -500,\n -60\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b8f57e15-8a6e-4a29-a6e8-745bebbd1f44\",\n \"name\": \"Get HTML\",\n \"type\": \"n8n-nodes-base.markdown\",\n \"position\": [\n 880,\n -840\n ],\n \"parameters\": {\n \"mode\": \"markdownToHtml\",\n \"options\": {},\n \"markdown\": \"={{ $json.text }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This markdown node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8b212119-9b69-449c-8a3b-4fdc5b085f30\",\n \"name\": \"Gmail Themes\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 1080,\n -840\n ],\n \"webhookId\": \"e07f9378-bfa5-48ac-88fd-0ef88a725ede\",\n \"parameters\": {\n \"sendTo\": \"joe@example.com\",\n \"message\": \"={{ $json.data }}\",\n \"options\": {\n \"appendAttribution\": false\n },\n \"subject\": \"#damus\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"1xpVDEQ1yx8gV022\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmail node performs autom...", "input": "", "output": "The node 'gemini-2.0-flash-lite-preview' (type: n8n-nodes-base.noOp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"L9UNQHflYlyF9Ngd\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'gemini-2.0-flash-lite-preview' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"o4sdVtTrkuZXDATf\",\n \"meta\": {\n \"instanceId\": \"workflow-e90dc8c3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.894316\",\n \"updatedAt\": \"2025-09-29T07:07:57.894333\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\u2728\\ud83d\\ude03Automated Workflow Backups to Google Drive\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"f3eba5f7-534e-4eaa-ac84-850d51ff2936\",\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 620,\n -140\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"383e4bed-38ec-4b2f-890c-9b0d9cda8e11\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 1140,\n 340\n ],\n \"parameters\": {\n \"options\": {\n \"reset\": false\n }\n },\n \"typeVersion\": 3,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"38c4c909-fa18-4fa3-abf5-6b9bd2d46718\",\n \"name\": \"Every Day\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 620,\n 80\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {}\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"67f62b6e-fe37-4638-89ce-9fe1de041282\",\n \"name\": \"Create Folder with DateTime Stamp\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 1220,\n -40\n ],\n \"parameters\": {\n \"name\": \"=n8n-Workflow-Backups-{{ $json....", "input": "", "output": "In node 'Save JSON File to Google Drive Folder', the parameter 'name' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $node.NonExistentNode.json.data }}`\n**Original Value**: `={{ $binary.data.fileName }}.json`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Save JSON File to Google Drive Folder' parameter 'name'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"o8HjmolfMilbaEkk\",\n \"meta\": {\n \"instanceId\": \"workflow-cce85af4\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.865247\",\n \"updatedAt\": \"2025-09-29T07:07:57.865254\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Telegram echo-bot\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"5c7c9e78-60d0-4f6a-929a-a4e77f5e0851\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1000,\n 120\n ],\n \"parameters\": {\n \"width\": 727,\n \"height\": 391,\n \"content\": \"## This is a workflow for a Telegram-echo bot\\n1. Add your Telegram bot credentials for both nodes\\n2. Activate the workflow\\n3. Send something to the bot (i.e. a message, a forwarded message, sticker, emoji, voice, file, an image...)\\n4. Second node will fetch the incoming JSON object, format it and send back\\n\\n#### This bot is useful for debugging and learning purposes of the Telegram platform\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9f64943e-35a4-4d9f-a77e-ff76cae8bb84\",\n \"name\": \"Listen for incoming events\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n 1040,\n 340\n ],\n \"webhookId\": \"322dce18-f93e-4f86-b9b1-3305519b7834\",\n \"parameters\": {\n \"updates\": [\n \"*\"\n ],\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"{{ $credentials.telegramApi.id }}\",\n \"name\": \"Telegram sdfsdfsdfsdfsfd_bot\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5b890...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"okjjim5PVb2dZUgg\",\n \"meta\": {\n \"instanceId\": \"workflow-758d6c73\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.899081\",\n \"updatedAt\": \"2025-09-29T07:07:57.899097\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"FetchGithubIssues\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"2f3cac64-7326-471d-8f6a-1677a4ff5a6d\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -540,\n -560\n ],\n \"parameters\": {\n \"color\": 5,\n \"content\": \"### Get Github Issues HTTP Request \\n- Edit the OWNER and REPO NAME in the respective fields\\n- The request is configured with query parameters of *state*, *since* and *labels*\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"13809408-63f3-4161-87f2-c5d950274aa9\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -260,\n -560\n ],\n \"parameters\": {\n \"color\": 3,\n \"width\": 180,\n \"content\": \"### Extract Fields\\nExtract fields like title, comments, created_at, etc from the github api response\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3df26230-c2b0-44d5-98da-cccbca493c8f\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -40,\n -560\n ],\n \"parameters\": {\n \"color\": 3,\n \"width\": 180,\n \"content\": \"### Filter on Fields\\nFilter issues based on number of comments\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as p...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"p7xESnT1xMZD2hRk\",\n \"meta\": {\n \"instanceId\": \"workflow-5c1b28ff\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.914389\",\n \"updatedAt\": \"2025-09-29T07:07:57.914409\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\ud83e\\udde0 Give Your AI Agent Chatbot Long Term Memory Tools Router\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"d5947a9d-bad4-4db7-8cdb-dc277928565a\",\n \"name\": \"When Executed by Another Workflow\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n 320,\n -80\n ],\n \"parameters\": {\n \"inputSource\": \"passthrough\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This executeWorkflowTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c9e9715d-c691-4516-9e0c-cf393a18d814\",\n \"name\": \"Save Long Term Memories\",\n \"type\": \"n8n-nodes-base.googleDocs\",\n \"position\": [\n 1020,\n -80\n ],\n \"parameters\": {\n \"actionsUi\": {\n \"actionFields\": [\n {\n \"text\": \"={\\n \\\"date\\\": \\\"{{ $now }}\\\",\\n \\\"memory\\\": \\\"{{ $json.query }}\\\"\\n},\\n\",\n \"action\": \"insert\"\n }\n ]\n },\n \"operation\": \"update\",\n \"documentURL\": \"{{ $env.BASE_URL }}\"\n },\n \"credentials\": {\n \"googleDocsOAuth2Api\": {\n \"id\": \"YWEHuG28zOt532MQ\",\n \"name\": \"Google Docs account\"\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This googleDocs node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"306272bf-e264-4cfb-b8b6-8c0af1de3f14\",\n \"name\": \"Saved response\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1200,\n -80\n ],\n \"parameters\": {\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"tHgDFmFyuj6DnP6l\"\n \"meta\": {\n \"instanceId\": \"workflow-e1840942\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.923526\",\n \"updatedAt\": \"2025-09-29T07:07:57.923541\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\ud83c\\udfa6\\ud83d\\udc8cAdvanced YouTube RSS Feed Buddy for Your Favorite Channels\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"ab1db660-96d6-402c-b6e8-8c4d278577d1\",\n \"name\": \"On form submission\",\n \"type\": \"n8n-nodes-base.formTrigger\",\n \"position\": [\n 60,\n -220\n ],\n \"webhookId\": \"f6b3bbf7-b6e9-4ade-add4-12004d70b61c\",\n \"parameters\": {\n \"options\": {\n \"appendAttribution\": false\n },\n \"formTitle\": \"RSS Feed for YouTube Channels\",\n \"formFields\": {\n \"values\": [\n {\n \"fieldType\": \"textarea\",\n \"fieldLabel\": \"YouTube Channel Ids\",\n \"placeholder\": \"[ \\\"UCMcoud_ZW7cfxeIugBflSBw\\\", \\\"UCtevzRsHEKhs-RK8pAqwSyQ\\\" ]\"\n }\n ]\n },\n \"responseMode\": \"lastNode\",\n \"formDescription\": \"Create RSS Feeds for Your Favorite YouTube Channels\"\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This formTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6ea8d71f-a5f8-46d5-bf51-20df75ec6202\",\n \"name\": \"Create RSS Feed URLs1\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 60,\n 420\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"8159d367-513c-406b-8ad7-36f65c2e6512\",\n \"name\": \"rss_feed_url\",\n \"type\": \"string\",\n \"value\": \"={{ $env.WEBHOOK_URL }}{{ $json.youtube_channel_id...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"wi2ZWKN9XPR0jkvn\",\n \"meta\": {\n \"instanceId\": \"workflow-e9ffa94b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.965895\",\n \"updatedAt\": \"2025-09-29T07:07:57.965949\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"OpenSea AI-Powered Insights via Telegram\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"0b6ec133-7023-4c6a-ae53-78168211545c\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 840,\n 140\n ],\n \"webhookId\": \"befa3e52-7b57-4832-9f88-b2c430244595\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"787a9e8d-e67d-4947-90d1-8e3284de7b39\",\n \"name\": \"Telegram Trigger\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n 840,\n -160\n ],\n \"webhookId\": \"f9267d32-3860-4f02-99b3-493c4cac36ed\",\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2e10802a-48d7-4b82-afe0-b9e5f93498bf\",\n \"name\": \"Adds SessionId\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1160,\n -160\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"b5c25cd4-226b-4778-863f-79b13b4a5202\",\n \"name\": \"sessionId\",\n \"type\": \"string\",\n \"value\": \"={{ $json.message.chat.id }}\"\n }\n ]\n },\n \"includeOtherFields\": true\n...", "input": "", "output": "The node 'Telegram Trigger' (type: n8n-nodes-base.telegramTrigger) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"telegramApi\": {\n \"id\": \"R3vpGq0SURbvEw2Z\",\n \"name\": \"Telegram account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Telegram Trigger' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"wng5xcxlYA6jFS6n\",\n \"meta\": {\n \"instanceId\": \"workflow-c412b56b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.919173\",\n \"updatedAt\": \"2025-09-29T07:07:57.919199\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"MAIA - Health Check\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"10335465-853d-47ea-aad7-34460c741b74\",\n \"name\": \"No Operation, do nothing\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 860,\n -20\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ea7771ba-3d35-423a-9813-2a65448a15fc\",\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 860,\n 160\n ],\n \"webhookId\": \"6c02772a-8f40-4d9b-8fe5-220aac63c34e\",\n \"parameters\": {\n \"text\": \"=Health Check : {{ $json.URLS }}\\n\\n{{ $json.error.code }}\",\n \"chatId\": \"1548053076\",\n \"additionalFields\": {\n \"appendAttribution\": false\n }\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"QYefc34gGshZQURo\",\n \"name\": \"Telegram account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bae03dc7-e35b-4760-8de8-151d2d97391b\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 0,\n 0\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"minutes\"\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as pa...", "input": "", "output": "The workflow has a broken data flow. The node 'ea7771ba-3d35-423a-9813-2a65448a15fc' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'ea7771ba-3d35-423a-9813-2a65448a15fc'.\n\n**Impact**: Data from 'ea7771ba-3d35-423a-9813-2a65448a15fc' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'ea7771ba-3d35-423a-9813-2a65448a15fc' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"ea7771ba-3d35-423a-9813-2a65448a15fc\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'ea7771ba-3d35-423a-9813-2a65448a15fc' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"xe9sXQUc7yW8P8im\",\n \"meta\": {\n \"instanceId\": \"workflow-f1e67b4f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:57.987586\",\n \"updatedAt\": \"2025-09-29T07:07:57.987606\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Meeting booked - to newsletter and CRM\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"715f9c0b-58a6-46b9-b732-334cc2fb3a60\",\n \"name\": \"Split Attendees\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n -460,\n -140\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"attendees\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"171ed51e-6277-46d3-9037-8b2722ca06d0\",\n \"name\": \"Add users\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 200,\n -140\n ],\n \"parameters\": {\n \"columns\": {\n \"value\": {\n \"title\": \"={{ $('on New Booking').item.json.eventTitle }}\",\n \"length\": \"={{ $('on New Booking').item.json.length }}\",\n \"timeZone\": \"={{ $json.timeZone }}\",\n \"createdAt\": \"={{ $('on New Booking').item.json.createdAt }}\",\n \"attendeeName\": \"={{ $json.name }}\",\n \"meetingStart\": \"={{ $('on New Booking').item.json.startTime }}\",\n \"attendeeEmail\": \"={{ $json.email }}\"\n },\n \"schema\": [\n {\n \"id\": \"createdAt\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"createdAt\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"ti...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"9320d08a-4868-4103-abdf-3f8f54a7a0a0\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 0,\n 0\n ],\n \"webhookId\": \"9024e29e-9080-4cf5-9a6b-0d918468f195\",\n \"parameters\": {\n \"path\": \"ytube\",\n \"options\": {},\n \"httpMethod\": \"POST\",\n \"responseMode\": \"responseNode\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a5cc8922-8124-4269-9cfd-e891b29cc2b7\",\n \"name\": \"YouTube Transcript\",\n \"type\": \"n8n-nodes-youtube-transcription.youtubeTranscripter\",\n \"position\": [\n 800,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This youtubeTranscripter node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ff3c0fd1-36d8-4d64-b405-0600efd4d93b\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 200,\n 260\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"transcript\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"423276e0-81bf-487a-bbdd-26e9b84fa755\",\n \"name\": \"Respond to Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 1200,\n 140\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This respondToWebhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"27344649-8029-48ae-867b-7363d904fc59\",\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 1200,\n 380\n ],\n \"parameters\": {\n \"text\": \"={{ $json.title }}\\n{{ $json.youtubeUrl }}\",\n \"additionalFields\": {\n \"parse_mode\": \"HTML\",\n \"appendAttributio...", "input": "", "output": "The workflow has a broken data flow. The node '27344649-8029-48ae-867b-7363d904fc59' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '27344649-8029-48ae-867b-7363d904fc59'.\n\n**Impact**: Data from '27344649-8029-48ae-867b-7363d904fc59' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '27344649-8029-48ae-867b-7363d904fc59' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"27344649-8029-48ae-867b-7363d904fc59\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '27344649-8029-48ae-867b-7363d904fc59' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Academic Assistant Chatbot (Telegram + OpenAI)\",\n \"nodes\": [\n {\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {}\n },\n \"id\": \"20a2d959-5412-447b-a2c4-7736b6b758b3\",\n \"name\": \"Telegram Trigger\",\n \"position\": [\n 256,\n 208\n ],\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"typeVersion\": 1.1,\n \"webhookId\": \"5757ba5b-b427-4af8-a23b-7527a0f01ae8\",\n \"notes\": \"This telegramTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"parameters\": {\n \"options\": {}\n },\n \"id\": \"8b30f207-8204-4548-8f51-38c387d98ae9\",\n \"name\": \"OpenAI Chat Model\",\n \"position\": [\n 656,\n 208\n ],\n \"type\": \"n8n-nodes-base.noOp\",\n \"typeVersion\": 1.1,\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"YOUR_OPENAI_CREDENTIAL_ID_HERE\",\n \"name\": \"OpenAI Account\"\n }\n },\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"parameters\": {\n \"promptType\": \"define\",\n \"text\": \"={{ $('Telegram Trigger').item.json.message.text }}\",\n \"options\": {\n \"systemMessage\": \"You are a helpful and knowledgeable AI academic assistant. Your goal is to assist students with their assignments, studies, and general academic inquiries. Provide explanations, study tips, help with research, clarify concepts, and offer guidance on academic tasks. Be encouraging, precise, and polite. Always ensure your responses are relevant to academic support.\"\n }\n },\n \"id\": \"68303b67-2203-41e8-b370-220d884d2945\",\n \"name\": \"Academic Assistant AI Agent\",\n \"position\": [\n 912,\n 208\n ],\n \"type\": \"n8n-nodes-base.noOp\",\n \"typeVersion\": 1.7,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"parameters\": {\n \"chatId\": \"={{ $...", "input": "", "output": "The node 'Send Telegram Response' (type: n8n-nodes-base.telegram) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"telegramApi\": {\n \"id\": \"YOUR_TELEGRAM_CREDENTIAL_ID_HERE\",\n \"name\": \"Telegram Account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Send Telegram Response' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ODZpSQqCxkISEqv8\",\n \"meta\": {\n \"instanceId\": \"workflow-cd57b428\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.039878\",\n \"updatedAt\": \"2025-09-29T07:07:58.039947\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"WooCommerce AI Chatbot Workflow for Post-Sales Support\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"25024dde-431b-4dad-b5ed-9be77cdf3db2\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -860,\n 420\n ],\n \"webhookId\": \"bb9b597a-25ed-43de-9ebb-14f166af789b\",\n \"parameters\": {\n \"mode\": \"webhook\",\n \"public\": true,\n \"options\": {\n \"responseMode\": \"responseNode\"\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"96139b63-75aa-4d16-91b1-2fe0ca624137\",\n \"name\": \"Simple Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -520,\n 720\n ],\n \"parameters\": {},\n \"typeVersion\": 1.3,\n \"notes\": \"This memoryBufferWindow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f7901f97-50c5-4f56-bae3-21c575aa22cc\",\n \"name\": \"get_order\",\n \"type\": \"n8n-nodes-base.wooCommerceTool\",\n \"position\": [\n 80,\n 600\n ],\n \"parameters\": {\n \"orderId\": \"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Order_ID', `Order Details Retrieval Process:\\n1. Request Order Number\\n - Explicitly ask customer for the complete order number\\n\\n2. Identity Verification\\n - Ask for the email address associated with the order\\n - Strictly verify that the provided email matches the order record\\n - If email does NOT...", "input": "", "output": "The workflow has a broken data flow. The node '7ac0573f-fcc0-426e-b412-1f4a1e38b9ee' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '7ac0573f-fcc0-426e-b412-1f4a1e38b9ee'.\n\n**Impact**: Data from '7ac0573f-fcc0-426e-b412-1f4a1e38b9ee' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '7ac0573f-fcc0-426e-b412-1f4a1e38b9ee' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"7ac0573f-fcc0-426e-b412-1f4a1e38b9ee\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '7ac0573f-fcc0-426e-b412-1f4a1e38b9ee' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Scalable Webhook Orchestrator\",\n \"nodes\": [\n {\n \"id\": \"b0a9f7f1-1db8-4d0e-bca4-7f6c4f75a001\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 200,\n 300\n ],\n \"webhookId\": \"c1d2e3f4-5a6b-7c8d-9e0f-abc123456901\",\n \"parameters\": {\n \"path\": \"template/scalable-orchestrator\",\n \"httpMethod\": \"POST\",\n \"responseMode\": \"responseNode\",\n \"options\": {}\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"a7f2c1b0-8d64-4f8a-9f67-63b1c4d50a02\",\n \"name\": \"Notas & Testes\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -120,\n 80\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 720,\n \"height\": 380,\n \"content\": \"## Template: Orquestrador Webhook Escal\\u00e1vel\\n\\n- Objetivo: Roteia a\\u00e7\\u00f5es (ping/process) e responde r\\u00e1pido.\\n- Teste r\\u00e1pido (Terminal):\\n```bash\\ncurl -X POST http:///webhook/template/scalable-orchestrator \\\\\\n -H 'Content-Type: application/json' \\\\\\n -d '{\\\\\\\"action\\\\\\\":\\\\\\\"process\\\\\\\",\\\\\\\"payload\\\\\\\":{\\\\\\\"id\\\\\\\":1,\\\\\\\"text\\\\\\\":\\\\\\\"ol\\u00e1\\\\\\\"}}'\\n```\\n- Produ\\u00e7\\u00e3o: Troque 'HTTP Service A' para sua API/servi\\u00e7o com credenciais.\\n- Resili\\u00eancia: HTTP possui retry autom\\u00e1tico (2x).\\n\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"f5a1d0e3-0e64-4c35-8e8f-83e8b6ddaa03\",\n \"name\": \"Parse Input\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 460,\n 300\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"in_action\",\n \"name\": \"action\",\n \"type\": \"string\",\n \"value\": \"={{ $json.body?.action || 'ping' }}\"\n },\n {\n \"id\": \"in_payload\",\n \"name\": \"payload\",\n \"type\": \"object\",\n \"value\": \"={{ $json.body?.payload || {...", "input": "", "output": "The workflow has a broken data flow. The node 'Compose Ping' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'Compose Ping'.\n\n**Impact**: Data from 'Compose Ping' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'Compose Ping' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"Compose Ping\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'Compose Ping' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Rapid ETL: HTTP -> Transform -> Deliver\",\n \"nodes\": [\n {\n \"id\": \"mtr-0001\",\n \"name\": \"Notas & Testes\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -160,\n 80\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 760,\n \"height\": 360,\n \"content\": \"## Template: ETL R\\u00e1pido (HTTP \\u2192 Transform \\u2192 Entregar)\\n\\n- Objetivo: Ingerir dados de uma API, transformar e enviar em lote.\\n- Teste r\\u00e1pido: execute manualmente no Editor.\\n- Fonte demo: jsonplaceholder.typicode.com/posts.\\n- Entrega demo: httpbin.org/post (eco).\\n- Produ\\u00e7\\u00e3o: substitua 'Upsert Endpoint' pelo seu DB/API (Sheets, Postgres, etc.).\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"mtr-0002\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 200,\n 280\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"mtr-0003\",\n \"name\": \"Fetch Data\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 460,\n 280\n ],\n \"parameters\": {\n \"url\": \"https://jsonplaceholder.typicode.com/posts\",\n \"method\": \"GET\",\n \"options\": {}\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"mtr-0004\",\n \"name\": \"Transform\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 720,\n 280\n ],\n \"parameters\": {\n \"functionCode\": \"// Keep top 10 posts and map fields\\nconst data = Array.isArray(items[0].json) ? items[0].json : [];\\nreturn data.slice(0, 10).map(post => ({ json: { id: post.id, title: post.title, userId: post.userId } }));\"\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"mtr-0005\",\n \"name\": \"Upsert Endpoint\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 980,\n 280\n ],\n \"parameters\": {\n \"url\": \"https://httpbin.org/post\",\n \"method\": \"POST\",\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"WUX0BsRA1dbzTKnl\",\n \"meta\": {\n \"instanceId\": \"workflow-f5133f5a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.116286\",\n \"updatedAt\": \"2025-09-29T07:07:58.116319\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Email mailbox as Todoist tasks\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"5b711a67-3d03-4687-a550-0514e2a5d251\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -220,\n 100\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5862ae85-d48b-49a6-9c9f-4a682d42af78\",\n \"name\": \"Mark As Read\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 580,\n -240\n ],\n \"webhookId\": \"b1551d40-6d53-47ec-ad90-0386c04de860\",\n \"parameters\": {\n \"messageId\": \"={{ $json.id }}\",\n \"operation\": \"markAsRead\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"UmjYQEDj616cX3UR\",\n \"name\": \"Gmail lukp12\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmail node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"19655c59-dc43-4d3d-aaa1-a23e0b5c64e2\",\n \"name\": \"Star\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 780,\n -240\n ],\n \"webhookId\": \"b1551d40-6d53-47ec-ad90-0386c04de860\",\n \"parameters\": {\n \"labelIds\": [\n \"STARRED\"\n ],\n \"messageId\": \"={{ $json.id }}\",\n \"operation\": \"addLabels\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"UmjYQEDj616cX3UR\",\n \"name\": \"Gmail lukp12\"\n }\n ...", "input": "", "output": "The node 'If Task Not Exist' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'If Task Not Exist'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"138\",\n \"name\": \"Get new time entries from Toggl\",\n \"nodes\": [\n {\n \"name\": \"Toggl\",\n \"type\": \"n8n-nodes-base.togglTrigger\",\n \"position\": [\n 650,\n 250\n ],\n \"parameters\": {\n \"pollTimes\": {\n \"item\": [\n {}\n ]\n }\n },\n \"credentials\": {\n \"togglApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"74e70ef6-d3bc-411b-9d7e-7f3d2ca2b523\",\n \"notes\": \"This togglTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-1ece2d54\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n },\n {\n \"parameters\": {\n \"url\": \"https://api.example.com/data\",\n \"method\": \"GET\",\n \"options\": {}\n },\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 450,\n 300\n ]\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Get new time entries from Toggl. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-01ec6fc1\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.160025\",\n \"updatedAt\": \"2025-09-29T07:07:58.160043\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Github Trigger\",\n \"type\": \"n8n-nodes-base.githubTrigger\",\n \"position\": [\n 450,\n 300\n ],\n \"webhookId\": \"01518289-14b1-4a45-9d33-39be08f7a544\",\n \"parameters\": {\n \"owner\": \"n8n-io\",\n \"events\": [\n \"push\",\n \"pull_request\"\n ],\n \"repository\": \"n8n\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\",\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"githubOAuth2Api\": \"GitHub Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"1a825fcf-9d63-49fb-ba99-8e3d066678f4\",\n \"notes\": \"This githubTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 650,\n 300\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$json[\\\"headers\\\"][\\\"x-github-event\\\"]}}\",\n \"value2\": \"push\"\n },\n {\n \"value1\": \"={{$json[\\\"body\\\"][\\\"action\\\"]}}\",\n \"value2\": \"opened\"\n }\n ]\n },\n \"combineOperation\": \"any\"\n },\n \"typeVersion\": 1,\n \"id\": \"dd55dac5-15b0-4bae-a10a-047d198c0e75\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"TravisCI\",\n \"type\": \"n8n-nodes-base.travisCi\",\n \"position\": [\n 850,\n 200\n ],\n \"parameters\": {\n \"slug\": \"={{$json[\\\"body\\\"][\\\"repository\\\"][\\\"full_name\\\"]}}\",\n \"branch\": \"=\",\n \"operation\": \"trigger\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"travisCiApi\": \"Travis API\"\n },\n \"typeVersion\": 1,\n \"id\": \"cbb734a3-caba-48af-96b4-f351d1416eec\",\n \"notes\": \"This travisCi node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"NoOp\",\n \"type\": \"n8n-n...", "input": "", "output": "The node 'Github Trigger' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Github Trigger'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Typeform Trigger\",\n \"type\": \"n8n-nodes-base.typeformTrigger\",\n \"position\": [\n 0,\n 400\n ],\n \"webhookId\": \"ad8a87ef-d293-4e48-8d36-838d69ebce0f\",\n \"parameters\": {\n \"formId\": \"fBYjtY5e\"\n },\n \"credentials\": {\n \"typeformApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"9b6cfb94-3333-4fc1-96f9-a3f1df04d18e\",\n \"notes\": \"This typeformTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Cloud Natural Language\",\n \"type\": \"n8n-nodes-base.googleCloudNaturalLanguage\",\n \"position\": [\n 200,\n 400\n ],\n \"parameters\": {\n \"content\": \"={{$json[\\\"Any suggestions for us? \\\"]}}\",\n \"options\": {}\n },\n \"credentials\": {\n \"googleCloudNaturalLanguageOAuth2Api\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"1ffc1443-4150-41ab-8b90-d83cc81698bb\",\n \"notes\": \"This googleCloudNaturalLanguage node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 400,\n 400\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [\n {\n \"value1\": \"={{$node[\\\"Google Cloud Natural Language\\\"].json[\\\"documentSentiment\\\"][\\\"score\\\"]}}\",\n \"operation\": \"larger\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"7306a3bb-551a-4142-91f5-1c533ca16dcf\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Notion\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 600,\n 300\n ],\n \"parameters\": {\n \"resource\": \"databasePage\",\n \"databaseId\": \"b7d1130a-3756-4bb3-aa56-0c77bf416437\",\n \"propertiesUi\": {\n \"propertyValues\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"title\": \"=...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Get Start & End of day\",\n \"type\": \"n8n-nodes-base.function\",\n \"position\": [\n 850,\n 450\n ],\n \"parameters\": {\n \"functionCode\": \"var curr = new Date;\\nvar first = (curr.getDate());\\nvar last = first;\\n\\nvar firstday = new Date(curr.setDate(first));\\nvar lastday = new Date(curr.setDate(last));\\n\\nbeginning = new Date(firstday.setHours(0,0,0,0));\\nending = new Date(lastday.setHours(23,59,59,99));\\n\\nitems[0].json.from = beginning.toISOString();\\nitems[0].json.to = ending.toISOString();\\n\\nreturn items;items[0].json.myVariable = 1;\\nreturn items;\"\n },\n \"typeVersion\": 1,\n \"id\": \"1b9e77d2-2c9f-43d0-ad85-4c47ba802575\",\n \"notes\": \"This function node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set Trello Card Details\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1460,\n 640\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"name\",\n \"value\": \"={{$node[\\\"Split Events In Batches\\\"].json[\\\"summary\\\"]}}\"\n },\n {\n \"name\": \"description\",\n \"value\": \"={{$node[\\\"Split Events In Batches\\\"].json[\\\"description\\\"]}}\"\n },\n {\n \"name\": \"duedate\",\n \"value\": \"={{$node[\\\"Split Events In Batches\\\"].json[\\\"start\\\"][\\\"dateTime\\\"]}}\"\n },\n {\n \"name\": \"URL\",\n \"value\": \"={{$node[\\\"Split Events In Batches\\\"].json[\\\"htmlLink\\\"]}}\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"3f9284e0-fbc5-4967-ac34-5b4192c6d2d3\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Remove Recurring Tasks\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1650,\n 640\n ],\n \"parameters\": {\n \"conditions\": {\n ...", "input": "", "output": "The node 'Create Trello Cards' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Create Trello Cards'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"117\",\n \"name\": \"Receive updates for changes in the specified list in Trello\",\n \"nodes\": [\n {\n \"name\": \"Trello Trigger\",\n \"type\": \"n8n-nodes-base.trelloTrigger\",\n \"position\": [\n 700,\n 250\n ],\n \"parameters\": {\n \"id\": \"\"\n },\n \"credentials\": {\n \"trelloApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"8b1fb8fe-47b8-44de-988c-41db812f7aa3\",\n \"notes\": \"This trelloTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-0fc89f16\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n },\n {\n \"parameters\": {\n \"url\": \"https://api.example.com/data\",\n \"method\": \"GET\",\n \"options\": {}\n },\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 450,\n 300\n ]\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Receive updates for changes in the specified list in Trello. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-8660f1db\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.155852\",\n \"updatedAt\": \"2025-09-29T07:07:58.155942\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excelle...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Typeform Trigger\",\n \"type\": \"n8n-nodes-base.typeformTrigger\",\n \"position\": [\n 0,\n 400\n ],\n \"webhookId\": \"ad8a87ef-d293-4e48-8d36-838d69ebce0f\",\n \"parameters\": {\n \"formId\": \"fBYjtY5e\"\n },\n \"credentials\": {\n \"typeformApi\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"6e864f69-ccaa-49fd-9680-2d3f48a7332d\",\n \"notes\": \"This typeformTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Google Cloud Natural Language\",\n \"type\": \"n8n-nodes-base.googleCloudNaturalLanguage\",\n \"position\": [\n 200,\n 400\n ],\n \"parameters\": {\n \"content\": \"={{$json[\\\"Any suggestions for us? \\\"]}}\",\n \"options\": {}\n },\n \"credentials\": {\n \"googleCloudNaturalLanguageOAuth2Api\": \"\"\n },\n \"typeVersion\": 1,\n \"id\": \"13910388-4ae2-4c39-9dde-d3084e4dd5bb\",\n \"notes\": \"This googleCloudNaturalLanguage node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 400,\n 400\n ],\n \"parameters\": {\n \"conditions\": {\n \"number\": [\n {\n \"value1\": \"={{$node[\\\"Google Cloud Natural Language\\\"].json[\\\"documentSentiment\\\"][\\\"score\\\"]}}\",\n \"operation\": \"larger\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"7d2d7720-7a91-421b-9eb7-a4c16d03bcf0\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Notion\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 600,\n 300\n ],\n \"parameters\": {\n \"resource\": \"databasePage\",\n \"databaseId\": \"b7d1130a-3756-4bb3-aa56-0c77bf416437\",\n \"propertiesUi\": {\n \"propertyValues\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"title\": \"=...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 1,\n \"name\": \"Send Typeforms leads via Whatsapp (Twilio)\",\n \"nodes\": [\n {\n \"name\": \"Typeform Trigger\",\n \"type\": \"n8n-nodes-base.typeformTrigger\",\n \"position\": [\n 460,\n 300\n ],\n \"webhookId\": \"a3c4dab3-6550-4e82-906f-db7f73ab35a5\",\n \"parameters\": {\n \"formId\": \"agRe2poK\",\n \"onlyAnswers\": false,\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"typeformOAuth2Api\": {\n \"id\": \"{{ $credentials.typeformOAuth2Api.id }}\",\n \"name\": \"Typeform account\"\n }\n },\n \"retryOnFail\": true,\n \"typeVersion\": 1,\n \"id\": \"3daf9f65-1072-4ad9-86bb-8e3294612f78\",\n \"notes\": \"This typeformTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Twilio\",\n \"type\": \"n8n-nodes-base.twilio\",\n \"position\": [\n 900,\n 300\n ],\n \"parameters\": {\n \"to\": \"+33659104857\",\n \"from\": \"+16065954936\",\n \"message\": \"={{ $env.UNDEFINED_ENV_VAR }}\"\n },\n \"credentials\": {\n \"twilioApi\": {\n \"id\": \"{{ $credentials.twilioApi.id }}\",\n \"name\": \"Twilio account\"\n }\n },\n \"retryOnFail\": true,\n \"typeVersion\": 1,\n \"id\": \"82d0cfff-fff1-4a1f-a6b8-0c7d5fb91b46\",\n \"notes\": \"This twilio node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 680,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"Data\",\n \"value\": \"=Last name : {{$node[\\\"Typeform Trigger\\\"].json[\\\"form_response\\\"][\\\"answers\\\"][\\\"And your *last name*?\\\"]}}\\nFirst name :{{$node[\\\"Typeform Trigger\\\"].json[\\\"form_response\\\"][\\\"answers\\\"][\\\"Let's start with your* first name.*\\\"]}}\\nNumber of child : {{$node[\\\"Typeform Trigger\\\"].json[\\\"form_response\\\"][\\\"answers\\\"][\\\"How many child do y...", "input": "", "output": "In node 'Twilio', the parameter 'message' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `=Hello, Here is a new customer who is looking for a Test : \n\n{{$json[\"Data\"]}}\n\nRegards, HelloSafe`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Twilio' parameter 'message'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-93579962\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.196172\",\n \"updatedAt\": \"2025-09-29T07:07:58.196187\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"c2429079-50b7-4da8-9fe4-9a1879bd681c\",\n \"name\": \"Twilio Trigger\",\n \"type\": \"n8n-nodes-base.twilioTrigger\",\n \"position\": [\n -380,\n -460\n ],\n \"webhookId\": \"47604448-e049-480d-899e-d3318a93276b\",\n \"parameters\": {\n \"updates\": [\n \"com.twilio.messaging.inbound-message.received\"\n ]\n },\n \"credentials\": {\n \"twilioApi\": {\n \"id\": \"TJv4H4lXxPCLZT50\",\n \"name\": \"Twilio account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This twilioTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b1c0dc4c-593f-49aa-8fec-a77c7e40928e\",\n \"name\": \"Search Available Courses\",\n \"type\": \"n8n-nodes-base.airtableTool\",\n \"position\": [\n 380,\n -80\n ],\n \"parameters\": {\n \"base\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"appO5xvP1aUBYKyJ7\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Northvale Institute of Technology Courses 2025-2026\"\n },\n \"limit\": 5,\n \"table\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"tblRfh0t0KNSJYJVw\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Imported table\"\n },\n \"options\": {},\n \"operation\": \"search\",\n \"returnAll\": false,\n \"descriptionType\": \"manual\",\n \"filterByFormula\": \"={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Filter_By_Formula', ``, 'string') }}\",\n \"toolDescription\": \"Call this tool to access the course ...", "input": "", "output": "The workflow has a broken data flow. The node 'f1991f1f-9666-43d9-88ce-a2c083491a78' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'f1991f1f-9666-43d9-88ce-a2c083491a78'.\n\n**Impact**: Data from 'f1991f1f-9666-43d9-88ce-a2c083491a78' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'f1991f1f-9666-43d9-88ce-a2c083491a78' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"f1991f1f-9666-43d9-88ce-a2c083491a78\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'f1991f1f-9666-43d9-88ce-a2c083491a78' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"92\",\n \"name\": \"Send an SMS to a number whenever you go out\",\n \"nodes\": [\n {\n \"name\": \"Pushcut Trigger\",\n \"type\": \"n8n-nodes-base.pushcutTrigger\",\n \"position\": [\n 470,\n 300\n ],\n \"webhookId\": \"\",\n \"parameters\": {\n \"actionName\": \"Leaving Home\"\n },\n \"typeVersion\": 1,\n \"id\": \"78bd513c-df25-4103-944d-834d01bdb676\",\n \"notes\": \"This pushcutTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Twilio\",\n \"type\": \"n8n-nodes-base.twilio\",\n \"position\": [\n 670,\n 300\n ],\n \"parameters\": {\n \"to\": \"123\",\n \"from\": \"123\",\n \"message\": \"=I'm {{$node[\\\"Pushcut Trigger\\\"].json[\\\"input\\\"]}}\"\n },\n \"credentials\": {\n \"twilioApi\": \"twilio\"\n },\n \"typeVersion\": 1,\n \"id\": \"9a145505-c0b0-4a5a-8c9d-0c36e94fdb20\",\n \"notes\": \"This twilio node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-e0de112a\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Send an SMS to a number whenever you go out. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-bebcde6f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.193753\",\n \"updatedAt\": \"2025-09-29T07:07:58.193770\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n...", "input": "", "output": "The node 'Pushcut Trigger' (type: n8n-nodes-base.pushcutTrigger) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"pushcutApi\": \"Pushcut Credentials\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Pushcut Trigger' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 85,\n \"name\": \"New WooCommerce Product to Twitter and Telegram\",\n \"nodes\": [\n {\n \"name\": \"Twitter\",\n \"type\": \"n8n-nodes-base.twitter\",\n \"position\": [\n 720,\n 300\n ],\n \"parameters\": {\n \"text\": \"={{ $env.UNDEFINED_ENV_VAR }}\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"twitterOAuth1Api\": {\n \"id\": \"{{ $credentials.twitterOAuth1Api.id }}\",\n \"name\": \"joffcom\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"1e3d79e1-b86a-46db-9b9f-ffcd06ac0f3d\",\n \"notes\": \"This twitter node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 720,\n 500\n ],\n \"parameters\": {\n \"text\": \"=\\u2728 New Product Announcement \\u2728\\nWe have just added {{$json[\\\"name\\\"]}}, Head to {{$json[\\\"permalink\\\"]}} to find out more.\",\n \"chatId\": \"123456\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"{{ $credentials.telegramApi.id }}\",\n \"name\": \"Telegram account\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"c9ee73e1-c267-4f3c-a590-385d4db26341\",\n \"notes\": \"This telegram node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"WooCommerce Trigger\",\n \"type\": \"n8n-nodes-base.wooCommerceTrigger\",\n \"position\": [\n 540,\n 400\n ],\n \"webhookId\": \"ab7b134b-9b2d-4e0d-b496-1aee30db0808\",\n \"parameters\": {\n \"event\": \"product.created\"\n },\n \"credentials\": {\n \"wooCommerceApi\": {\n \"id\": \"{{ $credentials.wooCommerceApi.id }}\",\n \"name\": \"WooCommerce account\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"49cb5781-ba4c-455c-99d5-26aeac54480c\",\n \"notes\": \"This wooCommerceTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-64dc9762\",\n ...", "input": "", "output": "In node 'Twitter', the parameter 'text' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `=\u2728 New Product Announcement \u2728\nWe have just added {{$json[\"name\"]}}, Head to {{$json[\"permalink\"]}} to find out more.`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Twitter' parameter 'text'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 95,\n \"name\": \"Scrape Twitter for mentions of company\",\n \"nodes\": [\n {\n \"name\": \"Filter Tweet Data\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1260,\n 300\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"Tweet\",\n \"value\": \"={{$node[\\\"Get last 50 mentions\\\"].json[\\\"text\\\"]}}\"\n },\n {\n \"name\": \"Tweet URL\",\n \"value\": \"={{ $env.WEBHOOK_URL }}{{$node[\\\"Get last 50 mentions\\\"].json[\\\"user\\\"][\\\"screen_name\\\"]}}/status/{{$node[\\\"Get last 50 mentions\\\"].json[\\\"id_str\\\"]}}\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"600d8d84-ac22-4afd-9d1b-7ccff17f8a34\",\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Run Every 10 Minutes\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 260,\n 320\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"mode\": \"everyX\",\n \"unit\": \"minutes\",\n \"value\": 10\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"d3bb9d53-d66c-4191-8423-0ce3b29b0f7a\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Now - 10 minutes\",\n \"type\": \"n8n-nodes-base.dateTime\",\n \"position\": [\n 620,\n 320\n ],\n \"parameters\": {\n \"value\": \"={{Date()}}\",\n \"action\": \"calculate\",\n \"options\": {},\n \"duration\": \"={{$node[\\\"Run Every 10 Minutes\\\"].parameter[\\\"triggerTimes\\\"][\\\"item\\\"][0][\\\"value\\\"]}}\",\n \"timeUnit\": \"={{$node[\\\"Run Every 10 Minutes\\\"].parameter[\\\"triggerTimes\\\"][\\\"item\\\"][0][\\\"unit\\\"]}}\",\n \"operation\": \"subtract\"\n },\n \"typeVersion\": 1,\n \"id\": \"eb067db9-dba8-4905-809a-89b4e8434846\",\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"WCh8N9PrO0UIwrqW\",\n \"meta\": {\n \"instanceId\": \"workflow-b607f7f9\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.200829\",\n \"updatedAt\": \"2025-09-29T07:07:58.200869\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Automatizacion X\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-c5be14ff\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"a51d67d2-ef4a-47c3-8206-51f2c1067128\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 0,\n 0\n ],\n \"webhookId\": \"614cd783-fbc8-44ca-8db8-820679333e75\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"702d2f29-c9cb-46aa-bdc2-ccd68ab24a1c\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 200,\n 240\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o\",\n \"cachedResultName\": \"gpt-4o\"\n },\n \"options\": {}\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6d65d809-e2b3-4884-ad1a-7738ac9ebbb7\",\n \"name\": \"Simple Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 400,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1.3,\n \"notes\": \"This memoryBufferWindow node performs automated tasks as part of the workflow.\"\n },\n ...", "input": "", "output": "The node 'hilo' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'hilo'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"16\",\n \"name\": \"User Request Management\",\n \"nodes\": [\n {\n \"name\": \"ClickUp\",\n \"type\": \"n8n-nodes-base.clickUp\",\n \"position\": [\n 1180,\n 490\n ],\n \"parameters\": {\n \"list\": \"={{$json[\\\"ListID\\\"]}}\",\n \"name\": \"={{$node[\\\"Typeform Trigger\\\"].json[\\\"Give this request a short title.\\\"]}}\",\n \"team\": \"8583125\",\n \"space\": \"12732821\",\n \"folder\": \"25402375\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\",\n \"additionalFields\": {\n \"content\": \"={{$node[\\\"Typeform Trigger\\\"].json[\\\"Describe in detail what you would like to see happen for this request.\\\"]}}\\n\\nRequested by:\\n{{$node[\\\"Typeform Trigger\\\"].json[\\\"Your full name\\\"]}}\\n{{$node[\\\"Typeform Trigger\\\"].json[\\\"Your email address\\\"]}}\",\n \"priority\": \"={{$json[\\\"How urgent is this request?\\\"]}}\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"f74ec5a3-c00c-4836-9c12-bde08ad7e52d\",\n \"notes\": \"This clickUp node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Typeform Trigger\",\n \"type\": \"n8n-nodes-base.typeformTrigger\",\n \"position\": [\n 530,\n 500\n ],\n \"webhookId\": \"80816cb6-d987-44b2-8981-f95d1af1f6a8\",\n \"parameters\": {\n \"formId\": \"LE36uLN1\"\n },\n \"credentials\": {\n \"typeformApi\": \"Typeform\"\n },\n \"typeVersion\": 1,\n \"id\": \"da9dc6ff-c9dd-4434-bf0e-b01c3a34e445\",\n \"notes\": \"This typeformTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"ListID 54684957\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 940,\n 560\n ],\n \"parameters\": {\n \"values\": {\n \"number\": [\n {\n \"name\": \"ListID\",\n \"value\": 54684957\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"id\": \"89bfee0b-8016-419a-91c7-076a7a88bf73\",\n \"notes\": \"This set node ...", "input": "", "output": "The node 'ClickUp' (type: n8n-nodes-base.clickUp) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"clickUpOAuth2Api\": \"ClickUp Cred\"\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'ClickUp' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"54\",\n \"name\": \"CFP Selection 1\",\n \"nodes\": [\n {\n \"name\": \"Typeform Trigger\",\n \"type\": \"n8n-nodes-base.typeformTrigger\",\n \"position\": [\n 450,\n 250\n ],\n \"parameters\": {\n \"formId\": \"\"\n },\n \"credentials\": {\n \"typeformApi\": \"Typeform\"\n },\n \"typeVersion\": 1,\n \"id\": \"62351e1a-afc0-41c6-94a1-e1688d77e310\",\n \"notes\": \"This typeformTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Airtable\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 660,\n 250\n ],\n \"parameters\": {\n \"table\": \"\",\n \"operation\": \"append\",\n \"application\": \"\"\n },\n \"credentials\": {\n \"airtableApi\": \"Airtable\"\n },\n \"typeVersion\": 1,\n \"id\": \"1a637f37-b513-4eb0-a389-8624f315fe3a\",\n \"notes\": \"This airtable node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-1f83707b\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: CFP Selection 1. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-30ed9c73\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.212105\",\n \"updatedAt\": \"2025-09-29T07:07:58.212114\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n ...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Typeform Trigger\",\n \"type\": \"n8n-nodes-base.typeformTrigger\",\n \"position\": [\n 510,\n 260\n ],\n \"webhookId\": \"1cbca674-78fb-402e-b225-2aa6f92b5338\",\n \"parameters\": {\n \"formId\": \"\"\n },\n \"credentials\": {\n \"typeformApi\": \"Typeform Burner Account\"\n },\n \"typeVersion\": 1,\n \"id\": \"1223881e-7eaf-4616-9ff4-8b5c7fe6ad41\",\n \"notes\": \"This typeformTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Demio\",\n \"type\": \"n8n-nodes-base.demio\",\n \"position\": [\n 710,\n 260\n ],\n \"parameters\": {\n \"email\": \"={{$json[\\\"What's your email address?\\\"]}}\",\n \"eventId\": 357191,\n \"firstName\": \"={{$json[\\\"Let's start with your name.\\\"]}}\",\n \"operation\": \"register\",\n \"additionalFields\": {},\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"demioApi\": \"Demio API Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"69a9af47-885f-4edd-be13-5aee9b6a5076\",\n \"notes\": \"This demio node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-f1230cd0\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {}\n }\n }\n ],\n \"connections\": {},\n \"name\": \"Typeformtrigger Workflow\",\n \"description\": \"Automated workflow: Typeformtrigger Workflow. This workflow processes data and performs automated tasks.\",\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"meta\": {\n \"in...", "input": "", "output": "The node 'Demio' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Demio'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"trigger-4105a878\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"name\": \"UptimeRobot2\",\n \"type\": \"n8n-nodes-base.uptimeRobot\",\n \"position\": [\n 890,\n 320\n ],\n \"parameters\": {\n \"id\": \"={{$json[\\\"id\\\"]}}\",\n \"resource\": \"monitor\",\n \"operation\": \"get\"\n },\n \"credentials\": {\n \"uptimeRobotApi\": \"UptimeRobot API Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"d6b62371-b76d-4268-9367-26235ffff50d\",\n \"notes\": \"This uptimeRobot node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"UptimeRobot\",\n \"type\": \"n8n-nodes-base.uptimeRobot\",\n \"position\": [\n 490,\n 320\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"type\": 1,\n \"resource\": \"monitor\",\n \"operation\": \"create\",\n \"friendlyName\": \"n8n\"\n },\n \"credentials\": {\n \"uptimeRobotApi\": \"UptimeRobot API Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"22fa655b-e9f9-4c80-9b3f-8399271ef126\",\n \"notes\": \"This uptimeRobot node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"UptimeRobot1\",\n \"type\": \"n8n-nodes-base.uptimeRobot\",\n \"position\": [\n 690,\n 320\n ],\n \"parameters\": {\n \"id\": \"={{$json[\\\"id\\\"]}}\",\n \"resource\": \"monitor\",\n \"operation\": \"update\",\n \"updateFields\": {\n \"friendly_name\": \"n8n website\"\n },\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"uptimeRobotApi\": \"UptimeRobot API Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"a4182915-aa0c-4d29-a7f7-5accf963ce71\",\n \"notes\": \"This uptimeRobot node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\"...", "input": "", "output": "The node 'UptimeRobot1' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'UptimeRobot1'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": 121,\n \"name\": \"Create Email Campaign From LinkedIn Post Interactions\",\n \"nodes\": [\n {\n \"name\": \"Cron\",\n \"type\": \"n8n-nodes-base.cron\",\n \"position\": [\n 280,\n 500\n ],\n \"parameters\": {\n \"triggerTimes\": {\n \"item\": [\n {\n \"mode\": \"everyHour\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"1e50b42d-7431-4329-9be1-9ba3d6cd97f6\",\n \"notes\": \"This cron node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Exists ?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1700,\n 480\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{$node[\\\"Airtable - List\\\"].json[\\\"fields\\\"][\\\"Email\\\"]}}\",\n \"value2\": \"={{$node[\\\"Dropcontact - GET\\\"].json[\\\"data\\\"][0][\\\"email\\\"][0][\\\"email\\\"]}}\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"id\": \"7352475b-fe80-42b0-b976-8127b63075aa\",\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Airtable - List\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 1500,\n 480\n ],\n \"parameters\": {\n \"table\": \"Contacts\",\n \"operation\": \"list\",\n \"additionalOptions\": {\n \"fields\": []\n }\n },\n \"credentials\": {\n \"airtableApi\": {\n \"id\": \"\",\n \"name\": \"\"\n }\n },\n \"typeVersion\": 1,\n \"id\": \"a20f16a8-ffee-4531-86a3-ad1c1fa42677\",\n \"notes\": \"This airtable node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Airtable - Update\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 2100,\n 400\n ],\n \"parameters\": {\n \"id\": \"={{$node[\\\"Airtable - List\\\"].json[\\\"id\\\"]}}\",\n \"table\": \"Contacts\",\n \"options\": {\n \"typecast\": ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"121pu6oiTjzkJ8OT\",\n \"meta\": {\n \"instanceId\": \"workflow-7275210c\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.303121\",\n \"updatedAt\": \"2025-09-29T07:07:58.303153\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\u2194\\ufe0f Airtable Batch Processing\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"35a541ff-867e-4578-bfff-d955c6cce6c9\",\n \"name\": \"upsert\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"maxTries\": 5,\n \"position\": [\n 760,\n -200\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"method\": \"PATCH\",\n \"options\": {\n \"response\": {\n \"response\": {\n \"fullResponse\": true\n }\n }\n },\n \"jsonBody\": \"={\\n \\\"performUpsert\\\": {\\n \\\"fieldsToMergeOn\\\": {{ $('Airtable Subprocess').first().json.fieldsToMergeOn.toJsonString() }}\\n },\\n \\\"records\\\": {{ $json.records.toJsonString() }}\\n}\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"airtableTokenApi\": {\n \"id\": \"c3XcXntDvRoTITuL\",\n \"name\": \"Airtable s.mayerhofer\"\n }\n },\n \"retryOnFail\": true,\n \"typeVersion\": 4.2,\n \"waitBetweenTries\": 5000,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c422716d-c0c6-4998-ac99-d62a4d298aae\",\n \"name\": \"random data\",\n \"type\": \"n8n-nodes-base.debugHelper\",\n \"position\": [\n -240,\n -720\n ],\n \"parameters\": {\n \"category\": \"randomData\",\n \"randomDataType\": \"address\"\n },\n \"typeVers...", "input": "", "output": "The node 'Airtable Batch' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Airtable Batch'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Calendly Trigger\",\n \"type\": \"n8n-nodes-base.calendlyTrigger\",\n \"position\": [\n -600,\n 1700\n ],\n \"webhookId\": \"f3436daa-42cd-4ac9-93ff-750a9cc28165\",\n \"parameters\": {\n \"events\": [\n \"invitee.created\"\n ]\n },\n \"credentials\": {\n \"calendlyApi\": \"calendly_api\"\n },\n \"typeVersion\": 1,\n \"id\": \"7143e25d-552e-4d78-9e85-a5e6b2d713ce\",\n \"notes\": \"This calendlyTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Pipedrive\",\n \"type\": \"n8n-nodes-base.pipedrive\",\n \"position\": [\n -400,\n 1600\n ],\n \"parameters\": {\n \"type\": \"call\",\n \"subject\": \"={{$json[\\\"payload\\\"][\\\"event_type\\\"][\\\"name\\\"]}} with {{$json[\\\"payload\\\"][\\\"invitee\\\"][\\\"name\\\"]}} on {{$json[\\\"payload\\\"][\\\"event\\\"][\\\"invitee_start_time\\\"]}}\",\n \"resource\": \"activity\",\n \"additionalFields\": {}\n },\n \"credentials\": {\n \"pipedriveApi\": \"pipedriveapi\"\n },\n \"typeVersion\": 1,\n \"id\": \"9c0cf5da-b101-4160-b97c-e154269f2d11\",\n \"notes\": \"This pipedrive node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Date & Time\",\n \"type\": \"n8n-nodes-base.dateTime\",\n \"position\": [\n -400,\n 1800\n ],\n \"parameters\": {\n \"value\": \"={{$json[\\\"payload\\\"][\\\"event\\\"][\\\"end_time\\\"]}}\",\n \"action\": \"calculate\",\n \"options\": {},\n \"duration\": 15,\n \"timeUnit\": \"minutes\",\n \"dataPropertyName\": \"feedback_time\"\n },\n \"typeVersion\": 1,\n \"id\": \"15be853f-a38a-49b0-91ff-b4adaa678bc4\",\n \"notes\": \"This dateTime node performs automated tasks as part of the workflow.\"\n },\n {\n \"name\": \"Slack\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n 0,\n 1800\n ],\n \"parameters\": {\n \"text\": \"={{$json[\\\"payload\\\"][\\\"event\\\"][\\\"assigned_to\\\"][0]}}, toda...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-2ee9cb34\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.257082\",\n \"updatedAt\": \"2025-09-29T07:07:58.257141\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"04750e9b-6ce3-401b-89e7-f1f17f3a4a28\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -180,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7a8bb997-5a2d-4ee0-a1ca-bebe9fe32bc2\",\n \"name\": \"HTTP Request\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 640,\n 460\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {\n \"redirect\": {\n \"redirect\": {\n \"followRedirects\": true\n }\n }\n }\n },\n \"typeVersion\": 3,\n \"continueOnFail\": true,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6409f0c4-bf93-4a1d-a74c-e294fb39895f\",\n \"name\": \"HTML Extract\",\n \"type\": \"n8n-nodes-base.htmlExtract\",\n \"position\": [\n 820,\n 460\n ],\n \"parameters\": {\n \"options\": {\n \"trimValues\": false\n },\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"cssSelector\": \"html\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"continueOnFail\": true,\n \"notes\": \"This htmlExtract node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f45fcc6a-9ccd-43c9-9eaf-1797768e1e62\",\n \"name\": \"OpenAI\",\n \"type\": \"n8n-nodes-base.openAi\",\n \"posit...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-691eca5e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.409846\",\n \"updatedAt\": \"2025-09-29T07:07:58.409863\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"dbb98f7d-6737-4eaa-9a66-9779c042c575\",\n \"name\": \"VirusTotal result\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 2430,\n 1648\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fb71337b-ebd3-4331-9f18-ff953c6b068b\",\n \"name\": \"DNS Lookup\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1330,\n 1028\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"sendQuery\": true,\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"name\",\n \"value\": \"={{ $json.url.includes('://') ? $json.url.split('://')[1].split('/')[0] : $json.url }}\"\n }\n ]\n }\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"290c6e9c-31d1-4476-9beb-b72a795ecfbb\",\n \"name\": \"Set IP From Lookup\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 1530,\n 1028\n ],\n \"parameters\": {\n \"mode\": \"runOnceForEachItem\",\n \"jsCode\": \"// Get the resolved IP address (last item in the Answer array)\\nconst ip = $json.Answer.pop().data;\\nconst item = {...$('Is IP?').item.json}\\nitem.ip = ip\\n\\nreturn {json: item};\"...", "input": "", "output": "The workflow has a broken data flow. The node '770b4056-1497-48ed-bcd7-ad6e7106cc7d' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '770b4056-1497-48ed-bcd7-ad6e7106cc7d'.\n\n**Impact**: Data from '770b4056-1497-48ed-bcd7-ad6e7106cc7d' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '770b4056-1497-48ed-bcd7-ad6e7106cc7d' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"770b4056-1497-48ed-bcd7-ad6e7106cc7d\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '770b4056-1497-48ed-bcd7-ad6e7106cc7d' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"fdb7302d-9319-4861-abab-557a3c1f1493\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 2660,\n 340\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 288.76295784381495,\n \"height\": 795.272978576365,\n \"content\": \"### Available source and target languages`*`:\\n\\n`BG` - \\ud83c\\udde7\\ud83c\\uddec Bulgarian\\n`CS` - \\ud83c\\udde8\\ud83c\\uddff Czech\\n`DA` - \\ud83c\\udde9\\ud83c\\uddf0 Danish\\n`DE` - \\ud83c\\udde9\\ud83c\\uddea German\\n`EL` - \\ud83c\\uddec\\ud83c\\uddf7 Greek\\n`EN-GB` - \\ud83c\\uddec\\ud83c\\udde7 English (British)\\n`EN-US` - \\ud83c\\uddfa\\ud83c\\uddf8 English (American)\\n`ES` - \\ud83c\\uddea\\ud83c\\uddf8 Spanish\\n`ET` - \\ud83c\\uddea\\ud83c\\uddea Estonian\\n`FI` - \\ud83c\\uddeb\\ud83c\\uddee Finnish\\n`FR` - \\ud83c\\uddeb\\ud83c\\uddf7 French\\n`HU` - \\ud83c\\udded\\ud83c\\uddfa Hungarian\\n`ID` - \\ud83c\\uddee\\ud83c\\udde9 Indonesian\\n`IT` - \\ud83c\\uddee\\ud83c\\uddf9 Italian\\n`JA` - \\ud83c\\uddef\\ud83c\\uddf5 Japanese\\n`KO` - \\ud83c\\uddf0\\ud83c\\uddf7 Korean\\n`LT` - \\ud83c\\uddf1\\ud83c\\uddf9 Lithuanian\\n`LV` - \\ud83c\\uddf1\\ud83c\\uddfb Latvian\\n`NB` - \\ud83c\\uddf3\\ud83c\\uddf4 Norwegian (Bokm\\u00e5l)\\n`NL` - \\ud83c\\uddf3\\ud83c\\uddf1 Dutch\\n`PL` - \\ud83c\\uddf5\\ud83c\\uddf1 Polish\\n`PT-BR` - \\ud83c\\udde7\\ud83c\\uddf7 Portuguese (Brazilian)\\n`PT-PT` - \\ud83c\\uddf5\\ud83c\\uddf9 Portuguese\\n`RO` - \\ud83c\\uddf7\\ud83c\\uddf4 Romanian\\n`RU` - \\ud83c\\uddf7\\ud83c\\uddfa Russian\\n`SK` - \\ud83c\\uddf8\\ud83c\\uddf0 Slovak\\n`SL` - \\ud83c\\uddf8\\ud83c\\uddee Slovenian\\n`SV` - \\ud83c\\uddf8\\ud83c\\uddea Swedish\\n`TR` - \\ud83c\\uddf9\\ud83c\\uddf7 Turkish\\n`UK` - \\ud83c\\uddfa\\ud83c\\udde6 Ukrainian\\n`ZH` - \\ud83c\\udde8\\ud83c\\uddf3 Chinese (simplified)\\n\\n`*` For more up-to-date list, please consult the official DeepL [API documentation]({{ $env.API_BASE_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9c...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-28287b69\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.397525\",\n \"updatedAt\": \"2025-09-29T07:07:58.397538\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"5fa5ccd8-81be-45a2-ac00-7ef28148c0c7\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 700,\n 460\n ],\n \"parameters\": {\n \"width\": 1767.817629414989,\n \"height\": 470.03830555074103,\n \"content\": \"## DROPCONTACT 250 BATCH ASYNCHRONOUSLY \\n## 1500/HOUR REQUESTS\\n**Double click** to edit me. [Guide]({{ $env.WEBHOOK_URL }}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9c6826a3-ec94-4ff4-92a6-0ff7fa22349e\",\n \"name\": \"Aggregate\",\n \"type\": \"n8n-nodes-base.aggregate\",\n \"position\": [\n 1000,\n 620\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldsToAggregate\": {\n \"fieldToAggregate\": [\n {\n \"fieldToAggregate\": \"first_name\"\n },\n {\n \"fieldToAggregate\": \"last_name\"\n },\n {\n \"fieldToAggregate\": \"domain\"\n },\n {\n \"fieldToAggregate\": \"phantom_linkedin\"\n },\n {\n \"fieldToAggregate\": \"full_name\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This aggregate node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c0d5b884-de58-42f3-bc50-0c7e6ca5e576\",\n \"name\": \"PROFILES QUERY\",\n \"type\": \"n8n-nodes-base.postgres\",\n \"position\": [\n 560,\n 600\n ],\n \"parameters\": {\n \"query\": \"select first_name, last_name, domain, full_name\\nfrom ...", "input": "", "output": "In node 'Split Out', the parameter 'fieldToSplitOut' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `data`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Split Out' parameter 'fieldToSplitOut'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-d8d3c333\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.398289\",\n \"updatedAt\": \"2025-09-29T07:07:58.398304\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"7076854e-c7e8-45b5-9e5e-16678bffa254\",\n \"name\": \"OpenAI Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2420,\n 480\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-3.5-turbo-1106\",\n \"cachedResultName\": \"gpt-3.5-turbo-1106\"\n },\n \"options\": {\n \"temperature\": 0\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"00819f1c-2c60-4b7c-b395-445ec05fd898\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2600,\n 480\n ],\n \"parameters\": {\n \"jsonSchema\": \"{\\n \\\"Invoice date\\\": { \\\"type\\\": \\\"date\\\" },\\n \\\"invoice number\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Purchase order number\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Supplier name\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Supplier address\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"address 1\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"address 2\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"city\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"postcode\\\": { \\\"type\\\": \\\"string\\\" }\\n }\\n },\\n \\\"Supplier VAT identification number\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Customer name\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Customer address\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"address 1\\\": { \\\"type\\\": \\\"string\\\" },\\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-7349e8de\"\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.276964\",\n \"updatedAt\": \"2025-09-29T07:07:58.276981\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"1eb82902-a1d6-4eff-82a2-26908a82cea2\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 720,\n 320\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e0031fc3-27f1-45d9-910b-4c07dd322115\",\n \"name\": \"Get This Week's Menu\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 992,\n 370\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2c556cc7-7d4e-4d80-902f-9686e756ed8c\",\n \"name\": \"Extract Available Courses\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 992,\n 650\n ],\n \"parameters\": {\n \"jsCode\": \"const pageData = JSON.parse($input.first().json.data)\\nreturn pageData.props.pageProps.ssrPayload.courses.slice(0, 10);\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"90c39db6-6116-4c37-8d48-a6d5e8f8c777\",\n \"name\": \"Extract Server Data\",\n \"type\": \"n8n-nodes-base.html\",\n \"position\": [\n 992,\n 510\n ],\n \"parameters\": {\n \"options\": {\n \"trimValues\": false,\n \"cleanUpText\": true\n },\n \"operation\": \"extractHtmlContent\",\n \"extractionValues\": {\n \"values\": [\n {\n ...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-38d7c8e1\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.402715\",\n \"updatedAt\": \"2025-09-29T07:07:58.402745\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"1bb3c94e-326e-41ca-82e4-102a598dba39\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -320,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"751b283b-ea88-4fcd-ace3-3c86631f8876\",\n \"name\": \"Embeddings Mistral Cloud\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1760,\n 560\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"mistralCloudApi\": {\n \"id\": \"EIl2QxhXAS9Hkg37\",\n \"name\": \"Mistral Cloud account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This embeddingsMistralCloud node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f0851949-1036-4040-84df-61295cc5db74\",\n \"name\": \"Default Data Loader\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1900,\n 560\n ],\n \"parameters\": {\n \"options\": {\n \"metadata\": {\n \"metadataValues\": [\n {\n \"name\": \"chapter\",\n \"value\": \"={{ $('For Each Section...').item.json.chapter }}\"\n },\n {\n \"name\": \"section\",\n \"value\": \"={{ $('For Each Section...').item.json.label }}\"\n },\n {\n \"name\": \"=title\",\n \"value\": \"={{ $('For Each Section...').item.json.title }}\"\n },\n {\n \"name\": \"content_...", "input": "", "output": "The workflow has a broken data flow. The node '038060dc-e01d-40ae-878d-5043bc36ab91' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '038060dc-e01d-40ae-878d-5043bc36ab91'.\n\n**Impact**: Data from '038060dc-e01d-40ae-878d-5043bc36ab91' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '038060dc-e01d-40ae-878d-5043bc36ab91' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"038060dc-e01d-40ae-878d-5043bc36ab91\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '038060dc-e01d-40ae-878d-5043bc36ab91' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-6cb29fc2\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.404491\",\n \"updatedAt\": \"2025-09-29T07:07:58.404529\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"d61d8ff3-532a-4b0d-a5a7-e02d2e79ddce\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2660,\n 480\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b6d5c1cf-b4a1-4901-b001-0c375747ee63\",\n \"name\": \"No Operation, do nothing\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1660,\n 520\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f4e08e32-bb96-4b5d-852e-26ad6fec3c8c\",\n \"name\": \"Add to Messages Stack\",\n \"type\": \"n8n-nodes-base.redis\",\n \"position\": [\n 1340,\n 200\n ],\n \"parameters\": {\n \"list\": \"=chat-buffer:{{ $json.From }}\",\n \"tail\": true,\n \"operation\": \"push\",\n \"messageData\": \"={{ $json.Body }}\"\n },\n \"credentials\": {\n \"redis\": {\n \"id\": \"zU4DA70qSDrZM1El\",\n \"name\": \"Redis account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This redis node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"181ae99e-ebe7-4e99-b5a5-999acc249621\",\n \"name\": \"Should Continue?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1660,\n 360\n ],\n \"parameters\": {\n \"option...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-2db386e5\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.496667\",\n \"updatedAt\": \"2025-09-29T07:07:58.496682\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"d26b0190-c683-45fc-ac5b-0654af78f080\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1000,\n -620\n ],\n \"parameters\": {\n \"width\": 377.7154173079816,\n \"height\": 511.2813260861502,\n \"content\": \"## Try It Out!\\n\\n### This workflow builds a competitor research agent using Exa.ai as a starting point. The HTTP Request tool is used to demonstrate how you can build powerful agents with minimal effort.\\n\\n* Using Exa's findSimilar search, we ask it to look for similar companies ie. competitors, to our source company.\\n* This list of competitors is sent to 3 agents to scour the internet to find company overview, product offering and customer reviews.\\n* A report is then compiled from the output of all 3 agents into a notion table.\\n\\n### Need Help?\\nJoin the [Discord]({{ $env.WEBHOOK_URL }} or ask in the [Forum]({{ $env.WEBHOOK_URL }}\\n\\nHappy Hacking!\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"747d2f04-1e9c-45bb-b2ad-68da81524f4f\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -520,\n -420\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5cb5f5a1-bc2d-4557-aff4-1993d8dcb99b\",\n \"name\": \"OpenAI Chat Model1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1020,\n 20\n ],\n \"par...", "input": "", "output": "The node '2sec' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in '2sec'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"23GPrqZjHnIVvTEa\",\n \"meta\": {\n \"instanceId\": \"workflow-a8a62d39\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.445903\",\n \"updatedAt\": \"2025-09-29T07:07:58.445918\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Backup n8n Workflows to Bitbucket\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"b3363b9d-ea6e-47b7-99f9-f48a21805886\",\n \"name\": \"Calculate Wait Time\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 1400,\n -260\n ],\n \"parameters\": {\n \"jsCode\": \"// Get all input items and ensure we have data\\nif ($input.all().length === 0 || !$input.all()[0].headers) {\\n // If no headers available, return default wait time\\n return { waitTime: 1 };\\n}\\n\\n// Check rate limit headers from previous request\\nconst headers = $input.all()[0].headers;\\nlet waitTime = 1; // Default 1 second\\n\\n// Check if we have rate limit information (safely)\\nconst remaining = parseInt(headers['x-ratelimit-remaining']) || null;\\nconst reset = parseInt(headers['x-ratelimit-reset']) || null;\\n\\n// Only adjust wait time if we have valid rate limit info\\nif (remaining !== null && reset !== null) {\\n // If we're running low on requests, calculate a longer wait time\\n if (remaining < 100) {\\n // Calculate seconds until reset\\n const now = Math.floor(Date.now() / 1000);\\n const timeUntilReset = reset - now;\\n \\n // Spread remaining requests over time until reset\\n // Add 10% buffer to be safe\\n waitTime = Math.ceil((timeUntilReset / remaining) * 1.1);\\n } else if (remaining < 500) {\\n // Start slowing down earlier\\n waitTime = 2;\\n }\\n}\\n\\n// Cap maximum wait time at 30 seconds\\nwaitTime = Math.min(waitTime, 30);\\n\\nreturn { waitTime };\"\n },\n \"typeVersion\": 2,\n \"no...", "input": "", "output": "The JSON is invalid because there is a trailing comma before a closing brace. Remove the extra comma.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Remove the trailing comma before the closing brace.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-b07e56b7\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.431622\",\n \"updatedAt\": \"2025-09-29T07:07:58.431636\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"cb62c9a5-2f43-4328-af94-84c2cb731d9c\",\n \"name\": \"Base Image\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 260,\n 660\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"={{ $json.base }}\"\n },\n \"options\": {\n \"binaryPropertyName\": \"data_1\"\n },\n \"operation\": \"download\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"yOwz41gMQclOadgu\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 3,\n \"notes\": \"This googleDrive node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b1c304cc-9949-441a-ac2a-275c8d4c51fc\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1120,\n 900\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-1.5-pro-latest\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"dSxo6ns5wn658r8N\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatGoogleGemini node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"964d94bf-be2a-424e-ab0e-c1c1fe260ebd\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1320,\n 900\n ],\n \"parameters\": {\n \"schemaType\": \"manual\",\n \"inputSchema\": \"{\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n\\t\\\"properties\\\": {...", "input": "", "output": "The workflow has a broken data flow. The node '5e253123-89ba-42d5-b743-60bfd1ebae5b' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '5e253123-89ba-42d5-b743-60bfd1ebae5b'.\n\n**Impact**: Data from '5e253123-89ba-42d5-b743-60bfd1ebae5b' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '5e253123-89ba-42d5-b743-60bfd1ebae5b' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"5e253123-89ba-42d5-b743-60bfd1ebae5b\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '5e253123-89ba-42d5-b743-60bfd1ebae5b' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-2b0d6539\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.517438\",\n \"updatedAt\": \"2025-09-29T07:07:58.517457\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f4b1bdd8-654d-4643-a004-ff1b2f32b5ae\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 580,\n 1100\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d6b1c410-81c3-486d-bdcb-86a4c6f7bf9e\",\n \"name\": \"Create Asset\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1940,\n 580\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"method\": \"POST\",\n \"options\": {\n \"redirect\": {\n \"redirect\": {}\n }\n },\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"mediaType\",\n \"value\": \"application/pdf\"\n }\n ]\n },\n \"genericAuthType\": \"httpHeaderAuth\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Authorization\",\n \"value\": \"=Bearer {{ $json.access_token }}\"\n }\n ]\n }\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"PU8GmSwXswwM1Fzq\",\n \"name\": \"Adobe API calls\"\n }\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9e900a45-d792-4dc5-938c-0d5cdfd2e647\",\n \"name\": \"Execute Workflow Tr...", "input": "", "output": "The workflow has a broken data flow. The node 'be4e87e8-6e56-408f-b932-320023382f98' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'be4e87e8-6e56-408f-b932-320023382f98'.\n\n**Impact**: Data from 'be4e87e8-6e56-408f-b932-320023382f98' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'be4e87e8-6e56-408f-b932-320023382f98' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"be4e87e8-6e56-408f-b932-320023382f98\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'be4e87e8-6e56-408f-b932-320023382f98' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-ecd217bf\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.525549\",\n \"updatedAt\": \"2025-09-29T07:07:58.525567\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"49ab7596-665e-4a0f-bb8b-9dc04525ce88\",\n \"name\": \"Gmail\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 2340,\n 1440\n ],\n \"parameters\": {\n \"message\": \"={{ $json.html }}\",\n \"options\": {},\n \"subject\": \"Podcast Review\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"1MUdv1HbrQUFABiZ\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmail node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"40aa23f4-69d6-46e5-84a2-b46a64a3f0af\",\n \"name\": \"TaddyTopDaily\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1620,\n 820\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"query\",\n \"value\": \"=query { getTopChartsByGenres( limitPerPage:10, filterByCountry:UNITED_STATES_OF_AMERICA, taddyType:PODCASTEPISODE, genres:PODCASTSERIES_{{ $json.genre }}){ topChartsId podcastEpisodes{ uuid name audioUrl podcastSeries{ uuid name } } } }\"\n }\n ]\n },\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"X-USER-ID\"\n },\n {\n \"name\": \"X-API-KEY\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This ht...", "input": "", "output": "The node 'Split Out' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Split Out'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-8bdbe4f9\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.593805\",\n \"updatedAt\": \"2025-09-29T07:07:58.593837\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"4fe13927-84cb-4227-9daa-d6cef72d10b9\",\n \"name\": \"CarrierNameLookup\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 740,\n 320\n ],\n \"parameters\": {\n \"jsCode\": \"var carrierCodes={}\\nJSON.parse($('Get Carrier Codes').first().json.data).data.forEach(datum=>{\\n carrierCodes[datum.iataCode] = {icao:datum.icaoCode, name:datum.commonName}\\n})\\nreturn carrierCodes\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cb0ab93c-5fc5-402d-8ac9-672960b14112\",\n \"name\": \"Gmail\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 2080,\n 400\n ],\n \"parameters\": {\n \"message\": \"=Hi! We just found a bargain flight:\\nDeparture Time: {{ $json.time }}\\n[{{ $json.legs[0].carrier }}] {{ $json.duration }} flight from {{ $('FromTo').first().json.from }} to {{ $('FromTo').first().json.to }}\\n\",\n \"options\": {},\n \"subject\": \"=Bargain Flight Found! {{ $('FromTo').first().json.from }} -> {{ $('FromTo').first().json.to }} @ {{ $json.price }} on {{ $json.time }}\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"1MUdv1HbrQUFABiZ\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmail node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2f98b3e2-8a25-496e-89f3-b1ebe7e33192\",\n \"name\": \"Get Dates\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 940,\n 300\n ],\n \"parameters\": {\n \"jsCode\": \"const getNextSeve...", "input": "", "output": "The node 'Amadeus Flight Search' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"oAuth2Api\": {\n \"id\": \"dVIDzfKxdhu5ZEpE\",\n \"name\": \"Amadeus\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Amadeus Flight Search' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-8fa020a1\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.623825\",\n \"updatedAt\": \"2025-09-29T07:07:58.623843\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"38ffe41a-ecdf-4bb4-bd55-51998abab0f5\",\n \"name\": \"WhatsApp Trigger\",\n \"type\": \"n8n-nodes-base.whatsAppTrigger\",\n \"position\": [\n 220,\n 300\n ],\n \"webhookId\": \"0b1b3a9b-2f6a-4f5a-8385-6365d96f4802\",\n \"parameters\": {\n \"updates\": [\n \"messages\"\n ]\n },\n \"credentials\": {\n \"whatsAppTriggerApi\": {\n \"id\": \"H3uYNtpeczKMqtYm\",\n \"name\": \"WhatsApp OAuth account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This whatsAppTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a35ac268-eff0-46cd-ac4e-c9b047a3f893\",\n \"name\": \"Get Audio URL\",\n \"type\": \"n8n-nodes-base.whatsApp\",\n \"position\": [\n 1020,\n -160\n ],\n \"parameters\": {\n \"resource\": \"media\",\n \"operation\": \"mediaUrlGet\",\n \"mediaGetId\": \"={{ $json.audio.id }}\",\n \"requestOptions\": {}\n },\n \"credentials\": {\n \"whatsAppApi\": {\n \"id\": \"9SFJPeqrpChOkAmw\",\n \"name\": \"WhatsApp account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This whatsApp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a3be543c-949c-4443-bf82-e0d00419ae23\",\n \"name\": \"Get Video URL\",\n \"type\": \"n8n-nodes-base.whatsApp\",\n \"position\": [\n 1020,\n 200\n ],\n \"parameters\": {\n \"resource\": \"media\",\n \"operation\": \"mediaUrlGet\",\n \"mediaGetId\": \"={{ $json.video.id }}\",\n \"requestOptions\": {}\n },\n \"credentials\": {\n \"whatsAppApi\": {\n \"id\": \"9S...", "input": "", "output": "The node 'Google Gemini Video' (type: n8n-nodes-base.httpRequest) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"dSxo6ns5wn658r8N\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Google Gemini Video' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-5e23f32b:\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.596510\",\n \"updatedAt\": \"2025-09-29T07:07:58.596523\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"6d16b5be-8f7b-49f2-8523-9b84c62f2759\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1960,\n 660\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-2024-08-06\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a6084f09-9a4f-478a-ac1a-ab1413628c1f\",\n \"name\": \"Capture Frames\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 720,\n 460\n ],\n \"parameters\": {\n \"mode\": \"runOnceForEachItem\",\n \"language\": \"python\",\n \"pythonCode\": \"import cv2\\nimport numpy as np\\nimport base64\\n\\ndef extract_evenly_distributed_frames_from_base64(base64_string, max_frames=90):\\n # Decode the Base64 string into bytes\\n video_bytes = base64.b64decode(base64_string)\\n \\n # Write the bytes to a temporary file\\n video_path = '/tmp/temp_video.mp4'\\n with open(video_path, 'wb') as video_file:\\n video_file.write(video_bytes)\\n \\n # Open the video file using OpenCV\\n video_capture = cv2.VideoCapture(video_path)\\n \\n # Get the total number of frames in the video\\n total_frames = int(video_capture.get(cv2.CAP_PROP_FRAME_COUNT))\\n \\n # Calculate the step size to take 'max_frames' evenly distributed frames\\n step_size = max(1, total_frames // (max_frames - 1))\\n \\n # List to store selected frames as base64\\n sele...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a0faf655\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.604524\",\n \"updatedAt\": \"2025-09-29T07:07:58.604594\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f4570aad-db25-4dcd-8589-b1c8335935de\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -180,\n 3800\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bd481559-85f2-4865-8d85-e50e72369f26\",\n \"name\": \"Wait\",\n \"type\": \"n8n-nodes-base.wait\",\n \"position\": [\n 940,\n 3620\n ],\n \"webhookId\": \"f10708f0-38c6-4c75-b635-37222d5b183a\",\n \"parameters\": {\n \"amount\": 45\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This wait node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cc9e9947-19e4-47c5-95b0-a631d688a8b6\",\n \"name\": \"Sticky Note36\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 549.7858793743054,\n 3709.534654112671\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 327.8244990224782,\n \"height\": 268.48353140372035,\n \"content\": \"**40 at a time seems to be the memory limit on my server - run until complete with batches of 40 or increase based on your server memory**\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9ebbd993-9194-40b1-a98e-352eb3a3f9eb\",\n \"name\": \"Sticky Note28\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -50.797941767307435,\n 3729.028866440868\n ],\n \"parameters\": {\n \"color\": 7,\n \"widt...", "input": "", "output": "The workflow has a broken data flow. The node '71c5a0d4-540e-4766-ae99-bdc427019dac' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '71c5a0d4-540e-4766-ae99-bdc427019dac'.\n\n**Impact**: Data from '71c5a0d4-540e-4766-ae99-bdc427019dac' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '71c5a0d4-540e-4766-ae99-bdc427019dac' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"71c5a0d4-540e-4766-ae99-bdc427019dac\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '71c5a0d4-540e-4766-ae99-bdc427019dac' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"name\": \"Google Maps Email Scraper Template\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"79df5316-c210-478d-a4de-35b5d31924ee\",\n \"name\": \"Remove Duplicate URLs\",\n \"type\": \"n8n-nodes-base.removeDuplicates\",\n \"position\": [\n -780,\n 380\n ],\n \"parameters\": {},\n \"typeVersion\": 1.1,\n \"notes\": \"This removeDuplicates node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"985ac7e3-b501-4079-a043-780677c94b52\",\n \"name\": \"Loop over queries\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n -1080,\n -100\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3a478935-781b-4fb1-bdc7-fcf8be1334bc\",\n \"name\": \"Search Google Maps with query\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -1380,\n 380\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {\n \"allowUnauthorizedCerts\": false\n }\n },\n \"executeOnce\": false,\n \"typeVersion\": 4.2,\n \"alwaysOutputData\": false,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"477e7d55-b7d6-4b20-ac44-dd1f443e270a\",\n \"name\": \"Scrape URLs from results\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n -1180,\n 380\n ],\n \"parameters\": {\n \"jsCode\": \"const data = $input.first().json.data\\n\\nconst regex = /https?:\\\\/\\\\/[^\\\\/]+/g\\n\\nconst urls = data.match(regex)\\n\\nreturn urls.map(url => ({json: {url: url}}))\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a5b67e45-a3f6-41d2-aa58-c26a441c41b2\",\n ...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"6aa059e4-e78f-4bbd-a707-994a39840f97\",\n \"name\": \"Create Session\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -520,\n 240\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"identifier\",\n \"value\": \"youruser.bsky.social\"\n },\n {\n \"name\": \"password\",\n \"value\": \"your-app-passord-here\"\n }\n ]\n }\n },\n \"notesInFlow\": true,\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"143e37b0-de79-4329-99a2-51484c9609a8\",\n \"name\": \"List followers\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -280,\n 240\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"options\": {\n \"response\": {\n \"response\": {\n \"responseFormat\": \"json\"\n }\n },\n \"pagination\": {\n \"pagination\": {\n \"parameters\": {\n \"parameters\": [\n {\n \"name\": \"cursor\",\n \"value\": \"={{ $response.body.cursor }}\"\n }\n ]\n },\n \"maxRequests\": 2,\n \"requestInterval\": 250,\n \"limitPagesFetched\": true\n }\n }\n },\n \"sendQuery\": true,\n \"sendHeaders\": true,\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"actor\",\n \"value\": \"={{ $json.did }}\"\n },\n {\n \"name\": \"limit\",\n \"value\": \"100\"\n }\n ]\n },\n \"headerParameters\": {\n \"parameters\": [...", "input": "", "output": "The workflow has a broken data flow. The node 'f1436a63-a23f-4082-9209-12c21a26ad91' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'f1436a63-a23f-4082-9209-12c21a26ad91'.\n\n**Impact**: Data from 'f1436a63-a23f-4082-9209-12c21a26ad91' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'f1436a63-a23f-4082-9209-12c21a26ad91' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"f1436a63-a23f-4082-9209-12c21a26ad91\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'f1436a63-a23f-4082-9209-12c21a26ad91' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"2498bb93-176f-458c-acee-f541859df770\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 2460,\n 2820\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c08bcf84-9336-44f9-b452-0c9469f18f48\",\n \"name\": \"Web Search For API Schema\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"onError\": \"continueRegularOutput\",\n \"position\": [\n 3100,\n 3820\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"searchTerms\",\n \"value\": \"={{\\n[\\n `site:${$json.data.url.replace(/^http[s]:\\\\/\\\\//, '').replace(/\\\\/$/, '').replace('www.', '')} \\\"${$json.data.service}\\\" api developer (intext:reference OR intext:resource) (-inurl:support OR -inurl:help) (inurl:api OR intitle:api) -filetype:pdf`\\n]\\n}}\"\n },\n {\n \"name\": \"resultsPerPage\",\n \"value\": \"={{ 10 }}\"\n }\n ]\n },\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d5b19e3a-acd0-4b06-8d77-42de1f797dba\",\n \"name\": \"Scrape Webpage Contents\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 3940,\n 3720\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {\n \"batching\": {\n \"batch\": {\n \"batchSize\": 2,\n \"batchInterval\": 30000\n }\n }\n },\n \"jsonBody\": \"={\\n...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-69701d84\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.775353\",\n \"updatedAt\": \"2025-09-29T07:07:58.775371\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"c9e46f43-b159-42ca-945d-7aa8546e5fa2\",\n \"name\": \"Get playlist snapshot\",\n \"type\": \"n8n-nodes-base.spotify\",\n \"position\": [\n 380,\n 1580\n ],\n \"parameters\": {\n \"id\": \"={{ $json.spotify_playlist_id }}\",\n \"resource\": \"playlist\",\n \"operation\": \"get\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This spotify node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"73c2303e-24c2-4026-95f6-825e5d08baa4\",\n \"name\": \"Get playlist snapshot1\",\n \"type\": \"n8n-nodes-base.spotify\",\n \"position\": [\n 720,\n 1580\n ],\n \"parameters\": {\n \"id\": \"={{ $('variables').item.json.spotify_playlist_id }}\",\n \"resource\": \"playlist\",\n \"operation\": \"get\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This spotify node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bb71003b-0945-4333-91d3-662290dfb42d\",\n \"name\": \"If different snapshot\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 900,\n 1580\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 1,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"2606c811-7c92-4c61-b99e-be2aaced10dd\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"notEquals\"\n },\n \"leftValue\": \"={{ $('Get playlist snapshot').item....", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-708554b9\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.873650\",\n \"updatedAt\": \"2025-09-29T07:07:58.873700\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"ba9d786a-0698-4306-adba-40c928c1a340\",\n \"name\": \"Sticky Note8\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 840,\n 1100\n ],\n \"parameters\": {\n \"width\": 718.7339166606896,\n \"height\": 141.09832891056485,\n \"content\": \"## Independent \\\"Async\\\" Process\\nThis could be anything that eventually triggers another workflow and passes through something (e.g. resumeUrl) that identifies the original workflow execution that needs to be joined.\\nFor instance, this could be a Telegram conversation where the trigger is watching for a message containing a \\\"reply\\\" to something that was originally sent out via Telegram.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d90e6fa4-2f88-4446-8522-e3ae7b1334d2\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 400,\n 400\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a76364e9-ef28-4ad8-88a3-68ac23fed0c1\",\n \"name\": \"Wait\",\n \"type\": \"n8n-nodes-base.wait\",\n \"position\": [\n 1100,\n 400\n ],\n \"webhookId\": \"253803de-f2d4-4519-8014-62d0ef80b988\",\n \"parameters\": {\n \"resume\": \"webhook\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This wait node performs automated tasks as part of the workflow.\"\n },\n {\n ...", "input": "", "output": "The workflow has a broken data flow. The node 'a8eafdc2-e4b0-42b1-b0aa-7e3cb3972b4b' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'a8eafdc2-e4b0-42b1-b0aa-7e3cb3972b4b'.\n\n**Impact**: Data from 'a8eafdc2-e4b0-42b1-b0aa-7e3cb3972b4b' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'a8eafdc2-e4b0-42b1-b0aa-7e3cb3972b4b' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"a8eafdc2-e4b0-42b1-b0aa-7e3cb3972b4b\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'a8eafdc2-e4b0-42b1-b0aa-7e3cb3972b4b' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-0eba6951\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.786228\",\n \"updatedAt\": \"2025-09-29T07:07:58.786297\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"ffcd401c-3c2d-4fc5-92d7-bd55394e2dc9\",\n \"name\": \"Check if Competitor Data Found\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 2780,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"loose\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"9d720bd5-f29b-4ac8-92b4-ee2d5df074fe\",\n \"operator\": {\n \"type\": \"array\",\n \"operation\": \"lengthGte\",\n \"rightType\": \"number\"\n },\n \"leftValue\": \"={{ $('Execute Workflow Trigger').item.json.AIoutput.Competitors }}\",\n \"rightValue\": 1\n }\n ]\n },\n \"looseTypeValidation\": true\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"65d9cd7a-d0a7-4892-a199-40f4d35a0240\",\n \"name\": \"Check if Integration Data Found\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 2800,\n -400\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"9d720bd5-f29b-4ac8-92b4-ee2d5df074fe\",\n \"operator\": {\n \"typ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-ca4445ff\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.811405\",\n \"updatedAt\": \"2025-09-29T07:07:58.811425\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"a810abc1-4cbf-49a8-8c4e-227ad572d137\",\n \"name\": \"Execute Workflow Trigger\",\n \"type\": \"n8n-nodes-base.executeWorkflowTrigger\",\n \"position\": [\n 2280,\n -400\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This executeWorkflowTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"02f98d43-05d9-4d70-a94a-1af7e2ad10cf\",\n \"name\": \"Create Marketing Insight Data\",\n \"type\": \"n8n-nodes-base.notion\",\n \"position\": [\n 3500,\n -480\n ],\n \"parameters\": {\n \"title\": \"={{ $('Execute Workflow Trigger').item.json.metaData.title }}\",\n \"options\": {\n \"icon\": \"\\ud83c\\udfaf\"\n },\n \"resource\": \"databasePage\",\n \"databaseId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1395b6e0-c94f-802d-9a63-c524a1769699\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Marketing Insights\"\n },\n \"propertiesUi\": {\n \"propertyValues\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"title\": \"={{ $json.Summary }}\"\n },\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"multiSelectValue\": \"={{ $json.Tag }}\"\n },\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"relationValue\": [\n \"={{ $('Execute Workflow Trigger').item.json.notionData[0].id }}\"\n ]\n },\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"date\": \"={{ $('Execute Workflow Trigger').item.js...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-e5f2656d\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.911987\",\n \"updatedAt\": \"2025-09-29T07:07:58.912001\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"b717d887-4d4b-4f21-97a3-978fcde2c9f6\",\n \"name\": \"slack_action_payload\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -1020,\n 100\n ],\n \"parameters\": {\n \"mode\": \"raw\",\n \"options\": {},\n \"jsonOutput\": \"= {{ $json.body.payload }}\"\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"046950ad-a40c-47d9-8dab-406bc6bf6e12\",\n \"name\": \"slack_action_drink_data\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -800,\n 100\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"3d208143-1b80-4701-bff7-fc1dfbf9b89c\",\n \"name\": \"value\",\n \"type\": \"string\",\n \"value\": \"={{ $json.actions[0].value }}\"\n },\n {\n \"id\": \"1600b553-8ef1-44ac-9ae7-d33be8e539e5\",\n \"name\": \"message_text\",\n \"type\": \"string\",\n \"value\": \"={{ $json.message.text }}\"\n },\n {\n \"id\": \"5ea5f093-7e36-4de0-aa14-fb2bc0788e84\",\n \"name\": \"shortcut_url\",\n \"type\": \"string\",\n \"value\": \"=shortcuts://run-shortcut?name=darrell_water&input=\"\n },\n {\n \"id\": \"5d9e4946-10eb-48ed-87d8-978235d44ec1\",\n \"name\": \"shortcut_url_data\",\n \"type\": \"string\",\n \"value\": \"={\\\"value\\\":{{ $json.actions[0].value }},\\\"time\\\":\\\"{{ $now.format(\\\"yyyy-MM-dd\\\") }}T{{ $now.format(\\\"HH:mm:...", "input": "", "output": "The node 'Google Sheets - Get Today Water Log' (type: n8n-nodes-base.googleSheets) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"atsKA0m2aQXeL6i6\",\n \"name\": \"Google Sheets account\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Google Sheets - Get Today Water Log' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-cdb5e1fc\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.903885\",\n \"updatedAt\": \"2025-09-29T07:07:58.903903\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"78bb4afe-ccc6-4b5e-90ba-50253f761f14\",\n \"name\": \"Split Attachments\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n -80,\n 140\n ],\n \"parameters\": {\n \"jsCode\": \"let results = [];\\n\\nfor (const item of $input.all()) {\\n for (key of Object.keys(item.binary)) {\\n results.push({\\n json: {\\n fileName: item.binary[key].fileName\\n },\\n binary: {\\n data: item.binary[key],\\n }\\n });\\n }\\n}\\n\\nreturn results;\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"48a79e8c-27c2-4cdb-a6f7-241158c10962\",\n \"name\": \"Download Attachments\",\n \"type\": \"n8n-nodes-base.microsoftOutlook\",\n \"position\": [\n -260,\n 140\n ],\n \"webhookId\": \"2eb57df9-1579-4af2-a30e-f412b268aba2\",\n \"parameters\": {\n \"options\": {\n \"downloadAttachments\": true\n },\n \"messageId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"={{ $json.id }}\"\n },\n \"operation\": \"get\"\n },\n \"credentials\": {\n \"microsoftOutlookOAuth2Api\": {\n \"id\": \"EWg6sbhPKcM5y3Mr\",\n \"name\": \"Microsoft Outlook account\"\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This microsoftOutlook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7dda1618-dfa7-4325-b5ff-7935602a3043\",\n \"name\": \"Parse Output\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 680,\n 400\n ...", "input": "", "output": "The node 'Sticky Note' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-e53175dc\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.915533\",\n \"updatedAt\": \"2025-09-29T07:07:58.915549\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"fa4f8fd6-3272-4a93-8547-32d13873bbc1\",\n \"name\": \"Submit batch\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 180,\n 40\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={ \\\"requests\\\": {{ JSON.stringify($json.requests) }} }\",\n \"sendBody\": true,\n \"sendQuery\": true,\n \"sendHeaders\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"queryParameters\": {\n \"parameters\": [\n {}\n ]\n },\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"anthropic-version\",\n \"value\": \"={{ $json[\\\"anthropic-version\\\"] }}\"\n }\n ]\n },\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"anthropicApi\": {\n \"id\": \"ub0zN7IP2V83OeTf\",\n \"name\": \"Anthropic account\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"2916dc85-829d-491a-a7a8-de79d5356a53\",\n \"name\": \"Check batch status\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 840,\n 115\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"sendHeaders\": true,\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"headerParameters\": {\n \"parameters\": [\n {\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"ffe22db7-06b9-4efe-ab35-758e420dbe57\",\n \"name\": \"END\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -2880,\n 540\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9480feb6-e12a-4b59-998e-bdc7b119087a\",\n \"name\": \"Workflow 1\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -2620,\n -20\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"54492842-137b-48d6-851a-1ce6cc751612\",\n \"name\": \"Workflow 2\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -2620,\n 200\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"83bbda2c-112b-4ed0-9ccd-c7a5c840100d\",\n \"name\": \"Workflow 3\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -2620,\n 420\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"74d889d9-5215-495b-8e60-e1c78d79ae8c\",\n \"name\": \"Incoming Webhook Data\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n -4760,\n 220\n ],\n \"webhookId\": \"94d08900-4816-4c74-962a-aacff5077d5d\",\n \"parameters\": {\n \"path\": \"94d08900-4816-4c74-962a-aacff5077d5d\",\n \"options\": {}\n },\n \"typeVersion\": 2,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cb5e3e72-6678-4efb-8301-f149014444d2\",\n \"name\": \"Fetch Webhook Data & Declare lockValue\",\n \"type\": \"n8n-nodes-base.code\",\n \"positi...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a756c4f9\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.909029\",\n \"updatedAt\": \"2025-09-29T07:07:58.909089\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"cfb41f0c-9dd3-46c8-aae1-2f6caaf1a1e3\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -2440,\n 220\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {}\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"07d78dcb-1a2d-45f4-b595-734e301c25ee\",\n \"name\": \"Edit Fields\",\n \"type\": \"n8n-nodes-base.set\",\n \"onError\": \"continueRegularOutput\",\n \"position\": [\n -1440,\n 220\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"f3530e8d-0694-4b73-bd9f-f4ce763c059b\",\n \"name\": \"id\",\n \"type\": \"string\",\n \"value\": \"={{ $json.link }}\"\n },\n {\n \"id\": \"e829100d-7301-4ee3-9e8e-782b476b98c3\",\n \"name\": \"title\",\n \"type\": \"string\",\n \"value\": \"={{ $json.title }}\"\n },\n {\n \"id\": \"637000e7-a294-4656-b3b2-36d3ff42ce8d\",\n \"name\": \"output\",\n \"type\": \"string\",\n \"value\": \"={{ $json.content }}\"\n },\n {\n \"id\": \"6626b922-4ac9-4a04-a55d-d02cebeee7f2\",\n \"name\": \"pubDate\",\n \"type\": \"string\",\n \"value\": \"={{ $json.pubDate }}\"\n },\n {\n \"id\": \"134b45eb-3048-40c8-9c1c-2b9d45959de4\",\n \"name\": \"tags\",\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-37056db8\"\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.950092\",\n \"updatedAt\": \"2025-09-29T07:07:58.950113\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f3641141-a880-4400-bad7-909558848c20\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 2260,\n 820\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7b1ddbd1-f918-4ef9-a05e-2c02e6de75df\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 380,\n 580\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 1289,\n \"height\": 2698,\n \"content\": \"=======================================\\n WORKFLOW DETAILS & GUIDELINES\\n=======================================\\nName:\\n LinkedIn Enrichment & Ice Breaker Generator\\n\\nPurpose:\\n Automate the process of enriching LinkedIn profiles using Bright Data,\\n generate personalized ice breakers with an LLM, and update Google Sheets.\\n\\nTools Needed:\\n - n8n Nodes:\\n \\u2022 Manual Trigger or Schedule Trigger\\n \\u2022 Set\\n \\u2022 SplitInBatches\\n \\u2022 HTTP Request\\n \\u2022 If\\n \\u2022 Wait\\n \\u2022 Google Sheets\\n \\u2022 LangChain LLM (Claude via Anthropic)\\n - External Services:\\n \\u2022 Bright Data (Dataset API)\\n \\u2022 Anthropic Claude (Haiku)\\n \\u2022 Google Sheets API\\n\\nAPI Keys & Authentication Required:\\n \\u2022 Bright Data API Key\\n \\u2192 Used in HTTP Request headers as:\\n `Authorization: Bearer YOUR_BRIGHTDATA_API_KEY`\\n \\u2022 Google Sheets OAuth2 Credentials\\n ...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-f9bc0929\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.940577\",\n \"updatedAt\": \"2025-09-29T07:07:58.940611\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"bee233ee-7212-4fbd-b151-0bb49919ca42\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 0,\n 280\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 1289,\n \"height\": 4398,\n \"content\": \"LinkedIn Job Data Scraper to Google Sheets\\nScrape live job posts from LinkedIn via Bright Data, clean them, and send to Google Sheets. Use for:\\n\\u2705 Job Hunting \\u2014 fresh, filtered roles\\n\\u2705 Sales Prospecting \\u2014 find companies hiring (aka growing)\\n\\u2699\\ufe0f What's Used\\nn8n Nodes: Form \\u2192 HTTP Request \\u2192 Wait \\u2192 If \\u2192 Code \\u2192 Google Sheets\\nExternal Tools:\\n\\nBright Data \\u2013 Dataset API\\nGoogle Sheets \\u2013 Template Copy\\n\\n\\ud83d\\udd11 Setup \\u2013 Credentials Needed\\n\\nBright Data API Key \\u2192 Add to HTTP headers as: Authorization: Bearer YOUR_KEY\\nGoogle Sheets OAuth2 \\u2192 Connect account in n8n\\n\\n\\ud83d\\udcdd Input Form \\u2013 Fields\\nUsed to define what job data to scrape.\\nFieldDescriptionExampleLocationCity/regionNew York, BerlinKeywordRole to searchCMO, Data AnalystCountry2-letter ISO codeUS, UK, DETime RangeHow recent the jobs should be\\\"Past 24 hours\\\" or \\\"Last 7 days\\\" (recommended)Job TypeFull-time / Part-time / Contract(Optional)ExperienceEntry, Mid, Senior(Optional)RemoteFilter by remote-friendly roles(Optional)CompanyFilter by specific employer(Optional)\\n\\ud83d\\ude80 Workflow Steps\\n\\nUser fills input form\\nTrigger snapshot via Bright Data Dataset API\\nWait node + polling checks when data is ready (~1\\u20133 mins)\\nCleanup step:\\n\\nFlattens nested fields (job_poster, base_sal...", "input": "", "output": "The node 'Google Sheets - Adding All Job Posts' (type: n8n-nodes-base.googleSheets) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"4RJOMlGAcB9ZoYfm\",\n \"name\": \"Google Sheets account 2\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Google Sheets - Adding All Job Posts' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-65aaa15f\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.960414\",\n \"updatedAt\": \"2025-09-29T07:07:58.960425\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"ce73f49d-96f8-4a9f-a8f0-48c00da00ac7\",\n \"name\": \"Sticky Note9\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -80,\n -40\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 1280,\n \"height\": 480,\n \"content\": \"=======================================\\n WORKFLOW ASSISTANCE\\n=======================================\\nScrape Indeed Job Listings for Hiring Signals Using Bright Data and LLMs\\n\\nFor any questions or support, please contact:\\n Yaron@nofluff.online\\n\\nExplore more tips and tutorials here:\\n - YouTube: {{ $env.WEBHOOK_URL }}\\n - LinkedIn: {{ $env.WEBHOOK_URL }}\\n=======================================\\nBright Data Docs: {{ $env.WEBHOOK_URL }}\\n\\n*Important*\\nMake Sure To Add Your API Keys to the HTTTP REQUESTS NODES (BRIGHT DATA API), GOOGLE RELATED NODES AND LLM NODE\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a06fbae2-1ea3-4b9d-8b7b-e4ec775d1a53\",\n \"name\": \"Snapshot Progress\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 2520,\n 380\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"sendHeaders\": true,\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Authorization\",\n \"value\": \"Bearer \"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-13d97b4d\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.992484\",\n \"updatedAt\": \"2025-09-29T07:07:58.992502\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"e936b195-744d-4c0b-a1ee-d9123190c0cd\",\n \"name\": \"Sticky Note9\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -520,\n -160\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 1280,\n \"height\": 460,\n \"content\": \"=======================================\\n WORKFLOW ASSISTANCE\\n=======================================\\n\\nScrape Glassdoor Job Listings For Prospecting with Bright Data and LLMS\\n\\nFor any questions or support, please contact:\\n Yaron@nofluff.online\\n\\nExplore more tips and tutorials here:\\n - YouTube: {{ $env.WEBHOOK_URL }}\\n - LinkedIn: {{ $env.WEBHOOK_URL }}\\n=======================================\\nBright Data Docs: {{ $env.WEBHOOK_URL }}\\n\\n\\n*Important*\\nMake Sure To Add Your API Keys to the HTTTP REQUESTS NODES (BRIGHT DATA API), GOOGLE RELATED NODES AND LLM NODE\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"60db8b95-e1c8-464d-a214-599e963db599\",\n \"name\": \"Snapshot Progress\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 2080,\n 260\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"sendHeaders\": true,\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Authorization\",\n \"value\": \"Bearer \"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"...", "input": "", "output": "The node 'Google Sheets - Update Pitches' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Google Sheets - Update Pitches'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-45cc102e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:58.998321\",\n \"updatedAt\": \"2025-09-29T07:07:58.998338\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"578905af-9355-47ba-97c0-05bc9e69876c\",\n \"name\": \"Sticky Note9\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -420,\n -120\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 1280,\n \"height\": 320,\n \"content\": \"=======================================\\n WORKFLOW ASSISTANCE\\n=======================================\\nFor any questions or support, please contact:\\n Yaron@nofluff.online\\n\\nExplore more tips and tutorials here:\\n - YouTube: {{ $env.WEBHOOK_URL }}\\n - LinkedIn: {{ $env.WEBHOOK_URL }}\\n=======================================\\nBright Data Docs: {{ $env.WEBHOOK_URL }}\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b54542b4-0f68-4076-9ae9-817c1aee0c14\",\n \"name\": \"Snapshot Progress\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 2180,\n 300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"sendHeaders\": true,\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Authorization\",\n \"value\": \"Bearer \"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8ffd290a-1cc7-4cc9-86a3-397108f8584b\",\n \"name\": \"Sticky Note10\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 3240,\n 80\n ],\n \"parame...", "input": "", "output": "The node 'Google Sheets - Adding All Reviews' (type: n8n-nodes-base.googleSheets) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"4RJOMlGAcB9ZoYfm\",\n \"name\": \"Google Sheets account 2\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Google Sheets - Adding All Reviews' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-5eee765b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.028392\",\n \"updatedAt\": \"2025-09-29T07:07:59.028408\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"fdd55253-5cb6-4b1f-9c93-6915f254f700\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -60,\n -240\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"months\",\n \"triggerAtDayOfMonth\": 5\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c8d6064a-3fd7-478d-891c-6ade336daa1f\",\n \"name\": \"YTD vs Prevoius Month1\",\n \"type\": \"n8n-nodes-base.mySql\",\n \"onError\": \"continueRegularOutput\",\n \"position\": [\n 640,\n 0\n ],\n \"parameters\": {\n \"query\": \"SELECT\\n -- budget_data.fiscal_year AS `Year`,\\n -- budget_data.cost_center AS `Cost Center`,\\n budget_data.budget_group AS `Budget Group`,\\n-- budget_data.sort_order AS `Sort Order`,\\n\\n -- YTD Totals up to previous month (up to dynamic month)\\n SUM(budget_data.budget_amount) AS `Budget YTD`,\\n SUM(COALESCE(actual_data.actual_amount, 0)) AS `Actual YTD`,\\n SUM(COALESCE(actual_data.actual_amount, 0)) - SUM(budget_data.budget_amount) AS `Variance YTD`,\\n\\n -- Previous Month Totals Only\\n SUM(CASE WHEN budget_data.budget_month = {{ $('PreviousMonth').item.json.previousMonth }} THEN budget_data.budget_amount ELSE 0 END) AS `Budget PM`,\\n SUM(CASE WHEN budget_data.budget_month = {{ $('PreviousMonth').item.json.previousMonth }} THEN COALESCE(actual_data.actual_amount, 0) ELSE 0 END) AS `Actual PM`,\\n SUM(CASE WHEN budget_data...", "input": "", "output": "The node 'Merge' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Merge'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-3bdb4719\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.015962\",\n \"updatedAt\": \"2025-09-29T07:07:59.015976\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"58da2884-6dd9-446e-beca-cacae1e8df7c\",\n \"name\": \"Sticky Note9\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 4940,\n 340\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 1280,\n \"height\": 320,\n \"content\": \"=======================================\\n WORKFLOW ASSISTANCE\\n=======================================\\nFor any questions or support, please contact:\\n Yaron@nofluff.online\\n\\nExplore more tips and tutorials here:\\n - YouTube: {{ $env.WEBHOOK_URL }}\\n - LinkedIn: {{ $env.WEBHOOK_URL }}\\n=======================================\\nBright Data Docs: {{ $env.WEBHOOK_URL }}\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d2aa5abc-6a8b-4ad3-9b87-1349f3dd80b9\",\n \"name\": \"Snapshot Progress\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 7540,\n 760\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"sendHeaders\": true,\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Authorization\",\n \"value\": \"Bearer \"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"fba84a88-1775-4bc9-85cb-1bda621b4c2c\",\n \"name\": \"Sticky Note10\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 8600,\n 540\n ],\n \"parame...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-0a8626b0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.000563\",\n \"updatedAt\": \"2025-09-29T07:07:59.000578\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"74a81d54-6cc9-4c17-88fe-aca27d491b73\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 640,\n 40\n ],\n \"webhookId\": \"1d3d0c06-f979-4573-b644-1a5b13153471\",\n \"parameters\": {\n \"path\": \"paypal-NVP-SOAP-Webhook\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"59caade5-a67d-4d22-822c-bec8bf9baf69\",\n \"name\": \"Event Capture Type\",\n \"type\": \"n8n-nodes-base.switch\",\n \"position\": [\n 1160,\n 0\n ],\n \"parameters\": {\n \"rules\": {\n \"values\": [\n {\n \"outputKey\": \"YOUR_CREDENTIAL_HERE\",\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"68917137-6042-4e47-9432-d006dca17872\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.body.event_type }}\",\n \"rightValue\": \"=PAYMENT.CAPTURE.COMPLETED\"\n }\n ]\n },\n \"renameOutput\": true\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 3.2,\n \"notes\": \"This s...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-787fbfca\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.020097\",\n \"updatedAt\": \"2025-09-29T07:07:59.020120\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"be902a85-fc31-442c-b308-a2350ec5aabb\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -760,\n 440\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d229b686-9de4-4633-9dba-3e1fe71eedf1\",\n \"name\": \"No Operation, do nothing1\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1820,\n 800\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f583bc97-8da8-488e-ab04-5167dc7a7701\",\n \"name\": \"Information Extractor\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2420,\n 540\n ],\n \"parameters\": {\n \"text\": \"={{ $json.buffer.reverse().toJsonString() }}\",\n \"options\": {\n \"systemPromptTemplate\": \"Eres un experto extrayendo informaci\\u00f3n, tu objetivo es recolectar todos los mensajes. Procura no dejar duplicados. como resultado debes retornar un solo p\\u00e1rrafo con todo los mensajes.\"\n },\n \"schemaType\": \"fromJson\",\n \"jsonSchemaExample\": \"{\\n\\t\\\"message\\\": \\\"all consolidated messages\\\"\\n}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This informationExtractor node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5b719416-4886-4d38-9d00-30b6237db168\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2440,\n ...", "input": "", "output": "The workflow has a broken data flow. The node '5b719416-4886-4d38-9d00-30b6237db168' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '5b719416-4886-4d38-9d00-30b6237db168'.\n\n**Impact**: Data from '5b719416-4886-4d38-9d00-30b6237db168' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '5b719416-4886-4d38-9d00-30b6237db168' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"5b719416-4886-4d38-9d00-30b6237db168\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '5b719416-4886-4d38-9d00-30b6237db168' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-d40147a6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.061627\",\n \"updatedAt\": \"2025-09-29T07:07:59.061702\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"04b7d4d7-6639-4559-9a7a-7eb7b83e16fa\",\n \"name\": \"Generate A-Z Queries\",\n \"type\": \"n8n-nodes-base.code\",\n \"notes\": \"This code adds \\n- a blank space\\n- and a letter, starting from a, b, c... up to z\\nIt processes all the 26 possible letters.\\n\\nEx :\\nn8n a\\nn8n b\\nn8n c\\n...\\nn8n z\",\n \"position\": [\n 180,\n 0\n ],\n \"parameters\": {\n \"jsCode\": \"const keyword = $input.first().json.chatInput;\\nconst alphabet = \\\"abcdefghijklmnopqrstuvwxyz\\\".split(\\\"\\\");\\n\\nreturn alphabet.map(letter => ({\\n json: { query: `${keyword} ${letter}` }\\n}));\"\n },\n \"notesInFlow\": false,\n \"typeVersion\": 2\n },\n {\n \"id\": \"0c6ae163-3d08-4a40-aaa9-921f583940df\",\n \"name\": \"Google Autocomplete\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 560,\n 100\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {}\n },\n \"typeVersion\": 4,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"21f0aeaa-2d64-497c-a890-6bd84ade624f\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"notes\": \"The 26 items (one for each alphabet letter) are treated by batches of 10.\\nThis setting + the wait time help not to be blocked by Google's API.\",\n \"position\": [\n 360,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"batchSize\": 10\n },\n \"typeVersion\": 3\n },\n {\n \"id\": \"6fca90c9-c8f0-4a86-b746-2eedd670404a\",\n \"name\": \"Wait 1s\",\n \"type\": \"n8n-nodes-base.wa...", "input": "", "output": "In node 'Code', the parameter 'jsCode' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `const data = JSON.parse($json.data);\nreturn {\n json: {\n keywords: data[1]\n }\n};\n`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Code' parameter 'jsCode'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-95286377\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.068435\",\n \"updatedAt\": \"2025-09-29T07:07:59.068492\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"c53bc70a-2e85-465a-b977-73cfd268ba41\",\n \"name\": \"Scheduled Start: Check for New Posts\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -1240,\n -380\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {}\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"aa73f2af-f311-465b-8270-b027b17eec0d\",\n \"name\": \"1. Get Next Post Idea from Sheet\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n -920,\n -380\n ],\n \"parameters\": {\n \"options\": {\n \"returnFirstMatch\": true\n },\n \"filtersUI\": {\n \"values\": [\n {\n \"lookupValue\": \"0\",\n \"lookupColumn\": \"Status\"\n }\n ]\n },\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": 1510137257,\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Post\\u0130\"\n },\n \"documentId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1hG2NMi-4fMa7D5qGonCN8bsYVya4L2TOB_8mI4XK-9k\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Medium Post Automation\"\n }\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"VV5AyFvgYkc4TfC7\",\n \"name\": \"Onur Drive \"\n }\n },\n \"typeVersion\": 4.5,\n \"notes\": \"This googleSheets node performs automated tasks as part of the...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"7i2RqqCYaKHUt4n3:\n \"meta\": {\n \"instanceId\": \"workflow-8f739a79\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.091467\",\n \"updatedAt\": \"2025-09-29T07:07:59.091486\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Google Site Index - sitemap.xml example\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"4da50fbf-7707-42ea-badc-6748c4ee30db\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -927,\n 472\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9e5bd6c8-a056-462b-b746-60d86bfbe398\",\n \"name\": \"Split Out\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 480,\n 360\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"urlset.url\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0d4acf98-31c5-4a0d-bb29-c1d045c0705c\",\n \"name\": \"Check status\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"onError\": \"continueErrorOutput\",\n \"position\": [\n 1540,\n 400\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {\n \"response\": {\n \"response\": {\n \"fullResponse\": true\n }\n }\n },\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"nodeCredentialType\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"credentials\": {\n \"googleOAuth2Api\": {\n \"id\": \"K8Cz9Dy3TR68udv2\",\n \"name\": \"Google account\"\n }\n },\n \"retryOnFai...", "input": "", "output": "The JSON contains an unclosed string. All string values must be enclosed in double quotes.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing closing quote to complete the string.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"KY0vB3hifSrA24k2\",\n \"meta\": {\n \"instanceId\": \"workflow-59fff029\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.097876\",\n \"updatedAt\": \"2025-09-29T07:07:59.097942\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"AI-Powered Short-Form Video Generator with OpenAI, Flux, Kling, and ElevenLabs and upload to all ...\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"e5095169-dc78-4d90-9662-04cfc82c38d9\",\n \"name\": \"Get image\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1160,\n 480\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"sendHeaders\": true,\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"X-API-Key\",\n \"value\": \"={{ $('Set API Keys').item.json['PiAPI Key'] }}\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f477250a-fc8e-407e-a632-cffc0e564596\",\n \"name\": \"Generate Image\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 880,\n 480\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"body\": \"={\\n \\\"model\\\": \\\"Qubico/flux1-dev\\\",\\n \\\"task_type\\\": \\\"txt2img\\\",\\n \\\"input\\\": {\\n \\\"prompt\\\": \\\"{{ $('Generate Image Prompts').item.json.choices[0].message.content }} realistic and casual as if taken by an iphone camera by a TikTok influencer\\\",\\n \\\"negative_prompt\\\": \\\"taking a photo of a room, recording a video of a room, photos app, video recorder, illegible text, blurry text, low quality text, DSLR, unnatural\\\",\\n \\\"width\\\": 540,\\n \\\"height\\\": 960\\n }\\n}\",\n \"meth...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"2498bb93-176f-458c-acee-f541859df770\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 2460,\n 2820\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c08bcf84-9336-44f9-b452-0c9469f18f48\",\n \"name\": \"Web Search For API Schema\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"onError\": \"continueRegularOutput\",\n \"position\": [\n 3100,\n 3820\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"searchTerms\",\n \"value\": \"={{\\n[\\n `site:${$json.data.url.replace(/^http[s]:\\\\/\\\\//, '').replace(/\\\\/$/, '').replace('www.', '')} \\\"${$json.data.service}\\\" api developer (intext:reference OR intext:resource) (-inurl:support OR -inurl:help) (inurl:api OR intitle:api) -filetype:pdf`\\n]\\n}}\"\n },\n {\n \"name\": \"resultsPerPage\",\n \"value\": \"={{ 10 }}\"\n }\n ]\n },\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d5b19e3a-acd0-4b06-8d77-42de1f797dba\",\n \"name\": \"Scrape Webpage Contents\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 3940,\n 3720\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {\n \"batching\": {\n \"batch\": {\n \"batchSize\": 2,\n \"batchInterval\": 30000\n }\n }\n },\n \"jsonBody\": \"={\\n ...", "input": "", "output": "In node 'Template to List', the parameter 'fieldToSplitOut' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json.deeply.nested.undefined.path }}`\n**Original Value**: `queries`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Template to List' parameter 'fieldToSplitOut'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"IMVycpyABaGuD1hq\",\n \"meta\": {\n \"instanceId\": \"workflow-1015779e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.146088\",\n \"updatedAt\": \"2025-09-29T07:07:59.146108\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Analyze_Crowdstrike_Detections__search_for_IOCs_in_VirusTotal__create_a_ticket_in_Jira_and_post_a...\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"bd1234f2-631c-457d-8423-cec422852bbc\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -880,\n 602\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {}\n ]\n }\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b9f134cd-06de-49cd-83a2-19f705fd18c6\",\n \"name\": \"Split out detections\",\n \"type\": \"n8n-nodes-base.itemLists\",\n \"notes\": \"So we can process each one individually\",\n \"position\": [\n -440,\n 602\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"resources\"\n },\n \"notesInFlow\": true,\n \"typeVersion\": 3\n },\n {\n \"id\": \"8d1fc16d-bcbd-4ca2-ac2d-ea676cde4403\",\n \"name\": \"Get recent detections from Crowdstrike\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"disabled\": true,\n \"position\": [\n -660,\n 602\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"sendQuery\": true,\n \"authentication\": \"{{ $credentials.predefinedCredentialType }}\",\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"filter\",\n \"value\": \"status:'new'\"\n ...", "input": "", "output": "The node 'Look up SHA in Virustotal' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Look up SHA in Virustotal'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-2cd35f59\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.128042\",\n \"updatedAt\": \"2025-09-29T07:07:59.128081\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"1bb3c94e-326e-41ca-82e4-102a598dba39\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -320,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"751b283b-ea88-4fcd-ace3-3c86631f8876\",\n \"name\": \"Embeddings Mistral Cloud\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1760,\n 560\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"mistralCloudApi\": {\n \"id\": \"EIl2QxhXAS9Hkg37\",\n \"name\": \"Mistral Cloud account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This embeddingsMistralCloud node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f0851949-1036-4040-84df-61295cc5db74\",\n \"name\": \"Default Data Loader\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1900,\n 560\n ],\n \"parameters\": {\n \"options\": {\n \"metadata\": {\n \"metadataValues\": [\n {\n \"name\": \"chapter\",\n \"value\": \"={{ $('For Each Section...').item.json.chapter }}\"\n },\n {\n \"name\": \"section\",\n \"value\": \"={{ $('For Each Section...').item.json.label }}\"\n },\n {\n \"name\": \"=title\",\n \"value\": \"={{ $('For Each Section...').item.json.title }}\"\n },\n {\n \"name\": \"content_...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"QO4Mg23JvVfNCICy\",\n \"meta\": {\n \"instanceId\": \"workflow-8ac7d4ad\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.228758\",\n \"updatedAt\": \"2025-09-29T07:07:59.228773\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Build a Phone Agent to qualify outbound leads and inbound calls with RetellAI -vide\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"78f39980-c9f8-49b6-93bb-a1f61d347ac3\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -240,\n 0\n ],\n \"parameters\": {\n \"width\": 1260,\n \"height\": 320,\n \"content\": \"# Outbound lead qualification call workflow\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"661006b9-dac7-4ac0-882a-2e0cba9dbae1\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -240,\n 360\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 1260,\n \"height\": 320,\n \"content\": \"# Inbound call appointment scheduler workflow\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"96a278b9-8d2e-4f85-9f6a-2997932a7ca4\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1060,\n -420\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 1400,\n \"height\": 1100,\n \"content\": \"# Post-call workflow\\n## Triggers when a new lead is added in Google Sheets:\\n\\n### 1 -Sends SMS to remind rep to call in 5 min\\n### 2- (Optional delay step)\\n### 3- Triggers RetellAI to place an automated call to t...", "input": "", "output": "The node 'Update lead record in Google Sheets' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Update lead record in Google Sheets'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-26d34bab\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.211314\",\n \"updatedAt\": \"2025-09-29T07:07:59.211337\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f4570aad-db25-4dcd-8589-b1c8335935de\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -180,\n 3800\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bd481559-85f2-4865-8d85-e50e72369f26\",\n \"name\": \"Wait\",\n \"type\": \"n8n-nodes-base.wait\",\n \"position\": [\n 940,\n 3620\n ],\n \"webhookId\": \"f10708f0-38c6-4c75-b635-37222d5b183a\",\n \"parameters\": {\n \"amount\": 45\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This wait node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cc9e9947-19e4-47c5-95b0-a631d688a8b6\",\n \"name\": \"Sticky Note36\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 549.7858793743054,\n 3709.534654112671\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 327.8244990224782,\n \"height\": 268.48353140372035,\n \"content\": \"**40 at a time seems to be the memory limit on my server - run until complete with batches of 40 or increase based on your server memory**\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9ebbd993-9194-40b1-a98e-352eb3a3f9eb\",\n \"name\": \"Sticky Note28\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -50.797941767307435,\n 3729.028866440868\n ],\n \"parameters\": {\n \"color\": 7,\n \"widt...", "input": "", "output": "The workflow has a broken data flow. The node '71c5a0d4-540e-4766-ae99-bdc427019dac' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '71c5a0d4-540e-4766-ae99-bdc427019dac'.\n\n**Impact**: Data from '71c5a0d4-540e-4766-ae99-bdc427019dac' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '71c5a0d4-540e-4766-ae99-bdc427019dac' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"71c5a0d4-540e-4766-ae99-bdc427019dac\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '71c5a0d4-540e-4766-ae99-bdc427019dac' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"MfKB97VVSuXMo3Fm\",\n \"meta\": {\n \"instanceId\": \"workflow-1e32af4b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.232227\",\n \"updatedAt\": \"2025-09-29T07:07:59.232278\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Create Animated Stories using GPT-4o-mini, Midjourney, Kling and Creatomate API\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"4e9ed246-e4d7-4a9f-9bb1-cf74e16c3c6f\",\n \"name\": \"output1\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 3980,\n 260\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"0107a930-1d7a-459c-a3ab-ceb28b43b8b8\",\n \"name\": \"video1\",\n \"type\": \"string\",\n \"value\": \"={{ $json.data.output.video_url }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d696b66a-3726-4fe5-989e-9405b53c62e1\",\n \"name\": \"output2\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 4680,\n 240\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"0107a930-1d7a-459c-a3ab-ceb28b43b8b8\",\n \"name\": \"video2\",\n \"type\": \"string\",\n \"value\": \"={{ $json.data.output.video_url }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"33e054fb-b747-4227-9884-f020e78ef5d5\",\n \"name\": \"Get Prompt\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 600,\n -80\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"CvXjXG4SFnN0ioJQ\",\n \"meta\": {\n \"instanceId\": \"workflow-107533b7\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.271888\",\n \"updatedAt\": \"2025-09-29T07:07:59.271915\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"AutoQoutesV2_template\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"2ff58bb4-7079-44fe-a2ac-b4af9fa5b30e\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 300,\n 0\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ec44d567-dfc8-4561-87df-903724225247\",\n \"name\": \"Generate Image\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 660,\n 0\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"body\": \"={\\n \\\"model\\\": \\\"Qubico/flux1-dev\\\",\\n \\\"task_type\\\": \\\"txt2img\\\",\\n \\\"input\\\": {\\n \\\"prompt\\\": \\\"Ultra-realistic vertical nature landscape, {{ $json['Background (EN)'] }}, featuring {{ $json['Prompt (EN)'] }}, high detail, soft atmospheric lighting, cinematic golden hour glow, vertical composition, photorealistic texture, natural depth of field, calm and serene mood, no people, no buildings, HDR, 8k resolution, masterpiece\\\",\\n \\\"negative_prompt\\\": \\\"taking a photo of a room, recording a video of a room, photos app, video recorder, illegible text, blurry text, low quality text, DSLR, unnatural\\\",\\n \\\"width\\\": 540,\\n \\\"height\\\": 960\\n }\\n}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"contentType\": \"raw\",\n \"sendHeaders\": true,\n \"rawContentType\": \"application/json\",\n \"head...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-fd8c7c2a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.275148\",\n \"updatedAt\": \"2025-09-29T07:07:59.275168\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"49ab7596-665e-4a0f-bb8b-9dc04525ce88\",\n \"name\": \"Gmail\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 2340,\n 1440\n ],\n \"parameters\": {\n \"message\": \"={{ $json.html }}\",\n \"options\": {},\n \"subject\": \"Podcast Review\",\n \"_injected_number_field\": \"not_a_number\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"1MUdv1HbrQUFABiZ\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmail node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"40aa23f4-69d6-46e5-84a2-b46a64a3f0af\",\n \"name\": \"TaddyTopDaily\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1620,\n 820\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"query\",\n \"value\": \"=query { getTopChartsByGenres( limitPerPage:10, filterByCountry:UNITED_STATES_OF_AMERICA, taddyType:PODCASTEPISODE, genres:PODCASTSERIES_{{ $json.genre }}){ topChartsId podcastEpisodes{ uuid name audioUrl podcastSeries{ uuid name } } } }\"\n }\n ]\n },\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"X-USER-ID\"\n },\n {\n \"name\": \"X-API-KEY\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs auto...", "input": "", "output": "The node 'Gmail' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Gmail'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-2179f4b4\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.278095\",\n \"updatedAt\": \"2025-09-29T07:07:59.278106\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"d61d8ff3-532a-4b0d-a5a7-e02d2e79ddce\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2660,\n 480\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b6d5c1cf-b4a1-4901-b001-0c375747ee63\",\n \"name\": \"No Operation, do nothing\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1660,\n 520\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f4e08e32-bb96-4b5d-852e-26ad6fec3c8c\",\n \"name\": \"Add to Messages Stack\",\n \"type\": \"n8n-nodes-base.redis\",\n \"position\": [\n 1340,\n 200\n ],\n \"parameters\": {\n \"list\": \"=chat-buffer:{{ $json.From }}\",\n \"tail\": true,\n \"operation\": \"push\",\n \"messageData\": \"={{ $json.Body }}\"\n },\n \"credentials\": {\n \"redis\": {\n \"id\": \"zU4DA70qSDrZM1El\",\n \"name\": \"Redis account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This redis node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"181ae99e-ebe7-4e99-b5a5-999acc249621\",\n \"name\": \"Should Continue?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1660,\n 360\n ],\n \"parameters\": {\n \"option...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"GW4dTYPBXwOrCUxo\",\n \"meta\": {\n \"instanceId\": \"workflow-35b3e5ab\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.306935\",\n \"updatedAt\": \"2025-09-29T07:07:59.306952\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Search LinkedIn companies, Score with AI and add them to Google Sheet CRM\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"a6af7206-4b90-421a-aee6-d71aa02e2182\",\n \"name\": \"Process Each Company\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"onError\": \"continueRegularOutput\",\n \"position\": [\n -260,\n 320\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3,\n \"alwaysOutputData\": false,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7a003d97-ff9b-4cac-a2e3-95b00e590904\",\n \"name\": \"Get Company Info\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"onError\": \"continueRegularOutput\",\n \"position\": [\n -20,\n 320\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {\n \"batching\": {\n \"batch\": {\n \"batchSize\": 1,\n \"batchInterval\": 2000\n }\n }\n },\n \"sendQuery\": true,\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpHeaderAuth\",\n \"queryParameters\": {\n \"parameters\": [\n {\n \"name\": \"url\",\n \"value\": \"={{ $json.url }}\"\n }\n ]\n }\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"XdFg4wGkcxwRPUMo\",\n \"name\": \"Header Auth account 4\"\n }\n },\n \"retryOnFail\": true,\n \"typeVersi...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"TTj6BiN7bQKTa6FM\",\n \"meta\": {\n \"instanceId\": \"workflow-19006cc6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.368578\",\n \"updatedAt\": \"2025-09-29T07:07:59.368606\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Indeed Company Data Scraper & Summarization with Airtable, Bright Data and Google Gemini\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"390ebd32-6ce4-4894-9b4f-7b376db5b724\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -220,\n -545\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"8ba6b208-b4ad-443c-8b24-c51b3b5ad880\",\n \"name\": \"Google Gemini Chat Model For Summarization\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1784,\n -300\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-2.0-flash-exp\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"YeO7dHZnuGBVQKVZ\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatGoogleGemini node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"394a7291-618a-42f0-8e1b-18ed7c8496c3\",\n \"name\": \"Webhook HTTP Request\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2280,\n -160\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"method\": \"POST\",\n \"sendBody\": true,\n \"parametersBody\": {\n \"values\": [\n {\n \"name\": \"search_summary\",\n \"value\": \"={{ $json.response.text ...", "input": "", "output": "The node 'Indeed Expert AI Agent' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Indeed Expert AI Agent'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-70ad8b4c\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.352424\",\n \"updatedAt\": \"2025-09-29T07:07:59.352444\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"7076854e-c7e8-45b5-9e5e-16678bffa254\",\n \"name\": \"OpenAI Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2420,\n 480\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-3.5-turbo-1106\",\n \"cachedResultName\": \"gpt-3.5-turbo-1106\"\n },\n \"options\": {\n \"temperature\": 0\n }\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"00819f1c-2c60-4b7c-b395-445ec05fd898\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2600,\n 480\n ],\n \"parameters\": {\n \"jsonSchema\": \"{\\n \\\"Invoice date\\\": { \\\"type\\\": \\\"date\\\" },\\n \\\"invoice number\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Purchase order number\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Supplier name\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Supplier address\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"address 1\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"address 2\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"city\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"postcode\\\": { \\\"type\\\": \\\"string\\\" }\\n }\\n },\\n \\\"Supplier VAT identification number\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Customer name\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"Customer address\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"address 1\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"address 2\\\": { \\\"type\\\": \\\"string\\\" },\\n \\\"city\\\"...", "input": "", "output": "The workflow has a broken data flow. The node '3b40d506-aabc-4105-853a-a318375cea73' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '3b40d506-aabc-4105-853a-a318375cea73'.\n\n**Impact**: Data from '3b40d506-aabc-4105-853a-a318375cea73' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '3b40d506-aabc-4105-853a-a318375cea73' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"3b40d506-aabc-4105-853a-a318375cea73\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '3b40d506-aabc-4105-853a-a318375cea73' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-81b5e334\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.399050\",\n \"updatedAt\": \"2025-09-29T07:07:59.399120\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"f4b1bdd8-654d-4643-a004-ff1b2f32b5ae\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 580,\n 1100\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d6b1c410-81c3-486d-bdcb-86a4c6f7bf9e\",\n \"name\": \"Create Asset\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1940,\n 580\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"method\": \"POST\",\n \"options\": {\n \"redirect\": {\n \"redirect\": {}\n }\n },\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"mediaType\",\n \"value\": \"application/pdf\"\n }\n ]\n },\n \"genericAuthType\": \"httpHeaderAuth\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"Authorization\",\n \"value\": \"=Bearer {{ $json.access_token }}\"\n }\n ]\n }\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"PU8GmSwXswwM1Fzq\",\n \"name\": \"Adobe API calls\"\n }\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9e900a45-d792-4dc5-938c-0d5cdfd2e647\",\n \"name\": \"Execute Workflow Tr...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\" {\n \"instanceId\": \"workflow-26f73520\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.378633\",\n \"updatedAt\": \"2025-09-29T07:07:59.378650\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"6d16b5be-8f7b-49f2-8523-9b84c62f2759\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1960,\n 660\n ],\n \"parameters\": {\n \"model\": \"gpt-4o-2024-08-06\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"8gccIjcuf3gvaoEr\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a6084f09-9a4f-478a-ac1a-ab1413628c1f\",\n \"name\": \"Capture Frames\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 720,\n 460\n ],\n \"parameters\": {\n \"mode\": \"runOnceForEachItem\",\n \"language\": \"python\",\n \"pythonCode\": \"import cv2\\nimport numpy as np\\nimport base64\\n\\ndef extract_evenly_distributed_frames_from_base64(base64_string, max_frames=90):\\n # Decode the Base64 string into bytes\\n video_bytes = base64.b64decode(base64_string)\\n \\n # Write the bytes to a temporary file\\n video_path = '/tmp/temp_video.mp4'\\n with open(video_path, 'wb') as video_file:\\n video_file.write(video_bytes)\\n \\n # Open the video file using OpenCV\\n video_capture = cv2.VideoCapture(video_path)\\n \\n # Get the total number of frames in the video\\n total_frames = int(video_capture.get(cv2.CAP_PROP_FRAME_COUNT))\\n \\n # Calculate the step size to take 'max_frames' evenly distributed frames\\n step_size = max(1, total_frames // (max_frames - 1))\\n \\n # List to store selected frames as base64\\n selected_frames_base64 = []\\n \\n for i in range(0, total_frames, ...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"NzoLNV2FbS4eurJ7\",\n \"meta\": {\n \"instanceId\": \"workflow-f0d0d7ec\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.412563\",\n \"updatedAt\": \"2025-09-29T07:07:59.412574\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"WhatsApp business bot\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"4ca5e25a-f67b-4874-af20-680d1a6ac731\",\n \"name\": \"Sent notification template\",\n \"type\": \"n8n-nodes-base.whatsApp\",\n \"position\": [\n 1140,\n 320\n ],\n \"parameters\": {\n \"template\": \"test_appointment_button|en_US\",\n \"components\": {\n \"component\": [\n {\n \"type\": \"header\",\n \"headerParameters\": {\n \"parameter\": [\n {\n \"text\": \"\\ud83d\\udcc5\"\n }\n ]\n }\n },\n {\n \"bodyParameters\": {\n \"parameter\": [\n {\n \"text\": \"={{ $json[\\\"Your name\\\"] }}\"\n },\n {\n \"text\": \"={{ DateTime.fromFormat($json[\\\"Please pick a day and time of your appointment\\\"], \\\"M/d/yyyy HH:mm:ss\\\").toLocaleString(DateTime.DATE_HUGE); }}\"\n },\n {\n \"text\": \"={{ $json[\\\"Please pick a day and time of your appointment\\\"].split(' ')[1] }}\"\n }\n ]\n }\n }\n ]\n },\n \"phoneNumberId\": \"=244242975437240\",\n \"requestOptions\": {},\n \"recipientPhoneNumber\": \"={{ $json[\\\"Your mobile number\\\"] }}\"\n },\n \"credentials\": {\n \"whatsAppApi\": {\n \"id\": \"mm0r1xKc6N8XktAD\",\n \"name\": \"WhatsApp account 2\"\n }\n },\n \"...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"OjwmaLrXhW4pO5ph\",\n \"meta\": {\n \"instanceId\": \"workflow-5b9fd796\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.441786\",\n \"updatedAt\": \"2025-09-29T07:07:59.441796\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Structured Bulk Data Extract with Bright Data Web Scraper\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"1bdca5ae-1e56-4cf2-a8dc-e135a6a2dfec\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -900,\n -395\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"533968cd-1329-4a86-8875-478600ed82b7\",\n \"name\": \"If Node\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 200,\n -470\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"6a7e5360-4cb5-4806-892e-5c85037fa71c\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"equals\"\n },\n \"leftValue\": \"={{ $json.status }}\",\n \"rightValue\": \"ready\"\n }\n ]\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"83991fdf-0402-4de3-bbb5-7050e3e9fb62\",\n \"name\": \"Set Snapshot Id\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -240,\n -395\n ],\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"8EmNhftXznAGV3dR\",\n \"meta\": {\n \"instanceId\": \"workflow-15d0d343\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.440889\",\n \"updatedAt\": \"2025-09-29T07:07:59.440898\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Phishing_analysis__URLScan_io_and_Virustotal_\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"f170068a-4540-4fbd-bd17-00a6367989d1\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1760,\n 560\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5a1e0490-6971-4490-a806-46da5e226365\",\n \"name\": \"sends slack message\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n -360,\n 1280\n ],\n \"parameters\": {\n \"text\": \"=*Email Analysis*\\n\\nSubject: {{ $('Microsoft Outlook').item.json[\\\"subject\\\"] }}\\nFrom: {{ $('Microsoft Outlook').item.json[\\\"sender\\\"][\\\"emailAddress\\\"][\\\"address\\\"] }}\\nDate: {{ $('Microsoft Outlook').item.json[\\\"sentDateTime\\\"] }}\\n\\nReport:\\n\\n*URLScan Report URL:* {{ $('urlscan.io').item.json.result ? $('urlscan.io').item.json.result : \\\"N/A\\\" }}\\n*Virustotal report:* {{ $env.WEBHOOK_URL }}{{ $json[\\\"data\\\"][\\\"id\\\"].split(\\\"-\\\")[1] }}\\n*Virustotal Verdict:* {{ $json.data.attributes.stats.malicious + $json.data.attributes.stats.suspicious }} / {{ Object.keys($json.data.attributes.results).length }}\",\n \"select\": \"channel\",\n \"channelId\": {\n \"__rl\": true,\n \"mode\": \"name\",\n \"value\": \"test-giulio-public\"\n },\n \"otherOptions\": {}\n },\n \"credentials\": {\n \"slackApi\": {\n \"id\": \"{{ $credenti...", "input": "", "output": "In node 'VirusTotal: Scan URL', the parameter 'url' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `{{ $env.API_BASE_URL }}`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'VirusTotal: Scan URL' parameter 'url'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"QCbb7Bm12gDIH0mI\",\n \"meta\": {\n \"instanceId\": \"workflow-4f359054\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.461222\",\n \"updatedAt\": \"2025-09-29T07:07:59.461234\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Keep discord clean\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"dde530b8-edd5-4f1d-a3c8-326925c97269\",\n \"name\": \"Loop Over Channels\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 560,\n 400\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"retryOnFail\": false,\n \"typeVersion\": 3,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3e2684b1-08ad-41bd-930f-cbb229e16617\",\n \"name\": \"Loop Over Messages\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 1260,\n 320\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"430d13be-670f-4e5d-acdf-ffe1a65a49e3\",\n \"name\": \"Every day at 9pm\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n -160,\n 400\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"triggerAtHour\": 21\n }\n ]\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This scheduleTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"6d40f036-c87a-4b68-9ec6-523a3372447c\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 40,\n 600\n ],\n \"parameters\": {\n \"color\": 6,\n \"width...", "input": "", "output": "In node 'Sticky Note3', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `**Tip \ud83d\udc47**\nOAuth2 Authentication is very easy to setup`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note3' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-97471742\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.473722\",\n \"updatedAt\": \"2025-09-29T07:07:59.473741\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"38ffe41a-ecdf-4bb4-bd55-51998abab0f5\",\n \"name\": \"WhatsApp Trigger\",\n \"type\": \"n8n-nodes-base.whatsAppTrigger\",\n \"position\": [\n 220,\n 300\n ],\n \"webhookId\": \"0b1b3a9b-2f6a-4f5a-8385-6365d96f4802\",\n \"parameters\": {\n \"updates\": [\n \"messages\"\n ]\n },\n \"credentials\": {\n \"whatsAppTriggerApi\": {\n \"id\": \"H3uYNtpeczKMqtYm\",\n \"name\": \"WhatsApp OAuth account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This whatsAppTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a35ac268-eff0-46cd-ac4e-c9b047a3f893\",\n \"name\": \"Get Audio URL\",\n \"type\": \"n8n-nodes-base.whatsApp\",\n \"position\": [\n 1020,\n -160\n ],\n \"parameters\": {\n \"resource\": \"media\",\n \"operation\": \"mediaUrlGet\",\n \"mediaGetId\": \"={{ $json.audio.id }}\",\n \"requestOptions\": {}\n },\n \"credentials\": {\n \"whatsAppApi\": {\n \"id\": \"9SFJPeqrpChOkAmw\",\n \"name\": \"WhatsApp account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This whatsApp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a3be543c-949c-4443-bf82-e0d00419ae23\",\n \"name\": \"Get Video URL\",\n \"type\": \"n8n-nodes-base.whatsApp\",\n \"position\": [\n 1020,\n 200\n ],\n \"parameters\": {\n \"resource\": \"media\",\n \"operation\": \"mediaUrlGet\",\n \"mediaGetId\": \"={{ $json.video.id }}\",\n \"requestOptions\": {}\n },\n \"credentials\": {\n \"whatsAppApi\": {\n \"id\": \"9S...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"EnfvHdczSXHN8vNv\",\n \"meta\": {\n \"instanceId\": \"workflow-1edf0cb3\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.496650\",\n \"updatedAt\": \"2025-09-29T07:07:59.496658\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Resume Screening & Behavioral Interviews with Gemini, Elevenlabs, & Notion ATS copy\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"eb481f48-a0bb-43b6-bb6f-bd6de416ed3c\",\n \"name\": \"Merge\",\n \"type\": \"n8n-nodes-base.merge\",\n \"position\": [\n 1480,\n 700\n ],\n \"parameters\": {\n \"mode\": \"combine\",\n \"options\": {},\n \"combineBy\": \"combineAll\"\n },\n \"typeVersion\": 3,\n \"notes\": \"This merge node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3d98e145-b7c7-482a-8510-3ab6e442f65e\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 3180,\n 880\n ],\n \"parameters\": {\n \"schemaType\": \"manual\",\n \"inputSchema\": \"{\\n\\t\\\"type\\\": \\\"object\\\",\\n\\t\\\"properties\\\": {\\n\\t\\t\\\"resume_score\\\": {\\n\\t\\t\\t\\\"type\\\": \\\"string\\\"\\n\\t\\t},\\n\\t\\t\\\"resume_evaluation\\\": {\\n\\t\\t\\t\\\"type\\\": \\\"string\\\"\\n\\t\\t}\\n\\t}\\n}\"\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This outputParserStructured node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ad85623d-7c18-4b80-b5a9-3515096e2917\",\n \"name\": \"HR Expert\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 3000,\n 700\n ],\n \"parameters\": {\n \"text\": \"=Profile received:\\n{{ $json.job_description }}\\n\\nCandidate:\\n{{ $('Applicant Summary').item.json.response.text }}\",\n \"messages\": {\n \"messageValues\": [\n {\n \"message\": \"Y...", "input": "", "output": "In node 'Sticky Note23', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: `# Application \n## Applicant initiates process from Notion hosted Career Page (free template), submitting application using N8N form embedded into job postings. Hidden field in form, Job Code, matches applicant to position. The current configuration enables the employer to run AI recruiting for 3 roles at the same time. Templates can be expanded to accommodate more than 3 jobs.`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note23' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"Tqa8dikBDLYEytx5\",\n \"meta\": {\n \"instanceId\": \"workflow-2c5929e6\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.491012\",\n \"updatedAt\": \"2025-09-29T07:07:59.491032\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Automated Content SEO Audit Report\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"b5f15675-35c9-42a1-b7eb-bfaf0b467a5a\",\n \"name\": \"Set Fields\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 280,\n 620\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"e71886f0-104f-412b-9fef-d2b3738cebf0\",\n \"name\": \"dfs_domain\",\n \"type\": \"string\",\n \"value\": \"yourclientdomain.com\"\n },\n {\n \"id\": \"de35327e-1e32-4996-970a-50b8953c7709\",\n \"name\": \"dfs_max_crawl_pages\",\n \"type\": \"string\",\n \"value\": \"1000\"\n },\n {\n \"id\": \"0d6b4d1a-e57d-4e38-8aa5-e2ea5589a089\",\n \"name\": \"dfs_enable_javascript\",\n \"type\": \"string\",\n \"value\": \"false\"\n },\n {\n \"id\": \"d699e487-ab74-483f-8cd8-cdcfaca567d7\",\n \"name\": \"company_name\",\n \"type\": \"string\",\n \"value\": \"Custom Workflows AI\"\n },\n {\n \"id\": \"da123535-f678-4331-973a-07711b7aaaac\",\n \"name\": \"company_website\",\n \"type\": \"string\",\n \"value\": \"{{ $env.WEBHOOK_URL }}\"\n },\n {\n \"id\": \"e12486eb-7019-4639-85a9-c55b4c62beef\",\n \"name\": \"company_logo_url\",\n \"type\": \"string\",\n \"value\": \"{{ $env.WEBHOOK_...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"UsBaGY83vnyZjRoB\",\n \"meta\": {\n \"instanceId\": \"workflow-d4ec16e1\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.496285\",\n \"updatedAt\": \"2025-09-29T07:07:59.496294\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"TopSourcer - Finds LinkedIn Profiles using natural language\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"trigger-0f3d32a3\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n 100,\n 100\n ],\n \"parameters\": {}\n },\n {\n \"id\": \"16a5f4a2-6e00-40f5-bab7-35526550eacd\",\n \"name\": \"Wait\",\n \"type\": \"n8n-nodes-base.wait\",\n \"position\": [\n 3240,\n -280\n ],\n \"webhookId\": \"88c6a5cc-4b33-438c-ba85-2e075a276a78\",\n \"parameters\": {},\n \"typeVersion\": 1.1,\n \"notes\": \"This wait node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f9ff2e4f-176b-453d-8743-cab4d9fd408d\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1040,\n -180\n ],\n \"webhookId\": \"475042df-7c36-4658-ab1c-ff55c237621f\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b988c049-2400-4a3a-b615-f4048832bd8d\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 980,\n -340\n ],\n \"parameters\": {\n \"content\": \"Click \\\"Open Chat\\\" after activating the workflow.\\n\\nHere, paste in a job description or describe your ideal candidate.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node perfo...", "input": "", "output": "The node 'Appends the results to the sheet' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Appends the results to the sheet'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"VaU41OXvni95OlAL\",\n \"meta\": {\n \"instanceId\": \"workflow-b5f44f26\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.501733\",\n \"updatedAt\": \"2025-09-29T07:07:59.501752\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"address validation\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"c6e389ae-6db2-416b-8f6f-91749fbc860f\",\n \"name\": \"get order data\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 2500,\n 880\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"sendHeaders\": true,\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpBasicAuth\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"X-Billbee-Api-Key\",\n \"value\": \"={{ $json['X-Billbee-Api-Key'] }}\"\n }\n ]\n }\n },\n \"typeVersion\": 4.1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1b27594b-af74-4c25-bb4f-27550bcd152e\",\n \"name\": \"Split Out Order Data\",\n \"type\": \"n8n-nodes-base.splitOut\",\n \"position\": [\n 2660,\n 880\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldToSplitOut\": \"Data.ShippingAddress.BillbeeId, Data.ShippingAddress.FirstName, Data.ShippingAddress.LastName, Data.ShippingAddress.Street, Data.ShippingAddress.HouseNumber, Data.ShippingAddress.Zip, Data.ShippingAddress.City, Data.ShippingAddress.CountryISO2, Data.ShippingAddress.Line2, Data.ShippingAddress.NameAddition\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This splitOut node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"43808f6f-815d-419...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-27842f16\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.523244\",\n \"updatedAt\": \"2025-09-29T07:07:59.523264\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"cb62c9a5-2f43-4328-af94-84c2cb731d9c\",\n \"name\": \"Base Image\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 260,\n 660\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"id\",\n \"value\": \"={{ $json.base }}\"\n },\n \"options\": {\n \"binaryPropertyName\": \"data_1\"\n },\n \"operation\": \"download\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"yOwz41gMQclOadgu\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersion\": 3,\n \"notes\": \"This googleDrive node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b1c304cc-9949-441a-ac2a-275c8d4c51fc\",\n \"name\": \"Google Gemini Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1120,\n 900\n ],\n \"parameters\": {\n \"options\": {},\n \"modelName\": \"models/gemini-1.5-pro-latest\"\n },\n \"credentials\": {\n \"googlePalmApi\": {\n \"id\": \"dSxo6ns5wn658r8N\",\n \"name\": \"Google Gemini(PaLM) Api account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatGoogleGemini node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"964d94bf-be2a-424e-ab0e-c1c1fe260ebd\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1320,\n 900\n ],\n \"parameters\": {\n \"schemaType\": \"manual\",\n \"inputSchema\": \"{\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n\\t\\\"properties\\\": {\\n\\t\\...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"WBkJdubQjVzMUhwi\",\n \"meta\": {\n \"instanceId\": \"workflow-6c91e266\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.573888\",\n \"updatedAt\": \"2025-09-29T07:07:59.573909\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Shopify to Google Sheets Product Sync Automation\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"b2a5a0ac-4ce8-4d81-8d7f-01c0e5e35fd7\",\n \"name\": \"Wait1\",\n \"type\": \"n8n-nodes-base.wait\",\n \"position\": [\n 1520,\n 380\n ],\n \"webhookId\": \"93996a89-7e6c-4f08-9e42-eceb160a7d89\",\n \"parameters\": {\n \"unit\": \"seconds\",\n \"amount\": 10\n },\n \"typeVersion\": 1,\n \"notes\": \"This wait node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"681361ff-0648-46bd-bff2-2f4c4c17624a\",\n \"name\": \"No Operation, do nothing\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1620,\n 180\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1836d799-a821-44c0-b1a7-7d9354afccd4\",\n \"name\": \"Shopify get products\",\n \"type\": \"n8n-nodes-base.graphql\",\n \"position\": [\n 320,\n 200\n ],\n \"parameters\": {\n \"query\": \"=query getProducts($first: Int = {{ $json.batchsize }}, $after: String = \\\"{{ $json.endCursor }}\\\") {\\n products(first: $first, after: $after) {\\n edges {\\n node {\\n title\\n tags\\n description\\n variants(first: 1) {\\n edges {\\n node {\\n price\\n }\\n }\\n }\\n }\\n }\\n pageInfo {\\n hasNextPage\\n endCursor\\n }\\n }\\n}\\n\",\n \"endpoint\": \"{{ $env.API_BASE...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"WGUpujme8ctIkBF8\",\n \"meta\": {\n \"instanceId\": \"workflow-4465c5e8\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.595825\",\n \"updatedAt\": \"2025-09-29T07:07:59.595837\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Live link checker\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"40009961-9c97-49ee-b9ce-440e65b41e47\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n -280,\n 200\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"85a73ac8-a8c6-4b5e-a870-3b1a58336037\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1060,\n 200\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a1495fc5-d39d-4cf5-b8d3-a804d82ba1a5\",\n \"name\": \"Reads Google Sheets\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n -780,\n 200\n ],\n \"parameters\": {\n \"options\": {\n \"dataLocationOnSheet\": {\n \"values\": {\n \"range\": \"D1:E\",\n \"rangeDefinition\": \"specifyRangeA1\"\n }\n }\n },\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": 1573787772,\n \"cachedResultUrl\": \"\",\n \"cachedResultName\": \"Lost links\"\n },\n \"documentId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"10CYntk8OmYemJBpcfs1dH_7p_PJxiBMpsfATtLYw7jI\",\n \"...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"XiwLd0JwGmDoY0mr\",\n \"meta\": {\n \"instanceId\": \"workflow-51f0e5b0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.628986\",\n \"updatedAt\": \"2025-09-29T07:07:59.629000\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Image-to-3D\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"8cc77575-854f-4359-8faa-fc78b8c23b65\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -220,\n 400\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0dc7e6b8-43b8-4b9a-aa7a-4a100598162f\",\n \"name\": \"Get status\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 840,\n 400\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"daOZafXpRXLtoLUV\",\n \"name\": \"Fal.run API\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7540df1c-35e2-4ac5-871d-4d8410217979\",\n \"name\": \"Wait 60 sec.\",\n \"type\": \"n8n-nodes-base.wait\",\n \"position\": [\n 660,\n 400\n ],\n \"webhookId\": \"e10e9912-38e7-4e1f-ad7e-52b1e6a65d79\",\n \"parameters\": {\n \"amount\": 60\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This wait node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"44c4b506-2a14-40ca-a75f-7af86ef5a9af\",\n \"name\": \"Schedu...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"YOUR_WORKFLOW_ID\",\n \"meta\": {\n \"instanceId\": \"workflow-84a1ef9a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.606866\",\n \"updatedAt\": \"2025-09-29T07:07:59.606907\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Automated Content Generation & Publishing - Wordpress\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"9cd63357-19dc-4420-baa9-1e1389c7120f\",\n \"name\": \"Create posts on Wordpress\",\n \"type\": \"n8n-nodes-base.wordpress\",\n \"position\": [\n 1180,\n 280\n ],\n \"parameters\": {\n \"title\": \"={{ $('Save to Sheet').item.json['title'] }}\",\n \"additionalFields\": {\n \"status\": \"publish\",\n \"content\": \"=\\\"image

\\n

\\n{{ $node['Save to Sheet'].json['content'] }}\"\n }\n },\n \"credentials\": {\n \"wordpressApi\": {\n \"id\": \"YOUR_WORDPRESS_CREDENTIAL_ID\",\n \"name\": \"Wordpress account 2\"\n }\n },\n \"typeVersion\": 1,\n \"alwaysOutputData\": false,\n \"notes\": \"This wordpress node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"65f62f19-d10f-4ca1-a853-9cedb3506743\",\n \"name\": \"Processing Delay\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 180,\n 580\n ],\n \"parameters\": {\n \"jsCode\": \"const delay = Math.floor(Math.random() * (6 * 60 * 60 * 1000)); // random delay 0-6 hour\\nreturn {\\n json: {\\n delay: delay,\\n delay_minutes: Math.round(delay / 60000), // to minutes\\n delay_hours: (delay / 3600000).toFixed(2) // to hours\\n }\\n};\\n\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This cod...", "input": "", "output": "In node 'Sticky Note7', the parameter 'content' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `Add your API credential`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Sticky Note7' parameter 'content'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"aOP0D1cAqzGv7Xa8\",\n \"meta\": {\n \"instanceId\": \"workflow-3c303a2b\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.592250\",\n \"updatedAt\": \"2025-09-29T07:07:59.592264\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"spy tool\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"5690844d-5322-4c62-8c83-eb4d4dc9c481\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1400,\n 340\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"ZOKbogCxHnP2W0H5\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3b1c034f-501b-423c-844f-9cb607fa91e6\",\n \"name\": \"Gmail\",\n \"type\": \"n8n-nodes-base.gmailTool\",\n \"position\": [\n 1580,\n 340\n ],\n \"webhookId\": \"6a510528-22e0-4140-b987-770bb7a138de\",\n \"parameters\": {\n \"sendTo\": \"tom@sleak.chat\",\n \"message\": \"={{ $fromAI(\\\"change\\\", \\\"What relevant part has changed on the website?\\\") }}\",\n \"options\": {\n \"appendAttribution\": false\n },\n \"subject\": \"=Relevant changes on {{ $('parse results').item.json.website_url }}\",\n \"emailType\": \"text\",\n \"descriptionType\": \"manual\",\n \"toolDescription\": \"=Use this tool if you need to send an email, but only if the terms in the instructions mentioned explicitly state so\\n\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"jtANm6k92Kl6ent1\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1,\n \"notes\": \"This gmailTool node ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"aqLL3BAXqQIjeJDt\",\n \"meta\": {\n \"instanceId\": \"workflow-92762971\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.644476\",\n \"updatedAt\": \"2025-09-29T07:07:59.644491\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"AI Automated TikTok/Youtube Shorts/Reels Generator\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"e5095169-dc78-4d90-9662-04cfc82c38d9\",\n \"name\": \"Get image\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 220,\n 40\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"sendHeaders\": true,\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"X-API-Key\",\n \"value\": \"={{ $('Set API Keys').item.json['PiAPI Key'] }}\"\n }\n ]\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f477250a-fc8e-407e-a632-cffc0e564596\",\n \"name\": \"Generate Image\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -60,\n 40\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"body\": \"={\\n \\\"model\\\": \\\"Qubico/flux1-dev\\\",\\n \\\"task_type\\\": \\\"txt2img\\\",\\n \\\"input\\\": {\\n \\\"prompt\\\": \\\"{{ $('Generate Image Prompts').item.json.choices[0].message.content }} realistic and casual as if taken by an iphone camera by a TikTok influencer\\\",\\n \\\"negative_prompt\\\": \\\"taking a photo of a room, recording a video of a room, photos app, video recorder, illegible text, blurry text, low quality text, DSLR, unnatural\\\",\\n \\\"width\\\": 540,\\n \\\"height\\\": 960\\n }\\n}\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"hmgR6wOkuqrn5y4Y\",\n \"meta\": {\n \"instanceId\": \"workflow-943e5729\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.618941\",\n \"updatedAt\": \"2025-09-29T07:07:59.618956\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"N_01_Simple_Lead_Tracker_Automation_v4\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"a69ff573-797d-4a77-a831-940168046448\",\n \"name\": \"Google Sheets Trigger\",\n \"type\": \"n8n-nodes-base.googleSheetsTrigger\",\n \"position\": [\n -720,\n 300\n ],\n \"parameters\": {\n \"options\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n },\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": 1001688681,\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Form Responses 1\"\n },\n \"documentId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"16xNeIG_QLUtOoFulbWemXrUAOKwxaHaGU7DywJLDiRk\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Simple Lead Tracker (Responses)\"\n }\n },\n \"credentials\": {\n \"googleSheetsTriggerOAuth2Api\": {\n \"id\": \"JH9HQfSo1Q5lJsws\",\n \"name\": \"Google Sheets Trigger account\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This googleSheetsTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ce9845a5-09da-44f9-b0c4-da380cf828d4\",\n \"name\": \"Slack\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n 20,\n 120\n ],\n \"webhookId\": \"e376c2f4-7894-48c0-a510-b2869bcff786\",\n \"parameters\": {\n \"text\": \"=\\ud83c\\udfaf *New Lead...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\" \"mN7jDJoWHtJuyKpS\",\n \"meta\": {\n \"instanceId\": \"workflow-16f96541\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.725800\",\n \"updatedAt\": \"2025-09-29T07:07:59.725816\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Generate Graphic Wallpaper with Midjourney, GPT-4o-mini and Canvas APIs\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"11cef766-dd10-46ea-98cf-11eb8d95e157\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 280,\n 80\n ],\n \"parameters\": {\n \"width\": 520,\n \"height\": 200,\n \"content\": \"## Generate Graphic Wallpaper with Midjourney, GPT-4o-mini and Canvas APIs\\nWe design this workflow with PiAPI APIs and Canvas API with the purpose to produce a visually compelling image with resonant copy to spark emotional connection. \\ud83d\\ude4c \\nWish you make a fantastic generation with our workflow! \"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ba7143d7-442d-4153-9cfd-bb36448d4c91\",\n \"name\": \"Midjourney Generator\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1200,\n 320\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"model\\\": \\\"midjourney\\\",\\n \\\"task_type\\\": \\\"imagine\\\",\\n \\\"input\\\": {\\n \\\"prompt\\\": \\\"{{ $json.prompt }}\\\",\\n \\\"aspect_ratio\\\": \\\"1:1\\\",\\n \\\"process_mode\\\": \\\"turbo\\\",\\n \\\"skip_prompt_check\\\": false\\n }\\n}\",\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"specifyBody\": \"json\",\n \"headerParameters\": {\n \"parameters\": [\n {\n ...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"phqg5Kk3YowxoMHQ\",\n \"meta\": {\n \"instanceId\": \"workflow-6e84ab72\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.789764\",\n \"updatedAt\": \"2025-09-29T07:07:59.789788\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Namesilo Bulk Domain Availability [Template]\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"b1184b35-0ab4-42d8-a5b2-66ef926d7eed\",\n \"name\": \"Set Data\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -240,\n 0\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"05a34cf0-9462-4684-aac8-32b4b17e9ef0\",\n \"name\": \"Domains\",\n \"type\": \"string\",\n \"value\": \"=domain1.com\\ndomain2.com\\ndomain3.com\"\n },\n {\n \"id\": \"438830f9-27fe-4e89-bcb9-766483e2d9b1\",\n \"name\": \"Namesilo API Key\",\n \"type\": \"string\",\n \"value\": \"YOUR_API_KEY\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"7fc40d31-a43b-4273-a6eb-d519fda815d4\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -800,\n -340\n ],\n \"parameters\": {\n \"width\": 580,\n \"height\": 280,\n \"content\": \"## How-To\\n1. Claim your free Namesilo API key here: {{ $env.API_BASE_URL }}\\n\\n2. Set your API key and domains in \\\"Set Data\\\" node.\\n\\nThe workflow send up to 200 domains per loop until all domains are processed. The output is in Excel format.\\n\\nEnjoy!\\n\\nNote: Each loop wait 5min. This is required due to Namesilo rate limits.\"\n },\n \"typeVers...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"piapgd2e6zmzFxAq\",\n \"meta\": {\n \"instanceId\": \"workflow-d5e5bdfe\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.727435\",\n \"updatedAt\": \"2025-09-29T07:07:59.727452\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"HDW Lead Gel\\u00e4ndewagen\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"8fab1dcf-f454-4155-be32-a4e007a79ab0\",\n \"name\": \"When chat message received\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -540,\n 280\n ],\n \"webhookId\": \"77186e98-b103-4ac7-962b-fcae8180f982\",\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.1,\n \"notes\": \"This chatTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c4791561-6919-46a9-8ee0-4328aac9bfa0\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -260,\n 520\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o\",\n \"cachedResultName\": \"gpt-4o\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"ul99SH6843ii6CQj\",\n \"name\": \"OpenAi account\"\n }\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c82903df-8b58-4789-987a-116c11c78215\",\n \"name\": \"Simple Memory\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n -120,\n 520\n ],\n \"parameters\": {},\n \"typeVersion\": 1.3,\n \"notes\": \"This memoryBufferWindow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c65f5035-804f-4e50-948e-ab863e800393\",\n \"name\": \"S...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"sB6dC0GZ7zZHuMGF\",\n \"meta\": {\n \"instanceId\": \"workflow-e24ef687\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.776736\",\n \"updatedAt\": \"2025-09-29T07:07:59.776753\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Test Webhooks in n8n Without Changing WEBHOOK_URL (PostBin & BambooHR Example)\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"2529ea94-8427-4fbb-bac0-79fec29fe943\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 440,\n 1220\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"067ce1b6-a511-448b-a268-7d0869ed2b36\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 600,\n 980\n ],\n \"parameters\": {\n \"color\": 6,\n \"width\": 550.7128407259806,\n \"height\": 151.03568930452542,\n \"content\": \"### Requirements:\\n1. **BambooHR instance** ([free trial link]({{ $env.WEBHOOK_URL }}\\n2. **BambooHR API key*** ([documentation]({{ $env.WEBHOOK_URL }}\\n3. **Slack connection** ([n8n documentation]({{ $env.WEBHOOK_URL }}\\n* **Note about API key**: Set up in n8n as Generic Credential (Basic Auth) with the API key as the username and any string for the password.\\n\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"62a65021-8bc5-4bd3-95e4-b0616c0cbbe6\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1620,\n 1620\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 804.2...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"vpZ1wpsniCvKYjCF\",\n \"meta\": {\n \"instanceId\": \"workflow-45463f46\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.842974\",\n \"updatedAt\": \"2025-09-29T07:07:59.842990\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"General 3D Presentation\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"629ef84e-ffb7-4143-b0af-764bcb86a7fa\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 360,\n 40\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d2751dcb-fd03-4a87-a501-43f701d2704a\",\n \"name\": \"Prompt\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 580,\n 40\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"{\\n \\\"model\\\": \\\"midjourney\\\",\\n \\\"task_type\\\": \\\"imagine\\\",\\n \\\"input\\\": {\\n \\\"prompt\\\": \\\"A blind box character design, in the chibi style, a super cute little girl wearing a white long-sleeved dress and pearl earrings with her head bowed in a prayer pose, facing upwards, wearing an oversized off-white dress with large round pearls on the shoulders, minimalist simple dress with Ruffles, against a beige background, a full-body shot in a three-quarter profile view, with a black, blue, and gray color scheme, soft lighting, 3D rendering, clay material, high detail, in the Pixar style. Clean white skin, brown renaissance braided bun. --ar 1:1 --niji 6\\\",\\n \\\"aspect_ratio\\\": \\\"2:3\\\",\\n \\\"process_mode\\\": \\\"turbo\\\",\\n \\\"skip_prompt_check\\\": false\\n }\\n}\",\n \"sendBody\": true,\n \"...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"wLbJ7rE6vQzizCp2\",\n \"meta\": {\n \"instanceId\": \"workflow-035e2c9c\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:07:59.923873\",\n \"updatedAt\": \"2025-09-29T07:07:59.923893\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Youtube_Automation\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"2001b9ca-f76b-437e-90a9-16c0d17accef\",\n \"name\": \"Fetch Latest Videos\",\n \"type\": \"n8n-nodes-base.youTube\",\n \"position\": [\n -60,\n 40\n ],\n \"parameters\": {\n \"limit\": 1,\n \"filters\": {},\n \"options\": {\n \"order\": \"date\"\n },\n \"resource\": \"video\"\n },\n \"credentials\": {\n \"youTubeOAuth2Api\": {\n \"id\": \"cpgVAMXp8iMLXwKW\",\n \"name\": \"Private Pres\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This youTube node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e8857adf-63ec-4612-aa49-cd77130a6728\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n 160,\n 40\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"1a8cf640-caf4-4163-a658-400714702314\",\n \"name\": \"YT Title\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"disabled\": true,\n \"position\": [\n 2220,\n 120\n ],\n \"parameters\": {\n \"modelId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4.1-nano\",\n \"cachedResultName\": \"GPT-4.1-NANO\"\n },\n \"options\": {},\n \"messages\": {\n \"values\": [\n {\n \"role\": \"system\",\n \"conte...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"xEij0kj2I1DHbL3I\",\n \"meta\": {\n \"instanceId\": \"workflow-04c44e27\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.010660\",\n \"updatedAt\": \"2025-09-29T07:08:00.010680\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"\\ud83d\\udca1\\ud83c\\udf10 Essential Multipage Website Scraper with Jina.ai\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"3a503859-ef0a-492d-81c6-37e4f0c4c25e\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -840,\n 0\n ],\n \"parameters\": {\n \"color\": 3,\n \"width\": 340,\n \"height\": 320,\n \"content\": \"## Jina.ai Web Scraper\\n### No API Key Required\\n\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c5217a1a-f074-409b-8340-72afdc5fc8b5\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -1500,\n -300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"72af3b00-2632-4877-a0b6-7477e2f468f7\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"position\": [\n -1080,\n 20\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 3,\n \"notes\": \"This splitInBatches node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"11f0fa02-51f8-41cc-b789-5c452b6899aa\",\n \"name\": \"Wait\",\n \"type\": \"n8n-nodes-base.wait\",\n \"position\": [\n 80,\n 220\n ],\n \"webhookId\": \"081ce124-0cbf-4a21-a1e7-2c465f460448\",\n ...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"ynTqojfUnGpG2rBP\"\n \"meta\": {\n \"instanceId\": \"workflow-ef1641f5\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.141042\",\n \"updatedAt\": \"2025-09-29T07:08:00.141064\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Merge multiple runs into one\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"a42e0906-2d44-4b9b-b4fa-63ab3c2a6abf\",\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 120,\n 340\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"220df874-90fd-4cb0-aea5-f238d33a7bcc\",\n \"name\": \"Customer Datastore\",\n \"type\": \"n8n-nodes-base.n8nTrainingCustomerDatastore\",\n \"position\": [\n 340,\n 340\n ],\n \"parameters\": {\n \"operation\": \"getAllPeople\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This n8nTrainingCustomerDatastore node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e2819ff4-9ba8-4af4-8249-1edc018493ff\",\n \"name\": \"Wait\",\n \"type\": \"n8n-nodes-base.wait\",\n \"position\": [\n 780,\n 340\n ],\n \"webhookId\": \"bfa744d6-ed39-4788-a6b5-836600f368bc\",\n \"parameters\": {\n \"unit\": \"seconds\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This wait node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"e4c50762-d7f0-420b-8043-44060cd51451\",\n \"name\": \"Done looping?\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 1220,\n 340\n ],\n \"parameters\": {\n \"conditions\": {\n \"boolean\": [\n {\n \"value1\": \"={{$node[\\\"Loop Over Items\\\"].context...", "input": "", "output": "The JSON is invalid because a comma is missing between properties. JSON requires commas to separate object properties and array elements.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing comma between object properties.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"id\": \"42\",\n \"name\": \"Receive updates when a form submission occurs in your Webflow website\",\n \"nodes\": [\n {\n \"name\": \"Webflow Trigger\",\n \"type\": \"n8n-nodes-base.webflowTrigger\",\n \"position\": [\n 514,\n 217\n ],\n \"webhookId\": \"ce934229-1396-4920-8bfe-10579aa6f9dd\",\n \"parameters\": {\n \"site\": \"5f4e2d2bbdf69039816428f7\",\n \"authentication\": \"{{ $credentials.oAuth2 }}\"\n },\n \"credentials\": {\n \"webflowOAuth2Api\": \"webflow\"\n },\n \"typeVersion\": 1,\n \"id\": \"7a64ad4a-b7b0-4c8d-af38-fa3a2f49e4e4\",\n \"notes\": \"This webflowTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"error-44837c24\",\n \"name\": \"Error Handler\",\n \"type\": \"n8n-nodes-base.stopAndError\",\n \"typeVersion\": 1,\n \"position\": [\n 1000,\n 400\n ],\n \"parameters\": {\n \"message\": \"Workflow execution error\",\n \"options\": {},\n \"_injected_number_field\": \"not_a_number\"\n }\n }\n ],\n \"active\": false,\n \"settings\": {\n \"executionOrder\": \"v1\",\n \"saveManualExecutions\": true,\n \"callerPolicy\": \"workflowsFromSameOwner\",\n \"errorWorkflow\": null,\n \"timezone\": \"UTC\",\n \"executionTimeout\": 3600,\n \"maxExecutions\": 1000,\n \"retryOnFail\": true,\n \"retryCount\": 3,\n \"retryDelay\": 1000\n },\n \"connections\": {},\n \"description\": \"Automated workflow: Receive updates when a form submission occurs in your Webflow website. This workflow processes data and performs automated tasks.\",\n \"meta\": {\n \"instanceId\": \"workflow-39b5702e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.053940\",\n \"updatedAt\": \"2025-09-29T07:08:00.053953\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"notes\": \"E...", "input": "", "output": "The node 'Error Handler' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Error Handler'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Airtable\",\n \"type\": \"n8n-nodes-base.airtable\",\n \"position\": [\n 1650,\n 300\n ],\n \"parameters\": {\n \"table\": \"Pokemon\",\n \"operation\": \"list\",\n \"additionalOptions\": {}\n },\n \"credentials\": {\n \"airtableApi\": \"Airtable Credentials @n8n\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-905e6f6f\"\n },\n {\n \"name\": \"Redis\",\n \"type\": \"n8n-nodes-base.redis\",\n \"position\": [\n 600,\n 600\n ],\n \"parameters\": {\n \"key\": \"{{ $credentials.key }}\",\n \"ttl\": 3600,\n \"expire\": true,\n \"operation\": \"incr\"\n },\n \"credentials\": {\n \"redis\": \"Redis Cloud Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-55f2f76c\"\n },\n {\n \"name\": \"Redis1\",\n \"type\": \"n8n-nodes-base.redis\",\n \"position\": [\n 1200,\n 450\n ],\n \"parameters\": {\n \"key\": \"{{ $credentials.key }}\",\n \"operation\": \"incr\"\n },\n \"credentials\": {\n \"redis\": \"Redis Cloud Credentials\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-155b97cd\"\n },\n {\n \"name\": \"Set1\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1600,\n 550\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"message\",\n \"value\": \"You exceeded your limit\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"node-3d7ccd78\"\n },\n {\n \"name\": \"Webhook1\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 200,\n 600\n ],\n \"webhookId\": \"a3167ed7-98d2-422c-bfe2-e3ba599d19f1\",\n \"parameters\": {\n \"path\": \"a3167ed7-98d2-422c-bfe2-e3ba599d19f1\",\n \"options\": {},\n \"responseMode\": \"lastNode\",\n \"authentication\": \"{{ $credentials.headerAuth }}\"\n },\n \"credent...", "input": "", "output": "In node 'Function', the parameter 'functionCode' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $env.UNDEFINED_ENV_VAR }}`\n**Original Value**: ` const limit = `Limit consumed: `+ $node['Redis1'].json[$node[\"Set2\"].json[\"apiKey\"]];\n return [\n {\n json: {\n message:limit,\n body: items.map(item => {\n const name= item.json.fields.name\n const url= item.json.fields.url\n return {name,url}\n })\n }\n }\n]\n`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'Function' parameter 'functionCode'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"name\": \"Receive Slash Command\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n 240,\n 100\n ],\n \"webhookId\": \"3c0d3820-5896-41c5-83bf-1cd5e956c32c\",\n \"parameters\": {\n \"path\": \"3c0d3820-5896-41c5-83bf-1cd5e956c32c\",\n \"options\": {},\n \"httpMethod\": \"POST\",\n \"responseMode\": \"responseNode\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-edd36b96\"\n },\n {\n \"name\": \"Reject\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 680,\n 200\n ],\n \"parameters\": {\n \"options\": {\n \"responseCode\": 403\n },\n \"respondWith\": \"noData\"\n },\n \"typeVersion\": 1,\n \"id\": \"node-05b6b58b\"\n },\n {\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 680,\n 0\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"operation\",\n \"value\": \"={{$json[\\\"body\\\"][\\\"text\\\"].split(\\\" \\\")[0].toLowerCase()}}\"\n },\n {\n \"name\": \"email\",\n \"value\": \"={{$json[\\\"body\\\"][\\\"text\\\"].split(\\\" \\\")[1].toLowerCase()}}\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"id\": \"node-4f943ad7\"\n },\n {\n \"name\": \"Read Command\",\n \"type\": \"n8n-nodes-base.switch\",\n \"position\": [\n 900,\n 0\n ],\n \"parameters\": {\n \"rules\": {\n \"rules\": [\n {\n \"value2\": \"delete\"\n }\n ]\n },\n \"value1\": \"={{$json[\\\"operation\\\"]}}\",\n \"dataType\": \"string\",\n \"fallbackOutput\": 3\n },\n \"typeVersion\": 1,\n \"id\": \"node-7a71bd8a\"\n },\n {\n \"name\": \"Wrong Command Error\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 1120,\n 100\n ],\n \"parameters\": {\n ...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"35c4aa9f-7535-4315-9174-fe97afc6de2e\",\n \"name\": \"On clicking 'execute'\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 240,\n 300\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ed1f4f78-733f-4dd5-9785-969c9ec0d637\",\n \"name\": \"Get overview page\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 460,\n 300\n ],\n \"parameters\": {\n \"url\": \"{{ $env.WEBHOOK_URL }}\",\n \"options\": {},\n \"responseFormat\": \"string\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"28333c78-aa8f-401a-8033-2007a5e6991c\",\n \"name\": \"Extract links\",\n \"type\": \"n8n-nodes-base.htmlExtract\",\n \"position\": [\n 680,\n 300\n ],\n \"parameters\": {\n \"options\": {},\n \"extractionValues\": {\n \"values\": [\n {\n \"key\": \"YOUR_CREDENTIAL_HERE\",\n \"attribute\": \"href\",\n \"cssSelector\": \"a[href*=\\\"/episode/\\\"]\",\n \"returnArray\": true,\n \"returnValue\": \"attribute\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This htmlExtract node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"58840494-4208-49ce-b82a-d7cf8abd3b29\",\n \"name\": \"Remove duplicate links\",\n \"type\": \"n8n-nodes-base.itemLists\",\n \"position\": [\n 1120,\n 300\n ],\n \"parameters\": {\n \"operation\": \"removeDuplicates\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This itemLists node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"17efb905-b947-4538-ab34-d50bf7fdbd75\",\n \"name\": \"Split out lists\",\n \"type\": \"n8n-nodes-base.itemLists\",\n \"pos...", "input": "", "output": "This workflow may experience timeout issues with long-running API requests.\n\n**Symptoms**:\n- Execution hangs indefinitely\n- Connection timeout errors\n- ETIMEDOUT or ESOCKETTIMEDOUT errors\n\n**Root Cause**: No timeout configured for HTTP requests, or external services are slow.\n\n**Solutions**:\n\n1. **Set Appropriate Timeouts**:\n```json\n\"options\": {\n \"timeout\": 30000 // 30 seconds\n}\n```\n\n2. **Add Error Handling**:\n- Use Error Trigger node to catch timeout errors\n- Implement fallback logic for failed requests\n\n3. **Use Async Patterns**:\n- For long operations, use webhook callbacks\n- Implement polling patterns instead of waiting\n\n4. **Configure Node Settings**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 2000,\n\"continueOnFail\": true\n```\n\n**Best Practice**: Set reasonable timeouts (10-30 seconds) and always have error handling for external API calls.", "metadata": {"error_type": "Timeout Configuration", "fix_hint": "Configure appropriate timeouts and error handling for HTTP requests.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-a6b2a278\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.158739\",\n \"updatedAt\": \"2025-09-29T07:08:00.158752\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"d2b5460a-b943-4803-85cb-6c6b5126d651\",\n \"name\": \"Lemlist - Add lead to campaign\",\n \"type\": \"n8n-nodes-base.lemlist\",\n \"position\": [\n 1220,\n 180\n ],\n \"parameters\": {\n \"email\": \"={{ $json[\\\"properties\\\"][\\\"email\\\"][\\\"value\\\"] }}\",\n \"resource\": \"lead\",\n \"campaignId\": \"Hiring Signal Lonescale\",\n \"additionalFields\": {\n \"lastName\": \"={{ $json[\\\"properties\\\"][\\\"lastname\\\"][\\\"value\\\"] }}\",\n \"firstName\": \"={{ $json[\\\"properties\\\"][\\\"firstname\\\"][\\\"value\\\"] }}\",\n \"companyName\": \"={{ $json[\\\"properties\\\"][\\\"company\\\"][\\\"value\\\"] }}\",\n \"linkedinUrl\": \"{{ $env.BASE_URL }}\"\n }\n },\n \"credentials\": {\n \"lemlistApi\": {\n \"id\": \"{{ $credentials.lemlistApi.id }}\",\n \"name\": \"lemlist.net\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lemlist node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"bc457c64-890b-4c82-999e-be61fad831df\",\n \"name\": \"HubSpot - Follow up task\",\n \"type\": \"n8n-nodes-base.hubspot\",\n \"position\": [\n 980,\n 480\n ],\n \"parameters\": {\n \"type\": \"task\",\n \"metadata\": {\n \"body\": \"={{ $node[\\\"Lonescale - New Job Intent\\\"].json[\\\"body\\\"][\\\"company_name\\\"] }} is hiring a {{ $node[\\\"Lonescale - New Job Intent\\\"].json[\\\"body\\\"][\\\"job_offers\\\"][0][\\\"job_name\\\"] }}\\n\\nlink:{{ $node[\\\"Lonescale - New Job Intent\\\"].json[\\\"body\\\"][\\\"job_offers\\\"][0][\\\"job_link\\\"] }}\\ncontext: {{ $node[\\\"Lonescale - New Job Intent\\\"].json[\\\"body\\\"][\\\"job_offers\\\"][0][\\\"context_keywords\\\"] }} \"...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-ba50c051\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.188664\",\n \"updatedAt\": \"2025-09-29T07:08:00.188753\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"b5ee413f-2a78-4193-acf7-e5994da7f26d\",\n \"name\": \"Get domain from email\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n -720,\n 700\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"domain\",\n \"value\": \"={{ $json.body.email.split(\\\"@\\\")[1] }}\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 2,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cf045629-7f26-4d67-a620-30e9860f6005\",\n \"name\": \"Verify professional email\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n -540,\n 700\n ],\n \"parameters\": {\n \"jsCode\": \"const freemail_list = [\\\"hitmail.com\\\",\\\"rxdoc.biz\\\",\\\"cox.com\\\",\\\"126.net\\\",\\\"126.com\\\",\\\"comast.com\\\",\\\"comast.net\\\",\\\"yandex.com\\\",\\\"wegas.ru\\\",\\\"twc.com\\\",\\\"charter.com\\\",\\\"outlook.com\\\",\\\"gmx.com\\\",\\\".ddns.org\\\",\\\".findhere.com\\\",\\\".freeservers.com\\\",\\\".zzn.com\\\",\\\"1033edge.com\\\",\\\"11mail.com\\\",\\\"123.com\\\",\\\"123box.net\\\",\\\"123india.com\\\",\\\"123mail.cl\\\",\\\"123qwe.co.uk\\\",\\\"150ml.com\\\",\\\"15meg4free.com\\\",\\\"163.com\\\",\\\"1coolplace.com\\\",\\\"1freeemail.com\\\",\\\"1funplace.com\\\",\\\"1internetdrive.com\\\",\\\"1mail.net\\\",\\\"1me.net\\\",\\\"1mum.com\\\",\\\"1musicrow.com\\\",\\\"1netdrive.com\\\",\\\"1nsyncfan.com\\\",\\\"1under.com\\\",\\\"1webave.com\\\",\\\"1webhighway.com\\\",\\\"212.com\\\",\\\"24horas.com\\\",\\\"2911.net\\\",\\\"2bmail.co.uk\\\",\\\"2d2i.com\\\",\\\"2die4.com\\\",\\\"3000.it\\\",\\\"321media.com\\\",\\\"37.com\\\",\\\"3ammagazine.com\\\",\\\"3dmail.com\\\",\\\"3email.com\\\",\\\"3xl.net\\\",\\\"444.net\\\",\\\"4email.com\\\",\\\"4email.net\\\",\\...", "input": "", "output": "The node 'Sticky Note1' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note1'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-dba4a167\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.194854\",\n \"updatedAt\": \"2025-09-29T07:08:00.194866\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"44eb446d-3775-4fe0-8f76-67f46913531e\",\n \"name\": \"LoadDingTalkAccountMap\",\n \"type\": \"n8n-nodes-base.mySql\",\n \"position\": [\n -600,\n 720\n ],\n \"parameters\": {\n \"table\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"tfs_dingtalk_account_map\",\n \"cachedResultName\": \"tfs_dingtalk_account_map\"\n },\n \"options\": {},\n \"operation\": \"select\",\n \"returnAll\": true\n },\n \"credentials\": {\n \"mySql\": {\n \"id\": \"{{ $credentials.mySql.id }}\",\n \"name\": \"MySQL account\"\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This mySql node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"25d2a3aa-af18-4ff2-af6c-c2bf6618a511\",\n \"name\": \"ReceiveTfsPullRequestCreatedMessage\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n -860,\n 720\n ],\n \"webhookId\": \"05a0f565-7a1e-44f2-956d-1c68982ce314\",\n \"parameters\": {\n \"path\": \"={{ $items[999].json.value }}\",\n \"options\": {},\n \"httpMethod\": \"POST\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"70d69753-9408-4a99-85a4-9dc4486fc460\",\n \"name\": \"BuildDingTalkWebHookData\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n -340,\n 720\n ],\n \"parameters\": {\n \"jsCode\": \"// Code here will run only once, no matter how many input items there are.\\n// More info and help: {{ $env.WEBHOOK_URL }}\\n\\nconsole.log(\\\"items:\\\");\\nconsole.log...", "input": "", "output": "In node 'ReceiveTfsPullRequestCreatedMessage', the parameter 'path' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $items[999].json.value }}`\n**Original Value**: `pr-notify-template`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'ReceiveTfsPullRequestCreatedMessage' parameter 'path'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\" {\n \"instanceId\": \"workflow-6e828e43\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.176641\",\n \"updatedAt\": \"2025-09-29T07:08:00.176657\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"3abfbefa-0a41-4dd2-a79b-99aa02447a6f\",\n \"name\": \"When clicking \\\"Test workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 380,\n 240\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"5233daa6-9b3f-4048-8187-b78decac0bbd\",\n \"name\": \"Delete ID\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 1900,\n 380\n ],\n \"parameters\": {\n \"operation\": \"delete\",\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gid=0\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"Last Member\"\n },\n \"documentId\": {\n \"__rl\": true,\n \"mode\": \"url\",\n \"value\": \"={{ $('Setup: Edit this to get started').first().json['Google Sheets URL'] }}\"\n }\n },\n \"credentials\": {\n \"googleSheetsOAuth2Api\": {\n \"id\": \"{{ $credentials.googleSheetsOAuth2Api.id }}\",\n \"name\": \"Nik's Google\"\n }\n },\n \"executeOnce\": true,\n \"typeVersion\": 4.2,\n \"alwaysOutputData\": true,\n \"notes\": \"This googleSheets node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"d3be48cd-9652-43ea-9bbf-d9d3a6c972ae\",\n \"name\": \"SaveID\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 2040,\n 380\n ],\n \"parameters\": {\n \"columns\": {\n \"value\": {\n \"ID\": \"={{ $('Merge').last().json.user.id }}\"\n ...", "input": "", "output": "The JSON is missing a colon between a key and its value. JSON requires colons to separate keys from values.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add the missing colon after the property name.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-6bc400ad\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.193072\",\n \"updatedAt\": \"2025-09-29T07:08:00.193091\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"8916c4a2-00a1-4c57-a661-0433a71ab316\",\n \"name\": \"Filter out common personal emails\",\n \"type\": \"n8n-nodes-base.filter\",\n \"notes\": \"Saves on Enrichment credits\",\n \"position\": [\n 1000,\n 360\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"or\",\n \"conditions\": [\n {\n \"id\": \"31a3f64f-cce1-44c3-938c-f18e85c670f3\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"notContains\"\n },\n \"leftValue\": \"={{ $json.body.user.email }}\",\n \"rightValue\": \"@gmail.\"\n },\n {\n \"id\": \"60087832-5f76-4dcc-bfe6-c899b3623af7\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"notContains\"\n },\n \"leftValue\": \"={{ $json.body.user.email }}\",\n \"rightValue\": \"@yahoo.\"\n },\n {\n \"id\": \"7fd74d31-ef3d-4a06-aee1-202ade476c10\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"notContains\"\n },\n \"leftValue\": \"={{ $json.body.user.email }}\",\n \"rightValue\": \"@hotmail.\"\n },\n {\n \"id\": \"4f86817c-53ec-4a80-a961-b4c9bd0c8f7c\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"notContains\"\n },\n \"le...", "input": "", "output": "The node 'Post message in Channel' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Post message in Channel'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"8e0a3745-348b-42db-82cc-55676c897ad7\",\n \"name\": \"Start thread\",\n \"type\": \"n8n-nodes-base.slack\",\n \"position\": [\n 1260,\n 180\n ],\n \"parameters\": {\n \"text\": \"=\\ud83e\\uddf5 Got request to `{{ $json.command }}` from @{{$json.user}}\",\n \"select\": \"channel\",\n \"channelId\": {\n \"__rl\": true,\n \"mode\": \"name\",\n \"value\": \"={{ $json.alerts_channel }}\"\n },\n \"otherOptions\": {\n \"link_names\": true\n }\n },\n \"credentials\": {\n \"slackApi\": {\n \"id\": \"{{ $credentials.slackApi.id }}\",\n \"name\": \"Cloudbot bot token\"\n }\n },\n \"typeVersion\": 2,\n \"notes\": \"This slack node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"ee413d6c-dad3-4e57-b08d-ffd0f84c682e\",\n \"name\": \"send help\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 880,\n 560\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"requestMethod\": \"POST\",\n \"jsonParameters\": true,\n \"responseFormat\": \"string\",\n \"bodyParametersJson\": \"={\\n\\\"attachments\\\": [\\n{\\n\\\"text\\\": \\\"\\u2139\\ufe0f <{{ $json.help_docs_url }}|You can find help page here>\\\"\\n}\\n]\\n}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"47c146f9-1223-46a7-bfd6-0fa6ff701efe\",\n \"name\": \"Validate Slack token\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 320,\n 280\n ],\n \"parameters\": {\n \"conditions\": {\n \"string\": [\n {\n \"value1\": \"={{ $json.slack_token }}\",\n \"value2\": \"={{ $json.request_token }}\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-c384e1ac\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.193554\",\n \"updatedAt\": \"2025-09-29T07:08:00.193670\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"01730710-e299-4e66-93e9-6079fdf9b8b7\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 2120,\n 0\n ],\n \"parameters\": {\n \"color\": 6,\n \"width\": 903.0896125323785,\n \"height\": 733.5099670584011,\n \"content\": \"## Step 2: Setup the Q&A \\n### The incoming message from the webhook is queried from the Supabase Vector Store. The response is provided in the response webhook. \"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"66aed89e-fd72-4067-82bf-d480be27e5d6\",\n \"name\": \"When clicking \\\"Execute Workflow\\\"\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 840,\n 140\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"9dc8f2a7-eeff-4a35-be52-05c42b71eee4\",\n \"name\": \"Google Drive\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 1140,\n 140\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1LZezppYrWpMStr4qJXtoIX-Dwzvgehll\",\n \"cachedResultUrl\": \"{{ $env.WEBHOOK_URL }}\",\n \"cachedResultName\": \"crowdstrike.pdf\"\n },\n \"options\": {},\n \"operation\": \"download\"\n },\n \"credentials\": {\n \"googleDriveOAuth2Api\": {\n \"id\": \"yOwz41gMQclOadgu\",\n \"name\": \"Google Drive account\"\n }\n },\n \"typeVersio...", "input": "", "output": "The node 'Webhook' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Webhook'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-8650acac\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.195926\",\n \"updatedAt\": \"2025-09-29T07:08:00.195938\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"a131803a-ab1d-4a89-b51d-8a875fa2caaf\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 440,\n 267.87369152409246\n ],\n \"parameters\": {\n \"width\": 344,\n \"height\": 303,\n \"content\": \"## Testing \\n\\nTesting can be done with CURL or similar.\\n\\nFor File posting using Form Data\\ncurl -X POST -F file=@filepath.xml \\n\\nThis can also be tested using the Test workflow\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f9ae7afb-48a6-45bf-9c55-0e5fd63afede\",\n \"name\": \"Sticky Note3\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1720,\n 747.8736915240925\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 496,\n \"height\": 256,\n \"content\": \"## Response\\nWhere possible we will be returning a JSON object.\\n```\\n{\\n \\\"status\\\": \\\"ok\\\",\\n \\\"data\\\": { // JSON DATA }\\n}\\n```\\nIf there is an error\\n```\\n{\\n \\\"status\\\": \\\"error\\\",\\n \\\"data\\\": \\\"error message to display\\\"\\n}\\n```\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f37712fb-88cc-4d5a-9c37-6b9d962052e2\",\n \"name\": \"Extract From File\",\n \"type\": \"n8n-nodes-base.extractFromFile\",\n \"onError\": \"continueErrorOutput\",\n \"position\": [\n 1080,\n 307.87369152409246\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"xml\",\n \"destinationKey\": \"YOUR_CREDENTIAL_...", "input": "", "output": "The node 'Send to Error Channel' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Send to Error Channel'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-b8f84722\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.219673\",\n \"updatedAt\": \"2025-09-29T07:08:00.219691\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"646662d1-92dc-406a-8dc6-581a4a6d69cd\",\n \"name\": \"Customer Datastore (n8n training)\",\n \"type\": \"n8n-nodes-base.n8nTrainingCustomerDatastore\",\n \"position\": [\n 580,\n 660\n ],\n \"parameters\": {\n \"operation\": \"getAllPeople\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This n8nTrainingCustomerDatastore node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4926678b-cd17-4e7a-b8af-db649f17e442\",\n \"name\": \"insert into variable\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 880,\n 660\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"de2360fb-1b29-4524-a035-1a76abf4ae2e\",\n \"name\": \"students\",\n \"type\": \"object\",\n \"value\": \"={{ $json }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"43c716b1-626e-47cd-b1df-1c7ca486fcd4\",\n \"name\": \"Aggregate variable\",\n \"type\": \"n8n-nodes-base.aggregate\",\n \"position\": [\n 1060,\n 660\n ],\n \"parameters\": {\n \"options\": {},\n \"fieldsToAggregate\": {\n \"fieldToAggregate\": [\n {\n \"fieldToAggregate\": \"students\"\n }\n ]\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This aggregate node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"325b44ba-5297-496a-8351-4cc00b34e2f2\",\n \"name\": \"Sticky Not...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-855c300a\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.259923\",\n \"updatedAt\": \"2025-09-29T07:08:00.259940\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"96ef3bfe-a493-4377-b090-6b2d02d87480\",\n \"name\": \"Verify Webhook\",\n \"type\": \"n8n-nodes-base.respondToWebhook\",\n \"position\": [\n 1420,\n 800\n ],\n \"parameters\": {\n \"options\": {\n \"responseCode\": 200,\n \"responseHeaders\": {\n \"entries\": [\n {\n \"name\": \"Content-type\",\n \"value\": \"application/json\"\n }\n ]\n }\n },\n \"respondWith\": \"json\",\n \"responseBody\": \"={\\\"challenge\\\":\\\"{{ $json.body.challenge }}\\\"}\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This respondToWebhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"38db6da6-13bf-47a1-b5cb-f06403b309ac\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 2120,\n 1220\n ],\n \"parameters\": {\n \"model\": \"gpt-4o\",\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"QpFZ2EiM3WGl6Zr3\",\n \"name\": \"Marketing OpenAI\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"139b606d-29ae-480d-bde7-458ef45dba01\",\n \"name\": \"No Operation, do nothing\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 1840,\n 700\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This noOp node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"64acd4c6-cd53-46e5-a29e-40884044b186\",\n \"name\": \"Window Bu...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-7455e735\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.373758\",\n \"updatedAt\": \"2025-09-29T07:08:00.373776\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"b1b6eb50-9d42-484d-9488-0607be2143d8\",\n \"name\": \"Session\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n -160,\n -200\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"options\": {},\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"credentials\": {\n \"httpHeaderAuth\": {\n \"id\": \"BWkbkxgDD4hkRCvs\",\n \"name\": \"Fastmail Masked E-Mail Addresses\"\n }\n },\n \"typeVersion\": 4.2,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"aca05a94-07dd-4408-8d87-47e788a5f0a8\",\n \"name\": \"get all masked emails\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"notes\": \"{{ $env.API_BASE_URL }}\\n\\n{{ $env.API_BASE_URL }}\",\n \"position\": [\n 700,\n -200\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {},\n \"jsonBody\": \"={\\n \\\"using\\\": [\\\"urn:ietf:params:jmap:core\\\", \\\"{{ $env.WEBHOOK_URL }}\\\"],\\n \\\"methodCalls\\\": [\\n [\\n \\\"MaskedEmail/get\\\",\\n {\\n \\\"accountId\\\": \\\"{{ $('Session').item.json.primaryAccounts['{{ $env.WEBHOOK_URL }}'] }}\\\"\\n },\\n \\\"c1\\\"\\n ]\\n ]\\n}\",\n \"sendBody\": true,\n \"sendHeaders\": true,\n \"specifyBody\": \"json\",\n \"authentication\": \"{{ $credentials.genericCredentialType }}\",\n \"genericAuthType\": \"httpHeaderAuth\",\n \"headerParameters\": {\n \"parameters\": [\n {\n \"name\": \"C...", "input": "", "output": "The workflow has a broken data flow. The node 'bbfae2d8-d23a-4244-8566-c3da9cc2e34d' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for 'bbfae2d8-d23a-4244-8566-c3da9cc2e34d'.\n\n**Impact**: Data from 'bbfae2d8-d23a-4244-8566-c3da9cc2e34d' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from 'bbfae2d8-d23a-4244-8566-c3da9cc2e34d' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"bbfae2d8-d23a-4244-8566-c3da9cc2e34d\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect 'bbfae2d8-d23a-4244-8566-c3da9cc2e34d' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-b1d28790\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.278689\",\n \"updatedAt\": \"2025-09-29T07:08:00.278700\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"9bd2c2f7-d837-451e-8a25-a185713edefb\",\n \"name\": \"Crypto\",\n \"type\": \"n8n-nodes-base.crypto\",\n \"position\": [\n 1640,\n 660\n ],\n \"parameters\": {\n \"type\": \"SHA256\",\n \"value\": \"={{$json[\\\"source_data\\\"]}}\",\n \"action\": \"hmac\",\n \"secret\": \"YOUR_CREDENTIAL_HERE\",\n \"encoding\": \"base64\",\n \"dataPropertyName\": \"target_data\",\n \"_injected_number_field\": \"not_a_number\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This crypto node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"75aca737-5e31-4022-8827-375cf8717a06\",\n \"name\": \"Move Binary Data\",\n \"type\": \"n8n-nodes-base.moveBinaryData\",\n \"position\": [\n 1240,\n 660\n ],\n \"parameters\": {\n \"options\": {},\n \"setAllData\": false,\n \"destinationKey\": \"YOUR_CREDENTIAL_HERE\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This moveBinaryData node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f1ece5d1-a38f-4548-80b4-a77f07c0cc95\",\n \"name\": \"Set\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1440,\n 660\n ],\n \"parameters\": {\n \"values\": {\n \"string\": [\n {\n \"name\": \"source_data\",\n \"value\": \"={{$json[\\\"raw_data\\\"]}}\"\n }\n ]\n },\n \"options\": {},\n \"keepOnlySet\": true\n },\n \"typeVersion\": 1,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"251bd7d1-e955-4b2c-a020-e0b2e3ebb5cc\",\n \"name\": \"...", "input": "", "output": "The node 'Crypto' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Crypto'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-ba2dd916\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.325595\",\n \"updatedAt\": \"2025-09-29T07:08:00.325611\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"adfda9cb-1d77-4c54-b3ea-e7bf438a48af\",\n \"name\": \"Parse Webhook\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 760,\n 640\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"e63f9299-a19d-4ba1-93b0-59f458769fb2\",\n \"name\": \"response\",\n \"type\": \"object\",\n \"value\": \"={{ $json.body.payload }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.3,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"b3e0e490-18e0-44b5-a960-0fdbf8422515\",\n \"name\": \"Qualys Create Report\",\n \"type\": \"n8n-nodes-base.executeWorkflow\",\n \"position\": [\n 1720,\n 1740\n ],\n \"parameters\": {\n \"options\": {},\n \"workflowId\": \"icSLX102kSS9zNdK\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This executeWorkflow node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"80ae074b-bda5-4638-b46f-246a1b9530ae\",\n \"name\": \"Required Report Variables\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1520,\n 1740\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"47cd1502-3039-4661-a6b1-e20a74056550\",\n \"name\": \"report_title\",\n \"type\": \"string\",\n \"value\": \"={{ $json.response.view.state.values.report_title.report_title_input.value }}\"\n },\n {\n \"id\": \"6a8a0cbf-bf3e-4702-9...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Expression Reference Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"061bf344-8e0d-46df-a097-dfc000b63bbd\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 1240,\n 1020\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3d66c4ce-e150-4f51-a9f9-4e7f61981ba4\",\n \"name\": \"Set link to audio\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 1440,\n 1020\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"745e32ae-61e6-429b-a107-f20c9b17e65e\",\n \"name\": \"url\",\n \"type\": \"string\",\n \"value\": \"{{ $env.WEBHOOK_URL }}\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4,\n \"notes\": \"This set node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"f6fe5922-1140-499f-b38b-3f0bc0b398cc\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1620,\n 895\n ],\n \"parameters\": {\n \"width\": 224.61210598590444,\n \"height\": 80,\n \"content\": \"**Replace API key in Header, webhook from 2nd scenario, change settings if needed**\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"37454706-c012-45b1-83ca-a618a28c27d5\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1400,\n 900\n ],\n \"parameters\": {\n \"width\": 167.86310443717323,\n \"height\": 80,\n \"content\": \"**Replace this link with direct link on your audio**\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a52fc9df-20...", "input": "", "output": "In node 'OpenAI - Analyze call', the parameter 'specifyBody' contains an expression that references undefined data.\n\n**Faulty Expression**: `={{ $json[\"non_existent_field\"] }}`\n**Original Value**: `json`\n\n**Root Cause**: The expression references a field, node, or variable that doesn't exist in the data flow.\n\n**Debugging Steps**:\n1. Check the output of previous nodes to verify available fields\n2. Use the Expression Editor to test expressions interactively\n3. Add a Set node before this one to inspect available data\n4. Use optional chaining for potentially undefined fields: `$json.field?.subfield`\n\n**Best Practice**: Always validate data availability before using expressions.", "metadata": {"error_type": "Expression Reference Error", "fix_hint": "Fix the expression in 'OpenAI - Analyze call' parameter 'specifyBody'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Rate Limiting Risk\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-31ad890e\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.476548\",\n \"updatedAt\": \"2025-09-29T07:08:00.476565\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"71dd0b5e-7bb0-4d06-9769-753156d1acf3\",\n \"name\": \"TheHive Trigger\",\n \"type\": \"n8n-nodes-base.theHiveProjectTrigger\",\n \"position\": [\n 20,\n 300\n ],\n \"webhookId\": \"23c014ae-1191-4775-9c00-69e5e014b11d\",\n \"parameters\": {\n \"events\": [\n \"case_create\"\n ],\n \"options\": {}\n },\n \"typeVersion\": 1,\n \"notes\": \"This theHiveProjectTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"659339a5-3b3e-4f57-8aec-4c368b01890c\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 280,\n 520\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 455.1635858314854,\n \"height\": 538.2816200839441,\n \"content\": \"![slack]({{ $env.WEBHOOK_URL }}\\n## Events Webhook Trigger\\nThe first node receives all messages from Slack API via Subscription Events API. You can find more information about setting up the subscription events API by [clicking here]({{ $env.API_BASE_URL }} The second node extracts the payload from slack into an object that n8n can understand. \"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c3ec7525-41f5-426c-a1c9-63b4596c8632\",\n \"name\": \"Sticky Note2\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -160,\n -60\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 543.689530484159,\n \"height\": 516.5011820330969,\n \"content\": \"![theHive]({{ $env.WEBHOOK_URL }}\\n## Th...", "input": "", "output": "This workflow may encounter rate limiting issues when processing large batches of data.\n\n**Common Rate Limit Errors**:\n- HTTP 429 Too Many Requests\n- HTTP 503 Service Unavailable\n- API-specific rate limit messages\n\n**Root Cause**: The workflow makes too many API requests in a short time period without delays.\n\n**Solutions**:\n\n1. **Add Wait Nodes**: Insert a Wait node between API calls\n```json\n{\n \"parameters\": {\"amount\": 1, \"unit\": \"seconds\"},\n \"name\": \"Rate Limit Delay\",\n \"type\": \"n8n-nodes-base.wait\"\n}\n```\n\n2. **Enable Retry on Fail**:\n```json\n\"retryOnFail\": true,\n\"maxTries\": 3,\n\"waitBetweenTries\": 5000\n```\n\n3. **Use Batch Processing**: Split items into smaller batches with delays\n\n4. **Implement Exponential Backoff**: Increase wait times with each retry\n\n**Best Practice**: Always check API documentation for rate limits and implement appropriate throttling.", "metadata": {"error_type": "Rate Limiting Risk", "fix_hint": "Add rate limiting protection with Wait nodes and retry logic.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"25a059ad-c3d1-4848-a729-cbb50254e94a\",\n \"name\": \"When clicking \\u2018Test workflow\\u2019\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n 40,\n 980\n ],\n \"parameters\": {},\n \"typeVersion\": 1,\n \"notes\": \"This manualTrigger node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"3ae8469e-cbb4-436a-b5c2-2e6a146c5666\",\n \"name\": \"Sticky Note6\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -40,\n 600\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 2160,\n \"height\": 1540,\n \"content\": \"# Try me out !\\n## Dummy Ugly Workflow\\n---\\nTry mixing it up of changing some connections to see how this workflow gets positionned !\\n\\n1. **Save this workfow** (Ctrl + S)\\n2. **Execute the Magic Positioning Node**\\n3. **Reload the page** (Ctrl + R)\\n..watch the magic !\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"4a67e81f-1638-4047-b9e7-85247f4cc291\",\n \"name\": \"AI Agent\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 480,\n 1420\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"typeVersion\": 1.2,\n \"notes\": \"This agent node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"56293367-e676-44d6-ac05-8432c8181299\",\n \"name\": \"OpenAI Chat Model\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 420,\n 1660\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"{{ $credentials.openAiApi.id }}\",\n \"name\": \"Together.ai (lucas.photos)\"\n }\n },\n \"typeVersion\": 1,\n \"notes\": \"This lmChatOpenAi node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"cacdff1d-f65d-40f3-b0b5-9913a8e249ed\",\n ...", "input": "", "output": "The node 'Sticky Note' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Sticky Note'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Syntax Error\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"nodes\": [\n {\n \"id\": \"e10615ff-41dc-4ea6-981a-d8e949e2e386\",\n \"name\": \"telegram account\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n -220,\n 0\n ],\n \"parameters\": {\n \"jsCode\": \"const accountId = $('jira-webhook').first().json.body.fields.assignee?.accountId\\n\\nconst telegramAccounts = {\\n \\\"[jira account id]\\\": 00000000, // telegram chat id\\n}\\n\\nconst telegramChatId = telegramAccounts[accountId]\\n\\nreturn [{telegramChatId}]\"\n },\n \"typeVersion\": 2,\n \"notes\": \"This code node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"a0effbdb-8f99-4248-9a98-aba34ff67690\",\n \"name\": \"check tg account exists\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 40,\n 120\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"loose\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"149c600c-7030-4480-a4ef-18f02fd9ade9\",\n \"operator\": {\n \"type\": \"number\",\n \"operation\": \"exists\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $('telegram account').item.json.telegramChatId }}\",\n \"rightValue\": \"\"\n }\n ]\n },\n \"looseTypeValidation\": true\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"71d58c37-9934-4b10-8aed-d66175a1bc3a\",\n \"name\": \"check type\",\n \"type\": \"n8n-nodes-base.switch\",\n \"position\": [\n 300,\n 0\n ],\n \"parameters\": {\n \"rules\": {\n \"values\": [\n {\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftVal...", "input": "", "output": "The JSON is invalid because it is missing a closing brace '}' at the end of the file. Add the missing '}' to close the workflow object.", "metadata": {"error_type": "Syntax Error", "fix_hint": "Add a closing brace '}' at the end of the JSON.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Empty Input Handling\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-31389732\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.533062\",\n \"updatedAt\": \"2025-09-29T07:08:00.533111\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"a8b14ffd-4a8b-4a3d-ba54-5997197e5457\",\n \"name\": \"Sticky Note4\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -2880,\n 340\n ],\n \"parameters\": {\n \"color\": 6,\n \"width\": 429.96763122593137,\n \"height\": 322,\n \"content\": \"### Get Apprropraite Data\\nThese Nodes are to extract only the Required Data from the Webhook Node\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"c8ae8766-3942-4b8d-8815-9e96ab9dc1de\",\n \"name\": \"Sticky Note6\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -840,\n 340\n ],\n \"parameters\": {\n \"color\": 5,\n \"width\": 677,\n \"height\": 660,\n \"content\": \"### N8N has the Node to convert PDF to Text, but PDF should be converted from Text. Scanned Image PDF will not be converted. \\n\\nYou can use ohter nodes here to convert word file to text or JPG to Text, possiblities are limitless.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"529f5756-c1a2-4c41-8245-38164543eb8e\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -1334.2232779572741,\n 340\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 477.2230145794152,\n \"height\": 648.5051458745238,\n \"content\": \"### Download the File.\\nIf you are using S3 to Upload attachments you can use S3 node here to download the attachment\\n\"\n ...", "input": "", "output": "This workflow may fail when receiving empty or null input data.\n\n**Common Error Messages**:\n- \"Cannot read property 'x' of undefined\"\n- \"No items to process\"\n- \"Input data is empty\"\n\n**Root Cause**: The workflow doesn't handle cases where:\n- Trigger receives no data\n- Previous node returns empty array\n- API returns null or empty response\n\n**Solutions**:\n\n1. **Add IF Node for Empty Check**:\n```json\n{\n \"parameters\": {\n \"conditions\": {\n \"number\": [{\n \"value1\": \"={{ $json.length }}\",\n \"operation\": \"larger\",\n \"value2\": 0\n }]\n }\n },\n \"name\": \"Check Not Empty\",\n \"type\": \"n8n-nodes-base.if\"\n}\n```\n\n2. **Use Default Values**:\n```javascript\n{{ $json.field ?? \"default_value\" }}\n{{ $json.items || [] }}\n```\n\n3. **Add Set Node with Defaults**:\n- Create a Set node that provides default values\n- Place it early in the workflow\n\n4. **Implement No Match Output**:\n- Many nodes have \"No Match\" outputs\n- Use these to handle empty cases gracefully\n\n**Best Practice**: Always validate input data and provide sensible defaults for optional fields.", "metadata": {"error_type": "Empty Input Handling", "fix_hint": "Add validation for empty or null input data.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Missing Credentials\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-b79e18cd\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.713260\",\n \"updatedAt\": \"2025-09-29T07:08:00.713272\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"15f8f140-66b6-4c83-8a33-cf8cafdc32d4\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -420,\n -740\n ],\n \"parameters\": {\n \"color\": 7,\n \"width\": 1440,\n \"height\": 620,\n \"content\": \"![voiceflow]({{ $env.WEBHOOK_URL }}\\n## Find Customer\\nThis portion of the workflow queries the customer database and returns customer details to the AI agent if found. If not found, it returns NOT_FOUND for the customer details. \"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"00b35d71-a6e6-43e8-a57b-a29a0c476b23\",\n \"name\": \"Check if user found\",\n \"type\": \"n8n-nodes-base.if\",\n \"position\": [\n 380,\n -380\n ],\n \"parameters\": {\n \"options\": {},\n \"conditions\": {\n \"options\": {\n \"version\": 2,\n \"leftValue\": \"\",\n \"caseSensitive\": true,\n \"typeValidation\": \"strict\"\n },\n \"combinator\": \"and\",\n \"conditions\": [\n {\n \"id\": \"bddfa253-24c6-430e-9a13-f07daf8c1513\",\n \"operator\": {\n \"type\": \"string\",\n \"operation\": \"notEmpty\",\n \"singleValue\": true\n },\n \"leftValue\": \"={{ $json.Name }}\",\n \"rightValue\": \"\"\n }\n ]\n }\n },\n \"typeVersion\": 2.2,\n \"notes\": \"This if node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"83d5be62-92f2-4018-bb5e-e4c068223370...", "input": "", "output": "The node 'Create Calendar Event' (type: n8n-nodes-base.googleCalendar) requires credentials but the 'credentials' configuration is missing. \n\n**Root Cause**: The credentials object was not defined for this node.\n\n**Solution**: Add the credentials configuration back to the node:\n```json\n\"credentials\": {\n \"googleCalendarOAuth2Api\": {\n \"id\": \"zjwDrLg8gSlOpOQI\",\n \"name\": \"Google Calendar account 9\"\n }\n}\n```\n\n**Best Practice**: Always verify credentials are properly configured before deploying workflows. Use n8n's credential management system to store sensitive data securely.", "metadata": {"error_type": "Missing Credentials", "fix_hint": "Add credentials configuration to the 'Create Calendar Event' node.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Data Type Mismatch\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-7c328dd0\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.776874\",\n \"updatedAt\": \"2025-09-29T07:08:00.776889\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"name\": \"Automate Drive-To-Store Lead Generation System (with coupon) on SuiteCRM\",\n \"tags\": [\n \"automation\",\n \"n8n\",\n \"production-ready\",\n \"excellent\",\n \"optimized\"\n ],\n \"nodes\": [\n {\n \"id\": \"53342c2a-f707-4ed0-9054-7928e6832745\",\n \"name\": \"Token SuiteCRM\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1560,\n 920\n ],\n \"parameters\": {\n \"url\": \"{{ $env.BASE_URL }}\",\n \"options\": {},\n \"requestMethod\": \"POST\",\n \"bodyParametersUi\": {\n \"parameter\": [\n {\n \"name\": \"grant_type\",\n \"value\": \"client_credentials\"\n },\n {\n \"name\": \"client_id\",\n \"value\": \"CLIENTID\"\n },\n {\n \"name\": \"client_secret\",\n \"value\": \"CLIENTSECRET\"\n }\n ]\n },\n \"allowUnauthorizedCerts\": true\n },\n \"notesInFlow\": true,\n \"typeVersion\": 1,\n \"notes\": \"This httpRequest node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"18d04094-1ced-4431-9ba2-b9b33d76c453\",\n \"name\": \"Create Lead SuiteCRM\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1800,\n 920\n ],\n \"parameters\": {\n \"url\": \"{{ $env.API_BASE_URL }}\",\n \"method\": \"POST\",\n \"options\": {\n \"response\": {\n \"response\": {\n \"responseFormat\": \"json\"\n }\n }\n },\n \"jsonBody\": \"={\\\"data\\\": \\n {\\n \\\"type\\\": \\\"Leads\\\",\\n \\\"attributes\\\": { \\n \\\"first_name\\\": \\\"{{ $('Form Fields').item.json.Name ...", "input": "", "output": "The node 'Respond KO' has a data type mismatch in its parameters.\n\n**Issue**: A field expected a number but received a string value.\n\n**Common Causes**:\n1. Expression returns string instead of number\n2. JSON parsing preserves string types for numeric values\n3. Upstream node outputs different data types than expected\n\n**Solutions**:\n\n1. **Type Conversion in Expression**:\n```javascript\n// Convert string to number\n{ parseInt($json.stringValue) }\n{ parseFloat($json.decimalString) }\n{ Number($json.value) }\n```\n\n2. **Use Code Node for Transformation**:\n```javascript\nreturn items.map(item => {\n item.json.numericField = Number(item.json.stringField);\n return item;\n});\n```\n\n3. **Validate Data Types**:\n- Use IF node to check types before processing\n- Add error handling for invalid types\n\n**Best Practice**: Always validate and transform data types explicitly when passing data between nodes.", "metadata": {"error_type": "Data Type Mismatch", "fix_hint": "Fix data type conversion in 'Respond KO'.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Disconnected Node\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-9e627259\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.798107\",\n \"updatedAt\": \"2025-09-29T07:08:00.798123\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"971e1616-af67-4961-9ef4-4b8dd24e392c\",\n \"name\": \"Webhook\",\n \"type\": \"n8n-nodes-base.webhook\",\n \"position\": [\n -660,\n 240\n ],\n \"webhookId\": \"29a6482f-36ac-4c15-8792-450aa32cf5f4\",\n \"parameters\": {\n \"path\": \"29a6482f-36ac-4c15-8792-450aa32cf5f4\",\n \"options\": {},\n \"httpMethod\": [\n \"POST\",\n \"GET\"\n ],\n \"responseMode\": \"responseNode\",\n \"multipleMethods\": true\n },\n \"typeVersion\": 2,\n \"notes\": \"This webhook node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"22d8dca1-a2fd-474e-a1cd-7f75be1c04a6\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -720,\n -220\n ],\n \"parameters\": {\n \"color\": 6,\n \"width\": 620,\n \"height\": 920,\n \"content\": \"## Dropbox\\n\\nDropbox call me each time a modification is done somewhere in my dropbox.\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n },\n {\n \"id\": \"0178e813-ae15-4729-933b-2799ec405863\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 240,\n -280\n ],\n \"parameters\": {\n \"color\": 3,\n \"width\": 840,\n \"height\": 140,\n \"content\": \"## Watch Files, 2 ways :\\n1. We explore each file in a folder (new and old ones)\\n2. We want to filter new files only\"\n },\n \"typeVersion\": 1,\n \"notes\": \"This stickyNote node performs automated tasks as part of the workflow.\"\n }...", "input": "", "output": "The workflow has a broken data flow. The node '971e1616-af67-4961-9ef4-4b8dd24e392c' is not connected to any subsequent nodes.\n\n**Root Cause**: The connections object is missing the output connections for '971e1616-af67-4961-9ef4-4b8dd24e392c'.\n\n**Impact**: Data from '971e1616-af67-4961-9ef4-4b8dd24e392c' will not flow to any downstream nodes, effectively stopping the workflow at this point.\n\n**Solution**: \n1. Open the workflow in the n8n editor\n2. Draw a connection from '971e1616-af67-4961-9ef4-4b8dd24e392c' to the next node in the flow\n3. Verify the connection appears in the connections object\n\n**Programmatic Fix**: Add the connection back to the workflow JSON:\n```json\n\"connections\": {\n \"971e1616-af67-4961-9ef4-4b8dd24e392c\": {\n \"main\": [[{\"node\": \"NextNode\", \"type\": \"main\", \"index\": 0}]]\n }\n}\n```", "metadata": {"error_type": "Disconnected Node", "fix_hint": "Reconnect '971e1616-af67-4961-9ef4-4b8dd24e392c' to the workflow.", "type": "debugging"}} {"instruction": "Debug this n8n workflow. It has the following issue:\nError Type: Timeout Configuration\n\nPlease analyze the workflow JSON and explain:\n1. What is wrong\n2. Why it's causing problems\n3. How to fix it\n\nWorkflow JSON:\n{\n \"meta\": {\n \"instanceId\": \"workflow-0b910aee\",\n \"versionId\": \"1.0.0\",\n \"createdAt\": \"2025-09-29T07:08:00.795853\",\n \"updatedAt\": \"2025-09-29T07:08:00.795863\",\n \"owner\": \"n8n-user\",\n \"license\": \"MIT\",\n \"category\": \"automation\",\n \"status\": \"active\",\n \"priority\": \"high\",\n \"environment\": \"production\"\n },\n \"nodes\": [\n {\n \"id\": \"de602925-4d9d-4045-9d9d-ed37dfb65490\",\n \"name\": \"HTML to PDF\",\n \"type\": \"n8n-nodes-base.noOp\",\n \"position\": [\n 460,\n -20\n ],\n \"parameters\": {\n \"htmlInput\": \"=\\n\\n\\n \\n \\n Invoice\\n