ChatBot Enhanced icon

ChatBot Enhanced

Enhanced chatbot node with Redis/Valkey integration for rate limiting, session management, and advanced features

Overview

The ChatBot Enhanced node provides advanced chatbot capabilities integrating Redis for stateful operations such as rate limiting, session management, message buffering, analytics tracking, and smart memory storage. Specifically, the Analytics - Store Memory operation allows saving conversation context, FAQs, or knowledge data into a "smart memory" system. This is useful for chatbots that need to remember user interactions, maintain context over time, or build a knowledge base dynamically.

Typical use cases include:

  • Storing user conversation snippets or important facts during a chat session.
  • Saving FAQ entries or knowledge articles dynamically from user input.
  • Enabling context-aware responses by recalling stored memory in later interactions.

Properties

Name Meaning
Session Key Unique identifier for the user or session. Can be set using expressions (e.g., userId).
Message Content The content/message to store in memory. Supports expressions to extract from incoming data.
Enable Debug Mode Enables detailed logging and debug information during execution.
Redis Key Prefix Prefix used for Redis keys to avoid collisions with other data in the Redis instance.

Output

The node outputs two main streams:

  1. Main Output: Contains success and processed results.

    • success JSON includes:
      • message: The original message content.
      • sessionId: The session key used.
      • operationType: Always "smartMemory" for this operation.
      • memoryStored: Boolean indicating successful storage (true).
    • processed output is not explicitly returned for this operation but may exist in other operations.
  2. Status Output: Contains error and metrics information.

    • metrics JSON includes:
      • operationType: "smartMemory".
      • metrics.memoryEntries: Number of memory entries stored (always 1 here).
      • performance.processingTime: Time taken to process (0 in static code).
      • performance.redisHealth: Boolean indicating Redis availability.

No binary data output is produced by this operation.

Dependencies

  • Requires a Redis server connection configured via an API key credential.
  • The node uses a Redis manager internally to connect and store data.
  • No additional external services are required beyond Redis.
  • Ensure Redis credentials are properly configured in n8n for connectivity.

Troubleshooting

  • Redis Connection Failures: If the node cannot connect to Redis, it will throw a connection error. Verify Redis credentials and network access.
  • Message Content Missing: If the message content expression resolves to empty or undefined, no meaningful data will be stored.
  • Session Key Issues: Using a non-unique or missing session key can cause data overwrites or conflicts.
  • Debug Mode: Enable debug mode to get detailed console logs which help diagnose issues.
  • Error Handling: The node supports continue-on-fail; if disabled, any error stops execution immediately.

Links and References


This summary focuses on the Analytics - Store Memory operation of the ChatBot Enhanced node, describing its purpose, inputs, outputs, dependencies, and common troubleshooting tips based on static analysis of the provided source code.

Discussion