If you use Airtable to plan and schedule, you may have an external calendar app that you’d like to keep in sync. You have a few methods at your disposal if you want to set this up, depending on the needs of your workflow.
Let’s take a look at your options:
One-way sync: Airtable → another calendar app
One-way import: Another calendar app → Airtable
Two-way sync with Zapier
One-way sync: Airtable → another calendar app
You might manage your calendar outside of Airtable but also have a series of events in Airtable that you’d like to include on your calendar as well. In this case, you only need a one-way sync that takes the events you have in Airtable and syncs them to your favorite calendar app. This method requires the least effort and setup.
To begin, open up the base you want to work with and navigate to the table that contains the events you want on your calendar. If you have more than one table with events, you can just repeat the following steps for the other tables as well.
- Create a new calendar view (or select one that you’ve already created for this table).
- Choose any date field in your table to populate the calendar’s events. If you have two date fields that create a range, you can add one as an end date here as well.
- With your calendar set up, click the share button in the table toolbar and look toward the bottom of the options. Click iCal subscription link to copy it to the clipboard.
- Subscribe to that link in your calendar app and you’re all set!
For more in-depth instructions on how to use these subscription links in popular calendar apples like Microsoft Outlook, Google Calendar, and Apple Calendar, check out this support article. It will walk you through this process visually if you need some extra help and offers assistance on subscriptions for specific apps toward the end.
One-way import: Another calendar app → Airtable
In some cases, you may want to move events in the other direction. When you need to perform a one-way import that takes events from your existing calendar app and imports them as new records in Airtable, you can achieve this with the calendar import block (a pro account feature).
To set up the import process, you’ll need to grab copies of your calendars as ICS files so they’re in the proper format for import. ICS is an open standard for digital calendars, so most calendar apps should export in this format (or at least offer it as one of its export format options). Here are instructions on how to export to ICS format for the most popular calendar apps:
Once you have your ICS file(s) ready to go, navigate to the base you want to use and follow these steps:
- Choose the table you want to use for your calendar import.
- Click the Blocks button in the toolbar to open your blocks dashboard (if it isn’t open already).
- Add the calendar import block to your base.
- Grab an ICS file you want to import and drag it onto the block to begin the import process.
- Match up the event information from your calendar with the fields in your chosen table. You’ll see real examples of the imported data arranged in the way you select on the right side of the block so you’ll know if anything’s mismatched.
- Click the Create records button when you’re ready and wait for the import to complete.
Now everything in your exported calendar should show up in the table you chose in Airtable. You can repeat this process for any other calendars you need to import now or in the future. For a video walkthrough of this process, check out this support article.
Two-way sync with Zapier
If neither one-way method fits your workflow, you can set up two-way sync using a third-party tool like Zapier. This allows you to add events in Airtable and another calendar app and have them show up in both. Setting up a two-way sync with Zapier can range from simple to complex depending on how much you need to accomplish. Some of this process requires multi-step zaps, so make sure you have an account type that allows this.
Zapier can grab new and updated events from Google Calendar and Microsoft Office 365 but not Apple Calendar. Zapier can also perform similar operations with services like Cronofy. However, Zapier can only find new events in Airtable, so any updated records in Airtable won’t sync through standard methods. You can work around this limitation but it requires a more complex setup. Let’s start with the easy stuff first and worry about the more complex details afterwards.
First, if you use Google Calendar, you’re in luck—you can just use these pre-made zaps to set up sync. Again, this will not sync updated records from Airtable but we’ll discuss workarounds in a bit. If you use a different calendar app, however, you need to create a set of zaps that work in a similar way. Let’s go over the basic steps in this process.
Sync new calendar events to Airtable
- Create a zap that triggers on a New Event added to your calendar. Google Calendar has the unique option of triggering on new and updated events in a single trigger. Other apps tend to split these actions up, so we’ll focus on new events first.
- Choose the calendar that Zapier should watch, test the trigger to get sample data to work with, and then create a new action step that uses Airtable.
- If you haven’t used Airtable with Zapier before, make sure to follow these setup steps before you continue. When you have Airtable connected, choose New Record as this step’s action and fill in Zapier’s template so that the sample calendar data you got from your trigger setup matches with the correct fields in your Airtable base.
- Test this step to make sure the sample calendar data shows up in your base where you expect it. If it does, turn on your zap and you’re good to go.
Sync updated calendar events to Airtable
- Much like new events, you need to create a zap with a trigger from your calendar app of choice. This time, however, choose Updated Event as the trigger type.
- Just like with new events, choose the source calendar that Zapier should watch for updates, test the trigger to get sample data, and create a new action step that uses Airtable.
- For your Airtable step, choose Find Record as your action and set it up to search your table of choice for the event that you want to update. You only need to search for something unique, such as the title of the event, and you can use the sample data you acquired in your trigger step to fill this in.
- Add another Airtable action, but this time choose Update Record. Fill in the template for this step with all the calendar information acquired in the first (trigger) step. You’ll also need to specify which record to update. You’ll find an option toward the top of the template that allows you to choose a record ID. From the list of options, choose Use a Custom Value. A new field called Custom Value for Record ID will appear and you can add the record ID from your second step (Find Record) so Zapier will know to update the record it found.
- When you're finished editing the template, test this step and check Airtable to make sure the record updated properly. If everything worked as expected, you can finish up and turn on your zap.
For some extra help, check out this support article on setting up multi-step zaps just like this one.
Sync Airtable records with another calendar app
That takes care of sync from your calendar app to Airtable, but not the other way around. Unfortunately, Zapier can only trigger on new records add to a table and not updated ones. You can work around this limitation with a last modified time field and a complex zap. You can follow the initial instructions in this article to learn how to do that.
Alternatively, if you don’t require updates to sync, you can create a simple zap that adds new records to your favorite calendar app by following these steps:
- Create a new zap with an Airtable New Record trigger. Alternatively, you can also use the New Record in View trigger if you prefer.
- Test the trigger to make sure it finds something new to pull in. If Zapier can’t locate anything, just add a new record to your chosen table and test again.
- Create a new Add Event (or equivalent) action for your calendar app of choice. Match up the event fields with the information acquired from your Airtable base in the trigger step. This is simply the reverse of the process we used earlier to add events from your calendar app to Airtable.
- Test the step to make sure that information from Airtable gets added as an event in your calendar. If it all worked out, you’re good to go.
With all of that in place, your calendars should sync nicely with Airtable. If you make any changes to your base that might affect sync, just remember to update your zaps accordingly. Adding new fields won’t cause any issues, but Zapier can get confused if you rename fields used in a zap. You can still rename these fields if you like, but be sure to update your zap if you do so everything remains in sync.