Recently I had a request to write a tutorial on extracting meeting information from Shared Mailbox calendars to use with the Power Platform. In this post we’ll take a look at how to extract meeting information from a shared mailbox in your Microsoft 365 tenant using the Microsoft Graph API.
Shared Mailbox
So here in my tenant, you can see I have a Shared Mailbox called enquiries with the address enquiries@lewisdoes.dev
I’m going to create an event in the calendar of this mailbox and we’ll see if we can grab the details of it in a flow later.
Here we now have my event. I’ve created an event titled Birthday Party and we’ll see if we can grab this in a flow using Microsoft Graph in a moment.
Authentication
So before we attempt to grab the details of our events using Microsoft Graph, we’ll need to setup a method of authentication to use against our HTTP request. We will need to setup an app registration in our Azure AD to do this. You can refer to the blog post below to find out how to do this.
Registering an app in Azure AD for use in Power Platform solutions – Low Code Lewis
For further information on the permissions needed check out this similar use case
Displaying a room calendar in Power Apps using Graph API – Low Code Lewis
Flow
So now let’s take a look at the flow we need to build to get hold of this data. We’ll mainly focus on the HTTP request step here.
So the main thing that I’ll point out which changes between use cases when we want to get different things from Graph is the request URL.
In this case our request URL is going to be…
https://graph.microsoft.com/v1.0/users/userid/calendar/events
In the above URL you’ll want to change userid to be the user id of your shared mailbox which you can find in the Azure portal at portal.azure.com
Here I’m going to authenticate using my app registration. You’ll need to populate the following fields as follows:
Tenant: use the tenant object ID for your AAD tenant
Audience: https://graph.microsoft.com
Authority: https://login.microsoft.com
Client ID: The client ID of your app registration which you can get in the Azure Portal
Secret: Generate a secret in your app registration and then paste the value here. You can also use Azure Key Vault to follow best practice for security here.
Running the flow
Now I’m going to test my button flow and we will see that I’m getting outputs listing my one event that I’ve created.
There you go! This is very similar to my other more detailed post on getting data for room calendars. This also works with shared mailbox and standard user calendars.