How It Works
A daily job will look for OOO events in the next 24 hours. If it finds any, it will schedule Gmail's vacation responder to turn on and off based on the first OOO event's start and end time.
If you have multiple OOO events in the same 24 hour window, it will process the next OOO event at the end of the current OOO event.
Note: The automation will not catch an OOO event if it happens within an hour of the previous one. In those cases you will have to manually Refresh the data through the add-on.
Another job will monitor for changes to your calendar. If you make any OOO changes for today, it will make the necessary updates.
The add-on does not modify the subject or message body of your Gmail's vacation responder. It simply enables or disables the vacation responder.
Note: Contrary to Google's documentation, or what you see on the Gmail browser UI, you can schedule the vacation responder to turn on or off at the hour/minute/second. The Gmail browser UI may show the wrong date, but it will turn on and off as expected.
How To Use It
Add the add-on from [TODO: insert Google Workspace Marketplace link]
Go into Gmail or Google Calendar and open the add-on from the sidebar
Toggle the add-on to enable it
That's it! Enjoy!
If you don't want to get the add-on from the marketplace:
Push/copy the the following files into your own Google Apps Script project
Follow the instructions in https://developers.google.com/apps-script/add-ons/how-tos/testing-workspace-addons#install_an_unpublished_add-on to install an unpublished add-on