Skip to main content

Hi everyone! Our library uses an Airtable base for approving programs, some of which are one-time and others are repeating. We’re running into a problem where we’re sometimes overbooking on a single day (this is across multiple branches, so we have the room, but we try not to host too many programs on one day) and we’d really like to see all our programs on a calendar view. The problem is with the recurring programs. Right now, the base is set up with a text field where programmers put in their dates (e.g. “every third Wednesday from 11-12”) but obviously Airtable can’t read that. We could set up individual date fields for each occurrence, but some of these programs are staples, held dozens of times a year and would necessitate dozens of date fields.

 

As a work around, I tried making a separate “Calendar” table with the dates as primary fields, and then in the main table, the date field became a linked record field. In Calendar, I created a calendar view and that technically works, but for days with multiple events, it’s not very effective (i.e. it shows up in the little label as “Writer’s Bloc, Women &...” where Writer’s Bloc is the first program and Women & Children’s Alliance is the second, cutoff one). Sure, you can click into it to see the details, but there has to be a better way to do this, right??

Your second table approach is probably the correct one, it expresses programs that re-occur well. Honestly the Airtable Calendar interface kinda is what it is unless you want to use a 3rd party like Softr or something. 

There are some ways to spruce up the Calendar and perhaps make it more functional. First off you mention a calendar view, at this point I’d recommend an interface instead which will give you some more options for filtering and viewing. If you set it to a week view instead of month, it’ll show you the dates plotted by their time so overlapping is a bit easier to spot. You can make interface filters by location/room to better organize things too (that leads to a question of whether location should live with the date or the program, depends on your use cases). The other thing you can do is color events by conditions, which can be handy if you’re trying to avoid double booking to flag dates that match at the same location. 

In the end, Airtable doesn’t do full calendar reoccurrences automatically, so you’ll have to make date records for each instance (though you could try to use an Outlook/GCal sync to create reoccurrences)  


@holly_dorman 

As ​@DisraeliGears01 mentioned above, your best bet is to use Outlook Calendar or Google Calendar to create and edit your events, and then sync those events to Airtable where you can display those events in a calendar view.

Even though Airtable won’t allow you to edit those events in Airtable, you can add additional fields that actually are editable for each event, and Airtable also gives you a button to jump to each event in Google or Outlook.

(Also, if you need your users to create new events in your calendar without jumping them to Google or Outlook, you can always use a 3rd-party tool like Make to control that from Airtable.)

Hope this helps!

If you’d like to hire the best Airtable consultant to help you with this or anything else that is Airtable-related, please feel free to contact me through my website: Airtable consultant — ScottWorld


re: we’d really like to see all our programs on a calendar view

Try making the Calendar table have one record per event instead? 

This’ll let you display it like this:


 

For actually populating the data, doing it with Google / Outlook calendar as suggested above works, but keeping stuff in sync can be a bit of a pain.  The last time I used the sync function, updates made to the Google Calendar event didn’t sync over immediately; took hours / days to sync up so that didn’t work for me.  There may have been updates to that so you can try that out to see if it works for you though?

 

I ended up using automations to keep things in sync, and that was a whole thing.  Had an ‘Events’ table and an ‘Event Updates’ table, an automation that would trigger when an Event was created to create a record in ‘Events’, then another automation that would trigger when the Event was updated to create a record in ‘Event Updates’ and then link it to ‘Events’, and ‘Events’ would show the latest data via rollups.  Clunky, but works pretty well!

 


I have not personally experienced any sync delays.

I just tested it right now, and my calendar changes synced in under 5 minutes, which is the sync frequency that Airtable uses.

However, you can always force an immediate sync by clicking on the table name and pulling down to “Sync Now”.

But as long as you have automatic syncing turned on, Airtable should sync every 5 minutes.

Hope this helps!

If you’d like to hire the best Airtable consultant to help you with this or anything else that is Airtable-related, please feel free to contact me through my website: Airtable consultant — ScottWorld


Hey ​@holly_dorman, as mentioned by Adam above, I would absolutely go for “one record per event” on an Events/Calendar table.

Mike, Consultant @ Automatic Nation 


When syncing from Outlook or Google, Airtable converts recurring events into “one record per event”, which is why this is typically the best and easiest approach… because it is natively built into Airtable, and there is zero configuration required. It just works, and takes less than 2 minutes to setup.

- ScottWorld, Expert Airtable Consultant


Thank you, everyone! I think we’re going to have the librarians post their events on a shared Google Calendar, and then sync that calendar to Airtable just so the committee leads can have it there at a glance. Sounds like that’s the easiest solution, at least until Airtable makes it easier to do in Airtable.

 

Thank you!!