Search code examples
apiskype-for-businessucmaucwa

Skype for Business Online Administration API


Since there are a lot of APIs for Skype for Business, and the documentation isn't always very clear, and many hours have already been wasted developing for an wrong API, here I am asking you:

I am looking for an API which enables me to administrate multiple Skype for Business Online users. Required Features:

  • Skype for Business Online compatible

  • Read and Set Presence from other users

  • Set Call Forwarding for other users

  • And all that without knowing the user's passwords.

I already started developing for UCWA until I realized every user's password is needed for setting the presence.

I am aware of the capabilities of an UCMA Trusted Application, but unfortunately S4B Online compatibility is required. Maybe it's possible to make it compatible with an interface?

Every thought on this is much appreciated.


Solution

  • This would have been possible with on premise Skype for Business:

    • A trusted UCMA application to read and set presence
    • Automating SEFAUtil to set the call forwarding options (which relies on UCMA)

    Unfortunately (as you rightly said), neither of these are supported against Online, as there is no direct replacement for UCMA. There's unlikely to be a replacement in the future as Microsoft are pushing to move customers away from SfB and on to Teams.

    Depending on exactly how you need this to work, one option would be to use the Lync 2013 client SDK, which still works against the SfB client (but is now out of mainstream support). You'd need to create a "hidden" application that gets deployed to the users desktops, and sends and receives commands to/from your centralised administration app. In that way, you'd be able to send commands to the user's application, which would then automate the client into setting presence and changing call forwarding. Some obvious downsides, though:

    • A lot of work to build out the client/server applications and manage the connections between them
    • Would only work when the user is signed in to their client (as the Client SDK uses the running instance of the Skype client)
    • Depends on being able to deploy to a client machine

    Not an ideal solution, I know, but with Teams replacing SfB Online (over time), your options are going to be limited!