This workflow corresponds to n8n.io template #2098 — we link there as the canonical source.
This workflow follows the Chat Trigger → Memory Buffer Window recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "b26e5f35-214a-4eba-83f6-a61736a2f017",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
560
],
"parameters": {
"color": 7,
"width": 398,
"height": 217,
"content": "Call the assistant, passing in the previous chat messages"
},
"typeVersion": 1
},
{
"id": "7cba00f3-7824-47eb-a17f-6e34fab51c0d",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-440,
460
],
"parameters": {
"height": 300.48941882630095,
"content": "## Try me out\n1. In the OpenAI Assistant node, make sure your OpenAI credentials are set and choose an assistant to use (you'll need to create one if you don't have one already)\n2. Click the 'Chat' button below\n\n - In the first message, tell the AI what your name is\n - In a second message, ask the AI what your name is"
},
"typeVersion": 1
},
{
"id": "a71b8aef-5ee9-4ff2-9a77-5154fee67cc8",
"name": "Simple Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
180,
920
],
"parameters": {
"sessionKey": "={{ $('When chat message received').first().json.sessionId }}",
"sessionIdType": "customKey",
"contextWindowLength": 20
},
"typeVersion": 1.3
},
{
"id": "24faa70e-52e7-40e4-abc1-05c8b18df583",
"name": "OpenAI",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
300,
640
],
"parameters": {
"text": "={{ $('When chat message received').item.json.chatInput }}",
"prompt": "define",
"options": {},
"resource": "assistant",
"assistantId": {
"__rl": true,
"mode": "id",
"value": "asst_HDSAnzsp4WqY4UC1iI9auH5z"
}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.8
},
{
"id": "37b70475-f28b-4e5f-a7e2-3dad715b2e8d",
"name": "Calculator1",
"type": "@n8n/n8n-nodes-langchain.toolCalculator",
"position": [
600,
920
],
"parameters": {},
"typeVersion": 1
},
{
"id": "79d644c4-6d24-4f1e-9c43-08fa8b20da0e",
"name": "When chat message received",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-100,
640
],
"parameters": {
"public": true,
"options": {
"loadPreviousSession": "memory"
}
},
"typeVersion": 1.1
}
],
"connections": {
"Calculator1": {
"ai_tool": [
[
{
"node": "OpenAI",
"type": "ai_tool",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "OpenAI",
"type": "ai_memory",
"index": 0
},
{
"node": "When chat message received",
"type": "ai_memory",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "OpenAI",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
openAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
OpenAI Assistant is a powerful tool, but at the time of writing it doesn't automatically remember past messages from a conversation.
Source: https://n8n.io/workflows/2098/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Make OpenAI Citation for File Retrieval RAG. Uses memoryBufferWindow, stickyNote, chatTrigger, openAi. Chat trigger; 19 nodes.
Make OpenAI Citation for File Retrieval RAG. Uses memoryBufferWindow, chatTrigger, openAi, httpRequest. Chat trigger; 19 nodes.
In this example, we will ensure that all texts from the OpenAI assistant search for citations and sources in the vector store files. We can also format the output for Markdown or HTML tags.
Build an OpenAI Assistant with Google Drive Integration. Uses manualTrigger, googleDrive, chatTrigger, memoryBufferWindow. Event-driven trigger; 12 nodes.
This workflow automates the creation and management of a custom OpenAI Assistant for a travel agency ("Travel with us"), leveraging Google Drive for document storage. Node: Action: Creates a custom as