Setting up API-Permissions
•From the Bot's main Menu navigate to "Configuration" blade and click "Manage Password" on the page, then click on "API-Permissions" from the left side.
•To add the permissions click on "+ Add a permission" and the Request API permissions page will appear.
•From the Microsoft APIs tab, first click the Application permissions and choose the Application permissions listed below, after that click on the "Add permissions" button to add them.
Required API Permissions for Teams Voice:
✓Application.Read.All
✓Calls.AccessMedia.All
✓Calls.Initiate.All
✓Calls.InitiateGroupCall.All
✓Calls.JoinGroupCall.All
✓Calls.JoinGroupCallAsGuest.All
✓Directory.Read.All
✓Directory.ReadWrite.All
✓Presence.ReadWrite.All
✓User.Read.All
✓User.ReadWrite.All
Required API Permissions for Teams Meetings:
✓Chat.Read.All
✓Chat.ReadBasic.All
✓OnlineMeetings.Read.All
✓OnlineMeetingArtifact.Read.All
✓OnlineMeetingTranscript.Read.All
✓Calendars.ReadBasic.All
✓Calendars.Read
Required API Permission for Teams PSTN call recording:
✓Files.Read.All
•Also add the following Delegated permissions :
Delegated Permissions:
✓offline_access
✓openid
✓Presence.Read.All
✓Presence.ReadWrite
✓profile
✓User.Read
✓User.Read.All
•Click on "Grant Admin Consent ..." to consent the permissions.
Permissions Required in Azure App
Permission |
Type |
Reason |
Remark |
Application.Read.All |
Application |
Application token required for calling |
|
Calls.AccessMedia.All |
Application |
Create a call using MS Teams Bot |
|
Calls.Initiate.All |
Application |
Create a call using MS Teams Bot |
|
Calls.InitiateGroupCall.All |
Application |
Create a call using MS Teams Bot |
|
Calls.JoinGroupCall.All |
Application |
Create a call using MS Teams Bot |
|
Calls.JoinGroupCallAsGuest.All |
Application |
Create a call using MS Teams Bot |
|
Directory.Read.All |
Application |
Read MS Teams user information like user id email |
|
Directory.ReadWrite.All |
Application |
Read MS Teams user information like user id email |
|
Presence.ReadWrite.All |
Application |
Set Presence state of MS Teams User |
|
User.Read.All |
Application |
Read MS Teams user information like user id email |
|
User.ReadWrite.All |
Application |
Read MS Teams user information like user id email |
|
offline_access |
Delegated |
Access token to get presence state |
|
openid |
Delegated |
Access token to get presence state |
|
Presence.Read.All |
Delegated |
Read presence state of MS Teams user |
|
Presence.ReadWrite |
Delegated |
Set presence state of MS Teams user |
|
profile |
Delegated |
Access token to get presence state |
|
User.Read |
Delegated |
Read MS Teams user information like user id email |
|
User.Read.All |
Delegated |
Read MS Teams user information like user id email |