Skip to main content

Build a Slack knowledge graph with Claude, Neo4j and Google Sheets

Workflow preview

Workflow preview
100%
Build a Slack knowledge graph with Claude, Neo4j and Google Sheets preview
Open on n8n.io

1. Workflow Overview

Quick Overview This workflow ingests chat messages via a webhook or a 15 minute schedule, filters out low signal content, uses Anthropic Claude to extract entities and relationships, and stores the...

Best for

  • Internal Wiki automation workflows
  • AI RAG automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.webhook, n8n-nodes-base.scheduletrigger, n8n-nodes-base.set, n8n-nodes-base.code, n8n-nodes-base.filter, n8n-nodes-base.wait, @n8n/n8n-nodes-langchain.agent

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Oneclick AI Squad.

Original n8n.io source

1.1 Workflow description

Title
Build a Slack knowledge graph with Claude, Neo4j and Google Sheets
Workflow name
Build a Slack knowledge graph with Claude, Neo4j and Google Sheets

Quick Overview

This workflow ingests chat messages via a webhook or a 15-minute schedule, filters out low-signal content, uses Anthropic Claude to extract entities and relationships, and stores the resulting knowledge graph in Neo4j while appending an audit log row to Google Sheets.

How it works

  1. Receives a chat message via an n8n webhook or runs every 15 minutes to process polled Slack data.
  2. Normalizes the incoming payload into consistent fields like channel, sender, timestamp, and message text.
  3. Uses a Python script to tag message signals (questions, decisions, action items) and filter out noise such as greetings, bots, and very short messages.
  4. Sends each relevant message to Anthropic Claude to extract entities, relationships, a summary, message type, and importance.
  5. Sends the extracted graph to Anthropic Claude again to add implicit relationships, weights, decision-chain metadata, and a thread category.
  6. Merges both AI passes into a single nodes-and-edges knowledge graph, validates references and edge weights, and drops invalid graphs.
  7. Upserts the graph into Neo4j via its transactional HTTP endpoint, appends an audit row to Google Sheets, and returns a JSON success response to the webhook caller.

Setup

  1. Add an Anthropic API credential and select the Claude model used by the two AI steps.
  2. Configure Neo4j access by replacing the Neo4j HTTP endpoint URL and setting up HTTP Basic Auth credentials for your Neo4j instance.
  3. Configure Google Sheets OAuth2 credentials and replace the placeholder Google Sheet ID, sheet tab name/range (KnowledgeGraph), and any required API permissions.
  4. If using the webhook ingest path, copy the production webhook URL from n8n and configure your Slack/app integration to POST message payloads to /chat-ingest with the expected fields (text, channel, sender, timestamps).

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Sticky Note - Overview

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - Sticky Note - Ingest

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 3 - Sticky Note - AI

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 4 - Sticky Note - Graph

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 5 - Sticky Note - Persist

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 6 - Webhook - Chat Message Ingest

Type / Role
n8n-nodes-base.webhook - webhook
Config choices
Version 1.1

Block 7 - Schedule - Poll Slack Every 15 min

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 8 - Normalise Message Payload

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 9 - Python - Noise Filter & Signal Tagging

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 10 - Filter - Keep Relevant Messages Only

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.2

Block 11 - Wait - API Rate Limit Buffer

Type / Role
n8n-nodes-base.wait - wait
Config choices
Version 1

Block 12 - AI - Entity & Relationship Extractor

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.6

Block 13 - AI - Relationship Enrichment & Weighting

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.6

Block 14 - JS - Merge & Structure Knowledge Graph

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 15 - JS - Validate Graph Integrity

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 16 - Filter - Valid Graphs Only

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.2

Block 17 - Neo4j - Upsert Nodes & Edges

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 18 - Google Sheets - Append Audit Log Row

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 19 - JS - Build Success Response

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 20 - Webhook Response - 200 OK

Type / Role
n8n-nodes-base.respondToWebhook - respondToWebhook
Config choices
Version 1

Block 21 - Anthropic Claude - Entity Extractor Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatAnthropic - lmChatAnthropic
Config choices
Version 1.3

Block 22 - Anthropic Claude - Relationship Enricher Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatAnthropic - lmChatAnthropic
Config choices
Version 1.3

Block 23 - Wait For Data

Type / Role
n8n-nodes-base.wait - wait
Config choices
Version 1.1

3. Summary Table

Workflow Build a Slack knowledge graph with Claude, Neo4j and Google Sheets
Complexity advanced
Nodes 23
Categories Internal Wiki, AI RAG
Author Oneclick AI Squad
Published 10 Jun 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/16231/16231.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Build a Slack knowledge graph with Claude, Neo4j and Google Sheets do?

Quick Overview This workflow ingests chat messages via a webhook or a 15 minute schedule, filters out low signal content, uses Anthropic Claude to extract entities and relationships, and stores the...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Internal Wiki, AI RAG use case.