Seeing Tasks & Synced Google Calendar Events in Same Calendar View

So I have a table called “Todos” with all of my todos. Each todo has a start date and time & end date & time.

I have another table called “Calendar” that uses Airtable Sync to sync with my Google Calendar.

I want to schedule my Todos IN CONTEXT with my Google Calendar events. To do this, I want to see my tasks AND Google Calendar events in one calendar view. Specifically, what I really want to be able to do is, drag, and re-arrange a Todo AROUND the events populated from my Google Calendar. I do not know how to achieve this second goal.

The closest solution I thought of was to create a NEW Base and sync my “Todos” table and my “Calendar” table (since you can’t create a synced table from a single base… WHY?). This DOES let me see everything in one table, but I can’t drag my Todos around to re-arrange them.

Here is a Loom video describing what I’m looking for in case that’s more clear: https://www.loom.com/share/9122696d6c5845088b19c363ca272ca8

I’d appreciate some advice here : )

Thanks y’all!

(cc-ing my AirTable heroes @kuovonne @Justin_Barrett @ScottWorld in case they have time to chime in ^_^’)

That’s the problem that @Kamille_Parks’ app Master Calendar solves:

2 Likes

Another option would be to use an automation to echo your calendar over to your [Tasks] table, but only as linked records pointing to the originals; i.e. as new records appear in the synced calendar table, the automation adds a new record to the [Tasks] table linking to the new calendar record. Rollup fields could bring in the calendar record start and end times (use MAX(values) as the aggregation formula to bring over the dates), and you can add those times as secondary start and end times in your calendar view (your base will need to be in a Pro-plan workspace to use secondary start and end times). Your main tasks can then move around the static calendar tasks.

The main downside that comes to mind has to do with the record names, but it can be fixed by turning your primary field into a formula and moving your actual task names to another field. The primary field formula would display the calendar link name if there’s a link to a calendar record; otherwise it’ll use your task name from its new field.

Adding records for existing calendar entries would be pretty easy. Create the automation using “When a record enters a view” as the trigger, and use the default grid view in the calendar table. Set up the view filter to only show a single record to start with (filter by name or whatever makes sense), then set up the automation with that record as your test. After you turn on the automation, remove the filter so that all calendar records appear, and they’ll individually trigger the automation and make new records in your [Tasks] table. It’ll be a bunch of triggers all at once, so be aware of how this will impact your monthly automation quota, but doing this means that you won’t need to create any linked records manually for your existing calendar entries.

1 Like

Wow, thank you so much for the quick replies @ScottWorld and @Justin_Barrett! I’m new hear so feeling very welcome :blush:

@Kamille_Parks—wow, AMAZING work on Master Calendar! Thanks for making that part of the ecosystem! I was going to use it before I realized it wouldn’t be so hard to sync my Calendar to my tasks—thanks to your response @Justin_Barrett !

I did not think to sync from Calendar → Tasks, and thanks to you, that’s what I’m doing now! I ran with your solution and have an update script that updates Title when a Google Calendar event’s title changes (among other properties) so no need for a formula to update the task name.

For anyone else trying to do something like this, here are my automations—note probably NOT best practice (I’m new around here):

I’m curious for f there is a better way to do what I did, instead of finding the existing Task record by looking up the Google Calendar Event’s AirTable ID stored into the Task record, and then using “Find records” to get an array and then writing running a custom script to take the array of found records and get the first one? This seems a little, janky…

I’m super new to AirTable so I’m sure, there is a better way.

Here is the custom script:

Thanks y’all!

2 Likes

Nice work

FYI, Master Calendar allows you to have two feeds for free (so you wouldn’t need a subscription). Just to keep in mind if you begin to run low on automation runs.

2 Likes

Ouuu—cool! Thanks @Kamille_Parks! :pray:

My original solution didn’t work so well for repeating events. Here is what I use now:

3 Automations:

Where the “Deleted Google Calendar Events” is