Full Teams Client API including Call Control
Microsoft Teams should have completed Client APIs so that third party apps can be created to fill specific needs.
This API should allow call control of the Microsoft Teams application. Necessary call control features include:
• dial/call
• call answer
• hang-up
• hold/off hold
• call transfer (all types: blind, consult, safe)
• add participant
• mute/unmute
• park/unpark
• call as a delegate
Some general features include:
• search contacts
• get contact presence
• get contact list folders/contacts
• setup contact list folders/contacts
• get/set my presence
• get/set my note
• get/set my delegates
• get/set my Calling Groups
• Get/set my call forwarding
• get/set audio device
• get/set voicemail settings
Messaging
• get/send chat messages
• get/send voice/audio message
The above lists are not comprehensive but are to give an idea of the necessary features.
Also
The Teams Client API should be able to be used inside the Microsoft Teams client canvas or from a standalone application. Ideally, the application developer could decide if they want to access the above functionality by controlling the Microsoft Teams application, with the Teams app running alongside, or as a standalone application, without the Microsoft Teams application running.
We see this as part of achieving Skype for Business parity so ISV's can write applications like Attendant Consoles so organizations can move to Microsoft Teams.

The team is reviewing possibilities in this space but does not yet have a date on this. We will update when there is news to share.
151 comments
-
Martin Jones commented
This is going to be very necessary. Please look in to it MSFT
-
Tom commented
Just wanted to add weight to this thread - we need to access caller/callee phone number via teams javascript SDK for CTI integration with a teams web tab app....
-
Anonymous commented
I am just looking at the beta documentation updated 02/06/2020 that exposes a call object via Graph
https://docs.microsoft.com/en-us/graph/api/resources/call?view=graph-rest-beta
Can someone smarter than me have a look and see if this is going to get us closer.
-
Timothy Meredith commented
Unfortunately critical call functionality in Teams doesn't seem to be a priority for microsoft as much as allowing people to praise others.. ;\
-
Wendell Martin commented
It would be a wonderful Christmas Gift if Microsoft could respond with a timeline.
All I want for Christmas Is APIs : )
-
Jim L commented
We are being forced off of our traditional phone lines because Verizon is discontinuing the service. We made the decision to mover to Teams Calling. We love it but a HUGE issue is the lack of an Attendant Console. Our receptionists are used to using Cisco's product now and we are unsure what to do now. Please release these API's so we can get a product that we can use as expected.
-
stephane commented
same here. mooving our telephony/PTSN to Teams is in consideration but we need a Teams JS client to be able to embbed it in our in-house CRM/business solution
ZOOM https://marketplace.zoom.us/docs/sdk/native-sdks/web/reference
TWILIO https://www.twilio.com/docs/voice/client/javascript -
Anonymous commented
same here. we need to provide Audio/Video Conferencing via a slick, stripped-down client, without all the other bloated stuff (filesharing, office, ...)
for example something like zoom offers via their 'Zoom JS SDK' would be sufficient.
-
Anonymous commented
This is actually a super important Teams feature that is required before it can have feature parity with Skype for Business. As mentioned with other comments, we are very keen to move ahead with this as a phone system, but we currently have to consider other options, as it's very important for our receptionists at each site managing large volumes of inbound calls with a custom software front end.
Please make this happen ASAP Microsoft!!!
-
Anonymous commented
Agreed. We are looking to replace our global Cisco PBX in 30+ countries with this next phase of Teams but need an attendant solution
-
Abe Cardoza commented
Need an attendant console for traditional receptionist experience. Only thing that preventing us from moving foward with Teams Voice. A BIG MISS
-
Chris Smith commented
This is important! Thank you
-
Syed Ahmad commented
Need to build solutions for legacy device integration with MS Teams for voice/telephony - and the only way possible is to have an SDK/API that would allow to do all telephony features such as:
• Dial
• Answer
• Hang-up
• Hold/off hold
• Call transfer (supervised/unsupervised)
• Call FWD (All types)
• Music On Hold
• Mute/unmute
• Park/unpark
• Conference (atleast 3 party)
• Call Completed ElsewhereSome general features include:
• search corporate network directory & Groups
• get contact presence
• get/set my presence
• Get/set my call forwarding
• get/set audio device
• get/set voicemail settings -
neil donaldson commented
another landis customer here
we are in a half way house now, with lync 2013 and teams fully deployed for chat
we are under pressure to move voice to teams aswell but cannot until we have a
workable solution for our receptionists
the licensing cost of voice in teams (hello E3/E5 licenses) would be a sizeable chunk
of revenue microsoft could be collecting already.... -
Damien Harris commented
I need this before I can move to Teams from SfB On Prem. But I'm under pressure to go to a national system with Cisco and Webex Teams.... Microsoft Please Advise ETA... Please... No Cisco for me...
-
Gaurav commented
Feature parity with SfB can only be claimed if a replacement for UCMA, or at the very least the Lync SDK (client SDK) is provided.
The Bot Framework plus Graph/Calling API is a clumsy solution.
Unlike UCMA or Slack, a bot can not listen into a conversation without being @mentioned which defeats the essence of cognitive assistance bots as well as other sentiment analysis or assistive productivity applications. Microsoft has substituted its notion of privacy controls in this implementation for what a company ought to be able to decide for its own tenant.
The HTTP based architecture is perceptibly slow compared to the socket based architecture of UCMA and the local inter process communication based architecture of the Lync client SDK. It has many moving parts ( Teams client <> Teams/O365 <> Bot Framework <> Bot), each a http based connection with associated connections set up/tear down to deliver a basic message.
Finally, presence updates are atrociously slow which is a deal breaker for contact center apps that rely on agent presence/availability.
-
Andre Hagmann commented
just had a meeting with a customer, who have Skype for Business and Attendant Pro in use and the customer plan to migrate to Teams Only Mode. As the customer was not aware, that the Teams Client do not support Attendant Pro for reception desk, the customer will reevaluate the migration to Teams Only. Therefor Teams Client API is a must to get feature parity with Skype for Business
-
Tony Mongiello commented
Today is our first full day with Teams as our Voice Solution. One glaring omission is the ability of our Front Desk user (using Attendant Pro) to be able to transfer directly to Voicemail. This is a huge deal for us...
-
Wendell Martin commented
I wish I could upvote some of the comments below as well.
-
Anonymous commented
This is an absolute must!
The company I work for has at least 25 customers who won‘t migrate their SfB onPrem just because of this!!!
@Microsoft please hurry up!