About this recipe
Recipe Template
{
"id": "C2pB17EpXAJwOcst",
"meta": {
"instanceId": "ba379c9b99d35340c90344105e7e5d06ca0de3e88926f0384d2c23099dad1937"
},
"name": "OpenAI Assistant for Hubspot Chat",
"tags": [],
"nodes": [
{
"id": "7f11a684-911b-4fbc-ba1b-a8e7bce8e914",
"name": "getHubspotMessage",
"type": "n8n-nodes-base.httpRequest",
"position": [
280,
580
],
"parameters": {
"url": "=https:\/\/api.hubapi.com\/conversations\/v3\/conversations\/threads\/{{ $json[\"body\"][0][\"objectId\"] }}\/messages\/{{ $json[\"body\"][0][\"messageId\"] }}",
"options": [],
"authentication": "predefinedCredentialType",
"nodeCredentialType": "hubspotAppToken"
},
"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
},
{
"id": "687bcbb8-38c8-4d21-a46f-186e880d003c",
"name": "OpenAi Create Thread",
"type": "n8n-nodes-base.httpRequest",
"position": [
1260,
420
],
"parameters": {
"url": "https:\/\/api.openai.com\/v1\/threads",
"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": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "openai-beta",
"value": "assistants=v1"
}
]
},
"nodeCredentialType": "openAiApi"
},
"credentials": {
"openAiApi": {
"id": "sCh1Lrc1ZT8NVcgn",
"name": "OpenAi Makeitfuture.eu"
}
},
"typeVersion": 4.1
},
{
"id": "8b51d465-d298-4b7a-b939-026bd51469d3",
"name": "OpenAI Run",
"type": "n8n-nodes-base.httpRequest",
"position": [
1620,
420
],
"parameters": {
"url": "=https:\/\/api.openai.com\/v1\/threads\/{{ $json[\"OpenAI Thread ID\"] }}\/runs",
"method": "POST",
"options": [],
"jsonBody": "={\n \"assistant_id\": \"asst_MA71Jq0SElVpdjmJa212CTFd\"\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "openai-beta",
"value": "assistants=v1"
}
]
},
"nodeCredentialType": "openAiApi"
},
"credentials": {
"openAiApi": {
"id": "sCh1Lrc1ZT8NVcgn",
"name": "OpenAi Makeitfuture.eu"
}
},
"typeVersion": 4.1
},
{
"id": "3e645c55-a236-466f-9983-2a3e91c250db",
"name": "Get Run",
"type": "n8n-nodes-base.httpRequest",
"position": [
1920,
600
],
"parameters": {
"url": "=https:\/\/api.openai.com\/v1\/threads\/{{ $json[\"thread_id\"] }}\/runs\/{{ $json[\"id\"] }}",
"options": [],
"sendHeaders": true,
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "openai-beta",
"value": "assistants=v1"
}
]
},
"nodeCredentialType": "openAiApi"
},
"credentials": {
"openAiApi": {
"id": "sCh1Lrc1ZT8NVcgn",
"name": "OpenAi Makeitfuture.eu"
}
},
"typeVersion": 4.1,
"alwaysOutputData": true
},
{
"id": "a69a1d1e-b932-481e-8d36-8d121c63ad4b",
"name": "Get Last Message",
"type": "n8n-nodes-base.httpRequest",
"position": [
2520,
460
],
"parameters": {
"url": "=https:\/\/api.openai.com\/v1\/threads\/{{ $json[\"thread_id\"] }}\/messages",
"options": [],
"sendHeaders": true,
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "openai-beta",
"value": "assistants=v1"
}
]
},
"nodeCredentialType": "openAiApi"
},
"credentials": {
"openAiApi": {
"id": "sCh1Lrc1ZT8NVcgn",
"name": "OpenAi Makeitfuture.eu"
}
},
"typeVersion": 4.1
},
{
"id": "d9758207-56d4-4180-aac7-f0ebafab1064",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"position": [
2820,
960
],
"parameters": {
"url": "=https:\/\/www.listafirme.ro\/api\/search-v1.asp",
"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
},
{
"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
},
{
"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
},
{
"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
},
{
"id": "f80a2cd8-6691-4186-909b-cfed95318014",
"name": "Submit Data",
"type": "n8n-nodes-base.httpRequest",
"position": [
3360,
960
],
"parameters": {
"url": "=https:\/\/api.openai.com\/v1\/threads\/{{ $('Select Function').item.json[\"thread_id\"] }}\/runs\/{{ $('Select Function').item.json[\"id\"] }}\/submit_tool_outputs",
"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": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "openai-beta",
"value": "assistants=v1"
}
]
},
"nodeCredentialType": "openAiApi"
},
"credentials": {
"openAiApi": {
"id": "sCh1Lrc1ZT8NVcgn",
"name": "OpenAi Makeitfuture.eu"
}
},
"typeVersion": 4.1,
"alwaysOutputData": true
},
{
"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
},
{
"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
},
{
"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
},
{
"id": "54205ed2-7c96-44b6-9637-20830300310a",
"name": "HTTP Request1",
"type": "n8n-nodes-base.httpRequest",
"position": [
2820,
1180
],
"parameters": {
"url": "=https:\/\/www.listafirme.ro\/api\/info-v1.asp",
"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
},
{
"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
},
{
"id": "e9d1d277-107d-403c-9911-5faa4ae75671",
"name": "Submit Data1",
"type": "n8n-nodes-base.httpRequest",
"position": [
3260,
1180
],
"parameters": {
"url": "=https:\/\/api.openai.com\/v1\/threads\/{{ $('Select Function').item.json[\"thread_id\"] }}\/runs\/{{ $('Select Function').item.json[\"id\"] }}\/submit_tool_outputs",
"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": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "openai-beta",
"value": "assistants=v1"
}
]
},
"nodeCredentialType": "openAiApi"
},
"credentials": {
"openAiApi": {
"id": "sCh1Lrc1ZT8NVcgn",
"name": "OpenAi Makeitfuture.eu"
}
},
"typeVersion": 4.1,
"alwaysOutputData": true
},
{
"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
},
{
"id": "2b954546-8bc6-4028-9826-37a64d2aed04",
"name": "respondHubspotMessage1",
"type": "n8n-nodes-base.httpRequest",
"position": [
2820,
420
],
"parameters": {
"url": "=https:\/\/api.hubapi.com\/conversations\/v3\/conversations\/threads\/{{ $('getHubspotMessage').item.json[\"conversationsThreadId\"] }}\/messages",
"method": "POST",
"options": [],
"sendBody": true,
"authentication": "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": "hubspotAppToken"
},
"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
},
{
"id": "6facd7e9-5cbd-4eb7-ab22-84b4fbf35885",
"name": "IF",
"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
},
{
"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": "https:\/\/airtable.com\/appGAPr0tOy8J0NXC",
"cachedResultName": "Hubspot Conversations ChatGPT"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbljZ0POq35jgnKES",
"cachedResultUrl": "https:\/\/airtable.com\/appGAPr0tOy8J0NXC\/tbljZ0POq35jgnKES",
"cachedResultName": "Conversations"
},
"options": [],
"operation": "search",
"filterByFormula": "={Hubspot Thread ID}=\"{{ $json.conversationsThreadId }}\""
},
"credentials": {
"airtableTokenApi": {
"id": "Ha1BL7JqKQIwX3H1",
"name": "Hubspot Conversations Makeitfuture Management"
}
},
"typeVersion": 2,
"alwaysOutputData": true
},
{
"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
},
{
"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": "https:\/\/airtable.com\/appGAPr0tOy8J0NXC",
"cachedResultName": "Hubspot Conversations ChatGPT"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbljZ0POq35jgnKES",
"cachedResultUrl": "https:\/\/airtable.com\/appGAPr0tOy8J0NXC\/tbljZ0POq35jgnKES",
"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
},
{
"id": "14cd4854-34fa-4a40-8bd2-cce2d9da9571",
"name": "OpenAI Run1",
"type": "n8n-nodes-base.httpRequest",
"position": [
1620,
780
],
"parameters": {
"url": "=https:\/\/api.openai.com\/v1\/threads\/{{ $('Airtable').item.json[\"OpenAI Thread ID\"] }}\/runs",
"method": "POST",
"options": [],
"jsonBody": "={\n \"assistant_id\": \"asst_MA71Jq0SElVpdjmJa212CTFd\"\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "openai-beta",
"value": "assistants=v1"
}
]
},
"nodeCredentialType": "openAiApi"
},
"credentials": {
"openAiApi": {
"id": "sCh1Lrc1ZT8NVcgn",
"name": "OpenAi Makeitfuture.eu"
}
},
"typeVersion": 4.1,
"continueOnFail": true,
"alwaysOutputData": false
},
{
"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
},
{
"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](https:\/\/www.npmjs.com\/package\/@n8n\/chat), hubspot or other chat services. \n\n"
},
"typeVersion": 1
},
{
"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
},
{
"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
},
{
"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
},
{
"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
},
{
"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
},
{
"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
},
{
"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
},
{
"id": "706fb261-724e-4c22-8def-24a320d213a2",
"name": "OpenAI",
"type": "@n8n\/n8n-nodes-langchain.openAi",
"position": [
1280,
780
],
"parameters": {
"text": "={{ $('getHubspotMessage').item.json[\"text\"] }}",
"prompt": "define",
"options": {
"baseURL": "https:\/\/api.openai.com\/v1\/threads\/{{ $('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
},
{
"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
}
],
"active": false,
"pinData": [],
"settings": {
"executionOrder": "v1"
},
"versionId": "d9763b45-9092-490f-85b4-926354cdeb47",
"connections": {
"IF": {
"main": [
[
{
"node": "Airtable",
"type": "main",
"index": 0
}
]
]
},
"IF1": {
"main": [
[
{
"node": "OpenAi Create Thread",
"type": "main",
"index": 0
}
],
[
{
"node": "OpenAI",
"type": "main",
"index": 0
}
]
]
},
"IF2": {
"main": [
[
{
"node": "getHubspotMessage",
"type": "main",
"index": 0
}
]
]
},
"Code": {
"main": [
[
{
"node": "Submit Data1",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "Get Run",
"type": "main",
"index": 0
}
]
]
},
"Code1": {
"main": [
[
{
"node": "Submit Data",
"type": "main",
"index": 0
}
]
]
},
"Wait1": {
"main": [
[
{
"node": "Get Run",
"type": "main",
"index": 0
}
]
]
},
"Wait2": {
"main": [
[
{
"node": "Get Run",
"type": "main",
"index": 0
}
]
]
},
"Wait3": {
"main": [
[
{
"node": "Get Run",
"type": "main",
"index": 0
}
]
]
},
"OpenAI": {
"main": [
[
{
"node": "OpenAI Run1",
"type": "main",
"index": 0
}
]
]
},
"Get Run": {
"main": [
[
{
"node": "Completed, Action or Inprogress",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "IF2",
"type": "main",
"index": 0
}
]
]
},
"Airtable": {
"main": [
[
{
"node": "IF1",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Run": {
"main": [
[
{
"node": "Get Run",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Run1": {
"main": [
[
{
"node": "Get Run",
"type": "main",
"index": 0
}
]
]
},
"Submit Data": {
"main": [
[
{
"node": "Wait2",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request": {
"main": [
[
{
"node": "Code1",
"type": "main",
"index": 0
}
]
]
},
"Submit Data1": {
"main": [
[
{
"node": "Wait3",
"type": "main",
"index": 0
}
]
]
},
"createThread": {
"main": [
[
{
"node": "OpenAI Run",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request1": {
"main": [
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"Select Function": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
],
[
{
"node": "HTTP Request1",
"type": "main",
"index": 0
}
]
]
},
"Get Last Message": {
"main": [
[
{
"node": "respondHubspotMessage1",
"type": "main",
"index": 0
}
]
]
},
"getHubspotMessage": {
"main": [
[
{
"node": "IF",
"type": "main",
"index": 0
}
]
]
},
"OpenAi Create Thread": {
"main": [
[
{
"node": "createThread",
"type": "main",
"index": 0
}
]
]
},
"Completed, Action or Inprogress": {
"main": [
[
{
"node": "Get Last Message",
"type": "main",
"index": 0
}
],
[
{
"node": "Select Function",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait1",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
}
}
}
How to Use an n8n Template
Create a New Workflow
Click "New Workflow" in your n8n dashboard to get started.
Copy & Paste Template
First, copy this template:
Click here to copy the JSON
.
Then, in n8n, click the three dots (···) → "Import from file" and paste the JSON code.
Customize the Nodes
Go through each node in the workflow to update inputs like spreadsheet IDs, email addresses, or message content. Adjust field mappings to match your data.
Grant Access
For nodes that connect to external apps (like Google Sheets or Slack), you'll need to grant access. Connect your accounts using OAuth or an API key and save the credentials in the node.
Test It
Run the workflow by clicking "Execute Node" for each step or "Run Once" for the whole thing. Check the right sidebar to inspect data and debug any errors (they'll show up in red).
Activate Workflow
Once everything works as expected, click the "Activate" toggle to turn your workflow on. You're all set!