Tool

Update page

Notion-Update-Page is a powerful AI tool designed to seamlessly update properties and content of Notion pages, whether inside databases or standalone pages. It provides precise control over page metadata and markdown content, enabling efficient management within the Notion workspace.

Notion

Features

  • Supports updating JSON-mapped Notion page properties including complex property types like dates, places, numbers, and checkboxes.
  • Allows selective updating without overwriting unchanged properties to maintain data integrity.
  • Handles both database pages and standalone pages, with proper schema fetching for accurate property names.
  • Enables content updates via full replacements, range-specific replacements, or content insertion after targeted text snippets.
  • Includes special handling for property naming conventions and enhanced Notion-flavored Markdown format for rich content editing.

Benefits

  • Streamlines Notion page management by automating property and content updates.
  • Ensures accuracy and consistency by requiring schema fetching before updates in databases.
  • Improves productivity with flexible content editing options tailored to user needs.
  • Enhances data organization with support for complex property types and structured updates.
  • Reduces errors and preserves existing content by allowing partial updates and controlled content replacement.

Description

Overview

Update a Notion page's properties or content.

Properties

Notion page properties are a JSON map of property names to SQLite values. For pages in a database:

  • ALWAYS use the "fetch" tool first to get the data source schema and the exact property names.
  • Provide a non-null value to update a property's value.
  • Omitted properties are left unchanged. IMPORTANT: Some property types require expanded formats:
  • Date properties: Split into "date:{property}
    ", "date:{property}
    " (optional), and "date:{property}
    " (0 or 1)
  • Place properties: Split into "place:{property}
    ", "place:{property}
    ", "place:{property}
    ", "place:{property}
    ", and "place:{property}
    " (optional)
  • Number properties: Use JavaScript numbers (not strings)
  • Checkbox properties: Use "YES" for checked, "NO" for unchecked Special property naming: Properties named "id" or "url" (case insensitive) must be prefixed with "userDefined:" (e.g., "userDefined
    ", "userDefined
    ") For pages outside of a database:
  • The only allowed property is "title", which is the title of the page in inline markdown format.

Content

Notion page content is a string in Notion-flavored Markdown format. See the "create-pages" tool description for the full enhanced Markdown spec. Before updating a page's content with this tool, use the "fetch" tool first to get the existing content to find out the Markdown snippets to use in the "replace_content_range" or "insert_content_after" commands.

Examples

<example description="Update page properties"> { "page_id": "f336d0bc-b841-465b-8045-024475c079dd", "command": "update_properties", "properties": { "title": "New Page Title", "status": "In Progress", "priority": 5, "checkbox": "__YES__", "date:deadline:start": "2024-12-25", "date:deadline:is_datetime": 0, "place:office:name": "HQ", "place:office:latitude": 37.7749, "place:office:longitude": -122.4194 } } </example> <example description="Replace the entire content of a page"> { "page_id": "f336d0bc-b841-465b-8045-024475c079dd", "command": "replace_content", "new_str": "# New Section Updated content goes here" } </example> <example description="Replace specific content in a page"> { "page_id": "f336d0bc-b841-465b-8045-024475c079dd", "command": "replace_content_range", "selection_with_ellipsis": "# Old Section...end of section", "new_str": "# New Section Updated content goes here" } </example> <example description="Insert content after specific text"> { "page_id": "f336d0bc-b841-465b-8045-024475c079dd", "command": "insert_content_after", "selection_with_ellipsis": "## Previous section...", "new_str": " ## New Section Content to insert goes here" } </example> **Note**: For selection_with_ellipsis, provide only the first ~10 characters, an ellipsis, and the last ~10 characters. Ensure the selection is unique; use longer snippets if needed to avoid ambiguity.

Parameters

1 parameter

NameTypeDescription
datarequiredany

The data required for updating a page

Try Needle today

Streamline AI productivity at your company today

Join thousands of people who have transformed their workflows.

Agentic workflowsAutomations, meet AI agents
AI SearchAll your data, searchable
Chat widgetsDrop-in widget for your website
Developer APIMake your app talk to Needle
    Needle LogoNeedle
    Like many websites, we use cookies to enhance your experience, analyze site traffic and deliver personalized content while you are here. By clicking "Accept", you are giving us your consent to use cookies in this way. Read our more on our cookie policy .