
Microsoft Teams API Integration Profile
Information and guides about integrating with Microsoft Teams API
Add Microsoft Teams Integration to Your ProductConfiguration
Creating Test/Developer account
An Azure account that has an active subscription.
- Create an account for free.
- The Azure account must have permission to manage applications in Microsoft Entra ID. Any of the following Microsoft Entra roles include the required permissions:
- Completion of the Set up a tenant quickstart.
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:
- Sign in to the Microsoft Entra admin center.
- Expand the Identity menu > expand Applications > select App registrations > New registration.
- Enter a display Name for your application.
- Specify who can use the application, sometimes called its sign-in audience.
- Don't enter anything for Redirect URI (optional). You'll configure a redirect URI later.
- Select Register to complete the initial app registration.
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.`
- 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:
- Select Configure to complete the platform configuration.
- 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.
- 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 Delegatedwork 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, Group.Read.All**, Group.ReadWrite.All**, Directory.Read.All**, Directory.ReadWrite.All**
- Create method: Channel.Create, Group.ReadWrite.All**, Directory.ReadWrite.All**
- Update method: ChannelSettings.ReadWrite.All, Group.ReadWrite.All**, Directory.ReadWrite.All**
- Delete method: Channel.Delete.All, Group.ReadWrite.All**, Directory.ReadWrite.All**
- Channel Messages Data Collection:
- List method: ChannelMessage.Read.All
- Search method: ChannelMessage.Read.All
- Find by Id method: ChannelMessage.Read.All, Group.Read.All**, Group.ReadWrite.All**
- Create method: ChannelMessage.Send, Group.ReadWrite.All**
- Update method: ChannelMessage.ReadWrite, Group.ReadWrite.All**
- 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, Group.ReadWrite.All**
- 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, Group.Read.All**, Group.ReadWrite.All**, Directory.Read.All**, Directory.ReadWrite.All**
- Create method: Team.Create, Group.ReadWrite.All**, Directory.ReadWrite.All**
- Update method: TeamSettings.ReadWrite.All, Group.ReadWrite.All**, Directory.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
- Channels Data Collection:
Microsoft Teams Bot configuration
-
Create and configure the bot. Client Id, Client Secret received during these steps will be your Bot Client Id and Bot Client Secret:
-
Follow this guide to Register The Microsoft Teams Bot in Azure. You can skip step 11 and 30. In step 28 select these application permissions:
• AppCatalog.ReadWrite.All
• Chat.Create
• Chat.ReadWrite.All
• Team.ReadBasic.All
• TeamMember.ReadWrite.All
• TeamsActivity.Send
• TeamsAppInstallation.ReadWriteForUser.All
• TeamsAppInstallation.ReadWriteSelfForTeam.All
• User.Read.All
Note: You can edit permissions depends on your need.
You can manually upload your app in the Microsoft Teams admin center; otherwise, it will be created automatically the first time you connect to the app:
you can skip these steps if you’d rather not upload the app manually
- create your manifest.json, color.png and outline.png otherwise it will be created
Sample manifest.json:
{ "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.13/MicrosoftTeams.schema.json", "manifestVersion": "1.13", "version": "1.0.0", "id": "{your_bot_app_client_id}", "packageName": "com.integrationapp.microsoft-teams-bot", "accentColor": "#FFFFFF", "developer": { "name": "Integration App", "websiteUrl": "https://www.integrationapp.com", "privacyUrl": "https://www.integrationapp.com/privacy", "termsOfUseUrl": "https://www.integrationapp.com/terms" }, "name": { "short": "Intapp Bot", "full": "Integration App Microsoft Teams Bot" }, "description": { "short": "A bot that sends messages", "full": "This bot sends messages to users." }, "icons": { "color": "color.png", "outline": "outline.png" }, "bots": [ { "botId": "{your_bot_app_client_id}", "scopes": ["personal"], "supportsFiles": false, "isNotificationOnly": true } ], "permissions": ["identity", "messageTeamMembers"], "validDomains": [], "webApplicationInfo": { "id": "{your_bot_app_client_id}", "resource": "api://{your_bot_app_client_id}" } }
c. Compress these 3 files to .zip. Log in to https://admin.teams.microsoft.com/dashboard
Go to https://admin.teams.microsoft.com/policies/manage-apps, click on the Upload new app button under the Actions dropdown and upload your zip file. It will add the bot to your app list.
-