{
  "name": "RAG chat assistant with Claude, Supabase vector store, and Postgres memory",
  "nodes": [
    {
      "id": "2df4ecf6-a027-4a7e-8368-f712023168ee",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        -32
      ],
      "parameters": {
        "width": 480,
        "height": 832,
        "content": "## Chatbot w/ RAG\n\n### How it works\n\n1. A chat trigger receives incoming user messages and passes them to the AI Agent.\n2. The AI Agent uses Anthropic's Claude model to generate responses, retrieves r"
      }
    },
    {
      "id": "44d4cd6d-eb12-4f00-a714-c4ddec06ba1d",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        96
      ],
      "parameters": {
        "width": null,
        "height": 384,
        "content": "## Chat trigger entry point\n\nListens for incoming chat messages and forwards them to the AI Agent to begin processing."
      }
    },
    {
      "id": "3c7a4bfb-2f1a-477a-bdc0-07086182834e",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        672,
        96
      ],
      "parameters": {
        "width": 672,
        "height": 688,
        "content": "## AI agent with memory and retrieval\n\nCore AI processing cluster: the AI Agent orchestrates responses using Anthropic Claude as the LLM, Postgres Chat Memory for conversation history, and a Supabase "
      }
    },
    {
      "id": "5e145545-374c-4829-87f0-2b9edf80d0ff",
      "name": "Chat Assistant Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        896,
        304
      ]
    },
    {
      "id": "a1d0c158-4fef-45a7-8536-0575b4a567c6",
      "name": "Store Chat History in Postgres",
      "type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
      "position": [
        976,
        496
      ]
    },
    {
      "id": "84166510-806b-464c-a647-99cc2564b37b",
      "name": "Retrieve from Supabase Vectors",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
      "position": [
        1072,
        480
      ]
    },
    {
      "id": "45508c40-cfe6-4993-8a2f-3316ddbe69ed",
      "name": "Generate OpenAI Embeddings",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        1120,
        640
      ]
    },
    {
      "id": "1f9c83fa-7345-4ad8-a8ee-733725ddf8cd",
      "name": "When Chat Message Received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        448,
        304
      ]
    },
    {
      "id": "60ef6545-be26-481d-b351-8fd2d4e9dd52",
      "name": "Claude Sonnet 4.6 Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        816,
        496
      ]
    },
    {
      "id": "63b4a198-8048-4c28-8811-86cef9f1d43b",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        400
      ],
      "parameters": {
        "width": 1024,
        "height": 400,
        "content": "## Need more advanced automation solutions? Contact us for custom enterprise workflows!\n\n# Growth-AI.fr\n\n## https://www.linkedin.com/in/allanvaccarizi/\n## https://www.linkedin.com/in/hugo-marinier-%F0"
      }
    },
    {
      "id": "5c081302-f173-4939-b00e-99d90ea73f67",
      "name": "Sticky Note16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        -16
      ],
      "parameters": {
        "width": 1024,
        "height": 400,
        "content": "![Logo Growth AI](https://cdn.prod.website-files.com/6825df5b20329ba581df4914/68d413c43f8729fa336568a6_Logo_horizontal.png)"
      }
    }
  ],
  "connections": {
    "Claude Sonnet 4.6 Model": {
      "ai_languageModel": [
        [
          {
            "node": "Chat Assistant Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Generate OpenAI Embeddings": {
      "ai_embedding": [
        [
          {
            "node": "Retrieve from Supabase Vectors",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "When Chat Message Received": {
      "main": [
        [
          {
            "node": "Chat Assistant Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Retrieve from Supabase Vectors": {
      "ai_tool": [
        [
          {
            "node": "Chat Assistant Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Store Chat History in Postgres": {
      "ai_memory": [
        [
          {
            "node": "Chat Assistant Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    }
  }
}