Back to Nodes

Graphiti Memory

Last updated Dec 27, 2025

Graphiti temporal knowledge graph memory for n8n AI agents

17 Weekly Downloads
91 Monthly Downloads

Included Nodes

Graphiti Memory

Description

n8n-nodes-graphiti

!Graphiti Memory Node
!npm version
!License: MIT

> 🧠 Temporal Knowledge Graph Memory for n8n AI Agents

⚠️ Dependencies

This node requires AwesomeMemory”>Setup Graphiti Awesome Memory Backend →

—

✨ Features

🧠 Dual Memory Architecture

  • Short-term Memory: Recent conversation episodes from database (persistent across restarts)
  • Long-term Memory: Extracted facts stored in temporal knowledge graph
  • Semantic Search: Intelligent fact retrieval based on query relevance
  • 🔧 n8n Integration

  • ✅ AI Agent node compatible
  • ✅ Session-based memory per user
  • ✅ Configurable context windows
  • ✅ Graceful error handling with fallbacks
  • ✅ Comprehensive logging
  • 🚀 Production Ready

  • ⏱️ 180-second timeout for slow LLM processing
  • 🔄 Network resilience with automatic fallbacks
  • 📊 Structured memory formatting for optimal LLM consumption
  • 📄 Memory source tracking – AI knows if facts come from files or conversation
  • 🎯 Version 1.0.17 with grouped query support
  • —

    📦 Installation

    Via n8n Community Nodes (Recommended)

    1. Open your n8n instance
    2. Go to Settings → Community Nodes
    3. Click Install
    4. Enter: n8n-nodes-graphiti
    5. Click Install
    6. Restart n8n

    Manual Installation

    npm install n8n-nodes-graphiti
    

    —

    ⚙️ Configuration

    1. Set up Graphiti Awesome Memory Backend

    Follow the setup instructions at

    POST /memory/query/grouped – Grouped semantic fact search

    {
      "user_id": "35145416",
      "query": "What do I like?",
      "limit": 10
    }
    

    Response:

    {
      "groups": [
        {
          "source_type": "file",
          "source_name": "interests.pdf",
          "facts": [{"fact": "User likes robotics", "score": 0.95}]
        },
        {
          "source_type": "conversation",
          "source_name": null,
          "facts": [{"fact": "User mentioned hiking", "score": 0.85}]
        }
      ],
      "total_facts": 2
    }
    

    GET /memory/users/{userId}/episodes – Retrieve conversation history

    GET /memory/users/35145416/episodes?limit=5
    

    —

    🛠️ Development

    Prerequisites

  • Node.js 18+
  • n8n installed locally
  • Graphiti Awesome Memory backend running
  • Setup

    Clone repository

    git clone https://github.com/GoGoButters/Graphitin8nnode.git cd Graphitin8nnode

    Install dependencies

    npm install

    Build

    npm run build

    Link for local n8n development

    npm link cd ~/.n8n/nodes npm link n8n-nodes-graphiti

    Scripts

  • npm run build – Compile TypeScript and copy assets
  • npm run dev – Watch mode for development
  • npm run format – Format code with Prettier
  • npm run lint – Lint code with ESLint
  • npm run lintfix – Auto-fix linting issues
  • —

    🐛 Troubleshooting

    Memory not loading

  • ✅ Check Graphiti Awesome Memory backend is running
  • ✅ Verify API credentials are correct
  • ✅ Check Session Key expression resolves correctly
  • ✅ Look at n8n server logs for detailed error messages
  • Server Logs Location:

    Docker

    docker logs n8n-container --tail 100

    PM2

    pm2 logs n8n

    Connection timeout issues

  • ✅ Ensure Graphiti server is reachable from n8n
  • ✅ Check firewall/network settings
  • ✅ Verify API URL format (no trailing slash)
  • ✅ Consider increasing timeout if processing is slow
  • Session ID not persisted

  • ✅ Set Session ID Type to Define Below
  • ✅ Use expression: ={{ $('Settings').first().json.chatId }}
  • ✅ Ensure Settings node passes chatId/userId
  • ✅ Check logs for [Graphiti Node] FINAL sessionId
  • Episodes endpoint fails

    Node automatically falls back to in-memory chatHistory if episodes endpoint is unavailable. Check logs:

    [Graphiti] Error fetching episodes: ...
    [Graphiti] Falling back to chatHistory...
    

    —

    🤝 Contributing

    Contributions are welcome! Please:

    1. Fork the repository
    2. Create a feature branch (git checkout -b feature/amazing-feature)
    3. Make your changes with tests
    4. Ensure linting passes (npm run lint)
    5. Commit changes (git commit -m 'feat: Add amazing feature')
    6. Push to branch (git push origin feature/amazing-feature)
    7. Open a Pull Request

    —

    💰 Support the Project

    If you find this project valuable, consider supporting its development:

    Cryptocurrency Donations

  • USDT (ERC20): 0xd91e775b3636f2be35d85252d8a17550c0f869a6
  • Bitcoin (BTC): 3Eaa654UHa7GZnKTpYr5Nt2UG5XoUcKXgx
  • Ethereum (ETH): 0x4dbf76b16b9de343ff17b88963d114f8155a2df0
  • Tron (TRX): TT9gPkor4QoR9c12x8HLbvCLeNcS9KDutc
  • Your support helps maintain and improve this project! 🙏

    —

    📄 License

    MIT © GoGoButters

    —

    🔗 Links

  • npm Package
  • Graphiti Project
  • n8n Documentation
  • —

    📞 Support

  • 🐛 n8n Community Forum
  • 📧 Create an issue on GitHub for questions
  • —

    ⭐ Star History

    From our network Other tools and sites we build