Skip to main content

Notion Node

The Notion node provides integration with your Notion workspace in SkyStudio workflows. You can read pages and database records, create new pages, add content to existing pages, and run AI-powered queries.


Connection Setup and Management

To use the Notion node, you must create an Internal Integration in Notion and add the generated token to SkyStudio. You must also share the pages and databases you want the integration to access with that integration.

Getting a Notion Integration Token

1. Create an Integration

  1. Go to notion.so/my-integrations.
  2. Click the + New integration button.
  3. Give the integration a name, such as SkyStudio.
  4. Select the workspace it will connect to.
  5. Click the Submit button.

2. Copy the Token

After the integration is created, click Show in the Internal Integration Token field and copy the token that starts with secret_.

Note: Store this token in a secure place. Even if you lose it, you can always view it again from notion.so/my-integrations.

3. Share Pages and Databases with the Integration

Creating an integration in Notion is not enough by itself. Each page or database you want to access must also be shared with the integration:

  1. Open the page or database you want to access in Notion.
  2. Click the ... three-dot menu in the upper-right corner.
  3. Select Connections or Add connections.
  4. Find the integration you created, such as SkyStudio, from the list and click it.

Tip: When you grant access to a parent page, all child pages and databases under that page also become accessible automatically.

Adding the Connection to SkyStudio

  1. Go to Application Connections from the left menu in SkyStudio.
  2. Click the Add New Connection button.
  3. Select Notion as the provider.
  4. Enter a descriptive name in the Connection Name field, such as Prod Notion.
  5. Paste the secret_… token you copied into the Integration Token field.
  6. Click the Save button.

Assigning the Connection to the Node

After adding the Notion node to the canvas, select the saved connection from the Application Connections dropdown in the right panel.


Operations

The Notion node provides 8 operations:

OperationCategoryDescription
Query DatabaseFeaturedQueries a Notion database with filters and sorting
Notion AI AssistantFeaturedQueries Notion content using natural language
List PagesStandardLists pages in the workspace
Get PageStandardReturns metadata for a specific page
Get Page ContentStandardReturns the content of a specific page, including block content
List DatabasesStandardLists all databases in the workspace
Create PageStandardCreates a new Notion page
Append ContentStandardAdds content to an existing page

Query Database

Queries records in a Notion database using filter and sorting options. It is used in database-based applications such as CRM, task tracking, or content calendars.

Parameters

ParameterRequiredDescription
ConnectionYesThe Notion connection to use
Database IDYesID of the database to query
Filter PropertyNoProperty name to filter by, such as Status or Assigned To
Filter ValueNoFilter value, such as Done or Ahmet
Sort By PropertyNoProperty name to use for sorting results
LimitNoMaximum number of records to return

How to Find the Database ID

Open the database in Notion. The URL structure is:

notion.so/{workspace}/{database-id}?v=...

The Database ID is the 32-character section before ?v= in the URL.

Alternatively, you can use the ID from the link copied through ...Copy link on the database page.

Example Output

{
"results": [
{
"id": "page-id-123",
"properties": {
"Name": {
"title": [
{
"plain_text": "Project Meeting"
}
]
},
"Status": {
"select": {
"name": "In Progress"
}
},
"Due Date": {
"date": {
"start": "2024-06-01"
}
}
}
}
]
}

Notion AI Assistant

Queries Notion content using natural language. It is ideal for accessing page and database analysis without writing complex filters.

Parameters

ParameterRequiredDescription
ConnectionYesThe Notion connection to use
QueryYesNotion query written in natural language
System PromptNoSystem instruction that customizes the AI assistant’s behavior

Usage Example

Query: "What tasks need to be completed this week?"

System Prompt: "Consider only records in the 'Tasks' database. List the results in Turkish and by priority."


List Pages

Lists pages in the Notion workspace. It is used to discover Page IDs and create a page inventory.

Parameters

ParameterRequiredDescription
ConnectionYesThe Notion connection to use
LimitNoMaximum number of pages to return

Example Output

{
"results": [
{
"id": "abc123",
"properties": {
"title": [
{
"plain_text": "Product Roadmap"
}
]
},
"url": "https://notion.so/abc123"
}
]
}

Get Page

Returns metadata for a specific Notion page, such as title, creation date, last edited date, and properties. It does not retrieve the block content of the page. Use the Get Page Content operation for block content.

Parameters

ParameterRequiredDescription
ConnectionYesThe Notion connection to use
Page IDYesID of the page whose information will be retrieved

Get Page Content

Returns the block content of a specific Notion page, such as text, headings, lists, and tables. It is used in page reading and summarization scenarios.

Parameters

ParameterRequiredDescription
ConnectionYesThe Notion connection to use
Page IDYesID of the page whose content will be retrieved

Example Output

{
"results": [
{
"type": "heading_1",
"heading_1": {
"rich_text": [
{
"plain_text": "Project Summary"
}
]
}
},
{
"type": "paragraph",
"paragraph": {
"rich_text": [
{
"plain_text": "The purpose of this project is..."
}
]
}
}
]
}

List Databases

Lists all Notion databases in the workspace. It is used to discover Database IDs.

Parameters

ParameterRequiredDescription
ConnectionYesThe Notion connection to use
LimitNoMaximum number of databases to return

Create Page

Creates a new Notion page under the specified parent page or database.

Parameters

ParameterRequiredDescription
ConnectionYesThe Notion connection to use
Parent IDYesID of the parent page or database where the new page will be created
Parent TypeYesType of the parent item: page or database
TitleNoTitle of the page to create
ContentNoInitial content of the page, as plain text

Example Output

{
"id": "new-page-id-456",
"url": "https://notion.so/new-page-id-456",
"properties": {
"title": [
{
"plain_text": "Weekly Report - June 2024"
}
]
}
}

Append Content

Adds new content, or blocks, to the end of an existing Notion page. It is used in page journaling and automatic content accumulation workflows.

Parameters

ParameterRequiredDescription
ConnectionYesThe Notion connection to use
Page IDYesID of the page where content will be added
ContentYesText content to add to the page

Quick Start Examples

Example 1: Task Tracking Report

A workflow that queries open tasks in a Notion database and sends a summary to Slack:

Schedule (Every morning at 09:00) → Query Database → LLM (summarize) → Slack Message

Query Database settings:

  • Database ID: {task-database-id}
  • Filter Property: Status
  • Filter Value: In Progress
  • Sort By Property: Due Date
  • Limit: 20

Example 2: Meeting Notes Automation

A workflow that automatically saves a meeting summary received through a webhook to Notion:

Webhook → LLM (format note) → Create Page

Create Page settings:

  • Parent ID: {meeting-notes-page-id}
  • Parent Type: page
  • Title: {{date}} - Meeting Note
  • Content: {{llm.output}}

Example 3: Content Search with Notion AI

A chatbot that answers user questions using the Notion knowledge base:

Text Input → Notion AI Assistant → Text Output

Notion AI Assistant settings:

  • Query: {{input.text}}
  • System Prompt: "You are the company’s knowledge base assistant. Answer only using documents in Notion. Produce short answers in Turkish."

Example 4: Page Content Summarization

A workflow that reads the content of a Notion page and sends it by email:

Schedule (Weekly) → List Pages → Get Page Content → LLM (summarize) → Send Email

Get Page Content settings:

  • Page ID: {{pages.results[0].id}}

Common Errors

ErrorPossible CauseSolution
401 UnauthorizedToken is invalid or entered incorrectlyCheck the Notion Integration Token and make sure it starts with secret_
404 Not FoundPage or database was not found, or it was not shared with the integrationShare the relevant page or database with the integration in Notion using Connections → SkyStudio
403 ForbiddenThe integration does not have access to this contentYou may have forgotten to share the page with the integration; open the related page in Notion and go to Connections
Empty resultsNo records match the filter conditionCheck that Filter Property and Filter Value match the field names in the database exactly
validation_errorDatabase ID or Page ID format is incorrectVerify that the ID is in 32-character UUID format, including hyphens

Notes

  • The Notion Integration Token (secret_…) does not expire. However, if the integration is deleted or the token is renewed, you must update the SkyStudio connection.
  • The List Pages and List Databases operations return only content shared with the integration. Unshared pages are not listed.
  • Get Page retrieves page metadata, such as title, date, and properties, while Get Page Content retrieves block content. These are different operations and do not replace each other.
  • In the Create Page operation, if Parent Type is selected as database, the created page is added to the database as a row. If page is selected, it is added as a child page.
  • For large page contents with many blocks, Get Page Content may take time. Consider shortening or filtering the content before sending it to an LLM node.