How do I set up a recurring event in Google Calendar that doesn't recur regularly - well, sort of..?
December 5, 2012 7:10 AM   Subscribe

How do I set up a recurring event in Google Calendar that doesn't recur regularly - well, sort of..?

I have meetings on certain days of the month. One meeting occurs on the first Tuesday of every month. Ok, that's a snap to set up in any calendar. Now how do I set up a recurring event that is for the Thursday before the first Tuesday of every month? Another meeting occurs on the 2nd Monday of every month. I need a recurring event (a prep meeting) for the Thursday before the 2nd Monday of every month. In some months that may be the first week of the month or the second week.

By the way, if there is a way to do this on another calendar like an iPhone or Mac, or something else that would be ok too, but I'd prefer Google Calendar.

I can't believe I'm using this week's question to ask this but I can't figure it out! Help me MeFi'tes!
posted by bellastarr to Computers & Internet (13 answers total) 5 users marked this as a favorite
I'd love to know a real way to do it too, but my workaround is to figure out which days those could be and then put a ? or some character I don't otherwise use at the end. Then I search for that character every month or so and delete the wrong ones for the next month or so.
posted by Etrigan at 7:21 AM on December 5, 2012 [1 favorite]

Google Calendar isn't very good at this sort of thing. I have been surprised to find that even Outlook has finer controls for recurring meetings.

One thing you could do is to set up your recurring meeting for the first Tuesday of the month, and then set reminders that occur 5 days in advance, to tell you to go to the meeting. Of course it wouldn't show up in the right place though, so you couldn't see if you had a conflict.
posted by rabbitrabbit at 7:36 AM on December 5, 2012 [2 favorites]

I don't use Outlook, but - are you saying it will work there? And, if so, I assume I could add the calendar to Google from Outlook?
posted by bellastarr at 8:04 AM on December 5, 2012

No, sorry, I'm not saying it will work in Outlook (I just checked and it won't), I was just giving a point of comparison demonstrating how Google Calendar isn't that granular even compared to other standard calendaring software.
posted by rabbitrabbit at 8:08 AM on December 5, 2012

I would figure out how early you need to know about those meetings and give yourself a reminder to then go forward and add the meetings to your calendar manually.

So for example if you need those all on your calendar at the beginning of the year, put up an alert "Set up planning meetings for year" at the beginning of the year and then add them.

If you only need them three months ahead but want them on a rolling basis, do three months now, and then attach to the reminder (or add a new one), "Add new meeting to calendar".

Inelegant, but it works.
posted by brentajones at 8:52 AM on December 5, 2012

I pay a little attention to programming solutions to event planning, and I've never seen a method that goes as far as "x days before the first y." It's possible, for sure, but in the wild, even "first monday" scheduling qualifies as "advanced."

Outlook has a leg up here because it's the official Exchange client, which is server software that made its bones in meeting scheduling for companies of all sizes, but even then it's really only at the "first X" level (last I checked).

Frankly, if my assumption that the "5 days before" meeting is a prep meeting for the next Tuesday, *that's* the one you should be scheduling. You won't get "next Tues after that one," but at least it will get everybody proper reminders for the beginning of that meeting cycle. "See you on Tuesday." I think the 5-day reminder method is probably the best you're going to get without custom programming.
posted by rhizome at 9:54 AM on December 5, 2012

Google calendar's recurring event interface (as far as I can tell) implements a subset of the iCalendar RFC. You can actually put full iCalendar recurrence rules into google calendar by importing them (some discussion here, haven't tested the specific directions), and there are similar kinds of tricks you can play if you have the full rules. For example, the RFC gives an example of election day, which is "Every four years, the first Tuesday after a Monday in November, forever"

However, the kind of event you want is very difficult to do in the iCalendar RRULE specification. This RFC is now pretty standard for a lot of calendering apps, if they want to use caldav, and so I think this is going to be hard to do in general. The reason is that its frequency isn't quite aligned to months -- in some months I the thursday before the first tuesday of a month happens twice (e.g. May 2013), and in some months not at all (e.g. April 2013). I won't say its impossible, because you can be very tricky with your RRULEs, but it isn't easy, and I haven't been able to figure out how to do it. It may be possible with 12 yearly rules. It may be possible with two RRULEs that use exceptions. Here's the RFC in case you really want to go down this road; if you ask on stackexchange how to do this you might get some answers.

But frankly all this effort isn't worth it. I'd either (i) set up an recurring event for the last thursday of every month, and when you hit the reminder just just manually add in an appointment for next thursday in the exceptional months (months where the following month starts on a wednesday or a thursday), (ii) do the same except deal with the exceptions manually right now for the next year, this will only take a few minutes, or (iii) try outlook in case it handles complicated rules like this (it doesn't use this standard, I don't think, so may do more), or (iv) get the meeting rescheduled to be aligned to the end of the month, making scheduling the prep meeting a true monthly event.
posted by advil at 10:36 AM on December 5, 2012

I need a recurring event (a prep meeting) for the Thursday before the 2nd Monday of every month.

Also, my previous answer was focusing on the Tues one -- I think the quoted rule should actually be doable with an RRULE, but perhaps still not worth the effort.
posted by advil at 10:39 AM on December 5, 2012

Pursuant to advil, maybe another middle-ground solution is to just schedule a recurring for the last Thursday of the month with a reminder upon which you can move that month's recurrence to the proper Thursday as needed. Then again, it's only 12 months, right? You could just set all these up manually for the next year in an hour (for yourself at least, if you don't have invite-y meeting scheduling).
posted by rhizome at 10:40 AM on December 5, 2012

I haven't tested this, but is it possible to add your events to google cal, eg. first tuesday of every month repeating, in a new calendar just for these events. Then sync this calendar to a calendaring app such as iCal on the mac. From there you could select the events (for example by searching on "meeting with..." or whatever you have called the repeating event. Select all events from the list, right click, cut and paste onto the first date you want the meetings to occur. Like I said, I haven't tested this.
posted by piyushnz at 10:41 AM on December 5, 2012

Also, my previous answer was focusing on the Tues one -- I think the quoted rule should actually be doable with an RRULE, but perhaps still not worth the effort.

And that RRULE is (if I've calculated this right):

Unfortunately google calender doesn't have an interface for inputting this kind of rule. Using a similar kind of trick (based on the election day ex in the RFC), I _think_ I've got the Thu/Tu thing down to two RRULEs:


Note that I'm testing this with a different implementation of the rfc than google's (I'm using the python package dateutil) and this relies on the RRULE ignoring a month if there is no Thu in the bymonthday range, and implementing negative bymonthdays correctly. What the trick relies on is that if you do out the calendar days by month, taking a thursday (or monday) in the relevant range actually uniquely identifies the day you are interested in.

As I said earlier, if you really want to go to the effort, you should be able to import these rules into google calendar (or any iCalender-implementing app, if they have implemented the full thing, including iCal) by creating a .txt file containing a VCALENDAR.
posted by advil at 11:08 AM on December 5, 2012

Yes the reminders before the meeting might work, but as someone else pointed out it doesn't actually schedule anything (or let one see conflicts). It looks like doing it by brute force (i.e. writing out 24 events) is the easiest way. And then I'll need another reminder next December to do it all over again in 2014. Thanks all!
posted by bellastarr at 11:48 AM on December 5, 2012

One more update -- sorry to be posting on this incrementally (I have been working on the problem in between doing other things).

I was able to save the following in a text file (no indentation, it's just blockquoted here), and import it to google calendar:
SUMMARY:Thu before 2nd Mon prep
SUMMARY:Thu before 1st Tues prep I
SUMMARY:Thu before 1st Tues prep II
This seems to work! You can't edit the recurrence rule in google calendar's interface, but as far as I checked it it was showing up on the right days. This version produces daily events; but it seemed that editing the time in the web interface actually worked also. The only weirdness was that it produced an initial event on the start date (today).
posted by advil at 11:55 AM on December 5, 2012 [1 favorite]

« Older Weepy walls = sad homeowners.   |   How much extra safety would a crash helmet offer a... Newer »
This thread is closed to new comments.