Back to connector

LogoMicrosoft Teams Integration Development Guide

Add white-label customer-facing integration with Microsoft Teams into your app with just a few lines of code.

Microsoft Teams connector

It is built using Microsoft Graph REST API v1.0

NOTE: Online Meetings API is going to be deprecated on September 30, 2024.

Creating Test/Developer account

An Azure account that has an active subscription.

Creating OAuth Application

Full article: Register an application with the Microsoft identity platform .

First of all you will need to have an MS Azure account. (See more...)

Quick step-by-step guide:

  1. Sign in to the Microsoft Entra admin center.
  2. Expand the Identity menu > expand Applications > select App registrations > New registration.
  3. Enter a display Name for your application.
  4. Specify who can use the application, sometimes called its sign-in audience.
  5. Don't enter anything for Redirect URI (optional). You'll configure a redirect URI later.
  6. Select Register to complete the initial app registration.

Register App image

When registration finishes, the Microsoft Entra admin center displays the app registration's Overview pane. You see the Application (client) ID. Also called the client ID, this value uniquely identifies your application in the Microsoft identity platform.` 7. Add a redirect URI:

  • Under Manage, select Authentication.
  • Under Platform configurations, select Add a platform.
  • Under Configure platforms, select Web.
  • Enter a Redirect URI for your app:
    • https://api.integration.app/oauth-callback
  • Select Configure to complete the platform configuration.
  1. Add credentials:
  • Under Manage, select Certificates & secrets > Client secrets > New client secret.
  • Select an expiration for the secret or specify a custom lifetime.
  • Select Add.
  • Record the secret's value for use in your client application code. This secret value is NEVER displayed again after you leave this page.
  1. Configure API permission:
  • Under Manage, select API permissions > select Add API permissions.

  • Select Microsoft Graph > select Delegated.

  • Enter the necessary permissions for your app and select Add permissions: The following permissions are supported only for Delegated work or school account:

    • Channels Data Collection:
      • List method: Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All
      • Match method: Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All
      • Find by Id method: Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All
      • Create method: Channel.Create
      • Update method: ChannelSettings.ReadWrite.All
      • Delete method: Channel.Delete.All
    • Channel Messages Data Collection:
      • List method: ChannelMessage.Read.All
      • Search method: ChannelMessage.Read.All
      • Find by Id method: ChannelMessage.Read.All
      • Create method: ChannelMessage.Send
      • Update method: ChannelMessage.ReadWrite
      • Delete method: ChannelMessage.ReadWrite
    • Chats Data Collection:
      • List method: Chat.ReadBasic, Chat.Read, Chat.ReadWrite
      • Match method: Chat.ReadBasic, Chat.Read, Chat.ReadWrite
      • Find by Id method: Chat.ReadBasic, Chat.Read, Chat.ReadWrite
      • Create method: Chat.Create, Chat.ReadWrite
      • Update method: Chat.ReadWrite
    • Chat Messages Data Collection:
      • List method: Chat.Read, Chat.ReadWrite
      • Search method: Chat.Read, Chat.ReadWrite, ChannelMessage.Read.All
      • Find by Id method: Chat.Read, Chat.ReadWrite
      • Create method: ChannelMessage.Send
      • Update method: Chat.ReadWrite
      • Delete method: Chat.ReadWrite
    • Teams Data Collection:
      • List method: Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All
      • Match method: Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All
      • Find by Id method: Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All
      • Create method: Team.Create
      • Update method: TeamSettings.ReadWrite.All
      • Delete method: Group.ReadWrite.All
    • Users Data Collection:
      • List method: User.ReadBasic.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
      • Search method: User.ReadBasic.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
      • Match method: User.ReadBasic.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
      • Find by Id method: User.Read, User.ReadWrite, User.ReadBasic.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
      • Create method: User.ReadWrite.All, Directory.ReadWrite.All
      • Update method: User.ReadWrite User.ManageIdentities.All, User.EnableDisableAccount.All, User.ReadWrite.All, Directory.ReadWrite.All
      • Delete method: User.ReadWrite.All
    • Conversation Member Data Collection:
      • List method: TeamMember.Read.All, TeamMember.ReadWrite.All
      • Match method: TeamMember.Read.All, TeamMember.ReadWrite.All
      • Find by Id method: TeamMember.Read.All, TeamMember.ReadWrite.All
      • Create method: TeamMember.ReadWrite.All
      • Update method: ChannelMember.ReadWrite.All, TeamMember.ReadWrite.All, Directory.ReadWrite.All, Group.ReadWrite.All
      • Delete method: TeamMember.ReadWrite.All
    • Online Meetings Data Collection:
      • Match method: TeamMember.Read.All, TeamMember.ReadWrite.All
      • Find by Id method: OnlineMeetings.Read, OnlineMeetings.ReadWrite
      • Create method: OnlineMeetings.ReadWrite
      • Update method: OnlineMeetings.ReadWrite
      • Delete method: OnlineMeetings.ReadWrite

    The following permissions are supported only for Delegated personal Microsoft account:

    • Users Data Collection:
      • Find by Id method: User.Read, User.ReadWrite
      • Update method: User.ReadWrite