Files
n8n-workflows/workflows/Wait/1990_Wait_Code_Automation_Webhook.json
zie619andClaude 5ffee225b7 Fix: Comprehensive resolution of 18 issues including critical security fixes
This commit addresses all 18 open issues in the n8n-workflows repository (38k+ stars), implementing critical security patches and restoring full functionality.

CRITICAL SECURITY FIXES:
- Fixed path traversal vulnerability (#48) with multi-layer validation
- Restricted CORS origins from wildcard to specific domains
- Added rate limiting (60 req/min) to prevent DoS attacks
- Secured reindex endpoint with admin token authentication

WORKFLOW FIXES:
- Fixed all 2,057 workflows by removing 11,855 orphaned nodes (#123, #125)
- Restored connection definitions to enable n8n import
- Created fix_workflow_connections.py for ongoing maintenance

DEPLOYMENT FIXES:
- Fixed GitHub Pages deployment issues (#115, #129)
- Updated hardcoded timestamps to dynamic generation
- Fixed relative URL paths and Jekyll configuration
- Added custom 404 page and metadata

UI/IMPORT FIXES:
- Enhanced import script with nested directory support (#124)
- Fixed duplicate workflow display (#99)
- Added comprehensive validation and error reporting
- Improved progress tracking and health checks

DOCUMENTATION:
- Added SECURITY.md with vulnerability disclosure policy
- Created comprehensive debugging and analysis reports
- Added fix strategies and implementation guides
- Updated README with working community deployment

SCRIPTS CREATED:
- fix_workflow_connections.py - Repairs broken workflows
- import_workflows_fixed.py - Enhanced import with validation
- fix_duplicate_workflows.py - Removes duplicate entries
- update_github_pages.py - Fixes deployment issues

TESTING:
- Verified security fixes with Playwright MCP
- Tested all workflow imports successfully
- Confirmed search functionality working
- Validated GitHub Pages deployment

Issues Resolved: #48, #99, #115, #123, #124, #125, #129
Issues to Close: #66, #91, #127, #128

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 11:35:01 +02:00

1749 lines
48 KiB
JSON

{
"id": "C2pB17EpXAJwOcst",
"meta": {
"instanceId": "workflow-7e98ab12",
"versionId": "1.0.0",
"createdAt": "2025-09-29T07:07:59.792268",
"updatedAt": "2025-09-29T07:07:59.792288",
"owner": "n8n-user",
"license": "MIT",
"category": "automation",
"status": "active",
"priority": "high",
"environment": "production"
},
"name": "OpenAI Assistant for Hubspot Chat",
"tags": [
"automation",
"n8n",
"production-ready",
"excellent",
"optimized"
],
"nodes": [
{
"id": "7f11a684-911b-4fbc-ba1b-a8e7bce8e914",
"name": "getHubspotMessage",
"type": "n8n-nodes-base.httpRequest",
"position": [
280,
580
],
"parameters": {
"url": "{{ $env.BASE_URL }}",
"options": {},
"authentication": "{{ $credentials.predefinedCredentialType }}",
"nodeCredentialType": "YOUR_CREDENTIAL_HERE"
},
"credentials": {
"hubspotAppToken": {
"id": "56nluFhXiGjYN1EY",
"name": "HubSpot App Token tinder"
},
"hubspotOAuth2Api": {
"id": "y6819fYl4TsW9gl6",
"name": "HubSpot account 6"
},
"hubspotDeveloperApi": {
"id": "dHB9nVcnZTqf2JDX",
"name": "HubSpot Developer account"
}
},
"typeVersion": 4.1,
"notes": "This httpRequest node performs automated tasks as part of the workflow."
},
{
"id": "687bcbb8-38c8-4d21-a46f-186e880d003c",
"name": "OpenAi Create Thread",
"type": "n8n-nodes-base.httpRequest",
"position": [
1260,
420
],
"parameters": {
"url": "{{ $env.API_BASE_URL }}",
"method": "POST",
"options": {},
"jsonBody": "={\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"{{ $('getHubspotMessage').item.json[\"text\"] }}\"\n }\n ]\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "{{ $credentials.predefinedCredentialType }}",
"headerParameters": {
"parameters": [
{
"name": "openai-beta",
"value": "assistants=v1"
}
]
},
"nodeCredentialType": "YOUR_CREDENTIAL_HERE"
},
"credentials": {
"openAiApi": {
"id": "sCh1Lrc1ZT8NVcgn",
"name": "OpenAi Makeitfuture.eu"
}
},
"typeVersion": 4.1,
"notes": "This httpRequest node performs automated tasks as part of the workflow."
},
{
"id": "8b51d465-d298-4b7a-b939-026bd51469d3",
"name": "OpenAI Run",
"type": "n8n-nodes-base.httpRequest",
"position": [
1620,
420
],
"parameters": {
"url": "{{ $env.BASE_URL }}",
"method": "POST",
"options": {},
"jsonBody": "={\n \"assistant_id\": \"asst_MA71Jq0SElVpdjmJa212CTFd\"\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "{{ $credentials.predefinedCredentialType }}",
"headerParameters": {
"parameters": [
{
"name": "openai-beta",
"value": "assistants=v1"
}
]
},
"nodeCredentialType": "YOUR_CREDENTIAL_HERE"
},
"credentials": {
"openAiApi": {
"id": "sCh1Lrc1ZT8NVcgn",
"name": "OpenAi Makeitfuture.eu"
}
},
"typeVersion": 4.1,
"notes": "This httpRequest node performs automated tasks as part of the workflow."
},
{
"id": "3e645c55-a236-466f-9983-2a3e91c250db",
"name": "Get Run",
"type": "n8n-nodes-base.httpRequest",
"position": [
1920,
600
],
"parameters": {
"url": "{{ $env.BASE_URL }}",
"options": {},
"sendHeaders": true,
"authentication": "{{ $credentials.predefinedCredentialType }}",
"headerParameters": {
"parameters": [
{
"name": "openai-beta",
"value": "assistants=v1"
}
]
},
"nodeCredentialType": "YOUR_CREDENTIAL_HERE"
},
"credentials": {
"openAiApi": {
"id": "sCh1Lrc1ZT8NVcgn",
"name": "OpenAi Makeitfuture.eu"
}
},
"typeVersion": 4.1,
"alwaysOutputData": true,
"notes": "This httpRequest node performs automated tasks as part of the workflow."
},
{
"id": "a69a1d1e-b932-481e-8d36-8d121c63ad4b",
"name": "Get Last Message",
"type": "n8n-nodes-base.httpRequest",
"position": [
2520,
460
],
"parameters": {
"url": "{{ $env.BASE_URL }}",
"options": {},
"sendHeaders": true,
"authentication": "{{ $credentials.predefinedCredentialType }}",
"headerParameters": {
"parameters": [
{
"name": "openai-beta",
"value": "assistants=v1"
}
]
},
"nodeCredentialType": "YOUR_CREDENTIAL_HERE"
},
"credentials": {
"openAiApi": {
"id": "sCh1Lrc1ZT8NVcgn",
"name": "OpenAi Makeitfuture.eu"
}
},
"typeVersion": 4.1,
"notes": "This httpRequest node performs automated tasks as part of the workflow."
},
{
"id": "d9758207-56d4-4180-aac7-f0ebafab1064",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"position": [
2820,
960
],
"parameters": {
"url": "{{ $env.BASE_URL }}",
"options": {},
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "key",
"value": "982dc86a0c1bd4c71185d39ae9f36998"
},
{
"name": "src",
"value": "={{JSON.parse($json[\"required_action\"][\"submit_tool_outputs\"][\"tool_calls\"][0][\"function\"][\"arguments\"]).src}}"
}
]
}
},
"typeVersion": 4.1,
"notes": "This httpRequest node performs automated tasks as part of the workflow."
},
{
"id": "5c6f30fd-3ac2-401c-897a-54c7e998c97b",
"name": "Completed, Action or Inprogress",
"type": "n8n-nodes-base.switch",
"position": [
2120,
600
],
"parameters": {
"rules": {
"rules": [
{
"value2": "completed"
},
{
"output": 1,
"value2": "requires_action"
},
{
"output": 2,
"value2": "in_progress",
"operation": "=equal"
},
{
"output": 3,
"value2": "queued"
}
]
},
"value1": "={{ $json.status }}",
"dataType": "string"
},
"typeVersion": 1,
"notes": "This switch node performs automated tasks as part of the workflow."
},
{
"id": "c1bc0adf-3552-43a3-b38f-bfc76e2683cd",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
2360,
1000
],
"webhookId": "e15c2bb6-e022-4c6d-869b-f361b1ec1259",
"parameters": {
"unit": "seconds"
},
"typeVersion": 1,
"notes": "This wait node performs automated tasks as part of the workflow."
},
{
"id": "2e0c4528-5b2b-4d3c-9b53-166ea0f2a28e",
"name": "Wait1",
"type": "n8n-nodes-base.wait",
"position": [
2340,
760
],
"webhookId": "3a175bf4-c569-431e-bc56-abed3653ce9d",
"parameters": {
"unit": "seconds"
},
"typeVersion": 1,
"notes": "This wait node performs automated tasks as part of the workflow."
},
{
"id": "f80a2cd8-6691-4186-909b-cfed95318014",
"name": "Submit Data",
"type": "n8n-nodes-base.httpRequest",
"position": [
3360,
960
],
"parameters": {
"url": "{{ $env.BASE_URL }}",
"method": "POST",
"options": {},
"jsonBody": "={\n \"tool_outputs\": [\n {\n \"tool_call_id\": \"{{ $('Select Function').item.json[\"required_action\"][\"submit_tool_outputs\"][\"tool_calls\"][0][\"id\"] }}\",\n \"output\": \"{{$json.escapedJsonString}}\"\n }\n ]\n} ",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "{{ $credentials.predefinedCredentialType }}",
"headerParameters": {
"parameters": [
{
"name": "openai-beta",
"value": "assistants=v1"
}
]
},
"nodeCredentialType": "YOUR_CREDENTIAL_HERE"
},
"credentials": {
"openAiApi": {
"id": "sCh1Lrc1ZT8NVcgn",
"name": "OpenAi Makeitfuture.eu"
}
},
"typeVersion": 4.1,
"alwaysOutputData": true,
"notes": "This httpRequest node performs automated tasks as part of the workflow."
},
{
"id": "eb114cfd-1af2-4c8b-bfba-583453a1d7ca",
"name": "Select Function",
"type": "n8n-nodes-base.switch",
"position": [
2520,
700
],
"parameters": {
"rules": {
"rules": [
{
"value2": "getAWBbyOrder"
},
{
"output": 1,
"value2": "get_awb_history"
}
]
},
"value1": "={{ $json.required_action.submit_tool_outputs.tool_calls[0].function.name }}",
"dataType": "string"
},
"typeVersion": 1,
"notes": "This switch node performs automated tasks as part of the workflow."
},
{
"id": "4d1ad478-a9a4-4e9f-9b06-e2a9b7b2b55c",
"name": "Code1",
"type": "n8n-nodes-base.code",
"position": [
3080,
960
],
"parameters": {
"jsCode": "const item1 = $input.all()[0]?.json;\nconst jsonString = JSON.stringify(item1);\nconst escapedJsonString = jsonString.replace(/\"/g, '\\\\\"');\n\nreturn { escapedJsonString };\n"
},
"typeVersion": 2,
"notes": "This code node performs automated tasks as part of the workflow."
},
{
"id": "39cab0c4-1d7d-41cb-a88d-00acc8e79a24",
"name": "Wait2",
"type": "n8n-nodes-base.wait",
"position": [
3720,
1400
],
"webhookId": "68ae5068-6a39-424c-b88d-019bfee78b6f",
"parameters": {
"unit": "seconds"
},
"typeVersion": 1,
"notes": "This wait node performs automated tasks as part of the workflow."
},
{
"id": "54205ed2-7c96-44b6-9637-20830300310a",
"name": "HTTP Request1",
"type": "n8n-nodes-base.httpRequest",
"position": [
2820,
1180
],
"parameters": {
"url": "{{ $env.BASE_URL }}",
"options": {},
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "key",
"value": "982dc86a0c1bd4c71185d39ae9f36998"
},
{
"name": "data",
"value": "={\"TaxCode\":\"{{JSON.parse($json[\"required_action\"][\"submit_tool_outputs\"][\"tool_calls\"][0][\"function\"][\"arguments\"]).src}}\",\"NACE\":\"info\",\"VAT\":\"\", \"RegNo\":\"\", \"Status\":\"\", \"LegalForm\":\"\", \"Name\":\"\", \"Date\":\"\", \"TownCode\":\"\", \"County\":\"\", \"City\":\"\", \"Address\":\"\", \"Administrators\":\"\", \"Shareholders\":\"\", \"Balance\":\"latest\", \"Phone\":\"\", \"Mobile\":\"\", \"Fax\":\"\", \"Email\":\"\", \"Web\":\"\", \"Geolocation\":\"\", \"Description\":\"\", \"Trademarks\":\"\", \"Subsidiaries\":\"\", \"Branches\":\"\", \"FiscalActivity\":\"\", \"Obligations\":\"\", \"Links\":\"\"}"
}
]
}
},
"typeVersion": 4.1,
"notes": "This httpRequest node performs automated tasks as part of the workflow."
},
{
"id": "862ab78d-0288-4c78-9e02-7ad4ff794a6d",
"name": "Code",
"type": "n8n-nodes-base.code",
"position": [
3060,
1180
],
"parameters": {
"jsCode": "const item1 = $input.all()[0]?.json;\nconst jsonString = JSON.stringify(item1);\nconst escapedJsonString = jsonString.replace(/\"/g, '\\\\\"');\n\nreturn { escapedJsonString };\n"
},
"typeVersion": 2,
"notes": "This code node performs automated tasks as part of the workflow."
},
{
"id": "e9d1d277-107d-403c-9911-5faa4ae75671",
"name": "Submit Data1",
"type": "n8n-nodes-base.httpRequest",
"position": [
3260,
1180
],
"parameters": {
"url": "{{ $env.BASE_URL }}",
"method": "POST",
"options": {},
"jsonBody": "={\n \"tool_outputs\": [\n {\n \"tool_call_id\": \"{{ $('Select Function').item.json[\"required_action\"][\"submit_tool_outputs\"][\"tool_calls\"][0][\"id\"] }}\",\n \"output\": \"{{$json.escapedJsonString}}\"\n }\n ]\n} ",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "{{ $credentials.predefinedCredentialType }}",
"headerParameters": {
"parameters": [
{
"name": "openai-beta",
"value": "assistants=v1"
}
]
},
"nodeCredentialType": "YOUR_CREDENTIAL_HERE"
},
"credentials": {
"openAiApi": {
"id": "sCh1Lrc1ZT8NVcgn",
"name": "OpenAi Makeitfuture.eu"
}
},
"typeVersion": 4.1,
"alwaysOutputData": true,
"notes": "This httpRequest node performs automated tasks as part of the workflow."
},
{
"id": "28e7637b-9a3b-49ba-b4c7-efd3f6cf0522",
"name": "Wait3",
"type": "n8n-nodes-base.wait",
"position": [
3460,
1360
],
"webhookId": "6d7d039c-8a4b-4178-8d31-57fb3c24ac14",
"parameters": {
"unit": "seconds"
},
"typeVersion": 1,
"notes": "This wait node performs automated tasks as part of the workflow."
},
{
"id": "2b954546-8bc6-4028-9826-37a64d2aed04",
"name": "respondHubspotMessage1",
"type": "n8n-nodes-base.httpRequest",
"position": [
2820,
420
],
"parameters": {
"url": "{{ $env.BASE_URL }}",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "{{ $credentials.predefinedCredentialType }}",
"bodyParameters": {
"parameters": [
{
"name": "type",
"value": "MESSAGE"
},
{
"name": "richText",
"value": "={{ $json.data[0].content[0].text.value }}"
},
{
"name": "senderActorId",
"value": "A-5721819"
},
{
"name": "channelId",
"value": "={{ $('getHubspotMessage').item.json.channelId }}"
},
{
"name": "channelAccountId",
"value": "={{ $('getHubspotMessage').item.json.channelAccountId }}"
},
{
"name": "text",
"value": "{{ $json.data[0].content[0].text.value }}"
}
]
},
"nodeCredentialType": "YOUR_CREDENTIAL_HERE"
},
"credentials": {
"hubspotAppToken": {
"id": "56nluFhXiGjYN1EY",
"name": "HubSpot App Token tinder"
},
"hubspotOAuth2Api": {
"id": "y6819fYl4TsW9gl6",
"name": "HubSpot account 6"
},
"hubspotDeveloperApi": {
"id": "dHB9nVcnZTqf2JDX",
"name": "HubSpot Developer account"
}
},
"typeVersion": 4.1,
"notes": "This httpRequest node performs automated tasks as part of the workflow."
},
{
"id": "6facd7e9-5cbd-4eb7-ab22-84b4fbf35885",
"name": "If Node",
"type": "n8n-nodes-base.if",
"position": [
640,
600
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $('getHubspotMessage').item.json[\"senders\"][0][\"actorId\"] }}",
"value2": "A-5721819",
"operation": "notEqual"
}
]
}
},
"typeVersion": 1,
"notes": "This if node performs automated tasks as part of the workflow."
},
{
"id": "9410bce8-3a2d-4852-acbd-8baa7ee4964d",
"name": "Airtable",
"type": "n8n-nodes-base.airtable",
"position": [
860,
600
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appGAPr0tOy8J0NXC",
"cachedResultUrl": "{{ $env.WEBHOOK_URL }}",
"cachedResultName": "Hubspot Conversations ChatGPT"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbljZ0POq35jgnKES",
"cachedResultUrl": "{{ $env.WEBHOOK_URL }}",
"cachedResultName": "Conversations"
},
"options": {},
"operation": "search",
"filterByFormula": "={Hubspot Thread ID}=\"{{ $json.conversationsThreadId }}\""
},
"credentials": {
"airtableTokenApi": {
"id": "Ha1BL7JqKQIwX3H1",
"name": "Hubspot Conversations Makeitfuture Management"
}
},
"typeVersion": 2,
"alwaysOutputData": true,
"notes": "This airtable node performs automated tasks as part of the workflow."
},
{
"id": "06449687-7521-4151-89c5-050a2768af13",
"name": "IF1",
"type": "n8n-nodes-base.if",
"position": [
1040,
640
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $('Airtable').item.json.id }}",
"operation": "isEmpty"
}
]
}
},
"typeVersion": 1,
"notes": "This if node performs automated tasks as part of the workflow."
},
{
"id": "65c3015e-760f-41e8-9d18-05492cf908c8",
"name": "createThread",
"type": "n8n-nodes-base.airtable",
"position": [
1440,
420
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appGAPr0tOy8J0NXC",
"cachedResultUrl": "{{ $env.WEBHOOK_URL }}",
"cachedResultName": "Hubspot Conversations ChatGPT"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbljZ0POq35jgnKES",
"cachedResultUrl": "{{ $env.WEBHOOK_URL }}",
"cachedResultName": "Conversations"
},
"columns": {
"value": {
"OpenAI Thread ID": "={{ $json[\"id\"] }}",
"Hubspot Thread ID": "={{ $('getHubspotMessage').item.json.conversationsThreadId }}"
},
"schema": [
{
"id": "Hubspot Thread ID",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Hubspot Thread ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "OpenAI Thread ID",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "OpenAI Thread ID",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": []
},
"options": {},
"operation": "create"
},
"credentials": {
"airtableTokenApi": {
"id": "Ha1BL7JqKQIwX3H1",
"name": "Hubspot Conversations Makeitfuture Management"
}
},
"typeVersion": 2,
"notes": "This airtable node performs automated tasks as part of the workflow."
},
{
"id": "14cd4854-34fa-4a40-8bd2-cce2d9da9571",
"name": "OpenAI Run1",
"type": "n8n-nodes-base.httpRequest",
"position": [
1620,
780
],
"parameters": {
"url": "{{ $env.BASE_URL }}",
"method": "POST",
"options": {},
"jsonBody": "={\n \"assistant_id\": \"asst_MA71Jq0SElVpdjmJa212CTFd\"\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "{{ $credentials.predefinedCredentialType }}",
"headerParameters": {
"parameters": [
{
"name": "openai-beta",
"value": "assistants=v1"
}
]
},
"nodeCredentialType": "YOUR_CREDENTIAL_HERE"
},
"credentials": {
"openAiApi": {
"id": "sCh1Lrc1ZT8NVcgn",
"name": "OpenAi Makeitfuture.eu"
}
},
"typeVersion": 4.1,
"continueOnFail": true,
"alwaysOutputData": false,
"notes": "This httpRequest node performs automated tasks as part of the workflow."
},
{
"id": "7c37641f-b0a4-4031-b289-3d6aed5a5bd6",
"name": "IF2",
"type": "n8n-nodes-base.if",
"position": [
60,
600
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json[\"body\"][0][\"messageId\"] }}",
"operation": "isNotEmpty"
}
]
}
},
"typeVersion": 1,
"notes": "This if node performs automated tasks as part of the workflow."
},
{
"id": "12744ebd-1d36-4f3c-9cbe-2ed7d18d37e3",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-200,
440
],
"parameters": {
"width": 640.1970959824021,
"height": 428.68258455167785,
"content": "Watch for new message on the chatbot. \nThis can be triggered with [n8n chat widget]({{ $env.WEBHOOK_URL }} hubspot or other chat services. \n\n"
},
"typeVersion": 1,
"notes": "This stickyNote node performs automated tasks as part of the workflow."
},
{
"id": "9c200085-e9aa-4e11-93c2-da8184976229",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
2480,
340
],
"parameters": {
"width": 615.2010006500725,
"height": 279.76857176586907,
"content": "Post assistant Message back to chat service, in this case Hubspot"
},
"typeVersion": 1,
"notes": "This stickyNote node performs automated tasks as part of the workflow."
},
{
"id": "4458aafb-d280-46d0-ba54-3eb4ee746892",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1200,
300
],
"parameters": {
"width": 636.6434938094908,
"height": 304.69360473583896,
"content": "Create a new Thread, save it to database and RUN"
},
"typeVersion": 1,
"notes": "This stickyNote node performs automated tasks as part of the workflow."
},
{
"id": "f13f45aa-47c9-4a76-a69c-f13f51d9434f",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
480,
440
],
"parameters": {
"width": 328.9155262250898,
"height": 421.64797280574976,
"content": "UPDATE USER FILTER FOR DUPLICATION"
},
"typeVersion": 1,
"notes": "This stickyNote node performs automated tasks as part of the workflow."
},
{
"id": "ba0d0a2c-5014-44b8-a281-9d5014b78bcc",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
840,
440
],
"parameters": {
"width": 328.9155262250898,
"height": 421.64797280574976,
"content": "Search for Thread ID in a database. \n\nThis database is maintaing references between messaging service thread id and OpenI Thread ID. "
},
"typeVersion": 1,
"notes": "This stickyNote node performs automated tasks as part of the workflow."
},
{
"id": "3d3562b5-631f-405c-b671-6856214f167f",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1200,
680
],
"parameters": {
"width": 636.6434938094908,
"height": 304.69360473583896,
"content": "POST a new message to existing thread."
},
"typeVersion": 1,
"notes": "This stickyNote node performs automated tasks as part of the workflow."
},
{
"id": "9ad1622c-5b42-4279-bf16-edf7bcbb5155",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
1900,
320
],
"parameters": {
"width": 393.4831089305742,
"height": 629.4777449641093,
"content": "Get Run Status:\nIf still in progress, run again. \nIf action needed go to respective action.\nIf Completed, post message."
},
"typeVersion": 1,
"notes": "This stickyNote node performs automated tasks as part of the workflow."
},
{
"id": "e51965ef-7694-41b3-9c9a-9f78c00af3f3",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
2538.191410231545,
840
],
"parameters": {
"width": 1361.867818730004,
"height": 731.995091888263,
"content": "Run required actions based on Assistant answer and respond to Assistant with the function answer. \n\nEach route is a function that you need to define inside your assistant configuration.\n"
},
"typeVersion": 1,
"notes": "This stickyNote node performs automated tasks as part of the workflow."
},
{
"id": "706fb261-724e-4c22-8def-24a320d213a2",
"name": "OpenAI",
"type": "n8n-nodes-base.noOp",
"position": [
1280,
780
],
"parameters": {
"text": "={{ $('getHubspotMessage').item.json[\"text\"] }}",
"prompt": "define",
"options": {
"baseURL": "{{ $env.API_BASE_URL }}{{ $('Airtable').item.json[\"OpenAI Thread ID\"] }}/messages"
},
"resource": "assistant",
"assistantId": {
"__rl": true,
"mode": "list",
"value": "asst_wVbEcnRttQ8K65DOV0fk1DJU",
"cachedResultName": "Lista Firma Agent"
}
},
"credentials": {
"openAiApi": {
"id": "sCh1Lrc1ZT8NVcgn",
"name": "OpenAi Makeitfuture.eu"
}
},
"typeVersion": 1.3,
"notes": "This openAi node performs automated tasks as part of the workflow."
},
{
"id": "b8f686cc-33d6-4e99-987c-d1f91864e81d",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-160,
600
],
"webhookId": "637d5b46-b35f-4943-92a2-864ddce170f4",
"parameters": {
"path": "hubspot-tinder",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 1,
"notes": "This webhook node performs automated tasks as part of the workflow."
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1",
"saveManualExecutions": true,
"callerPolicy": "workflowsFromSameOwner",
"errorWorkflow": null,
"timezone": "UTC",
"executionTimeout": 3600,
"maxExecutions": 1000,
"retryOnFail": true,
"retryCount": 3,
"retryDelay": 1000
},
"versionId": "d9763b45-9092-490f-85b4-926354cdeb47",
"connections": {
"7f11a684-911b-4fbc-ba1b-a8e7bce8e914": {
"main": [
[
{
"node": "error-handler-7f11a684-911b-4fbc-ba1b-a8e7bce8e914",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-7f11a684-911b-4fbc-ba1b-a8e7bce8e914-aa166ef1",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-7f11a684-911b-4fbc-ba1b-a8e7bce8e914-8735ee63",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-7f11a684-911b-4fbc-ba1b-a8e7bce8e914-fd93c73d",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-7f11a684-911b-4fbc-ba1b-a8e7bce8e914-c156b7c8",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-7f11a684-911b-4fbc-ba1b-a8e7bce8e914-d305f9be",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-7f11a684-911b-4fbc-ba1b-a8e7bce8e914-2badb125",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-7f11a684-911b-4fbc-ba1b-a8e7bce8e914-0ce297ef",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-7f11a684-911b-4fbc-ba1b-a8e7bce8e914-9de75e46",
"type": "main",
"index": 0
}
]
]
},
"687bcbb8-38c8-4d21-a46f-186e880d003c": {
"main": [
[
{
"node": "error-handler-687bcbb8-38c8-4d21-a46f-186e880d003c",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-687bcbb8-38c8-4d21-a46f-186e880d003c-58daaea9",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-687bcbb8-38c8-4d21-a46f-186e880d003c-4551ddd9",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-687bcbb8-38c8-4d21-a46f-186e880d003c-1eca5846",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-687bcbb8-38c8-4d21-a46f-186e880d003c-a51bc977",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-687bcbb8-38c8-4d21-a46f-186e880d003c-f55d91c1",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-687bcbb8-38c8-4d21-a46f-186e880d003c-1fd3a138",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-687bcbb8-38c8-4d21-a46f-186e880d003c-5f76e565",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-687bcbb8-38c8-4d21-a46f-186e880d003c-2db0af95",
"type": "main",
"index": 0
}
]
]
},
"8b51d465-d298-4b7a-b939-026bd51469d3": {
"main": [
[
{
"node": "error-handler-8b51d465-d298-4b7a-b939-026bd51469d3",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-8b51d465-d298-4b7a-b939-026bd51469d3-fde4cc09",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-8b51d465-d298-4b7a-b939-026bd51469d3-f8bad74f",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-8b51d465-d298-4b7a-b939-026bd51469d3-0887df83",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-8b51d465-d298-4b7a-b939-026bd51469d3-06c80baf",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-8b51d465-d298-4b7a-b939-026bd51469d3-ab540427",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-8b51d465-d298-4b7a-b939-026bd51469d3-75b52623",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-8b51d465-d298-4b7a-b939-026bd51469d3-b07ac856",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-8b51d465-d298-4b7a-b939-026bd51469d3-1b5a8f37",
"type": "main",
"index": 0
}
]
]
},
"3e645c55-a236-466f-9983-2a3e91c250db": {
"main": [
[
{
"node": "error-handler-3e645c55-a236-466f-9983-2a3e91c250db",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-3e645c55-a236-466f-9983-2a3e91c250db-fe56973d",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-3e645c55-a236-466f-9983-2a3e91c250db-f20bab55",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-3e645c55-a236-466f-9983-2a3e91c250db-412f83de",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-3e645c55-a236-466f-9983-2a3e91c250db-d186ea32",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-3e645c55-a236-466f-9983-2a3e91c250db-46eaed53",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-3e645c55-a236-466f-9983-2a3e91c250db-0b4adb68",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-3e645c55-a236-466f-9983-2a3e91c250db-1be5954d",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-3e645c55-a236-466f-9983-2a3e91c250db-291a4459",
"type": "main",
"index": 0
}
]
]
},
"a69a1d1e-b932-481e-8d36-8d121c63ad4b": {
"main": [
[
{
"node": "error-handler-a69a1d1e-b932-481e-8d36-8d121c63ad4b",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-a69a1d1e-b932-481e-8d36-8d121c63ad4b-894ba3c9",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-a69a1d1e-b932-481e-8d36-8d121c63ad4b-6f265c07",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-a69a1d1e-b932-481e-8d36-8d121c63ad4b-ac3113ca",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-a69a1d1e-b932-481e-8d36-8d121c63ad4b-f0cdbe12",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-a69a1d1e-b932-481e-8d36-8d121c63ad4b-0f1112d8",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-a69a1d1e-b932-481e-8d36-8d121c63ad4b-4994aa51",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-a69a1d1e-b932-481e-8d36-8d121c63ad4b-f54f782c",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-a69a1d1e-b932-481e-8d36-8d121c63ad4b-d71cb3f1",
"type": "main",
"index": 0
}
]
]
},
"d9758207-56d4-4180-aac7-f0ebafab1064": {
"main": [
[
{
"node": "error-handler-d9758207-56d4-4180-aac7-f0ebafab1064",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-d9758207-56d4-4180-aac7-f0ebafab1064-c9cdc142",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-d9758207-56d4-4180-aac7-f0ebafab1064-68c1916c",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-d9758207-56d4-4180-aac7-f0ebafab1064-9e70b33d",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-d9758207-56d4-4180-aac7-f0ebafab1064-d0082f67",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-d9758207-56d4-4180-aac7-f0ebafab1064-60be5057",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-d9758207-56d4-4180-aac7-f0ebafab1064-96f1f475",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-d9758207-56d4-4180-aac7-f0ebafab1064-9bc2e36c",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-d9758207-56d4-4180-aac7-f0ebafab1064-70eb21ae",
"type": "main",
"index": 0
}
]
]
},
"f80a2cd8-6691-4186-909b-cfed95318014": {
"main": [
[
{
"node": "error-handler-f80a2cd8-6691-4186-909b-cfed95318014",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-f80a2cd8-6691-4186-909b-cfed95318014-21a3f42f",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-f80a2cd8-6691-4186-909b-cfed95318014-d3645bb3",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-f80a2cd8-6691-4186-909b-cfed95318014-9763a040",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-f80a2cd8-6691-4186-909b-cfed95318014-6b762a54",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-f80a2cd8-6691-4186-909b-cfed95318014-be6adbf3",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-f80a2cd8-6691-4186-909b-cfed95318014-0cf3d8d5",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-f80a2cd8-6691-4186-909b-cfed95318014-6940de07",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-f80a2cd8-6691-4186-909b-cfed95318014-99df2737",
"type": "main",
"index": 0
}
]
]
},
"54205ed2-7c96-44b6-9637-20830300310a": {
"main": [
[
{
"node": "error-handler-54205ed2-7c96-44b6-9637-20830300310a",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-54205ed2-7c96-44b6-9637-20830300310a-1f63f483",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-54205ed2-7c96-44b6-9637-20830300310a-2168b2e1",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-54205ed2-7c96-44b6-9637-20830300310a-d9bc74be",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-54205ed2-7c96-44b6-9637-20830300310a-fd289f4b",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-54205ed2-7c96-44b6-9637-20830300310a-d4c34136",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-54205ed2-7c96-44b6-9637-20830300310a-0ec9e7dd",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-54205ed2-7c96-44b6-9637-20830300310a-a75f2390",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-54205ed2-7c96-44b6-9637-20830300310a-050729d0",
"type": "main",
"index": 0
}
]
]
},
"e9d1d277-107d-403c-9911-5faa4ae75671": {
"main": [
[
{
"node": "error-handler-e9d1d277-107d-403c-9911-5faa4ae75671",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-e9d1d277-107d-403c-9911-5faa4ae75671-b0a6afed",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-e9d1d277-107d-403c-9911-5faa4ae75671-eb7fd237",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-e9d1d277-107d-403c-9911-5faa4ae75671-e5e12482",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-e9d1d277-107d-403c-9911-5faa4ae75671-a11e60d7",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-e9d1d277-107d-403c-9911-5faa4ae75671-72b37d20",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-e9d1d277-107d-403c-9911-5faa4ae75671-bcc62111",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-e9d1d277-107d-403c-9911-5faa4ae75671-1ea8f7bf",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-e9d1d277-107d-403c-9911-5faa4ae75671-6c0a47cc",
"type": "main",
"index": 0
}
]
]
},
"2b954546-8bc6-4028-9826-37a64d2aed04": {
"main": [
[
{
"node": "error-handler-2b954546-8bc6-4028-9826-37a64d2aed04",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-2b954546-8bc6-4028-9826-37a64d2aed04-7fc44d82",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-2b954546-8bc6-4028-9826-37a64d2aed04-8cd2c01a",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-2b954546-8bc6-4028-9826-37a64d2aed04-8b762be1",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-2b954546-8bc6-4028-9826-37a64d2aed04-5b0b973c",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-2b954546-8bc6-4028-9826-37a64d2aed04-d11658a1",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-2b954546-8bc6-4028-9826-37a64d2aed04-db68c95b",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-2b954546-8bc6-4028-9826-37a64d2aed04-83b56a23",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-2b954546-8bc6-4028-9826-37a64d2aed04-5315964d",
"type": "main",
"index": 0
}
]
]
},
"14cd4854-34fa-4a40-8bd2-cce2d9da9571": {
"main": [
[
{
"node": "error-handler-14cd4854-34fa-4a40-8bd2-cce2d9da9571",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-14cd4854-34fa-4a40-8bd2-cce2d9da9571-8aa1ab0d",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-14cd4854-34fa-4a40-8bd2-cce2d9da9571-1d50c44c",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-14cd4854-34fa-4a40-8bd2-cce2d9da9571-8b55f84e",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-14cd4854-34fa-4a40-8bd2-cce2d9da9571-5d36d49e",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-14cd4854-34fa-4a40-8bd2-cce2d9da9571-22f03520",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-14cd4854-34fa-4a40-8bd2-cce2d9da9571-033c6ff5",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-14cd4854-34fa-4a40-8bd2-cce2d9da9571-c29d558f",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-14cd4854-34fa-4a40-8bd2-cce2d9da9571-0e2710de",
"type": "main",
"index": 0
}
]
]
},
"b8f686cc-33d6-4e99-987c-d1f91864e81d": {
"main": [
[
{
"node": "error-handler-b8f686cc-33d6-4e99-987c-d1f91864e81d",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-b8f686cc-33d6-4e99-987c-d1f91864e81d-9aae29e1",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-b8f686cc-33d6-4e99-987c-d1f91864e81d-1a78dff0",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-b8f686cc-33d6-4e99-987c-d1f91864e81d-2fc48045",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-b8f686cc-33d6-4e99-987c-d1f91864e81d-b6b4e2b5",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-b8f686cc-33d6-4e99-987c-d1f91864e81d-fd7a036a",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-b8f686cc-33d6-4e99-987c-d1f91864e81d-abc7fda8",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-b8f686cc-33d6-4e99-987c-d1f91864e81d-9ec8bf64",
"type": "main",
"index": 0
}
],
[
{
"node": "error-handler-b8f686cc-33d6-4e99-987c-d1f91864e81d-eb82e248",
"type": "main",
"index": 0
}
]
]
},
"706fb261-724e-4c22-8def-24a320d213a2": {
"main": [
[
{
"node": "error-handler-706fb261-724e-4c22-8def-24a320d213a2-fe31b209",
"type": "main",
"index": 0
}
]
]
}
},
"description": "Automated workflow: OpenAI Assistant for Hubspot Chat. This workflow integrates 10 different services: webhook, stickyNote, httpRequest, wait, airtable. It contains 59 nodes and follows best practices for error handling and security.",
"notes": "Excellent quality workflow: OpenAI Assistant for Hubspot Chat. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."
}