Outlook calendar integration
Through Microsoft Graph, calendar availability can be obtained: https://learn.microsoft.com/en-us/graph/outlook-get-free-busy-schedule
-
To obtain permission for fiddling with the calendar on behalf of users, we need to add new scope(s) when obtaining oauth tokens (that functionality exists with I think just minimal default scopes hardcoded), the oauth app settings need to be extended to specify more scopes. Not sure if work needs to be done here, except documentation mentioning this extra scope is required: https://learn.microsoft.com/en-us/graph/auth-v2-user?tabs=http / https://learn.microsoft.com/en-us/azure/active-directory/develop/scopes-oidc -
Obtain user availability through API (e.g. select all slots available >60 minutes) using https://learn.microsoft.com/en-us/graph/api/user-findmeetingtimes?view=graph-rest-1.0&tabs=http -
Once a slot is selected, Appsemble should book a meeting in the calendar of the Outlook user. https://learn.microsoft.com/en-us/graph/api/user-post-events?view=graph-rest-1.0&source=recommendations&tabs=http, required permissions: https://learn.microsoft.com/en-us/graph/permissions-reference#calendars-permissions