Below is my code basics planning for implementation in chat bot:
develop teams core bot by enabling calling feature in teams channel settings.
upload bot as custom app and enable for Private, team, group options in teams app settings.
enable API graph permissions in bot channel registration for group calling in
teams.
Azure Speech Service (speech recognition) speech to text will implement in bot.
Azure Speaker Recognition Service to know which
user is speaking will implement in bot.
For Speech and Speaker services, I already tried sample POC in console.
So my queries:
Is it possible to add my bot in group meeting/channel group? or vice versa is possible(Adding users to bot)?
If #1 is yes, say the group call is connected to all members along with bot, is it possible by using speech to text API from bot to convert whatever user speaks and display in chat automatically?
Ex: 3 users joined in channel group , I added bot in that channel group or consider vice versa like in the bot app I added 3 users.
When 3 users are speaking in call, I want to convert speech to text and display in group chat using bot.
Is this scenario possible for implementation in Teams?
In short: just like live captions are displaying in teams audio chat pane, I want it to display same on chat panel.
Better understanding with example on Group audio call with bot in Teams:
Ex:(speaking/spoke) User1: Hi Everyone
(Displaying in chat panel) :Bot: User1-Hi everyone
(speaking/spoke) User2: Hello Everyone
(Displaying in chat panel) : Bot: User2- Hello everyone
I already explored some part of this, but it happens in UWP and window forms. so not sure it can be possible in teams with extension messaging.
Reference Links:
https://github.com/Azure-Samples/cognitive-services-speech-sdk
https://learn.microsoft.com/en-us/azure/cognitive-services/speech-service/tutorial-voice-enable-your-bot-speech-sdk
https://bisser.io/bot-framework-teams-messaging-extensions-walkthrough/
https://microsoftgraph.github.io/microsoft-graph-comms-samples/docs/articles/calls/register-calling-bot.html
Related
I Am able to send messages to individual users and general channel of a team using Bot Framework. What I want to know if it's possible to send messages to below target audiences!
Private channel of a Specific Team
Any M365 Group and Azure AD Security Group
Any Distribution list
If possible , any link or documentation would be highly appreciated. Thanks in advance.
You can definitely message to a regular channel in a Team, aside from the "general" channel, but I've not tested a Private Channel. I don't see why not though, provided the bot has been added to that specific channel.
Aside from that, there's also a Meeting as well as a Group Chat.
But all of those are within Teams. An M365 group, or distribution group, you can message as well, but not within Teams as there's no Teams context. Remember though, that a Teams bot is built on the Microsoft Bot Framework, which can be used to built bots of other types outside of Teams, e.g. web chat, facebook, slack, etc. Included is the possibility to build an "email" bot - it uses the same concepts, e.g. "dialogs" and what not, but communicates via email. See more at https://learn.microsoft.com/en-us/azure/bot-service/bot-service-channel-connect-email?view=azure-bot-service-4.0
I am developing a bot which can send files to user. Users ask for reports with report name, and bot generates the file and sends it. This is working like expected within Microsoft Teams desktop app and web app. And Microsoft Teams mobile app does not support to receive files.
If there is a way to detect the application that user is typing to bot, i want to inform users when they ask a file from bot with mobile app, like "use desktop or web app, file transfer is not supported on mobile app".
Is there a way to detect the application that Microsft Teams user is using to type to bot?
Yes, you could get the platform from which the message was sent. Could you please check activity.Entity. Please find the screenshots below:
Desktop:
Mobile:
I'm making a Bot that can reply e-comerce websites (such as book shop, flower shop, motorbike shop,etc..) using FormFlow to create the selection that I've stored in my database. The problem here is that how can the bot provides to my customers the correct selections according to the purpose of the Website (For instance: customers chat with the bot via Flower Shop website so the bot must give the selections that relate to "Flower" to customers and customers chat from others websites must receive the correctspoding selections). I really don't know how to pass the ServiceUrl to FormFlow class to identify the selections should the Bot reply?
Is it possible to develop a chatbot with a possible voice integration (maybe Cortana somehow) with the Microsoft Bot Framework and integrate it in Outlook (mail, calendar, tasks)? I started looking at some resources
https://dev.outlook.com/Videos#outlook-addins
but cannot decide where I should look in particular. Can someone provide me with a good start in terms of reading material?
If you want to create bots the botframework is the place to start, https://dev.botframework.com. Here you can create bots that interact with a chatclient. To understand text LUIS.AI (https://luis.ai) is startpoint. LUIS translates utterances into intents (what does user want) and entities (with what parameters).
LUIS.AI has a number of pre-created application that act about Outlook (move appointment of 3 o'clock to 4)
For cortana you can now only build UWP App that integrate your App with Cortana using Speech. Sample can be found at: https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/CortanaVoiceCommand
If you want to have speech and transform it to text you can use cognitive services of Microsoft: https://www.microsoft.com/cognitive-services/en-us/speech-api
Hope this helps
Sander
I'm trying to do a C# MVC WebApplication for human-hybrid bots support customers, so I can't create a conversation between 3 different channels.
Example:
1-) An user start a chat with my bot in facebook
2-) When the bot receive the activity, he adds a new guy in conversation (directline, that's I have conversationId).
3-) The facebook user now, is chatting with other 2 users (bot and directline User).
Is the correct logic ?
I'm trying to create this group conversation but I'm getting error 500.
This is a common scenario that I've seen addressed by a number of users in the following manner:
Build your customer support interface (CSI) (i.e. the side used by your customer support reps) using Direct Line
Your bot pipes through the all the user messages to the CSI which stores all the conversations. Reps can see a list of all the users interacting with the bot and the history of each of those conversations.
When escalation to a human is needed, the bot flags one of the conversations needing attention
Your bot then brokers conversations between the accounts (i.e. Facebook End User <-> Your Bot <-> CSI). Essentially the customer support rep is creating a response, which is being posted by the bot back to the end user
This means there's no need to add an additional person to the conversation. (Facebook currently only allow 1-on-1 conversations with bots).