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.
- Sign in to notion.so/my-integrations → New integration.
- Name it (e.g. Automize), pick the workspace, set capabilities (read, update, insert content).
- Copy the Internal Integration Token (starts with secret_).
- Critical: share each page or database with the integration by clicking '...' → Connections → adding it. The integration only sees pages explicitly shared with it.
- 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.
| Operation | Category | What it does |
|---|---|---|
| Append Blocks | General | Append child blocks to a page/block |
| Create Comment | General | Add a comment to a page |
| Create database | General | Create a Notion database. |
| Create Page | General | Create a new page in a database or as a child |
| Delete Block | General | Archive/delete a block |
| Get Block | General | Get a block by ID |
| Get Block Children | General | List child blocks of a block/page |
| Get Database | General | Get database schema/properties |
| Get Bot User | General | Get the integration bot user |
| Get Page | General | Get page properties |
| List comments | General | List comments on a Notion page or discussion. |
| List Databases | General | List all databases shared with integration |
| List Users | General | List all workspace users |
| Query Database | General | Query a database with filters and sorts |
| Search | General | Search across pages and databases |
| Update block | General | Update a Notion block. |
| Update database | General | Update a Notion database. |
| Update Page | General | Update page properties |
Operations
Append Blocks
Append child blocks to a page/block
| Parameter | Required | Type | Description |
|---|---|---|---|
Block Id block_id | Yes | text | |
Children children | Yes | text |
Create Comment
Add a comment to a page
| Parameter | Required | Type | Description |
|---|---|---|---|
Parent parent | Yes | text | |
Rich Text rich_text | Yes | text |
Tips
- parent: {page_id: '...'}. rich_text holds the comment content.
Create database
Create a Notion database.
| Parameter | Required | Type | Description |
|---|---|---|---|
Parent parent | No | text | |
Title title | Yes | text | |
Properties properties | No | textarea |
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
| Parameter | Required | Type | Description |
|---|---|---|---|
Parent parent | Yes | text | |
Properties properties | Yes | textarea | |
Children children | Yes | text | |
Icon icon | Yes | text | |
Cover cover | Yes | text |
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
| Parameter | Required | Type | Description |
|---|---|---|---|
Block Id block_id | Yes | text |
Tips
- Soft-deletes (archives) the block.
Get Block
Get a block by ID
| Parameter | Required | Type | Description |
|---|---|---|---|
Block Id block_id | Yes | text |
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
| Parameter | Required | Type | Description |
|---|---|---|---|
Block Id block_id | Yes | text |
Get Database
Get database schema/properties
| Parameter | Required | Type | Description |
|---|---|---|---|
Database Id database_id | Yes | text |
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
| Parameter | Required | Type | Description |
|---|---|---|---|
Page Id page_id | Yes | text |
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
| Parameter | Required | Type | Description |
|---|---|---|---|
Filter filter | Yes | text |
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
| Parameter | Required | Type | Description |
|---|---|---|---|
Database Id database_id | Yes | text | |
Filter filter | Yes | text | |
Sorts sorts | Yes | text |
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
Search across pages and databases
| Parameter | Required | Type | Description |
|---|---|---|---|
Query query | Yes | text | |
Filter filter | Yes | text | |
Sort sort | Yes | text |
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.
| Parameter | Required | Type | Description |
|---|---|---|---|
Block Id block_id | Yes | text |
Tips
- PATCH-style. Update text content or block-type-specific properties.
Update database
Update a Notion database.
| Parameter | Required | Type | Description |
|---|---|---|---|
Database Id database_id | Yes | text | |
Title title | Yes | text | |
Properties properties | No | textarea |
Tips
- PATCH-style. Update title, description, properties schema.
Update Page
Update page properties
| Parameter | Required | Type | Description |
|---|---|---|---|
Page Id page_id | Yes | text | |
Properties properties | Yes | textarea | |
Archived archived | Yes | text |
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.