Automatic File Forwarder in MS Teams - microsoft-teams

Is it possible to develop an app which will automatically forward a file being uploaded in MS Teams channel to another server for some processing / scanning before being made available to recipient(s)?
I have tried to search the requirement in MS Teams Developer Documentations, but there doesn't seems a way to perform this in non explicit fashion.
The outgoing webhooks in MS Teams require an explicit call to the app for them being triggered.

Related

create service desk with human agents based on ms bot framework

I am looking for example or guidence to use MS Bot Framework for service desk agents who is answering chat coming from MS Bot Framework too. Exist some example for ver 3 and ver 4 but they are not complete and outdated. I think MS Bot WebChat control can be used successfully for agent to talk to customer same as customer using it. Needs to implement some kind of real-time dashboard with current customer's chats and provide functionality to agent to join/disconnect live customer's chats.
Thanks

Calling an API from MS Teams

I need help regarding how to call an external API (deployed to MuleSoft Cloudhub) from MS Teams chat/posts.
I want to interact with cloudhub deployed Mule API to perform operations such as starting, stopping, restarting, and updating mule applications in bulk from the MS Teams chat.
I've seen the following link and my question is exactly similar to this question:
Calling an external API from MS Teams chat
But I need something like "Slack Slash Commands" to send request to external APIs. here is a link which contains demo using Slack and I want to achieve same using MS teams:
https://dev.to/vignesh19/slack-bot-for-support-personnel-build-with-api-led-connectivity-7o1
Thanks in Advance!

Integrating Microsoft Web Chat without using Azure Bot Service

I am currently looking at using Microsoft Web Chat to interact with my existing Node Js application built on MS Bot Framework Core but uses DialogFlow as NLU.
Current implementation: Web Page -> Custom UI Widget -> Connects to Node.js app built on MS Botframework Core -> Queries DialogFlow NLU to identify Intent -> Node.js app constructs the Dialog -> Gives response to user.
Looking at the Web Chat component, I cannot find references using any other NLU except Azure Bot Service. Is it mandatory to use Azure Bot Service/LUIS NLU to integrate with Web Chat?
I have also looked at offline-directline npm module but the last dev on the module is more than 3 years ago.
Firstly, responding with a quick message about using offline-directline, you should feel reasonably comfortable with it. It is a few years old, but seems to stand the test of time with continued use and little in the way of issues that I have heard.
Another option would be to use a 'browser bot'. In this scenario, the bot is contained within the hosting page's html/scripts. So, there is no reliance on using Direct Line. I don't know your whole setup, so this may or may not align with your overall needs and architecture.
As for using Web Chat with something other than the Azure Bot Service, this would be an uphill battle. In theory, this is probably achievable to some degree. The issue is that Web Chat is heavily integrated with the BotFramework-DirectLineJS library. You might be able to cherry pick specific components from Web Chat, replace the Direct Line library with a make of your own, and modify the remaining code to work with your 'service'. But, I'm not certain the effort is worth it. That is something you would have to decide for yourself.
If you do go this direction, you will likely need to configure your 'service' to send messages that conform to the BotFramework schemas when communicating with Web Chat. Even without the dependency on Direct Line for connecting to the service, much of Web Chat is still oriented towards what an incoming message looks like (i.e. a BotFramework Activity) and handling it according to the properties it contains.
To start, here are a few areas you should review in order to correctly configure you service to handle inbound and outbound messages going to and coming from Web Chat:
BotFramework Activity schema
BotFramework Card schema
BotFramework Transcript schema
Web Chat's Activity, Card, Attachments, etc. Types - at present, these are loosely defined. I would expect that to change at some point in the future which may prove to be a changing break in your specific scenario.
This is not exhaustive and would require greater research as there are likely other considerations than the few I've listed above. But, again, this may not be necessary if you decide to utilize offline-directline.

What are the throttling limits for using the Microsoft BotFramework SDK?

I have created a chatbot using the CSharp Bot runtime & the Directline Webchat, that runs the botframework sdk. I am currently not using any of the Azure services except the Directline API.
I wanted to know about the throttling limits of the usage of the SDK. Is there any documentation available for it.
Per the BF documentation found here:
We're continuously tuning the rate limits to make them as lenient as possible while at the same time protecting our service and our users. Because thresholds will occasionally change, we aren't publishing the numbers at this time.

Does the Microsoft Bot Framework "phone home", or otherwise send data to 3rd parties?

So let's say I make a bot and place it in my ASP.NET MVC project. When the user queries the bot, and the bot replies to the user, is any data sent to Microsoft, or other third-parties?
Data goes to the channel you're using; so if you use the Facebook Messenger channel, Slack channel, or another 3rd party (non-MS) channel, data is going to Facebook, or Slack, etc.
CLARIFICATION EDIT: When you use the Bot Connector Service, i.e. when you register a bot at dev.botframework.com and enable any of the channels there, your conversation data will go to Microsoft. Addresing your original question directly; yes, data is sent "home". However, if you use a 3rd party channel, the data is just translated by Microsoft into the channel-specific format, sent to the 3rd party and NOT stored by Microsoft. What the 3rd party does with that data, e.g. use it for mining, store it indefinitely, is up to them.
As indicated below, using Microsoft channels will involve the data being handled and stored temporarily by Microsoft.
If you use any of the Cognitive Services, e.g. LUIS, by signing up for the service you've indicated your willingness to allow Microsoft to retain the data indefinitely and use it for various pursuits, one of them being to improve their products and services. I highly recommend visiting this page and reading through it.
EDIT: LUIS doesn't store the application data for improving its services, the data is stored for use by the developers to improve their own specific models.
EDIT: LUIS also allows developers to add "&log=false" to their endpoint and it will disable logging of data.
When using MS channels like Web Chat, DirectLine and Bing channels, data is retained and the content encrypted for up to 24 hours. This is for queuing and dispatching the messages on these channels.
When you move from dev to production and change from using the Bot State Service to your own storage service, you control the State data. All data on the Bot State Service is encrypted. That said; we encourage developers to move over to their own state service as soon as possible. This can be done by using BotBuilder-Azure which has examples on how to use Table and DocumentDB to manage state as opposed to using the Bot State Service.
Within the Bot Framework itself, conversation data is not used for mining or improving models or anything in the Bot Framework.

Resources