{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "8f203423-b063-4918-a6ec-dad3ac7d1a20",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        860,
        -100
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "d9f2e90f-128b-458b-b3cf-79db2ec08633",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1000,
        100
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "4f752502-8589-4e31-bbe1-4b8395e7325a",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        1160,
        100
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "61ca5a4b-3661-4330-ac4c-e09e75dd764c",
      "name": "Acuity Support Search API",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1840,
        80
      ],
      "parameters": {
        "url": "https://2al21hjwoz-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=Algolia%20for%20JavaScript%20(3.35.1)%3B%20Browser%20(lite)%3B%20instantsearch.js%201.12.1%3B%20Zendesk%20Integration%20(2.32.0)%3B%20JS%20Helper%20(2.28.1)&x-algolia-application-id=2AL21HJWOZ&x-algolia-api-key=c3c07dd7fb575008575163c085a62b92",
        "method": "POST",
        "options": {},
        "jsonBody": "={{\n{\n  \"requests\":[\n    {\n      \"indexName\":\"Zendesk 4-25\",\n      \"params\": \"query=\" + $json.query + \"&hitsPerPage=5&page=0&facets=%5B%22locale.locale%22%2C%22label_names%22%2C%22category.title%22%5D&tagFilters=&facetFilters=%5B%22locale.locale%3Aen-us%22%5D\"\n    }\n  ]\n}\n}}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "Accept-Language",
              "value": "en"
            },
            {
              "name": "Cache-Control",
              "value": "no-cache"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Origin",
              "value": "https://help.acuityscheduling.com"
            },
            {
              "name": "Referer",
              "value": "https://help.acuityscheduling.com/"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36"
            },
            {
              "name": "accept",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "8ecd6287-982c-4754-9300-4c6d54202273",
      "name": "Extract Relevant Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        2560,
        80
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a6973f14-e17d-46b0-9c5b-c6d9967dbf99",
              "name": "title",
              "type": "string",
              "value": "={{ $json.title }}"
            },
            {
              "id": "88092adb-7f63-4daa-8c7a-cbd85750e180",
              "name": "body",
              "type": "string",
              "value": "={{ $json.body_safe }}"
            },
            {
              "id": "12718897-a73d-4c3a-bcfb-b17c890458ec",
              "name": "url",
              "type": "string",
              "value": "=https://help.acuityscheduling.com/hc/en-us/articles/{{ $json.id }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "bf5855b2-8e73-4c29-b277-adee63e8bf59",
      "name": "Results to Items",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        2360,
        80
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "results[0].hits"
      },
      "typeVersion": 1
    },
    {
      "id": "c9329816-bbe0-4de7-b6fb-fa87783f6a5c",
      "name": "Has Results?",
      "type": "n8n-nodes-base.if",
      "position": [
        2040,
        80
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "f5d7e890-f00a-4252-8588-c6662e71790c",
              "operator": {
                "type": "array",
                "operation": "lengthGt",
                "rightType": "number"
              },
              "leftValue": "={{ $json.results[0]?.hits ?? [] }}",
              "rightValue": 0
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "860a178a-d500-4291-acfc-9c9f4638d6c7",
      "name": "Empty Response",
      "type": "n8n-nodes-base.set",
      "position": [
        2360,
        260
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "0ce36950-83d9-4964-8763-f329a4cda5a8",
              "name": "response",
              "type": "array",
              "value": "[]"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "c9f2a08b-88c2-4287-994c-f7af58e98301",
      "name": "Aggregate Response",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        2760,
        80
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData",
        "destinationFieldName": "response"
      },
      "typeVersion": 1
    },
    {
      "id": "5f1f8874-7022-4ea1-b0a7-de42c4f800a1",
      "name": "Knowledgebase Tool",
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "position": [
        1320,
        100
      ],
      "parameters": {
        "name": "acuity_support_search",
        "workflowId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $workflow.id }}"
        },
        "description": "Call this tool to query AcuityScheduling's Support Center Search API.",
        "workflowInputs": {
          "value": {
            "query": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('query', ``, 'string') }}"
          },
          "schema": [
            {
              "id": "query",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "query",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "3913ddaa-852e-4463-a072-fe8be22bc184",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        720,
        -300
      ],
      "parameters": {
        "color": 7,
        "width": 780,
        "height": 580,
        "content": "## 1. \uc9c0\uc2dd\ubca0\uc774\uc2a4 \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud55c \uac04\ub2e8\ud55c \ucc44\ud2b8\ubd07  \n[AI \uc5d0\uc774\uc804\ud2b8\uc5d0 \ub300\ud574 \ub354 \uc54c\uc544\ubcf4\uae30](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent)  \n\nAI \uc5d0\uc774\uc804\ud2b8 \ub178\ub4dc\ub294 n8n\uc5d0\uc11c \uc0ac\uc6a9\uc790 \uce5c\ud654\uc801\uc778 \ucc44\ud2b8\ubd07\uc744 \ub9cc\ub4dc\ub294 \uac00\uc7a5 \uac04\ub2e8\ud558\uace0 \ucd94\ucc9c\ub418\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4. \uc5ec\uae30\uc11c, \uc6b0\ub9ac\ub294 AcuityScheduling.com \uc9c8\ubb38\uc5d0 \ub2f5\ud560 \uc218 \uc788\ub294 \uc9c0\uc6d0 \uc5d0\uc774\uc804\ud2b8\ub97c \uc815\uc758\ud560 \uac83\uc785\ub2c8\ub2e4. \ub2f5\ubcc0\uc774 \uc815\ud655\ud558\uace0 \ucd5c\uc2e0 \uc0c1\ud0dc\ub97c \uc720\uc9c0\ud558\uae30 \uc704\ud574, \uc774\ub97c \ub9de\ucda4\ud615 \uc6cc\ud06c\ud50c\ub85c\uc6b0 \ub3c4\uad6c\ub97c \ud1b5\ud574 \uc9c0\uc6d0 \uc9c0\uc2dd\ubca0\uc774\uc2a4\uc5d0 \uc5f0\uacb0\ud560 \uac83\uc785\ub2c8\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "e24d75f9-6d3c-4bca-b67f-33737ee969ee",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1540,
        -140
      ],
      "parameters": {
        "color": 7,
        "width": 700,
        "height": 440,
        "content": "## 2. \uae30\uc874 \ud5ec\ud504 \ud3ec\ud138 \uac80\uc0c9 \uc0ac\uc6a9  \n[HTTP \uc694\uccad \ub3c4\uad6c\uc5d0 \ub300\ud574 \ub354 \uc77d\uae30](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest)  \n\nRAG\uc758 \uac1c\ub150\uc740 \ubca1\ud130 \uc2a4\ud1a0\uc5b4\uc640 \ub3d9\uc758\uc5b4\uac00 \ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4! \uc0ac\uc2e4, \ucda9\ubd84\ud788 \uad1c\ucc2e\uc740 \uc9c0\uc6d0 \uc6f9\uc0ac\uc774\ud2b8\ub97c \uac00\uc9c4 \ub9ce\uc740 \ud68c\uc0ac\ub4e4\uc740 \uc774 \uae30\uc874 \uc9c0\uc2dd\ubca0\uc774\uc2a4\ub97c \uc9c0\uc6d0 \uc5d0\uc774\uc804\ud2b8\uc5d0\uac8c \ud65c\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc740 \uc2dc\uac04, \ub3c8, \ub178\ub825\uc744 \uc808\uc57d\ud558\uace0 \ucd94\uac00\ub85c \ub3d9\uae30\ud654\uc640 \uc5c5\ub370\uc774\ud2b8\uac00 \ube48\ubc88\ud55c \ubca1\ud130 \uc2a4\ud1a0\uc5b4\uc758 \uc720\uc9c0\ubcf4\uc218\ub97c \ud53c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "f5feebf1-fd6d-4558-a868-7ea4f852386c",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2260,
        -140
      ],
      "parameters": {
        "color": 7,
        "width": 720,
        "height": 600,
        "content": "## 3. \uacb0\uacfc\ub97c \uc815\ub9ac\ud558\uc5ec \ud1a0\ud070\uc744 \ucd5c\uc801\ud654\n\n[\uc9d1\uacc4 \ub178\ub4dc\uc5d0 \ub300\ud574 \ub354 \uc77d\uae30](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.aggregate)\n\n\ubb3c\ub860, \uacb0\uacfc\ub294 \uc6f9\uc0ac\uc774\ud2b8 \ud615\uc2dd\uc73c\ub85c \uc758\ub3c4\ub418\uc5b4 \uc788\uc9c0\ub9cc, \ub9de\ucda4 \uc6cc\ud06c\ud50c\ub85c\uc6b0 \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc774\ub97c \uc6b0\ub9ac\uc758 \ucc44\ud305 \uc2dc\ub098\ub9ac\uc624\uc5d0 \ub9de\uac8c \ud3b8\uc9d1\ud558\uc5ec \ud1a0\ud070 \uce21\uba74\uc5d0\uc11c LLM \ube44\uc6a9\uc744 \uc808\uc57d\ud560 \uc218 \uc788\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "8132de59-9b47-460a-9cb9-f2ec83123a3f",
      "name": "AcuityScheduling Support Chatbot",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1060,
        -100
      ],
      "parameters": {
        "options": {
          "systemMessage": "You are a support assistant for the SaaS company, AcuityScheduling.com. Your task is to openly help the user with any questions regarding the AcuityScheduling service however, you are restricted to only this service. If the user asks questions unrelated to AcuityScheduling, you may ask them for clarification, explain you are not able to help them out of scope or redirect them to support@acuityScheduling.com. Be factual in your answer, tap into the resources or tools available and do not rely on your training data (which might be out-of-date). When returning a response to the user, you are encouraged to share the URL of the knowledgebase page where the user can explore the documentation for themselves."
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "564bde38-25ea-4969-aa3f-bff66ec2782f",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        260,
        -840
      ],
      "parameters": {
        "width": 440,
        "height": 1120,
        "content": "## \uc2dc\ub3c4\ud574 \ubcf4\uc138\uc694!\n### \uc774 n8n \ud15c\ud50c\ub9bf\uc740 \uae30\uc874 \uc9c0\uc6d0 \uc0ac\uc774\ud2b8 \uac80\uc0c9\uc744 \ud65c\uc6a9\ud558\uc5ec \uc9c0\uc6d0 \ucc44\ud2b8\ubd07\uacfc \uc5d0\uc774\uc804\ud2b8\ub97c \uad6c\ub3d9\ud558\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4.\n\n\uc9c0\uc6d0 \ucc44\ud2b8\ubd07\uc744 \uad6c\ucd95\ud558\ub294 \uac83\uc774 \ubcf5\uc7a1\ud560 \ud544\uc694\ub294 \uc5c6\uc2b5\ub2c8\ub2e4! \ubca1\ud130 \uc800\uc7a5\uc18c\ub97c \uad6c\ucd95\ud558\uac70\ub098 \ub370\uc774\ud130\ub97c \ubcf5\uc81c\ud558\ub294 \uac83\uc774 \ub2f9\uc2e0\uc758 \uc2a4\ud0c0\uc77c\uc774 \uc544\ub2c8\ub77c\uba74, [RAG](https://www.databricks.com/glossary/retrieval-augmented-generation-rag) \uc811\uadfc\uc758 \ub300\uc548\uc73c\ub85c \uae30\uc874 \uc9c0\uc2dd \uae30\ubc18\uc778 \uc9c0\uc6d0 \ud3ec\ud138\uc744 \ud65c\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\n### \uc791\ub3d9 \uc6d0\ub9ac\n* \uac04\ub2e8\ud55c AI \uc5d0\uc774\uc804\ud2b8\uac00 \ucc44\ud305 \ud2b8\ub9ac\uac70\uc640 \uc5f0\uacb0\ub418\uc5b4 \uc0ac\uc6a9\uc790 \ucffc\ub9ac\ub97c \ubc1b\uc2b5\ub2c8\ub2e4.\n* AI \uc5d0\uc774\uc804\ud2b8\ub294 \uc5f0\uacb0\ub41c \ub9de\ucda4 \uc6cc\ud06c\ud50c\ub85c\uc6b0 \ub3c4\uad6c(\uc989, \"\uc9c0\uc2dd \uae30\ubc18 \ub3c4\uad6c\")\ub97c \ud1b5\ud574 \uc9c0\uc2dd \uae30\ubc18\uc5d0\uc11c \uc815\ubcf4\ub97c \uac00\uc838\uc624\ub3c4\ub85d \uc9c0\uc2dc\ub429\ub2c8\ub2e4.\n* \uc804\uccb4 \uc9c0\uc6d0 \uae30\uc0ac \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \ubca1\ud130 \uc800\uc7a5\uc18c\ub85c \ubcf5\uc81c\ud558\ub294 \ub2e8\uacc4\ub294 \uc5c6\uc2b5\ub2c8\ub2e4. \uc2dc\uac04, \ube44\uc6a9, \uc720\uc9c0 \ubcf4\uc218 \ubb38\uc81c\ub85c \uc778\ud574 \uc120\ud0dd\uc801\uc73c\ub85c \uc0dd\ub7b5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n* \ub300\uc2e0, \ub3c4\uad6c\ub294 \uae30\uc874 \uc9c0\uc6d0 \ud3ec\ud138\uc758 \uac80\uc0c9 API\ub97c \ud65c\uc6a9\ud558\uc5ec \uc9c0\uc2dd \uae30\ubc18 \uae30\uc0ac\ub97c \uac80\uc0c9\ud569\ub2c8\ub2e4.\n* \ub9c8\uc9c0\ub9c9\uc73c\ub85c, \uac80\uc0c9 \uacb0\uacfc\ub97c \ud3ec\ub9f7\ud305\ud55c \ud6c4 \uc5d0\uc774\uc804\ud2b8\uc5d0\uac8c \uc9d1\uacc4\ub41c \uc751\ub2f5\uc744 \ubcf4\ub0c5\ub2c8\ub2e4.\n\n### \uc0ac\uc6a9 \ubc29\ubc95\n* \ud558\uc704 \uc6cc\ud06c\ud50c\ub85c\uc6b0\ub97c \ub9de\ucda4\ud654\ud558\uc5ec \uc790\uc2e0\uc758 \uc9c0\uc6d0 \ud3ec\ud138 API\uc640 \ud568\uaed8 \uc791\ub3d9\ud558\ub3c4\ub85d \ud558\uc138\uc694.\n* \ub2e4\uc74c \ucffc\ub9ac\ub97c \uc2dc\ub3c4\ud574 \ubcf4\uc138\uc694.\n  * \ub0b4 iCloud\ub97c Acuity Scheduling\uc5d0 \uc5f0\uacb0\ud558\ub294 \ubc29\ubc95\uc740?\n  * \ub0b4 Acuity \uacc4\uc815\uc758 \uacfc\uac70 \uc1a1\uc7a5\uc744 \ub2e4\uc6b4\ub85c\ub4dc\ud558\ub294 \ubc29\ubc95\uc740?\n\n### \uc694\uad6c \uc0ac\ud56d\n* LLM\uc6a9 OpenAI.\n* \uc870\uc9c1\uc758 API\uac00 \uad8c\ud55c\uc744 \uc694\uad6c\ud558\ub294 \uacbd\uc6b0, \ud544\uc694\ud55c \ub9de\ucda4 \uc790\uaca9 \uc99d\uba85\uc744 \ucd94\uac00\ud574\uc57c \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\n### \uc774 \uc6cc\ud06c\ud50c\ub85c\uc6b0 \ub9de\ucda4\ud654\n* \ub0b4\ubd80 \uc9c0\uc2dd \uae30\ubc18\uc758 \ub2e4\ub978 \ubd80\ubd84\uc5d0 \uc811\uadfc\ud558\uae30 \uc704\ud574 \ucd94\uac00 \ub3c4\uad6c\ub97c \ucd94\uac00\ud558\uc138\uc694.\n* OpenAI\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub098\uc694? \uad50\uccb4\ud574 \ubcf4\uc138\uc694. \ud558\uc9c0\ub9cc LLM\uc774 \ub3c4\uad6c/\ud568\uc218 \ud638\ucd9c \uc9c0\uc6d0\uc744 \uac16\ucd94\uace0 \uc788\ub294\uc9c0 \ud655\uc778\ud558\uc138\uc694.\n\n### \ub3c4\uc6c0\uc774 \ud544\uc694\ud558\uc2e0\uac00\uc694?\n[Discord](https://discord.com/invite/XPKeKXeB7d) \ub610\ub294 [Forum](https://community.n8n.io/)\uc5d0\uc11c \ucc38\uc5ec\ud558\uc138\uc694!\n\n\uc990\uac70\uc6b4 \ud574\ud0b9!"
      },
      "typeVersion": 1
    },
    {
      "id": "a918718f-915d-4d5c-a7c2-a015b8a84bbb",
      "name": "KnowledgeBase Tool Subworkflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        1620,
        80
      ],
      "parameters": {
        "workflowInputs": {
          "values": [
            {
              "name": "query"
            }
          ]
        }
      },
      "typeVersion": 1.1
    }
  ],
  "connections": {
    "Has Results?": {
      "main": [
        [
          {
            "node": "Results to Items",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Empty Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AcuityScheduling Support Chatbot",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Results to Items": {
      "main": [
        [
          {
            "node": "Extract Relevant Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AcuityScheduling Support Chatbot",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Knowledgebase Tool": {
      "ai_tool": [
        [
          {
            "node": "AcuityScheduling Support Chatbot",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Extract Relevant Fields": {
      "main": [
        [
          {
            "node": "Aggregate Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Acuity Support Search API": {
      "main": [
        [
          {
            "node": "Has Results?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "AcuityScheduling Support Chatbot",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "KnowledgeBase Tool Subworkflow": {
      "main": [
        [
          {
            "node": "Acuity Support Search API",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}