Back to Overview

Microsoft Teams Integration

Create a Microsoft Teams meeting for every booked appointment, on the Microsoft account you connect.

Luka Breitig, Software Engineer & AI Developer
Luka Breitig

Zaktualizowano: 23 września 2026

What You Will Achieve

By the end of this guide, every confirmed booking will get its own Microsoft Teams meeting, and the join link will appear in the confirmation emails sent to you and your guest.

Prerequisites

  • A Microsoft Azure app configured with OUTLOOK_CLIENT_ID and OUTLOOK_CLIENT_SECRET (see the Microsoft Azure App Setup guide)
  • The Microsoft Graph permissions Tymeslot requests when you connect Teams, all delegated: Calendars.ReadWrite and User.Read , plus offline_access so the connection keeps working without you signing in again. The only other scopes are the standard sign-in ones, openid, profile and email
  • A Microsoft account that can host a Teams meeting. Tymeslot asks Microsoft to attach a Teams meeting to every booking; an account that cannot host meetings still takes bookings, but without a join link

Why OnlineMeetings.ReadWrite is not on that list

Tymeslot creates a Teams meeting as a calendar event with online meeting turned on, not through Microsoft's POST /me/onlineMeetings endpoint. That endpoint is the one that needs OnlineMeetings.ReadWrite and, in most tenants, an administrator to consent to it. Tymeslot never calls it, so the permission is neither requested nor required. Adding it to your Azure app only grants access that goes unused.

How It Works

When a booking is confirmed, Tymeslot creates a calendar event on the connected Microsoft account (POST /me/events) with isOnlineMeeting turned on. Microsoft attaches a Teams meeting to that event and returns its join URL, which Tymeslot stores and includes in the booking confirmation email and in the meeting detail view. For a work or school account, Tymeslot names teamsForBusiness as the meeting provider; for a personal Microsoft account it leaves the provider unset and takes whatever Microsoft attaches.

The Teams meeting is that calendar event, so the meeting also appears in the connected account's own calendar. If your bookings go to an Outlook calendar on the same Microsoft account, Tymeslot turns the Teams meeting on for the booking's own event instead, so your calendar holds one entry per booking rather than two. If Microsoft creates an event but attaches no Teams meeting, which is what happens when the account cannot host one, Tymeslot deletes that event again rather than leaving an empty placeholder behind. The booking itself is unaffected: it stays confirmed, and the confirmation email goes out without a join link.

1 Check Whether Your Tenant Requires Admin Consent

Every permission Tymeslot requests can be granted by the person signing in, so in most tenants no administrator is involved: you approve them on Microsoft's consent screen in step 2. Consent becomes an administrator's job only where the organisation has turned off user consent for third-party apps, and you will know because sign-in stops on a "Need admin approval" screen.

If that happens, your IT administrator grants consent once, for everyone:

  1. Sign into the Azure portal as an administrator
  2. Go to App registrations → your Tymeslot app
  3. Click API permissions in the left sidebar
  4. Confirm Calendars.ReadWrite and User.Read are listed as Delegated permissions
  5. Click Grant admin consent for [your organisation] at the top of the permissions list. A green tick appears next to each permission

Personal Microsoft accounts skip this step

An outlook.com, hotmail.com or live.com account belongs to no tenant and has no administrator, so the consent is yours to give on the sign-in screen.

2 Connect Microsoft Teams in Tymeslot

Microsoft Teams is connected as a video integration of its own, separate from any Outlook Calendar connection:

  1. Go to Dashboard → Integrations → Video.
  2. Click Connect a video provider and choose Microsoft Teams under Hosted services.
  3. Sign in with the Microsoft account that should host the meetings.
  4. Review and approve the permissions Microsoft lists: access to your calendars, your basic profile, and staying signed in.

Expected result: Microsoft Teams appears in your list of video integrations, showing your Microsoft account.

Teams and Outlook Calendar are two connections, one Azure app

Microsoft Teams and Outlook Calendar sign in separately and appear as separate integrations, on the Video tab and the Calendars tab respectively. They do share the Azure app your operator registers, which is why both are configured from the same OUTLOOK_CLIENT_ID and OUTLOOK_CLIENT_SECRET.

3 Enable Teams on a Meeting Type

Microsoft Teams is enabled per meeting type. Repeat for each meeting type where you want automatic Teams meetings:

  1. Go to Dashboard → Meeting Types and pick a meeting type.
  2. On the Location & Calendar tab, click Add location, or Edit on an existing one, and set Type to Video call.
  3. Under Video providers, tick your Microsoft Teams integration.
  4. Click Save location.

Expected result: new bookings that use this location have a Teams meeting created automatically on confirmation.

You can tick several providers on the same location, for example Microsoft Teams alongside Google Meet or Zoom. The person booking then chooses which one the room is created on. See Meeting Locations for everything a meeting type's locations can do.

Microsoft Teams not listed under Video providers?

If Microsoft Teams does not appear under Video providers, Microsoft Teams is not connected or not active. Go to Dashboard → Integrations → Video, click Connect a video provider, choose Microsoft Teams and complete the sign-in.

Attendee Experience

The booking confirmation email sent to attendees contains:

  • A Teams join link, which opens the Teams meeting lobby in the browser or the Teams desktop app

Tymeslot keeps the join link Microsoft returns for the event and nothing else, so the email carries no dial-in number and no conference ID. Anyone who needs to dial in can open the meeting in Teams, which shows whatever dial-in details the hosting account has.

No Microsoft account required for attendees

Attendees join as guests, without a Microsoft account or a Teams subscription. They open the join link in their browser and enter the meeting lobby.

Troubleshooting

The booking is confirmed but there is no Teams link in the email

Microsoft created the calendar event without attaching a Teams meeting, so Tymeslot removed the event again and announced the booking without a link. This is an account problem rather than a permissions one: confirm the connected account has a Teams licence in the Microsoft 365 admin centre under Users → Active users → select the user → Licences and apps, and that your organisation has not blocked Teams meeting creation for it. Once that is sorted, new bookings get a link; bookings already confirmed without one stay as they are.

Sign-in stops on a "Need admin approval" screen

Your organisation requires an administrator to consent to third-party apps. Ask your IT administrator to grant consent for Calendars.ReadWrite and User.Read as described in step 1, then connect again.

Sign-in succeeds but Microsoft Teams never appears as a video provider

The integration is not showing as connected. Disconnect the Microsoft Teams video integration, connect it again, and confirm it shows as connected before you edit the meeting type. If the integration shows a Reconnect badge, Microsoft has rejected the stored credentials; click Reconnect on it to sign in again.

❓ Frequently Asked Questions

Why aren't Teams meeting links being generated?

Tymeslot records a join link only if Microsoft attaches a Teams meeting to the calendar event it creates. Where it does not, the booking is still confirmed, but without a link. The usual cause is the connected account itself: check that it has a Teams licence in the Microsoft 365 admin centre under Users → Active users → select the user → Licences and apps.

A missing OnlineMeetings.ReadWrite grant is not the cause. Tymeslot neither requests that permission nor calls the endpoint that needs it.

Do I need to add OnlineMeetings.ReadWrite to my Azure app?

No. That permission covers Microsoft's online meetings endpoint, which Tymeslot does not use: it creates Teams meetings as calendar events, so Calendars.ReadWrite is the permission that matters. Adding OnlineMeetings.ReadWrite changes nothing about how Tymeslot behaves, and in most tenants it means an administrator has to approve a connection that would otherwise need no one.

I have a Microsoft 365 Business Basic plan. Will the Teams integration work?

Yes, provided the account has both a mailbox and a Teams licence. Tymeslot creates the Teams meeting as an event on the account's calendar, so it needs the mailbox to hold the event and Teams to attach the meeting to it. Business Basic includes both.

Some Microsoft 365 plans include Exchange and OneDrive but omit Teams. On one of those, the event is created with no Teams meeting attached, Tymeslot removes it again, and the booking is confirmed without a join link. To check, go to the Microsoft 365 admin centre → Users → Active users → select your account → Licences and apps and confirm a Teams-enabled licence is assigned.

Do attendees need a Microsoft account to join the Teams meeting?

No. Teams allows guests to join without a Microsoft account. Attendees open the join link in any modern browser and enter the meeting lobby as a guest, without signing in or installing anything. They can use the Teams desktop app instead if they prefer.

Can I use the Teams integration without Outlook Calendar sync?

Yes. Microsoft Teams is connected on the Video tab and Outlook Calendar on the Calendars tab, and each is its own connection, signed in separately and stored separately. You can use Teams as a meeting location without syncing your Outlook Calendar, and vice versa; neither depends on the other being active.

The confirmation email has a Teams link, but joining says 'meeting not found'. Why?

This typically means the meeting was created under a Microsoft account that is no longer active, or the connected account in Tymeslot has been disconnected and reconnected as a different Microsoft account. Teams meetings belong to the account that created them, so if that account changes, existing meeting links stop working.

Confirm that the Microsoft account shown in Dashboard → Integrations → Video is the same account that will host the meetings. If you recently reconnected the integration with a different account, existing booking links will not work; only newly created bookings will generate valid links under the new account.

Verification Checklist

Book a test appointment on a meeting type with a Microsoft Teams video call location (choosing Microsoft Teams if you are offered a choice), then confirm each of the following:
  • On Dashboard → Meetings, the booking shows a Join meeting button that links to the Teams meeting
  • The booking confirmation email contains the same Teams join link
  • Opening the join URL in a browser loads the Teams meeting lobby

🔗 Related Articles

Read Google Meet Integration

Google Meet Integration

Auto-create Google Meet rooms for every confirmed booking via the Calendar API. Attendees receive the link by email and can join without a Google account.

Read Zoom Integration

Zoom Integration

Auto-create Zoom meetings for every confirmed booking. Connects over OAuth. Use a paid plan (Pro, Business or Enterprise): Zoom applies its free-plan limits, including meeting length, to meetings created this way.

Read MiroTalk Self-Hosted Video

MiroTalk Self-Hosted Video

Host video meetings on your own MiroTalk P2P server, with no subscription and peer-to-peer video between participants. Covers Docker setup, reverse proxy, and TURN server config.