Skip to main content

Understanding the synchronization process

Notion2Gcal runs a background sync service that periodically reads your Notion databases and writes to Google Calendar. Premium users can also push changes from Google Calendar back into Notion. This section explains how the service works behind the scenes.

One‑way sync (default)

For each automation the following steps occur on every sync cycle:

  1. Fetch tasks – Notion2Gcal retrieves pages from the selected database. Only pages with the chosen date property are considered. Tasks without a date are skipped.
  2. Apply filters – If you defined filters, tasks must satisfy all conditions to proceed. (premium)
  3. Prepare events – For each matching task:
    • The event title is taken from the Notion page title.
    • Start and end times come from the date property. If the date is a range, the range becomes the event duration; otherwise a default duration of one hour is used.
    • Events are marked free unless Mark events as busy is enabled.
  4. Create or update events – Events are inserted into the target Google Calendar. If the task was previously synced, the existing event is updated rather than creating a duplicate. (premium)
  5. Remove past‑due events (optional) – If you enabled Remove past‑due events, events whose date/time is before the current time are removed from Google Calendar.

By default, events deleted in Google Calendar are ignored (the task remains in Notion). Only premium users with two‑way sync can change this behaviour.

Two-way sync (Premium)

When two-way sync is enabled in the automation, Notion2Gcal also listens for changes in Google Calendar:

  1. Detect updates: The service checks for edits or deletions of events it created.
  2. Update Notion task: If an event title or date/time is edited in Google Calendar, the corresponding properties in the Notion page are updated. Additional fields (status or assignee) can be set via the Default status/assignee options.
  3. Delete Notion task: If you enable Delete Notion task when Google event is deleted, removing the event from Google Calendar also deletes the page in Notion.
  4. Remove past-due tasks: If Remove past-due events from Notion is enabled, tasks with dates in the past are deleted from Notion during each sync.

Two‑way sync requires additional API calls to both Google and Notion and is available only on the Premium plan. Be cautious: deletion operations cannot be undone.

Sync schedule and limits

PlanFrequencyTasks per syncTime horizon
FreeEvery 2 hoursUp to 50 tasksEvents up to 1 month ahead
PremiumEvery 5 minutesUp to 2,000 tasksEvents up to 6 months ahead

Viewing sync status

Visit the Dashboard to monitor:

  • Last sync time: The timestamp of the most recent successful sync.
  • Tasks processed: The number of pages evaluated (including those filtered out).
  • Total tasks synced: The cumulative number of events created, updated, or deleted across all automations.

Manual sync

After configuring your first automation, click Test synchronization (found on the Automations page) to start the initial sync immediately. Afterwards, syncs run automatically. You can trigger additional manual syncs by editing and saving an automation, which runs a preview and then schedules a sync.

Error handling

If an error occurs (e.g., API rate limits or authorization failures), Notion2Gcal logs the error and retries in the next cycle. Check the Log page for detailed error messages.

For further troubleshooting, see the Troubleshooting guide.