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.