Microsoft 365 Outlook API Authentication
How to authenticate Microsoft 365 Outlook API requests: one Bearer API key plus a connectionId. MindCloud runs the OAuth flow and refreshes tokens for you.
Every Microsoft 365 Outlook API request through MindCloud needs two things: a MindCloud API Key and a connectionId for your Microsoft 365 Outlook account. This page covers both, plus exactly how to send them, so you do not need to visit any other page to get authenticated.
Steps to authenticate
- Create a MindCloud account at app.mindcloud.co if you do not already have one.
- Generate a MindCloud API Key in API Keys. This is the Bearer token you send on every request. Keep it on your server.
- Create a Microsoft 365 Outlook connection in Connections. Microsoft 365 Outlook uses OAuth. When you create the connection, you are redirected to sign in to Microsoft 365 Outlook and approve access — MindCloud stores the resulting tokens and refreshes them automatically, so your integration never has to.
- Copy the connection’s
connectionId— you will send it on every request alongside your MindCloud API Key.
How requests are authenticated
Authentication has two layers. Your MindCloud API Key authenticates the request to MindCloud, sent as a Bearer token in the Authorization header. The connectionId selects the connected Microsoft 365 Outlook account that should run the action. MindCloud stores and refreshes the Microsoft 365 Outlook credentials behind that connection, so you never send provider tokens with your requests.
Pass connectionId in the query string for GET and DELETE actions, and in the JSON body for POST, PUT, and PATCH actions.
For example, calling List Inbox Messages with an Microsoft 365 Outlook connection looks like this:
curl --request POST \
--url "https://connect.mindcloud.co/v2/universal/apps/microsoft365Outlook/actions/list-inbox-messages/run" \
--header "Authorization: Bearer $MINDCLOUD_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"connectionId": "$CONNECTION_ID",
"arguments": {}
}'The Authorization: Bearer <your MindCloud API Key> header authenticates you to MindCloud; the connectionId tells MindCloud which Microsoft 365 Outlook account to run the action against. Missing or invalid Authorization returns 401, and a missing or mismatched connectionId returns 400.
Set up your Microsoft 365 Outlook connection
You need access to the Microsoft Entra admin center for the tenant you want to connect and permission to create or manage an app registration.
- Create an app registration in Microsoft Entra
Create a new app registration for this MindCloud Outlook connection. Use a clear name your team will recognize.
Entra ID → App registrations → New registration - Copy the Application (client) ID
On the Overview page, copy the Application (client) ID. You will use it as the OAuth client ID.
- Add the MindCloud redirect URI
Open Authentication for the app registration, add a Web platform if needed, and add this redirect URI exactly: https://api.mindcloud.co/v1/oauth/microsoft365Outlook/callback
App registrations → Authentication → Add a platform - Create a client secret
Create a new client secret and copy the secret Value immediately. Microsoft only shows the Value once.
App registrations → Certificates & secrets → Client secrets → New client secret - Confirm Graph delegated permissions
Make sure the app registration can request delegated Microsoft Graph permissions for User.Read, Mail.ReadWrite, Mail.Send, and offline_access.
- Paste the client ID and client secret into MindCloud and connect
Return to MindCloud, enter the Application (client) ID and client secret Value, then start the Microsoft sign-in flow.
Keep your key safe
Keep your MindCloud API Key on your server; do not ship it in browser code, mobile apps, public repositories, or logs. Anyone with the key can call the Universal API as your MindCloud account, across every connection you have created.