Microsoft Outlook calendar integration
The Microsoft Outlook calendar integration connects a Microsoft 365 or Outlook.com account. MeetStream syncs upcoming meetings and puts bots on them.
What you get with Outlook
Graph change notices keep the schedule in step as meetings move, on the same API as Google Calendar.

A Microsoft 365 or Outlook.com calendar, through three Microsoft Graph scopes.
One Microsoft Graph delta token per account, so a repeat sync pulls only changes.
Per event, per occurrence, per series, or every meeting with a link.
Teams, Zoom and Google Meet links are found on Outlook events.
One user can hold up to 200 connections, Google and Outlook together, each with its own credentials.
Azure app registration setup
Microsoft needs an app registration in your Azure tenant, and the setup guide ships a helper that prints the refresh token.
- Add the appIn the Azure portal open Microsoft Entra ID, go to App registrations and add a new app.
- Open consent widelyChoose accounts in any organisational directory plus personal Microsoft accounts.
- Add the redirect URIUnder Authentication, use the URI the helper prints on start-up.
- Create a client secretUnder Certificates and secrets, and note down the client ID too.
- Grant the Graph permissionsAdd the three read permissions named in the setup guide, then grant admin consent.
- Run the helperSign in as the user whose calendar you are connecting, and copy the refresh token it prints.
Three scopes cover the whole thing
| Scope | What it does |
|---|---|
| Calendars and events | Reads events and the calendar list |
| Account identity | Names the account, so the connection is keyed by email |
| Offline access | The user signs in once and syncing carries on |
In production your own app runs this consent flow and passes the token on. The Outlook setup guide names each scope.
Connect, sync, schedule
Graph delta tokens mean a repeat sync pulls only what changed.
- Every event names its accountGroup events by account in one query, or filter the same call down to one inbox.
- Scheduling works as it does on GoogleAuto-scheduling, recurring rules and the 409 double-booking guard all carry over.
- The full endpoint tableThe Calendar API puts the three scheduling methods side by side.
curl -X POST https://api.meetstream.ai/api/v1/calendar/create_outlook_calendar \
-H "Authorization: Token $MEETSTREAM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"microsoft_client_id": "…",
"microsoft_client_secret": "…",
"microsoft_refresh_token": "…"
}'Once you are connected, the fetch synced events endpoint syncs upcoming meetings.
Schedule a bot on a synced Outlook eventSchedule event reference: request, response and options in the docsMany accounts, separate credentials
Each connection is keyed by the provider and the account main email.
- Its own encrypted tokenEach refresh token sits on its own, with its own webhook URL. Events are stored encrypted too.
- Checked notices onlyEvery Graph notice is checked against a secret held with it, and only a match is taken.
- OAuth throughoutA Microsoft password never reaches MeetStream.
What happens when a meeting moves?
Microsoft pushes every change, on a Graph change notice set on every calendar of each account you connect.
| What changed | What MeetStream does |
|---|---|
| A reschedule | Moves the join time |
| A cancellation | Deletes the schedule and marks the bot cancelled |
| A meeting moved into the past | Drops it |
| A new meeting | The next auto-schedule run picks it up |
Subscriptions renew daily, and any expiring within two days are set up again for you.
Outlook and Teams meetings
Teams meetings are Outlook events, so Outlook is how bots reach Teams calls hands-free.
A synced event with a Teams join link is tagged as a Teams meeting, and the bot joins straight away.
It returns what every other MeetStream bot returns. The Teams integration covers lobby behaviour and what is captured.

Enterprise-level security, keep your data private.
The certificate, the audit status and the Trust Center are all on the security page.
MeetStream is ISO 27001 certified. SOC 2 Type 2 is under audit rather than complete.
MeetStream is GDPR compliant, and bots run in the United States by default.
Disconnecting clears that account events and cancels its scheduled bots, and is safe to repeat.
Calendar limits and defaults
Got a question? We got the answer.
Common questions about Outlook. Permissions, admin consent, Teams links and multiple accounts.
What Microsoft permissions does the integration need?
Three read-only Microsoft Graph scopes. One reads events and the calendar list. One names the account. The third grants offline access for a long-lived refresh token. MeetStream reads the calendar and leaves it as it found it.
Do I need a tenant admin?
You need an Azure app registration, and the Graph permissions need admin consent. Grant it yourself if you have admin rights, or ask your tenant admin. After that, each user consents through the normal Microsoft sign-in. Personal Outlook.com, Hotmail and Live accounts work, as do Microsoft 365 work and school accounts.
Does it detect Teams links?
Yes. A synced event with a Teams join link is labelled as a Teams meeting, and bots join it directly. Zoom and Google Meet links in an Outlook event are found the same way.
How does MeetStream learn about changes?
Through a Microsoft Graph change notification on every calendar of each account, renewed for you. A reschedule moves the join time. A cancellation removes the schedule and marks the bot cancelled.
Can one user connect several Microsoft accounts?
Yes. Connections are keyed by provider and account email, up to 200 per MeetStream user with Google included. Disconnect one from the connections endpoint and the others carry on untouched.
What about recurring Teams meetings?
Recurrence rules are read from the event. So you can book a weekly series one occurrence at a time, or all at once (52 by default). Rolling is the third way: the next occurrence is set up after each meeting.
Teams meetings get a bot, hands-free.
One app registration and one request. Then every Outlook meeting with a link is covered.