Notion
Create pages and manage databases in Notion.
On this page
Connect
Auth type: OAuth (oauth2). Click Connect and approve access on the provider's page. Appbricx runs the OAuth flow (signed single-use state, PKCE where the provider supports it), stores the tokens encrypted and refreshes them before they expire.
OAuth needs an OAuth app: the platform's when the operator configured one, or your own (admin panel, Integrations, Configure). You can also bring your own credentials.
- In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
- For every project in a workspace: Workspace settings, Integrations.
- Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.
Call it from a workflow
Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.
// .workflow.js (native ctx)
export async function run(ctx) {
const res = await ctx.integrations.invoke("notion", "create_database_item", {
"database_id": "<database_id>",
"databaseFields": {}
});
if (!res.success) throw new Error(res.error);
ctx.log.info("Notion answered", { output: res.output });
}// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";
export default defineWorkflow({
id: "notion-create-database-item",
name: "Notion: Create Database Item",
description: "Calls Notion when a row is created.",
trigger: { type: "entity_event", entity: "tickets", event: "created" },
async run(ctx, event) {
const res = await ctx.integrations.call("notion", {
"action": "create_database_item",
"database_id": "<database_id>",
"databaseFields": {}
}) as { success: boolean; error?: string };
if (!res.success) throw new Error(res.error);
},
});curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/notion/create_database_item" \
-H "Authorization: Bearer $APP_KEY" \
-H "content-type: application/json" \
-d '{"props":{"database_id":"<database_id>","databaseFields":{}}}'Actions
create_database_itemin catalog
Create Database Item. Add a new item to a Notion database with custom field values and optional content. Ideal for creating tasks, records, or entries in structured databases.
| Input | Type | Description |
|---|---|---|
database_idrequired | id (picked from your account) | Choose the Notion database you want to work with from your workspace |
databaseFieldsrequired | object (depends on other props) | Fields |
contentoptional | long text | The content you want to append to your item. |
createPagein catalog
Create Page. Create a new Notion page as a sub-page with custom title and content. Perfect for organizing documentation, notes, or creating structured page hierarchies.
Also accepted as create_page.
| Input | Type | Description |
|---|---|---|
pageIdrequired | id (picked from your account) | Choose the Notion page you want to work with. This list shows your 100 most recently edited pages for easy selection. |
titleoptional | text | The title of the page. |
contentoptional | long text | The content of the page. |
retrieve_databasein catalog
Retrieve Database Structure. Get detailed information about a Notion database including all its properties, field types, and configuration. Perfect for building dynamic forms, validation rules, or understanding database schemas.
| Input | Type | Description |
|---|---|---|
database_idrequired | id (picked from your account) | Choose the Notion database you want to work with from your workspace |
update_database_itemin catalog
Update Database Item. Update specific fields in a Notion database item. Perfect for maintaining data, tracking changes, or syncing information across systems.
| Input | Type | Description |
|---|---|---|
database_idrequired | id (picked from your account) | Choose the Notion database you want to work with from your workspace |
database_item_idrequired | id (picked from your account) | Select the item you want to update |
databaseFieldsrequired | object (depends on other props) | Fields |
add_comment
Add Comment. Add a comment to any Notion page to start discussions, provide feedback, or leave notes for team collaboration.
| Input | Type | Description |
|---|---|---|
page_idrequired | id (picked from your account) | Choose the Notion page you want to work with. This list shows your 100 most recently edited pages for easy selection. |
comment_textrequired | long text | Enter your comment text. Supports plain text and will be posted as a new comment thread on the selected page. |
append_to_page
Append to Page. Appends content to the end of a page.
| Input | Type | Description |
|---|---|---|
pageIdrequired | id (picked from your account) | Choose the Notion page you want to work with. This list shows your 100 most recently edited pages for easy selection. |
contentrequired | long text | The content you want to append. You can use markdown formatting. |
archive_database_item
Archive Database Item. Archive (soft-delete) a database item without permanently removing it. Archived items can be restored later if needed.
| Input | Type | Description |
|---|---|---|
database_idrequired | id (picked from your account) | Choose the Notion database you want to work with from your workspace |
database_item_idrequired | id (picked from your account) | Select the item you want to update |
custom_api_call
Custom API Call. Make a custom API call to a specific endpoint
| Input | Type | Description |
|---|---|---|
urlrequired | object (depends on other props) | url |
methodrequired | one of "GET" | "POST" | "PATCH" | "PUT" | "DELETE" | "HEAD" | Method |
headersrequired | object | Authorization headers are injected automatically from your connection. |
queryParamsrequired | object | Query Parameters |
body_typeoptional | one of "none" | "json" | "form_data" | "raw" | Body Type |
bodyoptional | object (depends on other props) | Body |
response_is_binaryoptional | boolean | Enable for files like PDFs, images, etc. |
failsafeoptional | boolean | No Error on Failure |
timeoutoptional | number | Timeout (in seconds) |
followRedirectsoptional | boolean | Follow redirects |
find_page
Find Page. Search for Notion pages by title with flexible matching options. Perfect for finding specific pages, building page references, or creating automated workflows based on page discovery.
| Input | Type | Description |
|---|---|---|
titlerequired | text | Enter the page title or part of the title you want to search for |
exact_matchoptional | boolean | Enable this to find pages with exactly the same title. Disable for partial matching (finds pages containing your search term). |
limitoptional | number | How many pages to return at most (between 1 and 100) |
get_page_comments
Get Page Comments. Retrieve all comments from a Notion page, organized by discussion threads. Perfect for tracking feedback, managing reviews, or monitoring page discussions.
| Input | Type | Description |
|---|---|---|
page_idrequired | id (picked from your account) | Choose the Notion page you want to work with. This list shows your 100 most recently edited pages for easy selection. |
getPageOrBlockChildren
Get block content. Retrieve the actual content of a page (represented by blocks).
| Input | Type | Description |
|---|---|---|
parentIdrequired | text | Page or parent block ID |
markdownrequired | boolean | Convert Notion JSON blocks to Markdown |
dynamicrequired | object (depends on other props) | Dynamic properties |
notion-find-database-item
Find Database Item. Searches for an item in database by field.
| Input | Type | Description |
|---|---|---|
database_idrequired | id (picked from your account) | Choose the Notion database you want to work with from your workspace |
filterDatabaseFieldsrequired | object (depends on other props) | Fields |
restore_database_item
Restore Database Item. Restore an archived database item back to active status. Perfect for recovering accidentally archived tasks, projects, or records.
| Input | Type | Description |
|---|---|---|
database_idrequired | id (picked from your account) | Choose the Notion database you want to work with from your workspace |
archived_item_idrequired | id (picked from your account) | Choose which archived item to restore from the selected database |
Details
- Id
notion- Category
- Productivity
- Tags
- wiki, docs, database, knowledge-base
- Package
@activepieces/piece-notion@0.6.1- Tier
- Built in