Skip to content

Notion Writer

Creates a new Notion page from Markdown content. It converts the provided Markdown into Notion blocks and publishes the page under a specified parent (database or page), optionally setting a cover image. Returns operation status and the Notion page URL or an error message.
Preview

Usage

Use this node at the end of a content generation workflow to publish AI-generated text as a formatted Notion page. Provide your Notion integration token, select whether the parent is a database or a page, set the parent ID, page title, and Markdown content. Optionally include a cover image URL. The node outputs a success status with the created page URL or an error with details.

Inputs

FieldRequiredTypeDescriptionExample
tokenTrueSTRINGNotion API integration token with access to the target parent page or database.
parent_typeTrueSTRINGType of the parent object to create the page under. Choose 'database' to add a page as a database entry or 'page' to nest under a page.database
parent_idTrueSTRINGThe ID of the parent Notion database or page where the new page will be created.aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
titleTrueSTRINGTitle of the new Notion page.Weekly Research Summary
contentTrueSTRINGMarkdown content to be converted into Notion blocks for the page body. Supports headings, paragraphs, lists, images, code blocks, and more.# Overview - Item 1 - Item 2 ![Caption](https://example.com/image.png)
cover_urlFalseSTRINGOptional URL for the page cover image.https://example.com/cover.jpg

Outputs

FieldTypeDescriptionExample
StatusSTRINGIndicates whether the operation succeeded or failed.Success
ResponseSTRINGJSON-serialized response string. On success, contains the created page URL; on error, contains an error message.{"url": "https://www.notion.so/your-page"}

Important Notes

  • The Notion integration token must have permission to access the specified parent page or database.
  • Set parent_type correctly: use 'database' to insert into a database, or 'page' to nest under a regular page.
  • Content is parsed from Markdown into Notion blocks; some Markdown constructs (e.g., complex tables) may be transformed differently than expected.
  • On failure, Status is "Error" and Response contains an error string; on success, Status is "Success" and Response includes {"url": "..."}.
  • Ensure the Notion client dependency is installed in your environment (notion-client).

Troubleshooting

  • Error: Invalid or missing token — Verify the token is correct, not expired, and pasted in full. Ensure the integration has been added to the target workspace and shared to the parent page/database.
  • Error: Parent not found or access denied — Confirm parent_id is correct (including hyphens) and the integration has access to that parent.
  • Success but missing page content — Check that 'content' is valid Markdown. Remove unsupported syntax if rendering is unexpected.
  • Cover image not set — Ensure 'cover_url' is a publicly accessible URL; private or blocked URLs may fail to display.
  • Received raw error in Response — Inspect the Response string for details; correct the indicated field (e.g., invalid parent_type) and retry.