Notion integration

Knowledge management: pages, databases, blocks, search, comments, users

Help CentreConnectors

Overview

Notion is a flexible knowledge management platform – pages, databases, blocks. The Automize Notion connector covers page/database CRUD, block manipulation, search, and database querying for automated content workflows.

  • Regions: Notion is a single global platform – api.notion.com. No region selector.
  • Plans: Free, Plus, Business, Enterprise – all expose the API. API rate limits are uniform across plans.

Setting up the connection

Auth type: Bearer Token.

  1. Sign in to notion.so/my-integrations → New integration.
  2. Name it (e.g. Automize), pick the workspace, set capabilities (read, update, insert content).
  3. Copy the Internal Integration Token (starts with secret_).
  4. Critical: share each page or database with the integration by clicking '...' → Connections → adding it. The integration only sees pages explicitly shared with it.
  5. In Automize, open Settings → Connectors → Notion → Add connection. Paste the token.

Find your credentials at https://www.notion.so/my-integrations.


Rate limits

Notion enforces ~3 requests/sec/integration. The connector retries 429 with exponential backoff. For paginated database queries, use start_cursor to walk through results – don't poll the same query repeatedly.


Data model

Notion's primitives:

    Workspace ─┬─ Pages ─── Blocks (recursive – paragraphs, headings, lists, embeds)
               └─ Databases ─── Pages (rows) ─── Blocks (page body)

A database 'row' is itself a page – every page has properties (typed
columns) plus a body of blocks. Block IDs are UUIDs without hyphens
(or with – both work).

Available operations

18 operations available. Click any row to jump to its detail.

OperationCategoryWhat it does
Append BlocksGeneralAppend child blocks to a page/block
Create CommentGeneralAdd a comment to a page
Create databaseGeneralCreate a Notion database.
Create PageGeneralCreate a new page in a database or as a child
Delete BlockGeneralArchive/delete a block
Get BlockGeneralGet a block by ID
Get Block ChildrenGeneralList child blocks of a block/page
Get DatabaseGeneralGet database schema/properties
Get Bot UserGeneralGet the integration bot user
Get PageGeneralGet page properties
List commentsGeneralList comments on a Notion page or discussion.
List DatabasesGeneralList all databases shared with integration
List UsersGeneralList all workspace users
Query DatabaseGeneralQuery a database with filters and sorts
SearchGeneralSearch across pages and databases
Update blockGeneralUpdate a Notion block.
Update databaseGeneralUpdate a Notion database.
Update PageGeneralUpdate page properties

Operations

Append Blocks

Append child blocks to a page/block

ParameterRequiredTypeDescription
Block Id block_idYestext
Children childrenYestext

Create Comment

Add a comment to a page

ParameterRequiredTypeDescription
Parent parentYestext
Rich Text rich_textYestext

Tips

  • parent: {page_id: '...'}. rich_text holds the comment content.

Create database

Create a Notion database.

ParameterRequiredTypeDescription
Parent parentNotext
Title titleYestext
Properties propertiesNotextarea

Tips

  • parent: {page_id: '...'} – must be a page. Database is created as a child of that page.
  • properties: schema – define each column's type.

Create Page

Create a new page in a database or as a child

ParameterRequiredTypeDescription
Parent parentYestext
Properties propertiesYestextarea
Children childrenYestext
Icon iconYestext
Cover coverYestext

Tips

  • parent: {database_id: '...'} for rows in a database, or {page_id: '...'} for free-form sub-pages.
  • properties for database-row pages must match the database schema. Use Get Database first to see schema.
  • children[] are body blocks (paragraphs, headings, etc.).

Delete Block

Archive/delete a block

ParameterRequiredTypeDescription
Block Id block_idYestext

Tips

  • Soft-deletes (archives) the block.

Get Block

Get a block by ID

ParameterRequiredTypeDescription
Block Id block_idYestext

Tips

  • Returns block + has_children flag. For child blocks, call List Blocks with this block's id.

Get Block Children

List child blocks of a block/page

ParameterRequiredTypeDescription
Block Id block_idYestext

Get Database

Get database schema/properties

ParameterRequiredTypeDescription
Database Id database_idYestext

Tips

  • database_id. Returns the database schema (properties + types).

Get Bot User

Get the integration bot user

No input parameters.


Get Page

Get page properties

ParameterRequiredTypeDescription
Page Id page_idYestext

Tips

  • Returns page properties only. Body blocks need List Blocks.

List comments

List comments on a Notion page or discussion.

No input parameters.

Tips

  • block_id: page or block ID. Returns comments newest-first.

List Databases

List all databases shared with integration

ParameterRequiredTypeDescription
Filter filterYestext

Tips

  • Returns databases the integration has access to. Empty result usually means you forgot to share databases with the integration.

List Users

List all workspace users

No input parameters.

Tips

  • Workspace users including bots.

Query Database

Query a database with filters and sorts

ParameterRequiredTypeDescription
Database Id database_idYestext
Filter filterYestext
Sorts sortsYestext

Tips

  • filter: complex filter object – e.g. {property:'Status', select:{equals:'In Progress'}}.
  • sorts: [{property:'Created', direction:'descending'}].
  • page_size: max 100. Use next_cursor + start_cursor to page.

Search across pages and databases

ParameterRequiredTypeDescription
Query queryYestext
Filter filterYestext
Sort sortYestext

Tips

  • query: substring match against page/database titles.
  • filter.value: 'page' or 'database' to scope.
  • Returns matches sorted by last edited.

Update block

Update a Notion block.

ParameterRequiredTypeDescription
Block Id block_idYestext

Tips

  • PATCH-style. Update text content or block-type-specific properties.

Update database

Update a Notion database.

ParameterRequiredTypeDescription
Database Id database_idYestext
Title titleYestext
Properties propertiesNotextarea

Tips

  • PATCH-style. Update title, description, properties schema.

Update Page

Update page properties

ParameterRequiredTypeDescription
Page Id page_idYestext
Properties propertiesYestextarea
Archived archivedYestext

Tips

  • PATCH-style on properties. archived=true 'deletes' the page (recoverable from Trash).

FAQ

Why does Get Page return 'object not found' on a page I can clearly see?
The integration doesn't have access. In Notion, open the page → ... → Connections → Add the integration. Pages don't inherit shares – you must share each page (or its top-level parent) with the integration.
Can I create a database – or just rows?
Yes via Create Database. Note: the database must be a child of an existing page (parent.page_id). You can't create top-level databases via the API.
Why is my filter returning unexpected results?
Filter syntax varies by property type – select uses {equals: 'value'}, multi_select uses {contains: 'value'}, date uses {equals/after/before/...}. Check Notion's API reference for the property type you're filtering.
How do I append content to a page?
Use Append Blocks with the page ID as block_id. The page is itself a block, and pages have a body of child blocks.
Wiki support – is there one?
Notion's Wiki feature is just a database with specific column conventions. Use the same database operations to interact with wikis.

Related connectors

See it working on your own data

Everything documented here ships with the platform – try the document tools free, or go live in 7 days.