Notion Automation Toolkit avatar
Notion Automation Toolkit

Pricing

from $0.10 / 1,000 results

Go to Apify Store
Notion Automation Toolkit

Notion Automation Toolkit

Automate your Notion workspace - Export, backup, migrate, and manage your Notion content at scale with 9 powerful automation tasks.

Pricing

from $0.10 / 1,000 results

Rating

0.0

(0)

Developer

Mohamed Ali DHIBA

Mohamed Ali DHIBA

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

Share

Automate your Notion workspace - Export, backup, migrate, and manage your Notion content at scale with 9 powerful automation tasks.

πŸš€ Features

9 Powerful Automation Tasks

  1. πŸ“¦ Export Workspace - Export entire workspace to JSON/Markdown
  2. πŸ’Ύ Backup Database - Complete database backup with all records
  3. πŸ“Š Database to CSV - Convert databases to CSV/Excel format
  4. πŸ“ Bulk Page Creation - Create multiple pages from templates or data
  5. 🚚 Content Migration - Import content from external sources
  6. πŸ” Search and Export - Advanced search with bulk export
  7. πŸ”— Export Relations - Map database relations and connections
  8. πŸ“ˆ Workspace Analytics - Generate usage statistics and insights
  9. πŸ“‹ Duplicate Pages - Clone pages with or without children

Why Use This Toolkit?

  • βœ… User-Owned API Keys - You provide your own Notion API key for full control
  • βœ… No Third-Party Access - Your data stays secure between you and Notion
  • βœ… 9 Professional Tasks - Cover all major automation needs
  • βœ… Multiple Export Formats - JSON, CSV, Markdown, HTML
  • βœ… Bulk Operations - Process thousands of pages/records efficiently
  • βœ… Smart Rate Limiting - Respects Notion API limits automatically
  • βœ… Scheduled Automation - Set up recurring backups and exports

πŸ“– Quick Start

1. Get Your Notion API Key

  1. Go to Notion Integrations
  2. Click "+ New integration"
  3. Give it a name (e.g., "My Automation Toolkit")
  4. Select the workspace to integrate with
  5. Copy your Internal Integration Token (starts with secret_)

2. Grant Access to Your Content

Your integration needs permission to access your pages/databases:

  1. Open the page or database in Notion
  2. Click "β€’β€’β€’" (three dots) in the top right
  3. Click "Add connections"
  4. Select your integration

3. Run the Actor

Configure your task and API key in the Apify console and run!


πŸ’‘ Use Cases

For Individuals

  • Backup Workspace - Regular automated backups of all content
  • Export to Markdown - Migrate content to static site generators
  • Search and Export - Find and extract specific pages quickly
  • Duplicate Templates - Clone page structures for new projects

For Teams

  • Database Exports - Pull reports and analytics from databases
  • Content Migration - Move content between workspaces
  • Bulk Page Creation - Create pages for new team members or projects
  • Workspace Analytics - Monitor team activity and content growth

For Agencies

  • Client Workspace Backups - Automated backups for multiple clients
  • Multi-Workspace Management - Manage content across workspaces
  • Reporting - Generate usage reports and analytics
  • Bulk Operations - Scale operations across many workspaces

πŸ› οΈ Task Documentation

1. Export Workspace

Export your entire Notion workspace to JSON or Markdown.

Required Fields:

  • task: export_workspace
  • notionApiKey: Your Notion API key

Optional Fields:

  • format: json | markdown (default: json)
  • includeArchived: Include archived pages (default: false)
  • includeChildren: Include block content (default: true)
  • maxDepth: Maximum nesting depth (default: 3)

Example Input:

{
"task": "export_workspace",
"notionApiKey": "secret_xxxxx",
"format": "markdown",
"includeArchived": false,
"includeChildren": true
}

Output:

{
"success": true,
"task": "export_workspace",
"pagesExported": 156,
"databasesExported": 12,
"totalBlocks": 2453,
"format": "markdown",
"data": [...]
}

2. Backup Database

Create complete backups of Notion databases with all records and properties.

Required Fields:

  • task: backup_database
  • notionApiKey: Your Notion API key
  • databaseId: Database ID or URL

Optional Fields:

  • filters: Notion API filter object
  • sorts: Array of sort configurations

Example Input:

{
"task": "backup_database",
"notionApiKey": "secret_xxxxx",
"databaseId": "https://notion.so/myworkspace/abc123...",
"filters": {
"property": "Status",
"select": {
"equals": "Active"
}
}
}

Output:

{
"success": true,
"task": "backup_database",
"databaseName": "Projects Database",
"recordsBackedUp": 234,
"propertiesBackedUp": 15,
"backupSize": "2.3 MB",
"data": [...]
}

3. Database to CSV

Convert Notion databases to CSV format for analysis in Excel, Google Sheets, or other tools.

Required Fields:

  • task: database_to_csv
  • notionApiKey: Your Notion API key
  • databaseId: Database ID or URL

Example Input:

{
"task": "database_to_csv",
"notionApiKey": "secret_xxxxx",
"databaseId": "abc123def456"
}

Output: CSV-formatted data with:

  • Header row with property names
  • Data rows with all record values
  • Proper formatting for all Notion property types

4. Bulk Page Creation

Create multiple pages at once from templates or data arrays.

Required Fields:

  • task: bulk_page_creation
  • notionApiKey: Your Notion API key
  • pageId OR databaseId: Parent location
  • properties: Array of page properties

Example Input:

{
"task": "bulk_page_creation",
"notionApiKey": "secret_xxxxx",
"databaseId": "abc123",
"properties": [
{
"properties": {
"Name": { "title": [{ "text": { "content": "Page 1" } }] },
"Status": { "select": { "name": "Not Started" } }
}
},
{
"properties": {
"Name": { "title": [{ "text": { "content": "Page 2" } }] },
"Status": { "select": { "name": "In Progress" } }
}
}
]
}

5. Content Migration

Import content from external sources into Notion databases.

Required Fields:

  • task: content_migration
  • notionApiKey: Your Notion API key
  • targetDatabaseId: Destination database
  • properties: Content to import

Optional Fields:

  • sourceFormat: markdown | html | notion (default: markdown)

6. Search and Export

Search your workspace and export matching results.

Required Fields:

  • task: search_and_export
  • notionApiKey: Your Notion API key
  • filters: Must include query field

Example Input:

{
"task": "search_and_export",
"notionApiKey": "secret_xxxxx",
"filters": {
"query": "project planning",
"filter": {
"property": "object",
"value": "page"
}
},
"format": "markdown",
"includeChildren": true
}

7. Export Relations

Map and export database relation properties and connections.

Required Fields:

  • task: export_relations
  • notionApiKey: Your Notion API key
  • databaseId: Database to analyze

8. Workspace Analytics

Generate comprehensive workspace statistics and insights.

Required Fields:

  • task: workspace_analytics
  • notionApiKey: Your Notion API key

Output Includes:

  • Total pages and databases
  • Active vs. archived content
  • Recently modified pages
  • Database property counts
  • User activity metrics

9. Duplicate Pages

Clone pages with or without their content blocks.

Required Fields:

  • task: duplicate_pages
  • notionApiKey: Your Notion API key
  • pageId: Page to duplicate

Optional Fields:

  • includeChildren: Copy content blocks (default: true)

πŸ” Security & Privacy

Your Data is Safe

  • βœ… You Own the API Key - You create and control your own Notion API key
  • βœ… No Third-Party Access - Data flows only between Apify and Notion
  • βœ… Secure Storage - API keys stored encrypted in Apify secrets
  • βœ… No Data Retention - Actor doesn't store your Notion data
  • βœ… Transparent Code - All source code is available for review

Best Practices

  1. Use Integration-Specific Keys - Create dedicated integrations for automation
  2. Grant Minimal Access - Only share pages/databases that need automation
  3. Rotate Keys Regularly - Regenerate API keys periodically
  4. Monitor Activity - Check Notion audit logs for integration activity
  5. Test with Dry Run - Use dryRun: true to preview changes

πŸ“Š Pricing

Pay only for what you use:

Apify Platform Pricing:

  • FREE tier: $5/month platform credit
  • Computation: ~$0.25/hour
  • Storage: $0.25/GB/month

Typical Costs:

  • Export 1,000 pages: ~$0.10-0.30
  • Backup 5 databases: ~$0.05-0.15
  • Daily automated backup: ~$3-8/month

πŸ”„ Scheduled Automation

Set up recurring tasks for automated backups and exports:

  1. Go to Schedules in Apify Console
  2. Create a new schedule
  3. Set frequency (daily, weekly, monthly)
  4. Configure your task input
  5. Enable the schedule

Example Schedule:

  • Daily Database Backups - 2:00 AM every day
  • Weekly Workspace Export - Every Monday
  • Monthly Analytics Report - 1st of each month

πŸ“ Advanced Examples

Export All Active Projects

{
"task": "database_to_csv",
"notionApiKey": "secret_xxxxx",
"databaseId": "projects-db-id",
"filters": {
"and": [
{
"property": "Status",
"select": {
"equals": "Active"
}
},
{
"property": "Priority",
"select": {
"equals": "High"
}
}
]
},
"sorts": [
{
"property": "Due Date",
"direction": "ascending"
}
]
}

Create Onboarding Pages for New Team Members

{
"task": "bulk_page_creation",
"notionApiKey": "secret_xxxxx",
"databaseId": "team-members-db",
"properties": [
{
"properties": {
"Name": { "title": [{ "text": { "content": "Alice Smith - Onboarding" } }] },
"Department": { "select": { "name": "Engineering" } },
"Start Date": { "date": { "start": "2024-02-01" } }
}
},
{
"properties": {
"Name": { "title": [{ "text": { "content": "Bob Jones - Onboarding" } }] },
"Department": { "select": { "name": "Marketing" } },
"Start Date": { "date": { "start": "2024-02-01" } }
}
}
]
}

❓ FAQ

Q: How do I get my Database ID?

A: There are two ways:

  1. From URL: Open the database in Notion and copy the ID from the URL:

    https://notion.so/workspace/abc123def456?v=xxx
    ^^^^^^^^^^^^
    This is your ID
  2. Full URL: Just paste the entire database URL - the Actor will extract the ID

Q: Can I use this with multiple workspaces?

A: Yes! Create separate integrations for each workspace and configure them individually.

Q: What's the rate limit?

A: Notion allows 3 requests/second. The Actor handles rate limiting automatically with built-in delays.

Q: Can I export to Google Sheets?

A: Yes! Use database_to_csv task, then use the CSV output with Google Sheets import or Zapier/Make integration.

Q: How large can exports be?

A: There's no hard limit, but very large exports (10,000+ pages) may take significant time and computation.

Q: Does this work with Notion AI?

A: This Actor exports and manages your existing Notion content. It doesn't interact with Notion AI features.


πŸ› Troubleshooting

Error: "Invalid API key format"

Solution: Make sure your API key starts with secret_ or ntn_

Error: "Object not found"

Solutions:

  1. Verify the integration has access to the page/database
  2. Click "β€’β€’β€’" β†’ "Add connections" β†’ Select your integration
  3. Check the database/page ID is correct

Error: "Rate limit exceeded"

Solution: The Actor has automatic rate limiting, but if you hit limits, try reducing maxDepth or processing fewer items at once.

Empty Export Results

Solutions:

  1. Make sure includeArchived: false if you want active pages only
  2. Check that your integration has access permissions
  3. Verify filters aren't too restrictive

🀝 Support

  • Documentation: This README
  • Issues: Use the feedback button in Apify Console
  • Community: Apify Discord community

πŸ“„ License

MIT License - See LICENSE file


🌟 About

Created by Ali Dhiba to help Notion users automate workspace management, backups, and data operations.

Connect with the developer:

  • GitHub: [Your GitHub]
  • Twitter: [Your Twitter]
  • LinkedIn: [Your LinkedIn]

🎯 Roadmap

Future enhancements planned:

  • ✨ Template library for common automation workflows
  • ✨ Direct integration with Google Drive
  • ✨ Advanced analytics dashboards
  • ✨ Multi-workspace batch operations
  • ✨ Real-time sync capabilities

Made with ❀️ for the Notion community