I was trying to create an event in Google Calendar that takes place on the last day of each month. Unfortunately there is not an easy way to do this since Google Calendar only supports the following:
Custom looks promising, but doesn’t have an “End of the month” option.

Fortunately Google Calendar supports importing .ics files which are a plain-text calendar format that originated with Apple iCal (now just called Calendar). Microsoft Outlook also supports importing .ics files. Sometimes you will see people send .ics files as part of meeting request since they don’t know what calendar app you may be using.
You can create a new, blank .ics file in your favorite text editor and copy and past the following code into it.
BEGIN:VCALENDAR
BEGIN:VEVENT
DTSTART:20180131
RRULE:FREQ=MONTHLY;BYDAY=SU,MO,TU,WE,TH,FR,SA;BYSETPOS=-1;WKST=MO
SUMMARY:Your event title goes here
END:VEVENT
END:VCALENDAR
Or download this one to get you started.
As you can see there are a couple properties set up in the file to make a recurring event, but we only need to update the DTSTART and SUMMARY.
BEGIN:VCALENDAR and BEGIN:VEVENT lines create the “calendar object”. If you wanted you could even group multiple calendar objects into one file.BEGIN:VEVENT and END:VEVENT lines describe your actual event.DTSTART is the start time of the first event and follows a YYYYMMDD format. In this case it is the last day of January in 2018 20180131.RRULE is the recurrence rule which looks a bit confusing, but is setting your event’s date to be the first day of the month minus one day. No need to update this.SUMMARY is essentially the title for you event and what you will see in your calendar.Some optional properties are DTEND if you don’t want your event to repeat forever and DESCRIPTION where you can add more info about the event.
If you want to know all the available properties you should check out this iCalendar Wikipedia Article. You can even do some interesting things like set up To Dos or Reminders for the event.
After updating the DTSTART and SUMMARY properties of the .ics file open up your Google Calendar and click the plus icon next to “Add a friend’s calendar” and select “Import”.
Note: this might say “Add a coworker’s calendar” if you are using an office account.

Select the file from your computer and make sure you are adding the event to the right calendar.

Then click the “IMPORT” button.

If everything worked you should see a messaging saying “Imported 1 out of 1 event.”

You should now see your event repeating on the last day of the month!