Skip to main content

Recurring Events Calendar - sample base


Schedules Example Base

This is my first post to forum; hope I get the mechanics right.

You may find this base handy if you need to schedule recurring events.

I work for a community radio station and wanted to be able to offer users the ability to schedule our on-air broadcasts and various meetings as recurring events. I wanted to give users the same flexibility they have in Google Calendar and Outlook.

I’ve encapsulated recurring date calculation logic in a single table: “Schedules”. I’ve seeded the table with example rows and the primary field’s default formula describes each row using the user-entered fields.

The Schedules calendar view shows a set of example recurring dates, with the primary field documenting each recurring pattern. Check out the calendar view to get a quick idea of scheduling features.

Since all recurring dates are calculated off of the value of the built-in Airtable TODAY() function, the calendar is always automatically up to date. Recurring dates that slip into the past are recalculated into the future as each day passes.

The implementation is not complete: The design and usage document in the Documentation trable of the base outlines design issues and the implementation backlog. I’m publishing this early for selfish reasons. If I’m lucky others will have better ideas and/or implementations. I’m thinking of you, W_Vann_Hall, and all those experienced developers that can poke holes in this thing and/or point me to better ideas and code.

I intend to deploy the schedule table by adding it to our bases where needed and to keep the date logic encapsulated in the table. I’ll use links, lookups and rollups to integrate the date logic into the tables that need it.

The ‘’'Documentation ‘’'table holds source listings and more detailed user documentation.

Recurrence Patterns

The date logic supports the following types of recurring dates:

  • Weekly events on a specified weekday.
    ** ‘‘Every Wednesday’’
    ** ‘‘Every other Thursday’’
  • Monthly events on a certain day of the month.
    ** ‘‘Every month on the 15th of the month.’’
    ** ‘‘Every other month on the 1sth of the month.’’
  • ‘‘Monthly on a certain weekday’’
    ** ‘‘Every month on the last Sunday’’
    ** ‘‘Every 4th month on the 3rd Tuesday’’
  • ‘‘One time events’’
    ** ‘‘Just once, on July 17th’’
  • ‘‘Ad Hoc events. These are like one-time events but the date field is not a formula, enabling the user to drag and drop the event to a different date time.’’

30 replies

thanks a lot! this ended up in my lifestack!


  • New Participant
  • 4 replies
  • December 7, 2020

Hi Charles, thank you so much for sharing. This is exactly what I need, but I’m struggling to understand how to adapt and use it on my base. The formula file, converted to txt, is fairly difficult for me to follow.

I am building a calendar for 2021 where I only need 12 rows, one for each month, and the date should be the first Thursday of every month. I’m struggling how to build the formulas. Can you help me to understand how best to use your sample base? Many thanks in advance.


  • Author
  • Participating Frequently
  • 8 replies
  • December 8, 2020
Peggy_Khiev wrote:

Hi Charles, thank you so much for sharing. This is exactly what I need, but I’m struggling to understand how to adapt and use it on my base. The formula file, converted to txt, is fairly difficult for me to follow.

I am building a calendar for 2021 where I only need 12 rows, one for each month, and the date should be the first Thursday of every month. I’m struggling how to build the formulas. Can you help me to understand how best to use your sample base? Many thanks in advance.


Hi Peggy,

Let me know when you have a few minutes free for a call/zoom meeting. I’d be happy to help.

/chuck


  • New Participant
  • 4 replies
  • December 8, 2020
Charles_Beckett wrote:

Hi Peggy,

Let me know when you have a few minutes free for a call/zoom meeting. I’d be happy to help.

/chuck


Thank you so much Charles! I’m on PST - and I’m free from 4:30pm today onwards. Zoom would be great, if possible, thanks!


  • Author
  • Participating Frequently
  • 8 replies
  • December 8, 2020
Peggy_Khiev wrote:

Thank you so much Charles! I’m on PST - and I’m free from 4:30pm today onwards. Zoom would be great, if possible, thanks!


Send your email address to chuck@chuckbeckett.com and I’ll set it up for 4:30pm PST.


  • Author
  • Participating Frequently
  • 8 replies
  • December 8, 2020
Peggy_Khiev wrote:

Thank you so much Charles! I’m on PST - and I’m free from 4:30pm today onwards. Zoom would be great, if possible, thanks!


See if you can get a copy of the base using this link: https://airtable.com/shrqO8VrsRE29Iqpj


  • New Participant
  • 4 replies
  • December 8, 2020
Charles_Beckett wrote:

Send your email address to chuck@chuckbeckett.com and I’ll set it up for 4:30pm PST.


Just sent you an email. Thanks Chuck.


Hi @Charles_Beckett thanks for sharing! Looks very similar to something we’re trying to do. I see that you have the ability to add things like weekly recurring evnets and when the record is open it shows when the next ~4 events take place. In the calendar view I see the first event but the subsequent events don’t show up. Is this a limit you ran into or am I not using the views correctly?


  • Author
  • Participating Frequently
  • 8 replies
  • December 23, 2020
Interchain_Foun wrote:

Hi @Charles_Beckett thanks for sharing! Looks very similar to something we’re trying to do. I see that you have the ability to add things like weekly recurring evnets and when the record is open it shows when the next ~4 events take place. In the calendar view I see the first event but the subsequent events don’t show up. Is this a limit you ran into or am I not using the views correctly?


I’m just about to release a ‘V2’ version of this, which eliminates a lot of bugs and provides a much better user experience. I’ll share it with you if you are interested in trying it out and giving feedback; I’d love some feedback before I post to Airtable.

This version is aimed at letting folks sync the recurring events from the base to bases of their own. This eliminates all the work of copying formulas to your own base, and means you can share the same set of events to multiple bases.

Let me know if you would have the time to review the base.


  • Author
  • Participating Frequently
  • 8 replies
  • December 30, 2020
Interchain_Foun wrote:

Hi @Charles_Beckett thanks for sharing! Looks very similar to something we’re trying to do. I see that you have the ability to add things like weekly recurring evnets and when the record is open it shows when the next ~4 events take place. In the calendar view I see the first event but the subsequent events don’t show up. Is this a limit you ran into or am I not using the views correctly?


Just occurred to me that you might not be able to see anything but the first event because showing multiple event fields in a calendar is a “Pro” account feature. If you are running the base in a free workspace you’ll only see the first of the four event fields.


Forum|alt.badge.img
Charles_Beckett wrote:

I’m just about to release a ‘V2’ version of this, which eliminates a lot of bugs and provides a much better user experience. I’ll share it with you if you are interested in trying it out and giving feedback; I’d love some feedback before I post to Airtable.

This version is aimed at letting folks sync the recurring events from the base to bases of their own. This eliminates all the work of copying formulas to your own base, and means you can share the same set of events to multiple bases.

Let me know if you would have the time to review the base.


Hi Charles,
Thanks for sharing, not bad for a first time forum poster :winking_face:
I’ll will have a look at the way you solved this complex issue, it might be handy for us (public broadcaster in the Netherlands). We use Airtable extensively, but not yet on this daily programming level. Although it shows how you can shape Airtable according to your needs, the downside is making it too complicated and too dependant on just one or some people in the organisation. I’m looking forward to the V2 version you are referring to and will certainly try your way of solving this issue.
Kind regards, GertJan


  • Author
  • Participating Frequently
  • 8 replies
  • January 7, 2021
GertJan_Kuiper wrote:

Hi Charles,
Thanks for sharing, not bad for a first time forum poster :winking_face:
I’ll will have a look at the way you solved this complex issue, it might be handy for us (public broadcaster in the Netherlands). We use Airtable extensively, but not yet on this daily programming level. Although it shows how you can shape Airtable according to your needs, the downside is making it too complicated and too dependant on just one or some people in the organisation. I’m looking forward to the V2 version you are referring to and will certainly try your way of solving this issue.
Kind regards, GertJan


Thanks I’m a couple of days away from V2 now.

I’m doing this for our community radio station so I’m interested in what you are doing with Airtable in that space. I’m also interested in how/if your organization is getting a non-profit discount on your Airtable collaborator accounts.

Thanks,

Chuck Beckett, every Wednesday 9-11am on WFHB: Community Radio for south central Indiana

91.3 FM | 98.1 Bloomington | 100.7 Nashville | 106.3 Ellettsville

http://wfhb.org and https://www.facebook.com/wfhb.radio/


Charles_Beckett wrote:

Thanks I’m a couple of days away from V2 now.

I’m doing this for our community radio station so I’m interested in what you are doing with Airtable in that space. I’m also interested in how/if your organization is getting a non-profit discount on your Airtable collaborator accounts.

Thanks,

Chuck Beckett, every Wednesday 9-11am on WFHB: Community Radio for south central Indiana

91.3 FM | 98.1 Bloomington | 100.7 Nashville | 106.3 Ellettsville

http://wfhb.org and https://www.facebook.com/wfhb.radio/


I’ve published the 2.0 version of this base.


  • Inspiring
  • 614 replies
  • January 8, 2021
Airtable_Clerk wrote:

I’ve published the 2.0 version of this base.


Great job @Airtable_Clerk!

It looks great and it’s very easy to follow.

Thanks for sharing.

Mary Kay


Forum|alt.badge.img
  • Known Participant
  • 12 replies
  • January 11, 2021
Charles_Beckett wrote:

Thanks I’m a couple of days away from V2 now.

I’m doing this for our community radio station so I’m interested in what you are doing with Airtable in that space. I’m also interested in how/if your organization is getting a non-profit discount on your Airtable collaborator accounts.

Thanks,

Chuck Beckett, every Wednesday 9-11am on WFHB: Community Radio for south central Indiana

91.3 FM | 98.1 Bloomington | 100.7 Nashville | 106.3 Ellettsville

http://wfhb.org and https://www.facebook.com/wfhb.radio/


Thanks for the update!
About the non-profit discount: yes, we as public broadcaster have a official status that made us eligible for the non-profit discount. That helps a lot, in managing costs. Regarding that: the VPRO has ca 350 people working in all kind of professions, and we have grown in 2-3 years from 5 pro-accounts towards 50. And are about to make the step towards an Enterprise light account, mainly to have more control over users and to integrate the user accounts into our SSO.

We are now using a wide variety of bases. It is used to control the crossmedia workflow for specific programs, where it functions as a workflow tool and as an archive. Overall the main (and first) Base we created helps us sharing the content and status of all our media production (audio, video, online, lineair, on demand). This backbone of programmes is used for planning people in different departments, but also to keep track of awards and prizes. It has grown into an essential part of our way of working with over 50+ kinds of metadata and several formula driven fields. The latest improvement sends, through Automations, alerts to the dedicated marcom people when titels change or when publication dates (specific or expected) change.

Important guideline has been that Airtable is not thé official authority, that it is managed without any support from the ICT department, and that it is better to to be 80% right for all the people, than trying to achieve 100% accuracy and never getting there (and loosing your flexibility).


  • Known Participant
  • 26 replies
  • January 15, 2021
GertJan_Kuiper wrote:

Hi Charles,
Thanks for sharing, not bad for a first time forum poster :winking_face:
I’ll will have a look at the way you solved this complex issue, it might be handy for us (public broadcaster in the Netherlands). We use Airtable extensively, but not yet on this daily programming level. Although it shows how you can shape Airtable according to your needs, the downside is making it too complicated and too dependant on just one or some people in the organisation. I’m looking forward to the V2 version you are referring to and will certainly try your way of solving this issue.
Kind regards, GertJan


Very true. The allure of Airtable to folks who don’t want to be a developer fades when their Base becomes more complex. When your base doesn’t demand complexity, you’re in Airtable’s sweet spot. But for some applications of Airtable you can’t avoid complexity. Recurring dates, particularly dates that recur on the 1st/2nd/3d/4th last Monday/Tuesday/Wednesday etc. of a month are just not easy to implement.

My hope with this base was to leverage Airtable’s sync feature to create a Component: a base that encapsulates the complexity of recurring date calculations and separates that code from the bases that need the results. The base is intended to be maintained without impacting the users’ bases that need it.

If I can provide support for this base, then folks won’t have to be developers to make use of the base.

My motives are not entirely selfless – if there are enough organizations with experienced Airtable developers that decide to try out the recuring dates base, then they will find bugs and suggest fixes, they’ll suggest optimizations and better techniques, and my organization can benefit from that.

I suppose the success of this effort depends on the number of Airtable users who decide they can benefit from it, the number of users who find and suggest bug fixes, and how long I can maintain the base.
I’m very open to putting this base in a Workspace of its own and sharing that workspace out to anyone who is motivated enough to help find and fix bugs. Not exactly GitHub, but hopefully not totally unrealistic.


  • Known Participant
  • 26 replies
  • January 15, 2021
Airtable_Clerk wrote:

I’ve published the 2.0 version of this base.


I’ve updated this base to V2.01, correcting a configuration code error. Details are in the updated documentation. If you have already deployed the base into an environment and don’t want to redo that deployment, then you can just patch your current V2.00 base. The documentation table provides patch instructions. The patch involves updating a single formula in a field in the Events table.


Charles_Beckett wrote:

Thanks I’m a couple of days away from V2 now.

I’m doing this for our community radio station so I’m interested in what you are doing with Airtable in that space. I’m also interested in how/if your organization is getting a non-profit discount on your Airtable collaborator accounts.

Thanks,

Chuck Beckett, every Wednesday 9-11am on WFHB: Community Radio for south central Indiana

91.3 FM | 98.1 Bloomington | 100.7 Nashville | 106.3 Ellettsville

http://wfhb.org and https://www.facebook.com/wfhb.radio/


Hey Chuck,

Is version 2 out? If so, would you mind sharing it with me. This was a lifesaver!


  • Known Participant
  • 26 replies
  • February 3, 2021
Elayna_Karolevi wrote:

Hey Chuck,

Is version 2 out? If so, would you mind sharing it with me. This was a lifesaver!


Hi Elayna, welcome to Airtable!
Very glad you found it useful. The latest version is at Recurring Events Calendar Server - Airtable Universe feel free to ping me with any questions you may have.


Airtable_Clerk wrote:

Hi Elayna, welcome to Airtable!
Very glad you found it useful. The latest version is at Recurring Events Calendar Server - Airtable Universe feel free to ping me with any questions you may have.


Thank you so much!! This will be awesome, and will do.


Thanks for sharing @Airtable_Clerk ! This is a powerful tool. One feature I did not see that would be useful is the ability to create a weekly event with multiple weekdays, such as Weekly every M/W/F. Is this a current feature or planned addition anytime soon?


  • Author
  • Participating Frequently
  • 8 replies
  • May 20, 2021
Delaney_Overton wrote:

Thanks for sharing @Airtable_Clerk ! This is a powerful tool. One feature I did not see that would be useful is the ability to create a weekly event with multiple weekdays, such as Weekly every M/W/F. Is this a current feature or planned addition anytime soon?


Thanks for your feedback. I’d like to add that feature; it’s a pain to set up three weeklies, one for each day. I’m pretty snowed under with other bases these days but your feature is already at the top of my todo list.


@Airtable_Clerk Thank you for sharing your hard work! This is exactly what we have been looking for. One quick question. I do have one issue that I haven’t figured out. All the dates and times are correct in my AirTable base. When I “Sync to an External Calendar” like Outlook, the times are off by 6 hours. Do you have any idea why that would be?


Can’t be totally sure, but I’m guessing that the problem lies in the setting of the date fields. You can set date field and time in a field to be GMT (Greenwich Mean Time) also called UTC, or you can set it to display your local time zone. This may be your issue. Let me know what time zone you are in.
Here’s a good article on Airtable’s use of Timezones and locales: Timezones and locales – Airtable Support
Let me know if you are still stumped; perhaps we can arrange a Zoom meeting.


  • New Participant
  • 1 reply
  • August 5, 2021

@Charles_Beckett Is there a way to create recurring daily events i.e. every Monday-Friday from ‘Start Date’ until ‘End Date’?


Reply