How can you set Skype for Business status when in a Teams call automatically? - powershell

I've hit a wall so I'm asking my favorite community. I created custom Skype for Business activity statuses for Teams so when you are in a Teams call, you can manually set your status in SfB to "In a Teams Call". After searching for many days, i still have not found a way to auto set this status. Is there maybe a plugin for SfB or a service to run for this feature? This is for SfB (On-Prem). I primarily script in PowerShell but any guidance would be very appreciated.

#John, Microsoft Teams replaces Skype for Business Online as Microsoft’s professional online meeting solution. For more information on this please check this document.
To get/set up user status, you can use Presence Graph API's. For more information on Presence Graph API, please check this API docs

I created a windows service to check my Teams presence using the Graph API. If it returns InACall, I use Skype for Business Modules to set my activity to In-A-Call.
Sample code:
https://schmalhorstorg.blogspot.com/2020/04/powershell-set-skype-for-business.html

Related

How to send notifications to specific users in Microsoft Teams (across multiple teams) from an external api

I want to notify (can be activity feed or 1:1 chat) specific users in Microsoft Teams via an external api. The teams can be of different organizations. I looked into the docs as well, but couldn't figure out the solution. Is this even possible?
Yes, this is definitely possible - it requires you to build a bot to enable pro-active messaging. There are actually a few different approaches and API options for doing this, but I've got a very comprehensive example of one of the approaches, that includes a .Net and a Node.js sample, at https://github.com/HiltonGiesenow/teams-dev-samples/tree/add-proactive-messaging-sample/samples/bot-proactive-messaging. There are links at the bottom of the page to various additional readings as well for more info.

where are questions for a Microsoft Azure QnA bot stored?

I run a QnA bot (Animal-Rights-Bot) that answers questions via skype or email but there is a discrepancy between the number of questions shown in the Azure dahsboard and the bot mailbox. I`m wondering where I find those questions that were sent to the bot in Skype and per Mail.
You get all the chatlogs from QnAMaker in the test tab on the portal. There is a download chat logs link.
Every knowledge base content is stored in Azure storage by the QnAMaker tool. You need a combination of knowledge base id and subscription key to access the knowledge base. The knowledge base contents are not used by the tool for any other purpose.
Here is the API reference documentation for the the QnA maker . you can use them to programmatically query the knowledge base.
https://qnamaker.ai/Documentation/ApiReference

Microsoft Teams : REST APIs

I'm interested in getting data (metadata and content of files) out of Microsoft Teams into my application using REST APIs. I have looked at Office 365 APIs and Graph APIs but, I could not find supporting documentation for Microsoft Teams.
Teams API is now added to beta endpoint in Microsoft Graph. In documentation, you can find it together with Groups. Post, Channel and Chat Thread are available.
For example, documentation for "channel" resource is here:
https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/channel
Microsoft Teams REST API is now included into MS Graph API
https://learn.microsoft.com/en-us/graph/api/resources/team?view=graph-rest-1.0
At the time of writing this answer there are not too many APIs around Teams. However more are being added and they are in Beta (sending messages, adding apps to team, uploading team image, and more).
https://learn.microsoft.com/en-us/graph/api/resources/team?view=graph-rest-beta
It is not recommended to use Beta APIs in production environment as they might change.
It is also worth of mentioning that Teams are actually Office365 Groups.
Please take a look at Graph API
https://learn.microsoft.com/en-us/graph/api/resources/team?view=graph-rest-1.0
https://learn.microsoft.com/en-us/graph/api/resources/team?view=graph-rest-beta
Expand "Teamwork" at left side, you can get all Teams related API
We do not have Teams APIs available at this time. Our extensibility options are limited to experiences within the Teams application.
The Microsoft Graph API is constantly changing and we're currently using the following to monitor/interact with our Microsoft Teams application:
https://learn.microsoft.com/en-us/graph/api/resources/teams-api-overview
It gives access to the following (at the time of writing this):
We also monitor the general usage via the reports section in the Graph API:
This gives access to:
Device Usage:
Get details about Microsoft Teams device usage by user.
Get the number of daily unique users by device type.
Get the number of unique users by device type over the selected time period.
User Usage:
Get details about Microsoft Teams user activity by user.
Get the number of Microsoft Teams activities by activity type. The activities are performed by Microsoft Teams licensed users.
Get the number of users by activity type. The activity types are number of teams chat messages, private chat messages, calls, or meetings.
https://learn.microsoft.com/en-us/graph/api/resources/microsoft-teams-device-usage-reports?view=graph-rest-1.0

How to manage office 365 accounts in windows azure web site

I'd like to deploy a Office 365/Exchange Online management portal in the WAWS(Windows Azure WebSite) which could create new user/group/mailbox or change some property of specific user, etc. Is it possible to deploy this kind of web application in the WAWS environment? Should I call PowerShell and Office365 cmdlet in the ASP.NET environment? Or there are any better way to do this?
As the #Matt alludes to in his comment, there is already a web-based management portal for both of these. However, since you ask this question, I'm going to assume that you want additional functionality/customization.
The short answer is yes, you can.
User accounts in Office 365 are, behind the scenes, accounts in Azure Active Directory. So, for creating users, contacts, security groups and adding licenses, you will need to use the Azure Active Directory Graph API:
Getting Started With Windows Azure Active Directory Graph
For managing Exchange Online, you will probably want to use the Exchange Web Services Managed API 2.0. You'll probably only need this if you need to create distribution groups or manage individual users' contact folders (mailboxes for users get created when you assign an Exchange license from Azure Active Directory).
Get started with EWS Managed API client applications
Update: the Office 365 APIs were recently announced, and are now in Preview. They are a RESTful API, which can be used to manage (for now), mail, contacts and calendar items. Depending on your use case, this may be easier to deal with than the EWS Managed API 2.0.
Using the Mail, Calendar, and Contact REST APIs to work with emails, calendar items, and contacts

Lync - PowerShell - User status

G'day everyone,
I was checking out Lync PowerShell Blog and couldn't find much about querying Lync server for users by status (Available, Busy etc). There's this but it is for the SDK, can anyone give an example of retrieving users by their online status?
Also, is there a way to distinguish the kind of Lync they're running, because it's different when users are logged in on mobiles and it displays "Mobile" in status I believe.
Many thanks!
Check out this link. Its from TechNet. I believe the code sample in the post demonstrates what you are trying to accomplish.
List the Users and Client Endpoint Versions Connected to a Registrar Pool: Remote Connection