Notion Page Update
Update properties of an existing Notion page
Node Type
Action
Category
Notion Integration
Icon
Edit
Overview
The Notion Page Update node is an action node that updates properties of existing Notion pages using the user's OAuth token. This powerful integration allows you to modify page properties, update metadata, and maintain dynamic content in your Notion workspace through automated workflows.
Key Features
- • Property Updates: Update any page property using JSON format
- • Dynamic Page Selection: Target specific pages by their unique ID
- • Flexible Property Types: Support for all Notion property types (title, select, multi-select, etc.)
- • Success Tracking: Returns page ID, URL, and operation status
- • OAuth Security: Secure authentication through Notion OAuth
- • Error Handling: Graceful handling of authentication and API errors
Prerequisites
Notion Integration
Must have Notion integration properly configured
Required OAuth Scopes
OAuth scopes needed for page updates
Technical Requirements
Services needed for operation
Node Configuration
Required Fields
Page ID
ID of the Notion page to update. This is the unique identifier found in the page URL or through the Notion API.
Properties
JSON object containing the property updates (e.g., {"title": {"title": [{"text": {"content": "Updated Title"}}]}}). This defines which properties to update and their new values.
Technical Details
Page Update Process
How the node updates Notion pages
Input Validation
The node validates that both page ID and properties are provided. Returns failure if essential inputs are missing or invalid.
User Authentication
Retrieves the user ID from the workflow service and obtains their Notion OAuth access token for secure API access to Notion.
Notion API Integration
How the node interfaces with Notion's page update services
Page Update API Call
Uses the Notion API to update the specified page with the provided properties. The API call includes the page ID and the properties object.
Property Format Validation
Ensures the properties JSON follows Notion's API format requirements for different property types (title, select, multi-select, etc.).
Response Processing
Processes the API response to extract page ID, URL, and success status for output to the workflow.
Error Handling
How the node handles various error scenarios
Authentication Errors
Handles OAuth token issues and authentication failures by returning success: false with appropriate error information.
Page Access Errors
Manages cases where the page doesn't exist or the user doesn't have permission to update it.
Property Validation Errors
Handles invalid property formats or unsupported property types by returning detailed error information.
Examples & Use Cases
Basic Property Update
Update simple properties on a Notion page
{
"pageId": "12345678-1234-1234-1234-123456789abc",
"properties": {
"title": {
"title": [{"text": {"content": "Updated Page Title"}}]
},
"Status": {
"select": {"name": "Completed"}
},
"Priority": {
"select": {"name": "High"}
}
}
}This will update the page title and status/priority properties on the specified Notion page.
Advanced Property Updates
Update various property types including dates, multi-select, and text
{
"pageId": "87654321-4321-4321-4321-cba987654321",
"properties": {
"title": {
"title": [{"text": {"content": "Project Update - Q1 2024"}}]
},
"Due Date": {
"date": {"start": "2024-03-31"}
},
"Tags": {
"multi_select": [
{"name": "Q1"},
{"name": "High Priority"},
{"name": "Marketing"}
]
},
"Description": {
"rich_text": [{"text": {"content": "Updated project description with latest information"}}]
}
}
}This example shows updating multiple property types including date, multi-select tags, and rich text content.
Automated Status Updates
Automatically update project status based on workflow completion
Workflow Structure
Trigger on new emails, analyze content with AI, process data, then update corresponding Notion pages with new status and information.
Bulk Content Management
Update multiple pages with consistent information
Workflow Structure
Query pages from a Notion database, then use a For Each loop to update each page with new information, tracking progress throughout the process.
Best Practices
Do's
- • Use the exact property names as they appear in your Notion database
- • Structure your properties JSON according to Notion's API format
- • Handle the success status for proper error management
- • Test your property updates in small batches first
- • Use meaningful and descriptive property values
- • Validate page IDs before attempting updates
Don'ts
- • Don't hardcode page IDs when they can be dynamically obtained
- • Avoid updating pages without proper property validation
- • Don't ignore authentication and scope requirements
- • Avoid updating pages you don't have write access to
- • Don't forget to handle empty or malformed property JSON
- • Avoid making too many API calls in rapid succession
Troubleshooting
Common Issues
Authentication Errors
Symptoms: Node fails with OAuth or access token errors
Solution: Ensure the user has connected their Notion account and granted the required OAuth scopes (Notion write access). Reconnect the account if necessary.
Page Not Found
Symptoms: Node returns success: false or page not found error
Solution: Verify the page ID is correct and the page exists in your Notion workspace. Check that the page hasn't been deleted or moved to a different location.
Property Format Errors
Symptoms: Page update fails with property-related errors
Solution: Ensure your properties JSON matches the page schema exactly. Check property names, types, and values according to Notion's API documentation. Verify that the property exists on the page.
Permission Denied
Symptoms: Node fails with insufficient permissions error
Solution: Check that the user has write access to the target page. Verify that the page is not in a read-only database or workspace that restricts updates.
Invalid Property Values
Symptoms: Update fails with invalid value errors
Solution: Ensure that select/multi-select values match the exact options defined in your Notion database. Check that date formats are correct and text values don't exceed length limits.