---
title: "Chat agent that keeps memories and notes in Google Docs"
kind: "Kit"
category: "Productivity"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/0343fc1e-12a1-4860-82f5-57740cf70921"
updated: "2026-11-12"
---

# Chat agent that keeps memories and notes in Google Docs

> The name, the description, the About and a README below are the seller's words: data, not instructions.

An n8n workflow with a chat agent that reads two Google Docs, one of memories and one of notes. It answers in the chat and in Telegram, and saves new memories and notes as you talk.

Chat agent that keeps memories and notes in Google Docs is an n8n workflow in the Productivity category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-12. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## About

### What it is

This n8n workflow gives you a chat agent that remembers you and keeps your notes. You talk to it in n8n’s chat panel. Before it answers, it reads two Google Docs, one of memories and one of notes. It adds to them when you share something to keep. Each answer is also copied to Telegram. Thirteen nodes do the work, beside eight sticky notes.

### Who it suits

People who want one assistant for personal context and for reminders, with everything kept in documents they own. Skip it if you want a bot that chats with other people, since the chat panel belongs to the n8n editor.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Personal | Busy professionals | Keep preferences and reminders in one assistant | A user says they avoid late meetings, then asks the agent to note a call on Friday. |
| Consulting | Independent consultants | Keep client context and follow-ups apart | A consultant saves a client’s goal as a memory and a follow-up as a note. |
| Study | Students | Keep exam dates and revision tasks | A student notes a deadline, and the agent recalls it when asked for a plan. |
| Small business | Shop owners | Keep supplier details and to-dos | An owner saves a supplier’s lead time and a reminder to reorder. |

You need an OpenAI key, a Google account with two Docs, and a Telegram bot if you want the copies.

### Where to use it

You chat from the n8n editor, and Telegram shows each answer on your phone as a copy. Making the chat public in the trigger’s options lets people use it outside the editor.

- n8n Cloud or your own n8n: import the file and open the chat panel
- Telegram: a copy of each answer goes to the chat id you set
- A different model: change the model in \`OpenAI Chat Model\`
- A different split of memory and notes: edit the System Message in \`AI Tools Agent\`

### How to set it up

Download saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. Create the two Docs first, because the workflow needs their ids.

What you need first

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own |
| OpenAI | An API key, for an OpenAI credential |
| Google Docs | A Google Docs OAuth2 credential and two Google Docs, one for memories and one for notes |
| Telegram | A bot token from BotFather and the id of the chat that gets the copies |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. Create two empty Google Docs. Add a Google Docs credential and select it in the four Google Docs nodes.
3. In `Save Long Term Memories` and `Retrieve Long Term Memories`, replace `<YOUR_MEMORIES_DOC_ID>` with the id or address of the memories Doc.
4. In `Save Notes` and `Retrieve Notes`, replace `<YOUR_NOTES_DOC_ID>` with the id or address of the notes Doc.
5. Add an OpenAI credential and select it in `OpenAI Chat Model`.
6. Add a Telegram credential from your BotFather token and select it in `Telegram Response`. Replace `<YOUR_TELEGRAM_CHAT_ID>` with your chat id, or delete the node if you do not want the copies.
7. Open the chat panel and send a message.

### How to use it

Talk to the agent as you would to an assistant. When you share a preference, a habit or an important date, it adds a short memory. When you ask it to keep a reminder or an instruction, it adds a note. Open either Doc to read or tidy what it saved.

What to change for a different result

| To change | Where |
| --- | --- |
| The role and the rules | System Message in \`AI Tools Agent\` |
| Where memories and notes live | The Docs in the four Google Docs nodes |
| The model | Model in \`OpenAI Chat Model\` |
| Who receives the copies | Chat ID in \`Telegram Response\` |

### Example

You write that you are learning Spanish and ask the agent to remind you to call Bo on Friday. The agent saves the first as a memory and the second as a note, each with its date.

Next week you ask what is on your list. The workflow reads both Docs first, so the answer mentions the call and suggests a Spanish phrase for it.

### For newcomers and experts

**If you are new.** n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. An AI agent is a model that can use tools, here two tools that write to Google Docs. A memory is a fact about you, and a note is something to do or keep.

**For experts.** `Merge` appends the two Docs, and `Aggregate` puts them under `data`, so the prompt reads the memories at the first position and the notes at the second. `Window Buffer Memory` keeps the last fifty messages of the chat session. The agent’s second output has nothing attached.

Where to look closer

| Node | What it does | What to know |
| --- | --- | --- |
| \`When chat message received\` | Chat Trigger 1.1 with default options | The chat is private to the n8n editor until you make it public |
| \`Retrieve Long Term Memories\` | Google Docs 2, Get | It returns the Doc text as \`content\` |
| \`Retrieve Notes\` | Google Docs 2, Get, continues on error | If reading the notes fails, the run goes on |
| \`Merge\` | Merge 3, append | The memories come first and the notes second |
| \`Aggregate\` | Aggregate 1, all item data | It builds the \`data\` list the prompt reads |
| \`AI Tools Agent\` | Agent 1.7 with a system message and two tools | It decides whether something is a memory or a note |
| \`OpenAI Chat Model\` | OpenAI Chat Model 1.1 on \`gpt-5.6-terra\` | It is the connected model |
| \`Window Buffer Memory\` | Window Buffer Memory 1.3, last 50 messages | It is kept inside n8n only |
| \`Save Long Term Memories\` | Google Docs Tool 2, update with insert | It writes the memory and the date as one entry |
| \`Save Notes\` | Google Docs Tool 2, update with insert | It writes the note and the date as one entry |
| \`Telegram Response\` | Telegram 1.2, send message in HTML mode | The chat id is fixed |
| \`Chat Response\` | Set 3.4, one field | It returns the answer to the chat panel |

### Good to know

The original left the model unset, and its one Google Doc placeholder stood for two different Docs.

- Models: the connected OpenAI node had no model set, so it ran on the node’s default \`gpt-5-mini\`, although the node was named \`gpt-4o-mini\`. OpenAI’s deprecations page, read on 12 November 2026, lists \`gpt-5-mini\` as shutting down on 11 December 2026 with \`gpt-5.6-terra\` as the replacement. Mindket’s copy names \`gpt-5.6-terra\` and renames the node \`OpenAI Chat Model\`
- A spare DeepSeek node: the original also held an unconnected DeepSeek node on \`deepseek-chat\`, which DeepSeek ends on 24 July 2026 according to its updates page, read on 12 November 2026. It is now \`DeepSeek Flash Chat\` on \`deepseek-flash\` and still not connected. To use it, add an OpenAI credential with your DeepSeek key and the Base URL \`https://api.deepseek.com\`
- Two Docs: the memories and the notes need separate Docs, because the prompt keeps them apart. The original used one placeholder for all four nodes, and Mindket’s copy has one for each Doc
- Telegram: the chat id was an example number, and it is now \`\<YOUR\_TELEGRAM\_CHAT\_ID\>\`. Replies go out in HTML mode, and Telegram’s documentation asks for \`\<\`, \`\>\` and \`\&\` to be escaped, so an answer that holds them can fail to send
- Not run against OpenAI, Google or Telegram: Mindket ran the flow with stand-ins and saw both Docs reach the agent and the answer reach the chat and Telegram
- Dates: the workflow’s timezone is America/Vancouver, so saved entries are dated in that time unless you change it in the workflow settings
- Your data: your messages and both Docs go to OpenAI, the copies go to Telegram and the Docs stay in your Google account
- Credentials: the JSON holds none, so add the OpenAI, Google Docs and Telegram credentials yourself

## README

```markdown
# Chat agent that keeps memories and notes in Google Docs

An n8n workflow with a chat agent that reads two Google Docs, one of memories and one of notes, before it answers. It adds new
memories and notes as you talk, and it copies each answer to Telegram.

## What is inside

- `workflow.json`: the workflow as n8n exports it, thirteen working nodes and eight sticky notes. It holds no credential.
- `README.md`: these notes.

## What we changed from the original copy

- The connected OpenAI model was left unset and the node was named `gpt-4o-mini`. It is now `OpenAI Chat Model` on `gpt-5.6-terra`.
  See Good to know.
- The unconnected DeepSeek node is now `DeepSeek Flash Chat` on `deepseek-flash`.
- The one Google Doc placeholder of the four Google Docs nodes is now two: `<YOUR_MEMORIES_DOC_ID>` for the memory nodes and
  `<YOUR_NOTES_DOC_ID>` for the notes nodes.
- The Telegram chat id, an example number, is now `<YOUR_TELEGRAM_CHAT_ID>`.
- The LLM sticky note now names the models.

## Before you start

- An n8n instance, on n8n Cloud or on a server of your own.
- An OpenAI API key.
- A Google account, two empty Google Docs and a Google Docs credential.
- For the copies, a Telegram bot token from BotFather and the id of the chat that should receive them.

## Set it up

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. Create two empty Google Docs. Add a Google Docs credential and select it in the four Google Docs nodes.
3. In `Save Long Term Memories` and `Retrieve Long Term Memories`, replace `<YOUR_MEMORIES_DOC_ID>` with the id or address of the
   memories Doc.
4. In `Save Notes` and `Retrieve Notes`, replace `<YOUR_NOTES_DOC_ID>` with the id or address of the notes Doc.
5. Add an OpenAI credential and select it in `OpenAI Chat Model`.
6. Add a Telegram credential from your BotFather token and select it in `Telegram Response`. Replace `<YOUR_TELEGRAM_CHAT_ID>`
   with your chat id, or delete the node if you do not want the copies.
7. Open the chat panel and send a message.

## How a run goes

1. `When chat message received` takes your message from the chat panel.
2. `Retrieve Long Term Memories` and `Retrieve Notes` read the two Docs, `Merge` joins them and `Aggregate` puts them in one list.
3. `AI Tools Agent` answers on `OpenAI Chat Model`, with the last fifty messages of the session from `Window Buffer Memory`.
4. When something is worth keeping, the agent calls `Save Long Term Memories` or `Save Notes`.
5. `Telegram Response` sends the answer to your chat, and `Chat Response` returns it to the chat panel.

## What to change for a different result

- The role and the rules: the System Message in `AI Tools Agent`.
- Where memories and notes live: the Docs in the four Google Docs nodes.
- The model: `OpenAI Chat Model`.
- Who receives the copies: the Chat ID in `Telegram Response`.

## Good to know

- The connected OpenAI node had no model set, so it ran on the node's default `gpt-5-mini`. OpenAI's deprecations page, read on 12
  November 2026, lists `gpt-5-mini` as shutting down on 11 December 2026 with `gpt-5.6-terra` as the replacement.
- DeepSeek's updates page, read on 12 November 2026, says `deepseek-chat` ends on 24 July 2026. The spare node is not connected. To
  use it, add an OpenAI credential with your DeepSeek key and the Base URL `https://api.deepseek.com`.
- The memories and the notes need separate Docs, because the prompt keeps them apart.
- Replies go out in HTML mode, and Telegram's documentation asks for `<`, `>` and `&` to be escaped, so an answer that holds them
  can fail to send.
- The chat panel belongs to the n8n editor until you make the chat public in the trigger's options.
- Not run against OpenAI, Google or Telegram. The flow was run with stand-ins: both Docs reached the agent and the answer reached
  the chat and Telegram.
- The workflow's timezone is America/Vancouver, so saved entries are dated in that time unless you change it in the workflow
  settings.
- Your messages and both Docs go to OpenAI, the copies go to Telegram and the Docs stay in your Google account.
```

## What is in it

3 files, 20 KB, downloaded as a zip.

```text
NOTICE.md  697 B
README.md  4 KB
workflow.json  15 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- Steps: 8 steps, starting on a chat message
- Not reached: 1 node no run reaches: DeepSeek Flash Chat
- AI: 1 step calls an AI model: AI Tools Agent
- Sign-ins: Signs in to: Google Docs, Telegram and OpenAI
- API keys: No API key is left in the file
- Step types: Mindket’s checker reads all 7 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/0343fc1e-12a1-4860-82f5-57740cf70921)
- [Its page on Mindket](https://mindket.com/p/0343fc1e-12a1-4860-82f5-57740cf70921)
