{"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}]]}}}