---
title: "Chat assistant that answers from a Notion knowledge base"
kind: "Kit"
category: "Productivity"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/3763c0a5-3f0a-4f58-81d9-fadf8d4a80ad"
updated: "2026-11-12"
---

# Chat assistant that answers from a Notion knowledge base

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

An n8n workflow with a chat page that answers questions from a Notion database of questions and answers. An AI agent searches the database by keyword or tag, reads the matching page and replies with a link to it.

Chat assistant that answers from a Notion knowledge base 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 turns a Notion database into a chat assistant. A visitor types a question into a chat page. The workflow reads the database’s name and its tag list, then hands the question to an AI agent that has a short memory and two Notion search tools. The agent searches the records by keyword or tag, reads the best page and answers from it, with a link. Eight nodes do the work, beside two sticky notes.

### Who it suits

Small teams that keep their answers in Notion and tire of replying to the same questions. It fits a help desk, an internal wiki or a customer FAQ. Skip it if the database holds private notes, because the chat page is public once you activate it and what the agent reads goes to OpenAI.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Support | Support teams | Answer common questions from one FAQ database | A team keeps refund and shipping answers in Notion and links the chat page on its help page. |
| Human resources | HR teams | Give staff one place to ask about policy | An HR lead stores leave and expense rules, and staff ask the chat which form to use. |
| Software | Product teams | Search release notes and how-to pages | A product team tags pages by feature, and the agent finds the page that matches the tag. |
| Education | School offices | Answer parents’ questions on dates and rules | An office keeps term dates in the table and lets parents ask the chat instead of writing an email. |

You need basic n8n skills, a Notion database set up for questions and an OpenAI API key.

### Where to use it

Any n8n that can reach Notion and the OpenAI API will run it. The chat page is served by n8n itself, so it needs an address that your visitors can reach.

- n8n Cloud: import the file into a new workflow there
- Your own n8n server: the same file and steps
- Another model: change \`model\` in \`OpenAI Chat Model\`
- Another database: pick it in \`Get database details\`

### How to set it up

Download saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. The Notion database must have a set shape.

What you need first

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own |
| Notion | A Notion integration and a database with a text property \`question\`, a multi-select property \`tags\` and a property \`updated\_at\`. Each answer is the body of the row’s page |
| OpenAI | An API key, saved in an OpenAI credential |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. In Notion, create an integration and copy its secret.
3. Create the database with `question`, `tags` and `updated_at`, write each answer in the row’s page and share the database with the integration.
4. Add a Notion credential and select it in `Get database details`, `Search notion database` and `Search inside database record`.
5. In `Get database details`, pick your database in place of `<YOUR_NOTION_DATABASE_ID>`.
6. Add an OpenAI credential and select it in `OpenAI Chat Model`.
7. Click Chat in n8n and ask a question to test it.
8. Activate the workflow and copy the Chat URL from `When chat message received`.

### How to use it

Open the chat, type a question and read the answer. The agent keeps the last four exchanges in memory, so a follow-up question works.

What to change for a different result

| To change | Where |
| --- | --- |
| How the agent behaves | The system message in \`AI Agent\` |
| The model | \`model\` in \`OpenAI Chat Model\` |
| The database | \`Get database details\` |
| How much the agent remembers | \`contextWindowLength\` in \`Window Buffer Memory\` |
| The welcome text and the chat title | \`When chat message received\` |
| What the search looks at | The JSON body in \`Search notion database\` |

### Example

A visitor asks the chat how long the refund period is.

The agent searches the `question` property for refund, opens the best matching page and answers from its text. The reply ends with a link to the page.

### 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 language model that can decide to call tools. Here the tools are two searches of your Notion database.

**For experts.** The chat trigger passes `chatInput` and `sessionId`. `Get database details` and `Format schema` add the database’s name and its tag options to the same item, and the agent reads them from `$json`. The two tools are HTTP Request tools on Notion’s API. One posts a filter to `/v1/databases/{id}/query`, and the other reads `/v1/blocks/{page_id}/children`. n8n’s Notion credential sends the `Notion-Version` header 2022-02-22 on its own.

Where to look closer

| Node | What it does | What to know |
| --- | --- | --- |
| \`Get database details\` | Reads the database’s name and properties | It runs on every message, which adds a short wait |
| \`Format schema\` | Puts the name, the tag list and the database ID next to the message | The agent’s prompt and tools read them |
| \`Search notion database\` | Queries the database by keyword in \`question\` or by tag | Keyword and tag are joined by OR, and rows sort by \`updated\_at\` |
| \`Search inside database record\` | Reads the blocks of one page | It needs the page ID that the first tool returned |
| \`AI Agent\` | Chooses a tool and writes the answer | The system message limits it to facts from the records |

### Good to know

The chat model was replaced and the sticky notes were rewritten. Mindket did not run this workflow.

- Model: the file used \`gpt-4o\`, which OpenAI’s deprecations page, read on 12 November 2026, lists with the 14 January 2027 shutdown. Mindket’s copy uses \`gpt-5.6-terra\`, because an agent with tools needs a model that calls them. The temperature setting was dropped, since the model’s page lists none
- Public chat: the trigger is set to public. Anyone with the Chat URL can ask, each question costs OpenAI usage, and the answers can reveal what the pages say. Turn Public off if the records are private
- Tool text: the description of \`Search notion database\` had an empty pair of quotes where the database name belongs. It now reads the name from \`$json.databaseName\`
- Memory: the chat memory lives in the n8n process, so a restart clears it
- Answers: the model can still misread a page. Keep the pages short and say in them what you mean
- The file holds no credential and no Notion database ID

## README

```markdown
# Chat assistant that answers from a Notion knowledge base

An n8n workflow with a chat page that answers questions from a Notion database of questions and answers. An AI agent searches the database by keyword or tag, reads the matching page and replies with a link to it.

## What is inside

- `workflow.json`: the workflow as n8n exports it, ten nodes. Eight do the work and two are sticky notes that label the steps. It holds no credential.
- `README.md`: these notes.

## What we changed from the original copy

- The chat model was `gpt-4o`, which OpenAI’s deprecations page, read on 12 November 2026, lists with the 14 January 2027 shutdown. Mindket’s copy uses `gpt-5.6-terra` and drops the temperature setting.
- The description of `Search notion database` had an empty pair of quotes where the database name belongs. It now reads the name from `$json.databaseName`.
- The Notion database ID and its cached name and address are gone. It is now `<YOUR_NOTION_DATABASE_ID>`.
- Of the four sticky notes, two were cut and two were rewritten. The setup steps now name the properties the search needs. The links to a video, a sprint site and a template page are gone.
- The Notion and OpenAI nodes were linked to credentials in the original owner’s accounts. The links are gone, so select your own.
- Nothing else. The agent’s system message, the memory, the filter and the chat trigger are the original copy’s own.

## Before you start

- An n8n instance, on n8n Cloud or your own server, that visitors can reach.
- A Notion integration and a database with `question`, `tags` and `updated_at`, and each answer in its row’s page.
- An OpenAI API key.

## Set it up

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. In Notion, create an integration and copy its secret.
3. Create the database with `question`, `tags` and `updated_at`, write each answer in the row’s page and share the database with the integration.
4. Add a Notion credential and select it in `Get database details`, `Search notion database` and `Search inside database record`.
5. In `Get database details`, pick your database in place of `<YOUR_NOTION_DATABASE_ID>`.
6. Add an OpenAI credential and select it in `OpenAI Chat Model`.
7. Click Chat in n8n and ask a question to test it.
8. Activate the workflow and copy the Chat URL from `When chat message received`.

## How a run goes

1. `When chat message received` takes the visitor’s message and opens the run.
2. `Get database details` reads the database from Notion.
3. `Format schema` adds the database’s name, its ID and its tag options to the message.
4. `AI Agent` receives the question with the last four exchanges from `Window Buffer Memory`.
5. `Search notion database` queries the records by keyword or tag when the agent asks for it.
6. `Search inside database record` reads the page of the best match.
7. The agent answers from that page and gives its link.

## Change the result

- How the agent behaves: The system message in `AI Agent`.
- The model: `model` in `OpenAI Chat Model`.
- The database: `Get database details`.
- How much the agent remembers: `contextWindowLength` in `Window Buffer Memory`.
- The welcome text and the chat title: `When chat message received`.
- What the search looks at: The JSON body in `Search notion database`.

## Good to know

- Mindket did not run this workflow. Notion and OpenAI were not called. The Notion calls come from the tool settings in the file, and the node defaults from n8n’s source, read on 12 November 2026.
- The chat page is public once the workflow is active. Anyone with its address can ask, so turn Public off for private records.
- The agent uses `gpt-5.6-terra` because it has tools. `gpt-6-luna` calls tools in Chat Completions only with reasoning turned off, which this node does not send.
- The memory lives in the n8n process, so a restart clears it.
- The search filters on a property called `question` and on `tags`, and it sorts by `updated_at`. A database without them gives an error.
- The file holds no credential, no key and no Notion database ID.
```

## What is in it

3 files, 15 KB, downloaded as a zip.

```text
NOTICE.md  585 B
README.md  4 KB
workflow.json  10 KB
```

## Workflow check

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

- Steps: 4 steps, starting on a chat message
- AI: 1 step calls an AI model: AI Agent
- Sign-ins: Signs in to: Notion and OpenAI
- API keys: No API key is left in the file
- Step types: Mindket’s checker reads all 4 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/3763c0a5-3f0a-4f58-81d9-fadf8d4a80ad)
- [Its page on Mindket](https://mindket.com/p/3763c0a5-3f0a-4f58-81d9-fadf8d4a80ad)
