View as Markdown
Notion icon

Notion ACTION

Create Page

Create a new Notion page. The parent can be either another page (creates a subpage) or a database/data source (creates a row in that database). Provide the parent's ID or URL — use Search to resolve a name into an ID. When the parent is a database, set properties to a flat JSON object of column-name → value (e.g. { "Status": "Active", "ThreatLevel": 9 }); call Retrieve Database Schema first to learn the exact column names and valid select options. content is the page body as Markdown (headings, bullet lists, paragraphs, etc.). See the documentation
  • Action
  • Writes data
  • OAuth
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's Notion account once, then configure and run Create Page from your backend or agent.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "notion-create-page",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    notion: { authProvisionId: "apn_xxxxxxx" },
    parent: "Parent (Page or Data Source ID)",
    title: "Page Title",
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

Create Page inputs
Property Type Description
parent Parent (Page or Data Source ID) string
REQUIRED — must be a real UUID. Notion has no "workspace root", so every new page must have a parent page or data source. The value must be either (a) the UUID of an existing page (creates a subpage), (b) the UUID of an existing data source (creates a database row), or (c) a Notion URL containing such a UUID. If the user gave a parent name instead of an ID, call Search first to resolve the name into an ID, then pass the ID here. Do NOT pass empty, "root", "workspace", or any non-UUID placeholder — the API will reject it.
Required
title Page Title string
The page title (defaults to Untitled)
Optional
properties Properties string
Only for pages created in a database. A flat JSON object of column-name → value, e.g. { "Status": "Active", "ThreatLevel": 9 }. Use Retrieve Database Schema to discover valid names and select options.
Optional
content Content string
The page body as Markdown. Markdown reference.
Optional

REFERENCE

Tool details

Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.

Registry key
notion-create-page
Version
1.0.1
App
Notion
Authentication
OAuth
Read-only
No
Destructive
No
Open world
Yes