Skip to content
Simple Memory Node ...
 
Notifications
Clear all

Simple Memory Node Not Isolating Sessions Correctly (Session ID Problem)

7 Posts
4 Users
0 Reactions
3 Views
Burak_KARAKURT
(@burak_karakurt)
Posts: 2
New Member
Topic starter
 

Simple Memory Node Not Isolating Sessions Correctly (Session ID Issue)

Hello callin.io Community,

I’m currently working on a chatbot project using callin.io Cloud (free tier) and I’m encountering a persistent issue with the Simple Memory node that I can’t seem to resolve, despite extensive debugging.

Project Overview:
I have a web-based chatbot (HTML/JavaScript frontend) that communicates with a callin.io webhook. The callin.io workflow uses an AI Agent (connected to Google Gemini) for chatbot logic and aims to store conversation history using the Simple Memory node. User and bot messages, along with a unique sessionId (UUID generated on the frontend), are then passed through the workflow.

The Problem:
The Simple Memory node does not appear to be isolating chat history based on the provided sessionId. Even when I open the chatbot on different devices or in new Incognito/Private browser windows, the bot continues the conversation from a previous session, as if it’s using a single, global memory store instead of creating/retrieving memory per sessionId.

What I’ve Already Checked and Confirmed:

  1. Frontend sessionId Generation: The frontend successfully generates a unique UUID for sessionId for each new browser session (or when localStorage is cleared).
  2. Webhook Input: The Webhook node correctly receives the userMessage and the sessionId within the body of the incoming JSON. For example, the input to the Simple Memory node consistently contains a unique sessionId like "fbafe9c1-5b6d-49e5-9f3d-f56741a24515".
  3. Edit Fields Node: A preceding Edit Fields node correctly transforms {{ $json.body.userMessage }} into a body field that contains the user’s message.
  4. AI Agent Node Prompt: The Prompt (User Message) field in the AI Agent node is correctly set to {{ $json.body }}.
  5. Simple Memory Node Configuration:

    • Session ID is set to {{ $json.body.sessionId }} (and it’s confirmed to be recognized as an expression, not plain text).
    • Key is set to userMessage.
    • Context Window Length is 50.
  6. Simple Memory Node Behavior: Despite a unique sessionId being passed into the Simple Memory node’s INPUT, the chatHistory in its OUTPUT (and thus passed to the AI Agent) often contains messages from previous, unrelated sessions. It seems the memory is not being correctly partitioned by the sessionId. For instance, if a new session starts with “hello,” the chatHistory might still include “smart fridge” from an earlier, distinct session.

  7. Debugging Steps: I’ve tried deactivating and reactivating the workflow in callin.io Cloud, and testing with clean browser sessions (incognito mode), but the issue persists.

My Question:
Given that the sessionId is correctly transmitted and configured in the Simple Memory node, what could be causing the memory not to be isolated per session? Is this a known limitation or bug with the Simple Memory node, especially on the free tier of callin.io Cloud? Or am I missing a crucial configuration step for proper session isolation?

Any help or insights would be greatly appreciated!

Thank you!

 
Posted : 30/06/2025 8:16 am
TechWizard
(@techwizard)
Posts: 3
New Member
 

I can confirm that this is also occurring for me. I was just about to post my question regarding this.

I am utilizing callin.io cloud (paid tier). I have identified an issue with my callin.io ChatBot. My AI Agent is configured to use Simple Memory with the Session ID (the default approach). I am setting the Session ID in a Set node and using it consistently throughout the workflow.

Has anyone else encountered an issue with Simple Memory? I could switch to Postgres Chat Memory or Redis, but based on the Execution logs, I'm not convinced that will resolve the problem.

It seems to be appending a prior Session ID's simple memory to the AI Agent System Message. Upon reviewing the Execution log, I can confirm that the Session ID differs from the previous session.

Does Simple Memory append to the System prompt? My expectation is that it would instead follow this methodology:

json
[
{ "role": "user", "content": "{prior msg}" },
{ "role": "assistant", "content": "{prior msg}" }
]

This is certainly a significant issue. Having callin.io incorporate information from a prior session's Simple Memory constitutes a security vulnerability.

 
Posted : 14/07/2025 4:47 pm
TechWizard
(@techwizard)
Posts: 3
New Member
 

Here’s some additional screenshots and information regarding this issue:

The naming convention indicates the Datetime of the recorded worksession. I've highlighted 07:28:07 the most because that's when the AI agent contacted Stacy, referring to her as “Frank”. You can see the sessionID is clearly Stacy’s (it begins with “b11d”), but the System Prompt contains the history from Frank. I've included the July14071120Frank.png screenshot, which represents the actual Frank contact, and you can observe that its sessionID starts with “0a01405”.

 
Posted : 16/07/2025 3:23 am
alexhuy
(@alexhuy)
Posts: 7
Active Member
 

Could you show me an example of the input JSON before the Simple Memory node, specifically the fields it expects, including the sessionId?

 
Posted : 16/07/2025 7:38 am
TechWizard
(@techwizard)
Posts: 3
New Member
 

I've identified my issue, and I suspect it might be a similar problem for others as well.

Even though I had configured the key for my "Simple Memory" using a variable named {{ $json.sessionId }}, and I confirmed that this variable consistently held the correct sessionId, I overlooked that the default setting for the key is "Fixed".

Moreover, the "Fixed" versus "Expression" option is not immediately apparent; it only becomes visible when you hover your mouse over the Key.

I suggest that callin.io should default the key to "Expression" and ensure it is always visible.

While I haven't completed full testing, I am highly confident that this adjustment will resolve my "Simple Memory" issue and any similar problems others may be experiencing.

 
Posted : 16/07/2025 8:35 pm
Burak_KARAKURT
(@burak_karakurt)
Posts: 2
New Member
Topic starter
 

I don't believe this is the solution for my use case, as it's already incorporated into the expression. When I attempt to copy my workflow to another empty workflow, it functions perfectly. I often employ this method. Perhaps you could try this approach. However, this isn't a definitive solution. Thank you.

 
Posted : 23/07/2025 11:02 am
cutecatcode
(@cutecatcode)
Posts: 24
Eminent Member
 

Please embed your workflow here if you're comfortable, perhaps I can offer some assistance.

 
Posted : 23/07/2025 11:04 am
Share: