Definitely possible…need to first read the connected calendar, like outlook or google and import to your database all returned events, then look at database and send to connected calendar all events that exist in db but not the connected calendar. Best to use API for that stuff.
Outlook and google do not provide webhooks based on events in their systems, so there is no way to have automatic updates when an event is deleted or updated in the connected calendar…this is just something you have to run when syncing via your button click.