All setup guides

iCal setup guide

Publish a Notion Database as an iCal Feed

Turn a Notion database into a private iCal feed. Create a subscription URL for Apple Calendar, Google Calendar or Outlook, with setup and refresh help.

By Txema León · Updated

  1. 1.Notion database

    Choose the database and dates you want to publish.

  2. 2.Private iCal URL

    Copy a subscription link for your selected events.

  3. 3.Calendar app

    Subscribe in Apple Calendar, Google Calendar or Outlook.

Quick answer: to publish a Notion database as an iCal feed, connect it to Notion to Calendar, select a database with dates, and copy its private calendar URL. Subscribe to that URL in Apple Calendar, Google Calendar, Outlook, or another app that accepts iCal subscriptions. Keep editing in Notion; the same URL delivers updates when your calendar app checks it.

You can start free with one selected database, up to 30 events, and a six-hour source cache. Premium adds multiple feeds, filters, and custom event details. The steps below cover the subscription workflow.

Watch the setup in Apple Calendar

A walkthrough from the Notion to Calendar channel: connect Notion, get the calendar link, and subscribe in Apple Calendar.

Recorded in 2024. The written instructions below cover the current setup. Watch on YouTube

Can Notion generate an iCal feed from a database?

Notion Calendar can show database dates inside its own app. That does not give you an iCal subscription URL for another calendar. Notion's database documentation explains that these database entries are visible in Notion Calendar, rather than in Google or iCloud Calendar.

Notion to Calendar hosts an iCal feed for your selected database. Your calendar app reads that feed to display the Notion rows as events. You can keep using the database and the calendar app you already have.

Set up your Notion database

Start with a title property and a date property containing the dates you want to publish. For example, a project database could contain:

Notion page titleDate propertyCalendar event
Send draft to clientOctober 20, 2026, 09:00Send draft to client at 09:00
Publish projectOctober 22, 2026Publish project as an all-day event

These are example rows. A row without a usable value in the selected date property cannot become a calendar event. If you use calculated deadlines, see the guide to formula date fields for the supported setup.

How to create your iCal subscription URL

1. Connect Notion

Open Notion to Calendar and sign in through Notion. During authorization, give the integration access to the database you want to publish. Notion handles the login; Notion to Calendar does not receive your Notion password. You do not need to publish your database to the web.

2. Select the database and check its dates

Find your database in the dashboard and open its calendar configuration. Check which date field supplies the events. For a task database, this might be Due date; for an editorial calendar, it might be Publish date.

Premium lets you create separate calendar links with custom titles, descriptions, locations, and filters. If you want only active projects or one person's tasks, use the filtered calendar feed guide.

3. Copy the calendar URL

Copy the generated calendar link from your dashboard. This is the subscription URL your calendar app needs. A shared Notion page URL is not an iCal feed.

Keep this URL private. Anyone who has it can read the events included in the feed, even without access to your Notion workspace. Share it only with the people who should see those events.

4. Subscribe in your calendar app

Add the URL as a subscribed or internet calendar. Use the instructions for your app:

Choose subscribe rather than importing a downloaded file. A subscription keeps checking the feed; a file import creates a snapshot of the events at that moment.

Create the feed with an AI assistant using MCP

Notion to Calendar also has an MCP connection for compatible AI assistants. An authorized assistant can discover your Notion databases, check their fields, configure a calendar link, and retrieve its iCal subscription URL.

Add this MCP endpoint in your compatible client's connection settings:

https://notiontocalendar.com/api/mcp

Authorize your Notion to Calendar account, then ask the assistant for the database and date field you want to use. For example:

Find my Projects database and help me create an iCal feed using its Due date field. Show me the proposed configuration before creating the calendar link, then give me the subscription URL.

The assistant's access depends on your account's permissions and plan. Once it returns the private URL, subscribe to it in your calendar app using the steps above. Retrieving a URL through MCP does not subscribe your calendar app or confirm that its events have refreshed. Keep the returned URL private, just as you would a link copied from the dashboard.

What updates, and when?

New rows and date changes in Notion flow into the feed. Your calendar app then fetches the URL on its own schedule. There are two separate sources of delay:

  1. The feed cache: Free uses a six-hour source cache. Premium uses a shorter cache.
  2. Your calendar app: Apple, Google, Outlook, and other clients decide when to request the feed again. A shorter source cache does not force a client to refresh sooner.

The iCal subscription is one-way: edit the source events in Notion. Changes made in the subscribed calendar do not write back to the database. For the distinction between the native app and a subscription, read Notion Calendar vs iCal feeds.

Troubleshooting your Notion calendar feed

My database does not appear in the dashboard

Check that you granted the Notion integration access to that database. A database outside the authorized pages may need its access updated before it can be selected.

The subscribed calendar has no events

Check that the selected date property contains dates. On Premium, also check that the rows match your saved filters. Free feeds include up to 30 events from the selected database.

Dates changed in Notion, but my calendar still shows the old version

Allow for both the source cache and the calendar app's fetch schedule. Importing the feed as a file will not deliver later changes: make sure you added a URL subscription. Your app's setup guide above includes provider-specific refresh advice.

I see duplicate events

Check whether you imported an ICS file before subscribing, or subscribed to the same feed twice. If you also use direct Google or Outlook sync, make sure both delivery paths are not showing the same database events.

Common questions

Can I publish a filtered Notion view as an iCal feed?

Yes, with Premium. You can start from an existing calendar or timeline view and copy its date field, name, and filter into a calendar link. Later edits to the Notion view do not automatically change the saved feed configuration. See how to turn a Notion view into a calendar feed.

Can other people subscribe without a Notion account?

Yes. Recipients subscribe using the private URL in their own calendar app. They can read the events in that feed without signing in to Notion.

Is an iCal feed the same as importing ICS events into Notion?

The direction is different. This guide publishes Notion database → calendar app. If you already have an external ICS calendar and want its events as Notion rows, use the ICS import guide.

Ready to publish your Notion dates?

Connect your database and create a subscription URL for the calendar app you already use.

Create my iCal feed