{
  "nodes": [
    {
      "id": "f4ead8e8-e78b-490d-9cf0-03907fc6e16f",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -464,
        16
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.3
    },
    {
      "id": "4cf321ba-b749-4223-aabd-e9a12e78caf5",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -80,
        336
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "fa2f423c-e98b-459d-8613-1d5c5a2db2ac",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -368,
        384
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7607267f-91b6-4a36-87bb-3e1d753bbd71",
      "name": "AI Knowledge Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -184,
        16
      ],
      "parameters": {
        "options": {
          "systemMessage": "=You are a helpful assistant that answers the user based on a knowledge base.\n\nWhenever the user query requires specific knowledge (most queries except empty queries like \"hi\"), call the tool \"Query knowledge base\" with a question to have it output an answer based on the knowledge base.\n\nIf the output from the knowledge base tool indicates that the knowledge base doesn't contain enough insights to answer, communicate this to the user transparently."
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "2cde1ec6-7d21-4955-acbe-4434cfdb9c7c",
      "name": "Query knowledge base",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        240,
        352
      ],
      "parameters": {
        "url": "https://api.lookio.app/webhook/query",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "query",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters0_Value', `The query to the knowledge base, in the form of a question`, 'string') }}"
            },
            {
              "name": "assistant_id",
              "value": "<your-assistant-id>"
            },
            {
              "name": "query_mode",
              "value": "flash"
            }
          ]
        },
        "toolDescription": "Call this tool when the knowledge base is required to answer the user query.",
        "headerParameters": {
          "parameters": [
            {
              "name": "api_key",
              "value": "<your-lookio-api-key>"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "a79ec48e-1888-477f-b299-2fe05fe509c6",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        112,
        320
      ],
      "parameters": {
        "color": 6,
        "width": 336,
        "height": 400,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n## Lookio tool\n\nThe agent calls this tool to get answers based on the knowledge base you've built in Lookio.\n- Add your [Lookio](https://www.lookio.app/) API key\n- Specify the ID of the Lookio assistant to query"
      },
      "typeVersion": 1
    },
    {
      "id": "f2b01dab-f1d3-4947-b6c1-7c8390aca275",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -512,
        320
      ],
      "parameters": {
        "color": 5,
        "width": 336,
        "height": 400,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n## AI model\n\nThe core AI model of your agent. Connect your OpenAI API key or switch to your favorite LLM provider."
      },
      "typeVersion": 1
    },
    {
      "id": "fda124c2-4fd0-4682-b619-78139b0f4b8b",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -240,
        -224
      ],
      "parameters": {
        "color": 4,
        "width": 336,
        "height": 400,
        "content": "## The agent\n\nThis agent will distribute the relevant questions to Lookio via the \"Query knowledge base\" tool. Feel free to provide more context in its system message and add instructions when it comes to the format or style of responses?"
      },
      "typeVersion": 1
    },
    {
      "id": "54e7d0d6-2bec-4363-bdba-da6dadd72163",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1088,
        -224
      ],
      "parameters": {
        "width": 496,
        "height": 944,
        "content": "# AI Agent for Your Lookio Knowledge Base\n\nThis agent intelligently answers questions using a knowledge base you build in Lookio. It's configured to handle simple greetings on its own, and only queries your Lookio knowledge base for real questions to save API credits.\n\n## **How to use**\n\n1.  **Set up in Lookio:** First, create an assistant in **Lookio** with your company documents and get your **API Key** & **Assistant ID**.\n2.  **Configure the Tool:** In the `Query knowledge base` node, replace the placeholder `<your-lookio-api-key>` and `<your-assistant-id>` with your own.\n3.  **Connect your AI Model:** Add your credentials to the `OpenAI Chat Model` node.\n4.  **Activate & Chat!**\n\n\n*A template developed by Guillaume Duvernay*"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Knowledge Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Knowledge Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Query knowledge base": {
      "ai_tool": [
        [
          {
            "node": "AI Knowledge Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "AI Knowledge Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}