How to disable "desktop_notification" messages when using RTM - slack

With RTM connected, when I try to use my account to talk to a bot created by myself with DM, each time I got 3 messages:
"user_typing", "message", "desktop_notification"
Can I suppress "desktop_notification" by applying some settings to my bot?
For me, it seems "message" is good to go.

The Slack Real Time Messaging (RTM) API does have the concept of subscribing to specific events, so the answer to your question is no.
As Erik suggests in his comment, you are best off just ignoring these events in your script -- ideally as early in your logic as possible.
One other thing to note is that with the Event API you can subscribe to specific events. There are pros and cons to both the Event/Web APIs and RTM APIs so I mention this out of completeness. The Event API is not a 1:1 supplement for the RTM API in your case from what I can tell for your use case (for example, you'd need to use the Web API for sending a message and Event API for receiving events -- as opposed to just the RTM API as you have now).

Related

Microsoft Teams Voice Integration and Media Forking / CTI Events

I've invested time today, researching voice integration with Microsoft Teams, with the following requirements.
CTI type events when a user answers a call and hangs-up a call. Not much here, the webhook functionality, detailed here under webhooks and connectors, does not seem to apply to voice from what I can gather (it refers to channels) but it does potentially offer the mechanics I am looking for (where I get proactive notification of event changes), "allow users to subscribe to receive notifications and messages from your web services". Any suggestions on how to subscribe to specific Team Users voice events or alternate approaches? Also found the below documentation but still doesn't see to cover the specific call events?
Use the Microsoft Graph API to get change notifications
Is here a way to fork the media of a Teams call to another destination, to say allow further intelligent processing of the on-going conversation for real time analytics?
Thanks!
We don't have any event/subscription to specific Team Users voice events.
Please refer below documentation for supported list:
https://learn.microsoft.com/en-us/graph/api/subscription-post-subscriptions? view=graph-rest-1.0&tabs=http
You can raise a feedback request here: https://feedbackportal.microsoft.com/feedback/forum/ad198462-1c1c-ec11-b6e7-0022481f8472
As an alternative, we have "Azure Communication Services - Voice and video calling events" that you can utilize as per your need.
Reference doc: https://learn.microsoft.com/en-us/azure/event-grid/communication-services-voice-video-events

Slack Outgoing Webhook to Incoming Webhook in MS Teams

I'm trying to connect a Slack channel to Teams and to forward all messages to teams. I thought it would be as easy as using an outgoing webhook in Slack and and incoming webhook in Teams. However nothing is ever sent to Teams. Is this even possible without the use of some automation tool like Zapier or IFTTT?
I think there are probably a bunch of reasons this is not working - I can imagine there could be authentication issues, and also that the structure of the data coming from slack is unlikely to be what Teams can consume 100% as is. Basically, you're going to need some kind of intermediary, like perhaps an Azure Function or AWS Lambda (unless Zapier/IFTTT can offer something out of the box for this). Power Automate could be another option, incidentally.
As another option, you could look to a 3rd party that does something like this already, like m.io (Disclaimer: I have no affiliation with them, or even experience with their platform, I'm just aware of the existence of their tool).
With regards docs, have a look at Outgoing Webhooks for Slack and Incoming Webhooks for Teams. Even from the docs, you can see the format/structure is very different, so it's just a case of a small Cloud function to map input <-> output.

Chatbot handoff from Messenger to Zendesk

I am developing a customer service chatbot, using Azure's Bot Framework in .NET, using the the Messenger channel. I wanted to know if anyone knows what the best way to handle the handoff to a human on Zendesk (which my platform already uses as its CRM platform). I'm not looking for when to do the handoff, but how to manage what happens next.
What I would love to be able to do would be that so when handoff is needed, a ticket on Zendesk would be created, sending for example a file (the transcript of the conversation so far). Then the agent would be able to solve the customer's problem in that ticket, having a conversation with him, having the bot sending messages back and forth between zendesk and messenger.
I don't know if this has been done before, or if it's at all possible. And I'm free to other solutions to the problem of handling this kind of handoff, without having to create a separate "chat" for the customer service agents to use, like it's explained on the azure documentation.
Thank you for your patience while I researched this. I found this resource that I believe will meet your needs. This functionality is built off of the Bot Framework utilizing .NET (it's also available for Nodejs). There are two available methods to connect a client to an agent.
The first (which should apply to you) aggregates different channels into one allowing an agent to pickup in the same channel where the bot handed off. The second opens a new channel when an agent joins the conversation.
Intermediator Bot
I was able to spin up a bot using this and confirmed the bot was listening for outside traffic.
Hope this helps.
Steve.
One thing that I'm about to try is this:
Bot conversation ends.
Bot service calls an Azure Function, passing the conversation content.
The Azure Function integrates with Trello API, creating an entry on a Kanban board.
So, instead of Trello as I want to do, you can make a call to the Zendesk API.
I'm writing a few articles about developing Azure bots. The next two actually are dealing with these very things. You can find out more here. sign up if you'd like to get notified over the next week or so when the new tutorials are online.
Hope that helps!
Tim

Compare Microsoft Bot Framework With Howdy Botkit

I am looking to create a bot and have come across Microsoft Bot Framework (with LUIS or can use C# SDK provided by API.AI) and Howdy.ai Botkit (with Middleware support for LUIS & API.AI).
Can someone help me with comparison between these two?
I am looking for following things in my bot -
Support multiple channels including Email.
Have the bot act in both reactive (reply to some user message) and proactive (send out message to users once a day about something important to them or followups)
manners.
Save and later retrieve user provided data (manage state).
Rich message support.
Respond with delay.
Manage conversation history.
Are there things that are available in one but not in another?
I tried developing a bot in Botkit and MS Bot framework both. Ultimately I went with MS bot framework. Some of my reasons which could help with the comparison:
MSBotFramework has support for skype, slack, telegram, Facebook, and many other channels. BotKit, the last I checked, supported only Facebook and slack. I was targeting skype and telegram and that was a deal breaker.
Botkit currently is node.js only. On the other hand, MSBotFramework has .Net, Node.js and even a REST API (which basically means you can use it from any language you want). Also, there are python wrappers available which internally make use of the REST API.
Being a Microsoft product, MSBotFramework's integration with skype, azure, azure analytics, LUIS and other Microsoft services is very easy. This could be required for developing, deploying or integrating natural language support. Botkit supports LUIS integration, which is fairly easy( maybe as easy as MSBotFramework). The analytics (through botkit studio) (was) very basic and MSBotFramework wins hands down here.
I found the documentation for MSBotFramework more comprehensive than Botkit but both of them have an equal amount of resources and documentation.
Some of the other points you have asked about:
Proactive messages depend on the channel you are developing for. For eg. Facebook allows a time window of 24 hours from the user's last message in which you can reply. Whereas other platforms like skype and telegram allow you to send a message anytime you want.
State management will need to be handled on your end. Bot Framework provides some mechanism, but it is not robust enough to be used in production.msdoc
Rich messages are platform dependent, but bot framework does pretty well in catering to most of them. So, the way this works is, you send back the message to bot framework in its own rich message format. It converts to platform specific format. If you have only one or 2 platforms in mind, you can develop accordingly.
Respond with delay - You will have to implement it yourself, though bot framework has lots of examples of doing this.github
Managing conversation can be done easily if you are using C# and .Net platform in general. The documentation and number of examples are very impressive.github repo for samples
All in all, I would recommend MS bot framework.

Webhooks with Microsoft Dynamics CRM?

We have started to use Microsoft CRM for all our client information however we would like to have the most up to date information from CRM for internal tools.
The way we could do this is by running a tool that looks at the data every x minutes and keeps all updated records in the database.
Could someone give a explination on how we could use webhooks for this and if it actually is possible. This would be a lot more efficient to be notified when there is a change rather than checking all the time.
I have researched and found a few projects but they were all in beta - invite only or not available.
In Dynamics CRM Webhooks are not available as intended in the normal definition.
But you can use plugins to implement your notifications. From MSDN:
https://msdn.microsoft.com/en-us/library/gg328490.aspx
Another way to think about plug-ins is that they are handlers for
events fired by Microsoft Dynamics CRM. You can subscribe, or
register, a plug-in to a known set of events to have your code run
when the event occurs.

Resources