Skip to content

Notion Writer

Creates a new Notion page from Markdown content under a specified parent (database or page). It sets the page title, converts Markdown to Notion blocks, and can optionally add a cover image. Returns a success status with the created page URL or an error status with details.
Preview

Usage

Use this node when you need to publish generated or prepared Markdown content into Notion. Provide a Notion integration token with access to the target parent, the parent type and ID, a title, and Markdown content. Optionally include a cover image URL. Typical workflows involve generating content earlier in the pipeline, then passing it here to create a formatted Notion page.

Inputs

FieldRequiredTypeDescriptionExample
tokenTrueSTRINGNotion API integration token with permission to create pages under the specified parent.
parent_typeTrueSELECTType of the parent container where the page will be created. Choose 'database' to create a database entry or 'page' to create a child page.database
parent_idTrueSTRINGID of the target Notion parent (database_id or page_id) where the new page will be created.a1b2c3d4e5f6g7h8i9j0
titleTrueSTRINGTitle for the new Notion page.Weekly Update - Sprint 14
contentTrueSTRINGMarkdown content to be converted into Notion blocks. Supports headings, lists, code blocks, images, links, inline code, bold/italic, equations, and tables (converted to LaTeX equations).# Overview - Task A done - Task B in progress ```python print('hello') ```
cover_urlFalseSTRINGOptional URL of an image to set as the page cover.https://example.com/cover.jpg

Outputs

FieldTypeDescriptionExample
StatusSTRINGOperation status: 'Success' if the page was created, otherwise 'Error'.Success
ResponseSTRINGJSON string with the result. On success: {"url": ""}. On error: {"error": ""}.{"url": "https://www.notion.so/your-workspace/Page-Title-abc123"}

Important Notes

  • Authentication: The provided token must be an authorized Notion integration with access to the specified parent page or database.
  • Parent type and ID: Ensure parent_type matches the parent_id (use 'page' with a page_id and 'database' with a database_id).
  • Content format: The node converts Markdown to Notion blocks. Unsupported Markdown features may be ignored or transformed differently.
  • Cover image: cover_url should be a publicly accessible URL for Notion to fetch.
  • Response format: The Response output is a stringified JSON object, not a native object.
  • Rate limits: Notion API rate limiting may apply and can cause temporary errors.
  • Error handling: On failure, Status='Error' and Response contains an 'error' message string.

Troubleshooting

  • Invalid parent_id or parent_type: Verify the ID corresponds to the selected type ('page' or 'database') and that it exists.
  • Permission denied: Ensure the integration is added to the target page or database and has the necessary permissions.
  • Invalid token: Replace token with a valid Notion integration token and confirm it has not expired or been revoked.
  • Cover not applied: Check that cover_url is reachable over the internet and points to a valid image format.
  • Malformed Markdown: If rendering is unexpected, simplify the Markdown or remove unusual syntax; verify code block fences and list indentation.
  • API errors or timeouts: Retry after a short delay to handle transient Notion API issues or rate limits.