Home/Integrations/Microsoft Outlook
// Outlook calendar

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.

Read-only scopesGraph change notificationsTeams links detected200 connections
Overview

What you get with Outlook

Graph change notices keep the schedule in step as meetings move, on the same API as Google Calendar.

A calendar syncs, a bot is scheduled, and it joins one minute before the start
Connect once, and the bot arrives before the meeting does.
Read-only access

A Microsoft 365 or Outlook.com calendar, through three Microsoft Graph scopes.

Fast event sync

One Microsoft Graph delta token per account, so a repeat sync pulls only changes.

Book them your way

Per event, per occurrence, per series, or every meeting with a link.

Links picked up

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.

Setup

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 app
    In the Azure portal open Microsoft Entra ID, go to App registrations and add a new app.
  • Open consent widely
    Choose accounts in any organisational directory plus personal Microsoft accounts.
  • Add the redirect URI
    Under Authentication, use the URI the helper prints on start-up.
  • Create a client secret
    Under Certificates and secrets, and note down the client ID too.
  • Grant the Graph permissions
    Add the three read permissions named in the setup guide, then grant admin consent.
  • Run the helper
    Sign in as the user whose calendar you are connecting, and copy the refresh token it prints.
CalendarOutlook calendarSyncevents and linksSchedule1 min before startBot joinsWebhooksbot.scheduled to bot.done
Connect once, and MeetStream syncs the calendar, schedules the bot and keeps it in step with every change.

Three scopes cover the whole thing

ScopeWhat it does
Calendars and eventsReads events and the calendar list
Account identityNames the account, so the connection is keyed by email
Offline accessThe 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.

Setup

Connect, sync, schedule

Graph delta tokens mean a repeat sync pulls only what changed.

  • Every event names its account
    Group events by account in one query, or filter the same call down to one inbox.
  • Scheduling works as it does on Google
    Auto-scheduling, recurring rules and the 409 double-booking guard all carry over.
  • The full endpoint table
    The Calendar API puts the three scheduling methods side by side.
Connect an Outlook calendarbash
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 docs
Accounts

Many accounts, separate credentials

Each connection is keyed by the provider and the account main email.

  • Its own encrypted token
    Each refresh token sits on its own, with its own webhook URL. Events are stored encrypted too.
  • Checked notices only
    Every Graph notice is checked against a secret held with it, and only a match is taken.
  • OAuth throughout
    A Microsoft password never reaches MeetStream.
CalendarGoogle or OutlookSyncevents and linksSchedule1 min beforeBot joinsautomatically
Calendar, sync, schedule, and the bot joins.

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 changedWhat MeetStream does
A rescheduleMoves the join time
A cancellationDeletes the schedule and marks the bot cancelled
A meeting moved into the pastDrops it
A new meetingThe 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.

MEETSTREAM DASHBOARDScheduled bots listed in the MeetStream dashboard
Scheduled bots from Google and Outlook accounts, listed together in the dashboard.
Security

Enterprise-level security, keep your data private.

The certificate, the audit status and the Trust Center are all on the security page.

Robust and reliable

MeetStream is ISO 27001 certified. SOC 2 Type 2 is under audit rather than complete.

GDPR compliant

MeetStream is GDPR compliant, and bots run in the United States by default.

Disconnect one, keep the rest

Disconnecting clears that account events and cancels its scheduled bots, and is safe to repeat.

SOC 2Type 2 (Under Audit)
ISO 27001Certified
GDPRCompliant

Calendar limits and defaults

200connections per user, Google and Outlook together
3 monthsthe furthest ahead a bot can be scheduled
1 minutebefore the start, when a scheduled bot joins
52occurrences booked up front on a series, by default
United StatesThe default regionEU, Australia, JapanAnd the Middle EastOther regionsAvailable on request
Bots run in the United States by default.
FAQ

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.

Read-only scopes
Graph change notices
Teams links detected
200 connections
Recurring series

Connect Outlook

One app registration and one POST. Then Teams meetings get a bot.