I have Zapier monitor my calendar and create OmniFocus projects and actions via a Dropbox file and Keyboard Maestro macro.
I add a short text string into the notes field of the calendar appointment depending on what I’d like to have happen. “.wme” will add actions to process travel and other expenses for a work-related meeting. “.inv” will create a draft invoice inside Xero for a meeting with a client. I have another than creates travel time “appointments” either side of a meeting outside of the office because travel time doesn’t sync with my calendar setup. I can combine as many of these strings as I like depending on what I need.
This is a little more complex that just having OmniFocus actions created by Zapier with an email sent to my OmniFocus address but it means that I can use taskpaper format to have the actions automatically filtered where they need to go in my OmniFocus project hierarchy without me having to manually process them from the inbox.
Quick side note: although my calendar’s hosted in Google I use Fantastical on the front end.
I’m not sure how you’d go about doing this if your calendar is purely local to your device other than some sort of time-triggered scripting solution.