Portal Community

Authentication

MethodPropertiesWhen to Use
ApiTokenApiToken — Internal Integration Token from notion.so/my-integrationsSingle workspace, internal automations. Simplest setup.
OAuth2ClientId, ClientSecret, AccessTokenMulti-workspace or public integrations requiring user-level authorisation.

database/get

PropertyRequiredDescription
DatabaseIdRequiredThe Notion database ID. Found in the database URL: notion.so/workspace/DATABASE_ID?v=.... Can also be obtained from database/getMany.

database/getMany

PropertyRequiredDescription
PageSizeOptionalInteger. Number of databases to return per page. Max: 100. Default: 100.
StartCursorOptionalPagination cursor from a previous response's next_cursor field to fetch the next page of results.

database/search

PropertyRequiredDescription
QueryRequiredText string to search for in database titles. Case-insensitive substring match.
PageSizeOptionalInteger. Maximum results to return. Default: 100.

database/query

PropertyRequiredDescription
DatabaseIdRequiredThe ID of the database to query.
FilterOptionalNotion filter JSON object. Uses the Notion filter syntax with property, filter_type, and condition keys. See filter example below.
SortsOptionalJSON array of sort objects. Each object specifies a property and direction ("ascending" or "descending").
PageSizeOptionalInteger. Results per page. Max: 100.
StartCursorOptionalPagination cursor for the next page of results.
ReturnAllOptionalBoolean. When true, automatically paginates through all results and returns the full set regardless of database size.

database/createPage

PropertyRequiredDescription
DatabaseIdRequiredThe ID of the database to add the new page (row) to.
PropertiesRequiredJSON object of page properties matching the database schema. Each key is a property name; each value is formatted according to its Notion property type (see Property Types section below).
BlocksOptionalJSON array of Notion block objects to add as the page body content. Appended after the database properties.
IconOptionalEmoji character (e.g. "📋") or external image URL to use as the page icon.

page/createStandalone

PropertyRequiredDescription
ParentPageIdRequiredThe ID of the parent page under which the new page will be created.
TitleRequiredThe page title as a plain text string. Supports BizFirst expressions.
BlocksOptionalJSON array of block objects for the page body content.
IconOptionalEmoji or image URL for the page icon.

page/get

PropertyRequiredDescription
PageIdRequiredThe Notion page ID to retrieve.
SimplifyOptionalBoolean. When true, flattens the verbose Notion property format into plain key-value pairs. Recommended for most workflows.

page/update

PropertyRequiredDescription
PageIdRequiredThe ID of the page to update.
PropertiesOptionalJSON object of properties to update. Only specified properties are changed; all others are preserved.
ArchivedOptionalBoolean. Set to true to archive the page (hide from workspace). Set to false to restore an archived page.

page/archive

PropertyRequiredDescription
PageIdRequiredThe ID of the page to archive. Sets archived=true on the page.

block/getChildren

PropertyRequiredDescription
BlockIdRequiredThe ID of the page or block whose children to retrieve. A page ID is also a valid block ID.
PageSizeOptionalInteger. Number of child blocks to return per page. Max: 100.
ReturnAllOptionalBoolean. When true, returns all child blocks regardless of page count.

block/appendChildren

PropertyRequiredDescription
BlockIdRequiredThe ID of the page or block to append content to.
BlocksRequiredJSON array of Notion block objects to append. Blocks are added at the end of existing content.

user/get

PropertyRequiredDescription
UserIdRequiredThe Notion user ID (UUID format). Obtain user IDs from user/getMany.

user/getMany

PropertyRequiredDescription
PageSizeOptionalInteger. Number of users per page. Max: 100.
ReturnAllOptionalBoolean. When true, paginates through all workspace members.

trigger/pageAdded & trigger/pageUpdated

PropertyRequiredDescription
DatabaseIdRequiredThe database to monitor for new or updated pages.
PollingIntervalOptionalHow frequently to poll the database for changes, in seconds. Default: 60 seconds.

trigger/webhook

PropertyRequiredDescription
WebhookUrlRequiredThe BizFirst webhook endpoint URL to register with the webhook source.
HeadersOptionalJSON object of expected request headers for validation.
AuthenticationOptionalAuthentication method for validating inbound webhook requests.

Notion Property Types

When using database/createPage or page/update, the Properties JSON must use the correct format for each Notion property type:

TypeJSON Format Example
title"Name": {"title": [{"text": {"content": "My Task"}}]}
rich_text"Notes": {"rich_text": [{"text": {"content": "Meeting recap"}}]}
number"Priority": {"number": 3}
select"Status": {"select": {"name": "In Progress"}}
multi_select"Tags": {"multi_select": [{"name": "frontend"}, {"name": "urgent"}]}
date"Due Date": {"date": {"start": "2026-06-01"}}
people"Assignee": {"people": [{"id": "user-uuid-here"}]}
checkbox"Done": {"checkbox": false}
url"Link": {"url": "https://example.com"}
email"Contact": {"email": "user@example.com"}
relation"Project": {"relation": [{"id": "related-page-uuid"}]}
formulaRead-only — computed by Notion. Cannot be set via API.
rollupRead-only — aggregated from related records. Cannot be set via API.
Tip: Run database/get first to inspect the exact property names and types of a database before building your Properties JSON. Property names are case-sensitive and must match exactly as they appear in the database schema.

database/query Filter Example

{
  "and": [
    {
      "property": "Status",
      "select": { "equals": "In Progress" }
    },
    {
      "property": "Due Date",
      "date": { "on_or_before": "{{ now() }}" }
    },
    {
      "property": "Assigned To",
      "people": { "contains": "{{ vars.user_id }}" }
    }
  ]
}