Teams interoperability pricing

Azure Communication Services and Graph API allow developers to integrate a chat and calling capabilities into any product. The pricing depends on the following factors:

  • Identity
  • Product used for real-time communication

The following sections cover communication defined based on the criteria mentioned above.

Communication as Teams external user

Teams external user is a user that does not belong to any Azure AD tenant, and Teams administrator regulates its access via policies targeting Teams anonymous users.

Teams clients

Teams meeting organizer's license covers the usage generated by Teams external users joining Teams meeting via built-in experience in Teams web, desktop, and mobile clients. The Teams meeting organizer's license does not cover the usage generated in the third-party Teams extension and Teams app. The following table shows the price of using Teams clients as Teams external users:

Action Tool Price
Send message Teams web, mobile, desktop client $0
Receive message Teams web, mobile, desktop client $0
Teams external users participate in Teams meeting with audio, video, screen sharing, and TURN services Teams web, mobile, desktop client $0 per minute

APIs

External customers joining Teams meeting's audio, video, screen sharing, or chat create usage on Azure Communication Services resource. Teams extensions and Teams apps will use existing APIs to integrate communication, which generates consumption on Azure Communication Services resources. The following table shows the price of using Azure Communication Services as Teams external user:

Action Tool Price
Send message Azure Communication Services $0.0008
Receive message Azure Communication Services $0
Teams users participate in Teams meeting with audio, video, screen sharing, and TURN services Azure Communication Services $0.004 per minute

Teams external users in the lobby or on hold generate consumption on the Azure Communication Services resource.

Communication as Teams user

Teams user is an Azure AD user with appropriate licenses. Teams users can be from the same or different organizations, depending on the Azure AD tenant. Teams administrator regulates the communication of Teams users via policies targeting people in my organization and people in trusted organization.

Teams clients

Teams meeting organizer's license covers the usage generated by Teams users joining Teams meetings and participating in calls via built-in experience in Teams web, desktop, and mobile clients. The Teams license does not cover the usage generated in third-party Teams extensions and Teams apps. The following table shows the price of using Teams clients as Teams users:

Action Tool Price
Send message Teams web, mobile, desktop client $0
Receive message Teams web, mobile, desktop client $0
Teams users participate in Teams meeting with audio, video, screen sharing, and TURN services Teams web, mobile, desktop client $0 per minute

APIs

Teams users participating in Teams meetings and calls generate usage on Azure Communication Services resources and Graph API for audio, video, screen sharing, and chat. Teams extensions and Teams apps will use existing APIs to integrate communication, which generates consumption on Azure Communication Services resources or Graph API. The following table shows the price of using Azure Communication Services as a Teams user:

Action Tool Price
Send message Graph API $0
Receive message Graph API $0 or $0.00075
Teams users participate in Teams meeting with audio, video, screen sharing, and TURN services Azure Communication Services $0.004 per minute

Teams user in the lobby or on hold generates consumption on the Azure Communication Services resource. Graph API has three modes for pricing: evaluation ($0), model A ($0.00075), and model B ($0.00075). You can find more details in Graph API documentation.

Pricing scenarios

Teams external user joins scheduled Microsoft Teams meeting via Azure Communication Services SDK

Alice is a doctor meeting with her patient, Bob. Alice will be joining the visit from the Teams Desktop application. Bob will receive a link to join using the healthcare provider's website, which connects to the meeting using the Communication Services JavaScript SDK. Bob will use his mobile phone to enter the meeting using a web browser (iPhone with Safari). Chat will be available during the virtual visit.

  • The call lasts a total of 30 minutes.
  • When Bob joins the meeting, he's placed in the Teams meeting lobby per Teams policy. After one minute, Alice admits him to the meeting.
  • After Bob is admitted to the meeting, Alice and Bob participate in the entire call. Alice turns on her video five minutes after the call starts and shares her screen for 13 minutes. Bob has his video on for the whole call.
  • Alice sends five messages, and Bob replies with three messages.

Cost calculations

  • One Participant (Bob) connected to Teams lobby x 1 minute x $0.004 per participant per minute (lobby charged at the regular rate of meetings) = $0.004
  • One participant (Bob) x 29 minutes x $0.004 per participant per minute = $0.116 [both video and audio are charged at the same rate]
  • One participant (Alice) x 30 minutes x $0.000 per participant per minute = $0.0*.
  • One participant (Bob) x three chat messages x $0.0008 = $0.0024.
  • One participant (Alice) x five chat messages x $0.000 = $0.0*.

*Her Microsoft 365 license covers the participation. For your convenience, the Azure invoice will show the number of minutes and chat messages that Teams users had with Communication Services users, but those minutes and messages originating from the Teams client won't be charged.

Total cost for a visit:

  • User joining using the Communication Services JavaScript SDK: $0.004 + $0.116 + $0.0024 = $0.1224
  • User joining on Teams Desktop Application: $0 (covered by Teams license)

Inbound phone call to the Teams user using Azure Communication Services SDK elevated to group call with another Teams user on Teams desktop client

Alice has ordered a product from Contoso and struggles to set it up. Alice calls from her phone (Android) 800-CONTOSO to ask for help with the received product. Bob is a customer support agent in Contoso and sees an incoming call from Alice on the customer support website (Windows, Chrome browser). Bob accepts the incoming call via Communication Services JavaScript SDK initialized with Teams identity. Teams calling plan enables Bob to receive PSTN calls. Bob sees on the website the product ordered by Alice. Bob decides to invite product expert Charlie to the call. Charlie sees an incoming group call from Bob in the Teams Desktop client and accepts the call.

  • The call lasts a total of 30 minutes.
  • Bob accepts the call from Alice.
  • After five minutes, Bob adds Charlie to the call. Charlie has his camera turned off for 10 minutes. Then turns his camera on for the rest of the call.
  • After another 10 minutes, Alice leaves the call.
  • After another five minutes, both Bob and Charlie leave the call

Cost calculations

  • One Participant (Alice) called the phone number associated with Teams user Bob using the Teams Calling plan x 25 minutes deducted from Bob's tenant Teams minute pool
  • One participant (Bob) x 30 minutes x $0.004 per participant per minute = $0.12 [both video and audio are charged at the same rate]
  • One participant (Charlie) x 25 minutes x $0.000 per participant per minute = $0.0*.

*His Microsoft 365 license covers the participation.

Total cost of the visit:

  • Teams cost for a user joining using the Communication Services JavaScript SDK: 25 minutes from Teams minute pool
  • Communication Services cost for a user joining using the Communication Services JavaScript SDK: $0.12
  • User joining on Teams Desktop client: $0 (covered by Teams license)