Calendar

Bring your calendar events into NocoDB with automated syncs from Google Calendar, Outlook Calendar, and CalDAV.

App Sync is available on NocoDB Cloud (Plus plan and above) and licensed self-hosted deployments (Business plan and above).

Calendar Sync brings your calendar events into NocoDB as a structured, queryable table. Whether you're building a schedule dashboard, reporting on meeting load, or joining event data with the rest of your workspace, Calendar Sync keeps a read-only copy of your events continuously up to date.

Current supported sources include:

  • Google Calendar
  • Outlook Calendar
  • CalDAV (Apple iCloud, Fastmail, Nextcloud, and other CalDAV servers)

All three sources share the same setup steps and produce the same Event table, so you can mix them in one base and report across them together. Each sync tracks a single calendar; add another sync to bring in another calendar.

Calendar Sync uses a single Event table, so there is no All Tables / Select Tables choice during setup: the Event table is always included and no relationships are created.


Available Tables

Event

Represents a single calendar event. Each synced event maps to one record. Recurring events are expanded into individual occurrences during the initial sync, so each instance appears as its own record.

Key fields include:

  • Title – The event summary. This is the display (primary) field.
  • Start / End – The event's start and end date-time. All-day events use dates without a time component.
  • All Day – Checked when the event has no specific time (a full-day event).
  • Recurring Event – Checked when the record is an occurrence of a recurring series.
  • Recurring Event ID – Identifier linking an occurrence back to its recurring series.
  • Status – Event status: confirmed, tentative, or cancelled.
  • Show as – Whether the event marks you as Busy or Free.
  • Visibility – Event visibility: default, public, private, or confidential.
  • Event Type – Source event type, such as default, birthday, focusTime, fromGmail, outOfOffice, or workingLocation. (Google Calendar only.)
  • Location – The event location text.
  • Description – The event description or notes.
  • Creator / Organizer – Email addresses of the person who created the event and the organizer.
  • Attendees – Comma-separated list of attendee names or emails.
  • Attendee Count – Number of attendees on the event.
  • My Response – Your RSVP status: needsAction, accepted, declined, or tentative.
  • Attachments – Titles and links of files attached to the event. (Google Calendar only.)
  • Created / Updated – When the event was created and last modified in the source.
  • Event ID / iCalUID – The source event identifiers.
  • Event Link – A direct link to open the event in the source calendar.
  • Meeting Link – The video meeting URL (for example, a Google Meet link), when present.
  • Meeting Provider – The conferencing solution name, when present.
  • Color – The event's color identifier from the source calendar. (Google Calendar and CalDAV; Outlook Calendar does not provide this.)

The Event table has the same fields for every source. Where a source does not provide a value, the field is created but left empty, so views and formulas built on one calendar keep working when you add another.

All synced fields are read-only and one-way (source → NocoDB). You can add your own custom fields, create views, filter, sort, and group, but changes made in NocoDB are not written back to your calendar.

Calendar view and event button

To make synced events immediately usable, Calendar Sync automatically configures the Event table on first sync:

  • Calendar view – A Calendar view named Calendar is created, organised by the Start field, showing only the Title so the timeline stays readable.
  • Open Event button – An Open Event button field opens the event's Event Link in the source calendar, so you can jump from a record straight to the original event.

Calendar view of synced events

These are starting defaults. You can recolour the view, change which fields are shown, or adjust the date organisation like any other Calendar view.

Metadata Fields

Each synced record in the Calendar category includes a set of metadata fields that track the lifecycle, state, and origin of every record. These fields provide transparency into how data flows from the external source into NocoDB and play an essential role in traceability, debugging, and audit requirements.

These metadata fields are automatically managed by App Sync and are read-only.

  • RemoteId Unique identifier of the event in the source calendar.

  • RemoteCreatedAt Timestamp of when the event was originally created in the source.

  • RemoteUpdatedAt Timestamp of the most recent update made in the source.

  • RemoteDeleted Indicates whether the event has been deleted (cancelled) in the source calendar. This is used especially when the delete behaviour is set to Ignore.

  • RemoteDeletedTime Timestamp of when the event was deleted in the source, if applicable.

  • RemoteRaw Stores the raw payload received from the provider for that event. Useful for troubleshooting, verification, or advanced integrations.

  • RemoteNamespace Identifies the source calendar the event originated from.

  • RemoteSyncedAt Last timestamp when NocoDB synced this specific record.

  • SyncConfigId Internal reference to the sync configuration used for this record.

  • SyncRunId Identifies the specific sync execution run that last updated this record.

  • SyncProvider Indicates which external service (Google Calendar, Outlook Calendar, or CalDAV) the record originated from. This is useful when a base holds events synced from more than one calendar source.


Source Specific Details

Google Calendar

Google Calendar integration lets you pull events from any calendar in your Google account into NocoDB. Connect your Google account once, pick the calendar you want to track, and App Sync keeps the Event table updated with the latest changes.

After selecting Google Calendar as the sync source, you configure:

  • Integration name A name for this sync source, used to identify it in the sync configuration.

  • Google Calendar connection Pick an existing Google Calendar connection, or create one by authenticating with Google (via OAuth). NocoDB requests read-only access to your calendars, and the connection can be reused across multiple syncs.

  • Calendar Choose which calendar to sync from the list of calendars available on your account (for example, your primary calendar or a shared calendar you have access to). Each sync tracks a single calendar.

  • Sync range start Only events ending on or after this date are synced. This sets the lower bound of the initial sync window.

  • Sync range end Only events starting on or before this date are synced. This sets the upper bound of the initial sync window.

The sync range bounds the initial import window, so you can avoid pulling in years of historical events. Choose a range that matches how far back and forward you want visibility.

After the initial import, Google Calendar syncs incrementally: each run asks Google only for what changed since the previous run, including cancellations. If you widen the sync range later, the next run performs a fresh full import so the newly included events are picked up.

Google Calendar sync source configuration

Outlook Calendar

Outlook Calendar integration pulls events from any calendar in your Microsoft account, including work and school accounts. Connect once, choose a calendar, and App Sync keeps the Event table up to date.

After selecting Outlook Calendar as the sync source, you configure:

  • Integration name A name for this sync source, used to identify it in the sync configuration.

  • Outlook Calendar connection Pick an existing Outlook Calendar connection, or create one by authenticating with Microsoft (via OAuth). NocoDB requests read-only access to your calendars, and the connection can be reused across multiple syncs. Both personal Microsoft accounts and work or school accounts are supported.

  • Calendar Choose which calendar to sync from the calendars available on your account. Each sync tracks a single calendar.

  • Sync range start Only events ending on or after this date are synced.

  • Sync range end Only events starting on or before this date are synced.

Like Google Calendar, Outlook Calendar syncs incrementally after the initial import, so later runs transfer only the events that changed.

Outlook does not expose an event colour, so the Color field stays empty for Outlook events. Event Type and Attachments are specific to Google Calendar and are likewise left empty.

CalDAV

CalDAV is an open calendar standard supported by Apple iCloud, Fastmail, Nextcloud, and many other providers. Use it to sync a calendar from any CalDAV server, including ones with no dedicated NocoDB integration.

After selecting CalDAV as the sync source, you configure an Integration name, a CalDAV connection, a Calendar, and a Sync range start and Sync range end, exactly as with the other sources.

Unlike Google and Outlook, a CalDAV connection does not use OAuth. When you create one, you supply a server URL and credentials:

  • Server URL The CalDAV server's base URL. Defaults to Apple iCloud (https://caldav.icloud.com); replace it with your provider's URL for Fastmail, Nextcloud, and others.

  • Username The account username, typically your email address (for example you@icloud.com).

  • App-specific password CalDAV providers generally require an app-specific password rather than your normal account password. For iCloud, generate one at appleid.apple.com; a regular Apple ID password is rejected.

CalDAV syncs perform a full refresh of the selected date window on every run rather than fetching only what changed. Choose the Full sync type so that events deleted at the source are removed from NocoDB, and keep the sync range no wider than you need, since every run re-reads the whole window. Incremental CalDAV sync is planned for a future release.