I occasionally have the need to create a recurring calendar event on a cadence that isn’t natively supported by Google Calendar. The most prominent example of this is an event that occurs on every 5th Sunday of the month, if one exists. This is very different than the “last” Sunday of the month.
One nice workaround that seems to work well is to create an ICS file with the native 5th Sunday syntax and import it.
Here’s an example file for an all-day event.
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//x//EN
BEGIN:VEVENT
UID:5sun@x
DTSTAMP:20260503T000000Z
DTSTART;VALUE=DATE:20260531
RRULE:FREQ=MONTHLY;BYDAY=5SU
SUMMARY:5th Sunday Event
END:VEVENT
END:VCALENDAR
The secret is the RRULE:FREQ=MONTHLY;BYDAY=5SU rule, which expresses the logic we want.
Here is another example for an event with a specific time window.
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//x//EN
BEGIN:VEVENT
UID:5sun@x
DTSTAMP:20260503T000000Z
DTSTART;TZID=America/Denver:20260531T093000
DTEND;TZID=America/Denver:20260531T103000
RRULE:FREQ=MONTHLY;BYDAY=5SU
SUMMARY:5th Sunday Event
END:VEVENT
END:VCALENDAR
Copy-paste the appropriate data into a text file with a .ics file extension and import it into Google Calendar, then you can update the title and whatnot as you please.