Notion is a versatile workspace tool combining note-taking, task management, databases, and collaboration features into a single platform.
It also supports integration with Notion content, facilitating tasks such as creating pages, retrieving a block, and filtering database entries via API.
Prerequisites
- Notion account
- Generated Integration token (Settings & Members → Connections → Develop or manage integrations → New integration)
- Notion database ID (open database as full page, extract database ID from the URL (
https://notion.so/<USERNAME>/<DATABASE_ID>?v=v
)) - Added Notion connection (three dots (
...
) menu → Add Connections → choose created integration) -
@notionhq/client
package installed
Integration
Below is an example of interacting with Notion API to create the page (within the chosen database) with icon, cover, properties, and child blocks.
const { Client } = require('@notionhq/client');
const notion = new Client({ auth: process.env.NOTION_INTEGRATION_TOKEN });
const response = await notion.pages.create({
parent: {
type: 'database_id',
database_id: process.env.NOTION_DATABASE_ID,
},
icon: {
type: 'emoji',
emoji: '🆗',
},
cover: {
type: 'external',
external: {
url: 'https://cover.com',
},
},
properties: {
Name: {
title: [{
type: 'text',
text: {
content: 'Some name',
},
}],
},
Score: {
number: 42,
},
Tags: {
multi_select: [{
name: 'A',
}, {
name: 'B',
}],
},
Generation: {
select: {
name: 'I',
},
},
// other properties
},
children: [{
object: 'block',
type: 'bookmark',
bookmark: {
url: 'https://bookmark.com',
},
}],
});
Course
Build your SaaS in 2 weeks - Start Now
Top comments (0)