Your n8n Agent Has Amnesia. Give It a Knowledge Graph FalkorDB released a community node for n8n that integrates GraphRAG, enabling AI agents to query a knowledge graph built from GitHub-hosted documentation. The node exposes five graph tools, allowing an n8n AI Agent to ingest repositories, retrieve entities and relationships, and answer relationship-based questions with provenance. The workflow uses a Chat Trigger for team questions and a GitHub Trigger to sync the knowledge graph with every merged pull request, with the agent model deciding which tool to call and GraphRAG-side models handling extraction. FalkorDB · engineering notes GraphRAG × n8n · build log Ask your handbook anything : docs become a team brain The whole machine, documented: point n8n at hosted GraphRAG, hand an AI Agent five graph tools, publish a chat page, and keep a FalkorDB knowledge graph in lock-step with every merged PR. Every setting, every node config, every architecture decision. GraphRAG by FalkorDB n8n community node ~15 min read The flow at a glance One n8n workflow, two entry points, one brain. A Chat Trigger serves your team’s questions; a GitHub Trigger feeds repository changes into the same AI Agent. Both paths end at the same FalkorDB knowledge graph. The canvas has fourteen nodes. The chat branch is the classic n8n agent stack: Chat Trigger → AI Agent , with a chat model and window-buffer memory attached, and five GraphRAG tool nodes hanging off the agent. The GitHub branch is a five-node pipeline that normalizes a push webhook into an agent instruction: GitHub Trigger → branch filter → changed-files Code node → HTTP fetch → instruction-builder Code node → agent . Everything graph-related happens through tools on the agent. The @falkordb/n8n-nodes-graphrag https://github.com/FalkorDB/GraphRAG-n8n community node exposes GraphRAG’s REST operations as AI Agent tools, so the LLM decides which operation to call and with what arguments via $fromAI expressions . No custom HTTP wiring, no Cypher. Why a graph, and why n8n For this build we used a real company handbook, Basecamp’s public handbook https://github.com/basecamp/handbook : a GitHub repository of Markdown documents covering policies, benefits, job ladders, onboarding, and internal rituals. Exactly the kind of corpus every team owns: prose, versioned in git, changed by pull request. We worked from a fork, so we could merge PRs of our own for the sync half; point the workflow at whatever repository your team actually edits. Bootstrapping took one chat message: “ingest github.com/basecamp/handbook” . The agent called Ingest GitHub Repo , and the server chunked every file, ran LLM extraction, resolved duplicate entities, and wrote the result into a FalkorDB property graph holding three layers: document chunks with vector embeddings, the entities and relationships extracted from them, and provenance edges tying each fact back to its source chunk. Why a graph and not just embeddings? Handbook questions are relationship questions. “Which policies affect refunds for EU customers?” spans three documents linked by shared entities; similarity search returns look-alike paragraphs, while the graph walks Policy → EXTENDS → Policy → APPLIES TO → Region and answers with the chain intact, citing every source document along the way. ?Why n8n for the plumbing Webhook infrastructure for free. The GitHub Trigger registers and verifies the repository webhook itself on publish. No Express server, no signature-validation code, no route handlers. The agent loop is a node. Tool-calling, retries, memory, and model wiring are the AI Agent node’s job. Swap GPT for Claude by swapping one attached node; the graph tools don’t change. Credentials live in one place. GraphRAG API token, GitHub PAT, and the LLM key are n8n credentials: encrypted, reusable across workflows, out of the JSON you commit. Both halves stay on one canvas. The chat assistant and the sync pipeline share the same agent, the same tools, and the same execution log, so there is exactly one code path that touches the graph. Architecture: the whole machine Before touching a single node, hold the full picture. One hosted service, one workflow runtime, three credentials, and a strict separation between the part that thinks and the part that routes . There are two LLM seats in this system, and keeping them straight saves you an hour of debugging. The agent model attached to the AI Agent node in n8n decides which tool to call . The GraphRAG-side models your BYO key profile, added in the GraphRAG settings do the heavy lifting: entity extraction at ingest time, retrieval and answer composition at query time, plus an embedder for vector search. They can be the same key or completely different vendors; n8n never sees GraphRAG’s keys, and GraphRAG never sees n8n’s. And here is what one question physically does, hop by hop: Part I · Connect the brain GraphRAG is the only component that understands documents, and it’s already running for you at graphrag.falkordb.com https://graphrag.falkordb.com . No containers, no .env , no database to babysit. Three clicks of setup, then everything else is wiring. 1Create your account Sign in at graphrag.falkordb.com https://graphrag.falkordb.com . The hosted service comes with a managed FalkorDB behind it the property graph, the vector index, the ingestion pipeline , all provisioned per account. What you bring is one thing: an LLM key. 2Add an LLM key profile GraphRAG does its own LLM work, ingestion entity extraction and retrieval answer composition , with your key, stored encrypted server-side. In Settings , add your key as a named profile, e.g. mykey , provider openai . Graphs bind to a profile by id . The 1 silent killer: a provider/key mismatch. An OpenAI sk-... key saved under provider azure or vice versa doesn’t fail when you save it; it fails on the first real call. If ingests or queries mysteriously error, check the profile’s provider first. Rotating a key later? Add the new profile first , re-point your graphs to it, then delete the old one. Deletion is blocked while any graph still uses the profile “This key is still used by N graph s ” . That guard exists precisely so a rotation can’t strand a live graph. 3Mint the API token n8n will use Go to Settings → API Access and generate a token. This single token is the credential the n8n community node authenticates with; it scopes every call to your account and your graphs. Copy it now; you’ll paste it into n8n when you wire credentials in section 07. Part II · Run n8n, install the nodes Two ways to get the GraphRAG nodes into your n8n: install the published package from the community registry one click , or build the GraphRAG-n8n https://github.com/FalkorDB/GraphRAG-n8n repo from source and load it as a local node. The second is the right choice if you want to hack on the node itself. 1Get an n8n instance Community nodes install on self-hosted n8n ≥ 1.0 . One command: npx n8n start editor: http://localhost:5678 Need the chat page or GitHub webhooks from outside? Two outsiders must reach your instance: humans on the chat page and GitHub’s webhook servers. Put n8n behind a public https address and set WEBHOOK URL to it, because n8n bakes that address into every chat page and webhook registration at startup. The quickest way is a free Cloudflare tunnel: brew install cloudflared cloudflared tunnel --url http://localhost:5678 copy the printed https://