VOOZH about

URL: https://apify.com/tuguidragos/notion-ai-database-sync

⇱ Notion AI Database Extractor & Sync Tool Β· Apify


πŸ‘ Notion AI Database Extractor & Sync Tool avatar

Notion AI Database Extractor & Sync Tool

Pricing

from $1.00 / 1,000 results

Go to Apify Store

Notion AI Database Extractor & Sync Tool

Extract, summarize, and sync your Notion databases automatically. Supports AI summaries (GPT-4o), incremental updates, and secure HMAC webhooks. Ideal for analytics, CRM sync, or automation workflows.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(1)

Developer

πŸ‘ Țugui DragoΘ™

Țugui DragoΘ™

Maintained by Community

Actor stats

2

Bookmarked

2

Total users

2

Monthly active users

6 months ago

Last modified

Share

πŸ‘ Apify Actor
πŸ‘ Node.js
πŸ‘ TypeScript
πŸ‘ Notion API
πŸ‘ OpenAI API
πŸ‘ Zod
πŸ‘ License: Proprietary

Seamlessly sync, summarize, and monitor Notion data. Built for scale. Enriched by AI.


Features

  • Incremental Sync - Only process changed items
  • AI Summaries - GPT-4o powered summaries with automatic language detection
  • Webhooks - Real-time notifications with HMAC security
  • Enterprise Ready - Memory protection, type safety, auto-retry, and 100k+ item capacity

Quick Start

1. Get Notion Integration Token

  1. Go to https://www.notion.so/my-integrations
  2. Click "+ New integration"
  3. Copy the Internal Integration Token (starts with ntn_)

2. Connect to Database

  1. Open your Notion database
  2. Click "β‹―" menu β†’ "Add connections" β†’ Add your integration
  3. Copy Database ID from URL:
    https://www.notion.so/{workspace}/{DATABASE_ID}?v=...

3. Configure Actor

{
"NOTION_TOKEN":"secret_your_token_here",
"DATABASE_ID":"your_database_id_here"
}

Configuration

Required

ParameterDescription
NOTION_TOKENNotion integration token
DATABASE_ID32-character database ID

Core Settings

ParameterDefaultDescription
PAGE_SIZE100Items per API request (1-100)
enableIncrementaltrueOnly fetch changed items
maxItemsUnlimitedStop after N items
dryRunfalseTest mode (no state/webhook)
strictModefalseFail on AI errors

AI Settings

ParameterDefaultDescription
enableAifalseEnable AI summaries
OPENAI_API_KEY-OpenAI API key
aiModelgpt-4o-miniModel: gpt-4o-mini or gpt-4o
aiMaxTokens256Max tokens (50-1000)
aiConcurrency5Max parallel AI requests (1-50)
summarizeFields["title", "properties"]Fields to summarize
aiPromptTemplateDefaultCustom prompt with {{CONTENT}}

Webhook Settings

ParameterDescription
webhookUrlHTTP endpoint for notifications
webhookSecretHMAC secret for verification

Usage Examples

Basic Extraction

{
"NOTION_TOKEN":"secret_abc123...",
"DATABASE_ID":"xyz789..."
}

With AI Summaries

{
"NOTION_TOKEN":"secret_abc123...",
"DATABASE_ID":"xyz789...",
"enableAi":true,
"OPENAI_API_KEY":"sk-...",
"aiModel":"gpt-4o-mini",
"summarizeFields":["title","properties"]
}

With Webhooks

{
"NOTION_TOKEN":"secret_abc123...",
"DATABASE_ID":"xyz789...",
"webhookUrl":"https://example.com/webhook",
"webhookSecret":"your-secret"
}

Output Format

{
"id":"page-id",
"title":"Project Alpha",
"url":"https://notion.so/...",
"lastEditedTime":"2024-11-07T15:30:45.000Z",
"createdTime":"2024-01-15T09:00:00.000Z",
"properties":{
"Status":"In Progress",
"Priority":"High",
"Tags":["urgent"]
},
"summary":"AI-generated summary...",
"hash":"8f7a3b2c...",
"_meta":{
"databaseId":"xyz789...",
"runId":"abc123...",
"isNew":false,
"isUpdated":true,
"aiModel":"gpt-4o-mini"
}
}

Webhook Payload

{
"runId":"abc123",
"databaseId":"xyz789",
"timestamp":"2024-11-07T15:30:00.000Z",
"newItems":[
{
"id":"page-id",
"title":"New Task",
"url":"https://notion.so/..."
}
],
"updatedItems":[],
"newItemsCount":42,
"updatedItemsCount":0,
"totalProcessed":42
}

Note: For performance stability, newItems and updatedItems arrays in the webhook are limited to the latest 1000 entries. Use newItemsCount / updatedItemsCount for total metrics, and access the Apify Dataset for the full list of items.

Verify Webhook Signature

const crypto =require('crypto');
functionverifyWebhook(secret, timestamp, body, signature){
const payload =`${timestamp}.${JSON.stringify(body)}`;
const expected =`sha256=${crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex')}`;
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}

Troubleshooting

No Data in Dataset

  • Verify integration permissions
  • Check database connection
  • Confirm correct DATABASE_ID

Rate Limit Errors

  • Actor auto-retries with backoff
  • Reduce PAGE_SIZE if persistent

AI Summaries Empty

  • Set enableAi: true
  • Verify valid OPENAI_API_KEY
  • Check OpenAI API credits

Incremental Not Working

  • Remove dryRun: true
  • Verify enableIncremental: true
  • Check for "State persisted" in logs

Webhook Not Received

  • Ensure URL is publicly accessible
  • Test with curl/Postman
  • Check endpoint accepts POST + JSON

Built with 🩢 for the Apify community 🫑

You might also like

Notion API - Database & Page Automation

alizarin_refrigerator-owner/notion-api---database-page-automation

Automate your Notion workspace with the official API. Query databases, create and update pages, manage blocks, search content, and sync data. Perfect for CMS automation, content pipelines, project management, and knowledge base workflows.

Incremental Sync Engine

technicaldost/incremental-sync-engine

Efficient incremental data synchronization with change detection and webhooks.

πŸ‘ User avatar

Technical Dost Solutions

3

SimplyHired Scraper: Full Descriptions & Auto-Sync

ahmed_jasarevic/simplyhired-scraper

Extract full job listings from SimplyHired automatically. The fastest tool for lead generation with full job descriptions, salary info, and automated session sync.

πŸ‘ User avatar

Ahmed Jasarevic

3

Apify Dataset to Google Sheets Sync

zentrafoundry/apify-dataset-to-google-sheets-sync

Transform apify dataset to google sheets sync inputs into structured rows, clear errors, confidence signals, and automation-ready output.

Bubble Sync

hpix/bubble-sync

Seamlessly sync data from Apify datasets to Bubble.io databases with flexible field mapping and upsert/append modes.

Notion Uploader

filip_cicvarek/notion-uploader

Upload data into a specified Notion database. It dynamically maps data from any Actor / Dataset to your Notion properties, ensuring your database stays up-to-date with the latest information.

πŸ‘ User avatar

Filip CicvΓ‘rek

82

5.0

Notion MCP Server

constant_quadruped/notion-mcp-server

Notion MCP Server for AI agents (Claude, GPT, Cursor). 20 Notion API operations: search pages, query databases, create content, manage blocks, comments, users. Model Context Protocol server with full CRUD support.

Inventory Hub Sync

classy_ecosystem/inventory-hub-sync

Sync inventory across Shopify, Amazon, eBay & WooCommerce in real-time. Prevent overselling, eliminate manual stock updates & scale to thousands of SKUs with conflict detection & audit trails.

πŸ‘ User avatar

Sergio Pereyra

2