Notion chatbot integration

The Notion step connects a flow to the databases and pages your team already works in. A feature request, a support issue or a booking request becomes a new row in a Notion database, and the bot can look up rows to answer a visitor.

Build on the Free plan. The Notion step runs on Pro ($39/month) and above.

Builder step
Notion: query, create, get, update, append, list
How you connect
Sign in with Notion (OAuth)
Results per call
Up to 100
Plan
Pro and above (native integrations)
Notion API version
2022-06-28
What it does

What the Notion step can do

Plenty of teams run their work in Notion: a content calendar, a bug tracker, a list of open roles or a CRM built from a database. The Notion step lets a chatbot write into those databases and read from them, so a conversation can end with a properly filled row instead of a message someone has to copy over.

Six operations cover the common jobs. Create page adds a row to a database or a sub-page under a page. Query database finds rows with a filter. Get page and Update page read and change a page's properties, Append blocks adds content to the bottom of a page, and List databases shows what the connection can see.

Add a row to a database

Create page with a database as the parent adds a row. Set its properties from the visitor's answers, such as the title, an email, a select option or a date.

Query a database

Find rows with Notion's filter format and order them with sorts. Each result comes back with its ID, URL and its property values as plain text, numbers, dates or lists, ready to use in the chat.

Read and update a page

Get page reads a page's properties into a variable. Update page changes them, for example moving a request's Status to Done once the visitor confirms.

Append content

Append blocks adds paragraphs, headings or list items to the bottom of a page, which suits a running log or meeting notes.

Create sub-pages

Give a parent page ID instead of a database and the step creates a child page there, with content blocks if you include them.

Answers that cannot break the JSON

Properties, filters and blocks are written as JSON with variables inside. The JSON is read before the visitor's answers are inserted, so an answer containing a quote or a line break cannot make it invalid.

Reference

Settings in the Notion step

SettingWhat it does
AccountThe connected Notion workspace.
OperationQuery database, Create page, Get page, Update page, Append blocks or List databases.
DatabaseFor queries and new rows: picked from the databases shared with the connection.
Parent page IDOptional for Create page: create a child page under this page instead of a database row.
Page IDFor Get page, Update page and Append blocks. From the page URL or a variable from an earlier step.
Filter and Sort (JSON)For Query database, in Notion's filter and sort format.
Properties (JSON)For Create page and Update page, in Notion's property format.
Blocks (JSON)For Append blocks: paragraphs, headings, lists and other block types.
Maximum resultsUp to 100 rows for a query, or 1 to 100 databases for List databases.
Save resultThe response as JSON, with property values simplified.
Setup

How to connect Notion to your chatbot

About ten minutes. You need a Pro or higher Conferbot workspace and a Notion workspace where you can share pages with an integration.

  1. 1

    Connect Notion

    On the Integrations page, choose Notion and sign in. Notion asks which pages and databases to share; pick the ones the bot should use. It can only see what you share here.

  2. 2

    Prepare the database

    Make sure the database has the properties you plan to fill, such as Name (title), Email (email), Topic (select) and Received (date). Property names in the JSON must match exactly.

  3. 3

    Collect the answers

    Ask the visitor's questions before the step and save each answer to a variable.

  4. 4

    Add the Notion step and choose Create page

    Pick the account and the database, then write the properties. A title property looks like {"Name": {"title": [{"text": {"content": "${name}"}}]}}; an email property is {"Email": {"email": "${email}"}}.

  5. 5

    Save the result

    Name a result variable. It receives the new page's details, including its ID and URL, which a later Update page or Append blocks step can use.

  6. 6

    Test in preview

    Run the flow and open the database in Notion to check the new row and each property.

Recipes

Flows people build with Notion

Feature requests and feedback

Ask what the visitor wants and why, then add a row to the product team's Notion database with the request, the email and a Status of New. The team triages it where it already works.

Look up answers from a Notion table

Keep a table of opening hours per location, open roles or product stock in Notion. Query it by the visitor's choice and show the matching row in the chat.

Notes after every conversation

Append a short summary block, with the visitor's answers and the date, to a client's page so the account history lives in one place.

Access

Permissions and access

Only shared pages are visible

Notion integrations see only the pages and databases you share with them. If a database is missing from the list, share it with the connection in Notion and refresh.

Who the rows belong to

Rows and pages are created by the Notion connection, not by a person, and follow the sharing of the database or page they are added to.

Disconnecting

Remove the account on the Integrations page, or remove the connection in Notion under Settings, Connections. Steps that used it stop working until you reconnect.

Good to know

Limits and behaviour to plan around

Up to 100 rows per query

A query returns at most 100 rows. Narrow it with a filter so the bot gets the rows it needs, not the whole table.

Property JSON follows Notion's format

Each property type has its own shape: title and rich text take text objects, select takes a name, dates take a start. Use the examples in Notion's API reference for the types you need.

Notion's rate limit

Notion allows an average of three requests per second per connection. Normal chat volumes are well within it, but a broadcast that writes thousands of rows at once is not.

A failed call does not stop the chat

If Notion rejects a request, for example because a property name does not exist, the conversation continues and the result variable stays empty.

Troubleshooting

Fixing common Notion problems

What you seeWhy, and the fix
The database is not in the listIt is not shared with the connection. In Notion, open the database, choose Connections and add Conferbot, then refresh the list.
"Invalid properties JSON"The JSON is not valid, often a missing brace or comma. Check it in a JSON validator; the variables can stay as ${name}.
Notion says a property does not existThe property name in the JSON does not match the database exactly, including capital letters and spaces.
The row is created but a field is emptyThe property type is wrong, for example text sent to a select property, or the variable was empty when the step ran.
A query returns nothingThe filter is too strict or uses the wrong property type. Test the filter in Notion's API reference or remove it to see all rows.
FAQ

Notion integration: common questions

Can a chatbot add rows to a Notion database?

Yes. Create page with a database as the parent adds a row, with its properties filled from the visitor's answers through variables.

Can the chatbot read from Notion?

Yes. Query database finds rows with a filter and returns their property values in a simple form, and Get page reads a single page's properties.

Can it update a Notion page?

Yes. Update page changes a page's properties by its ID, such as setting a Status, and Append blocks adds content to the bottom of the page.

Why can't I see my database?

Notion connections only see pages and databases shared with them. Share the database with the connection in Notion, then refresh the list in the step.

Do I need to write JSON?

For properties, filters and blocks, yes, in Notion's API format. Variables go straight inside the JSON, and answers with quotes or line breaks cannot break it.

How many rows can a query return?

Up to 100 per query. Use a filter to return only the rows the conversation needs.

Does this train the chatbot on my Notion pages?

No. The Notion step reads and writes databases and pages inside a flow. It is not an import into the AI knowledge base.

Which plan includes Notion?

Notion is a native integration, included on Pro and above. You can build and preview the flow on any plan.

Does it work in Slack and Teams bots?

Yes. The step runs on the server, so internal bots on Slack or Microsoft Teams and the website widget can all use it.

Send every request into the Notion your team already uses

Start free with Conferbot - the free plan includes 600 conversations a month and needs no credit card, so you can build the flow today. The Notion step switches on with Pro.

Checked against Conferbot's product and Notion's documentation on November 3, 2026: Notion API: query a database, Notion API: page property values, Notion API: request limits.

Guides for Notion flows

Guides on internal bots and structured intake.