MS Botbuilder and SMS using Bandwidth.com - botframework

I'm developing chatbots on MS botbuilder SDK (4). My new client have requirement to create chatbot that is connected to SMS, I was using twilio earlier for that very well but they using Bandwidth.com, so I would like to know what are my options: as i get it botbuilder SDK dont have out of the box connection to this provider, but maybe I can use directline or other approach somehow?
Another option I see is don't use botbuilder and just develop c# web app using Bandwith API.
And in general I'm interested in how we can connect to custom platforms if it's not web-based?

In order to accomplish this, you have a few options. Here is a couple of possibilities. Hopefully, others can chime in with more options for you.
One option is to build what is referred to internally as a "connector". Essentially you need to translate what bot framework speaks activity into whatever bandwidth.com speaks.
Another option is to build an adapter like this one for Alexa.

Related

Microsoft bot framework with Instgram

I was trying to build a bot using Microsoft bot framework and connect it with Instagram but I only found a graph APIs for instagram. can anyone please help & advise?
The BotFramework service only supports specific channels. Anything outside of those channels requires a custom adapter to be constructed to facilitate communication between the bot and the unsupported service. This is typically done by building a custom adapter. There are examples in the botbuilder-community repos that you can use to help design yours. Both the dotnet and JS libraries contains several adapters that you can reference.

How to add ms bot in kaizala

I am new to kaizala. Currently, the kaizala is not supported as a channel in ms bot. Just wondering if i can use the directline api but not sure on the kaizala part.
Please help/guide me on this, especially on the kaizala part what exactly I have to do to integrate ms bot with kaizala if somebody have tried this before.
There are a variety of adapters you can use as a reference for building a Kaizala adapter of your own. I don't know which SDK you are using, but if you check out the BotBuilder-Samples repo and navigate to the samples folder you will see examples of how to use some of the official adapters. Once you know what you are looking for you can navigate to the SDK repos (for ex: https://github.com/Microsoft/botbuilder-js) and find the adapter code.
Another source is the BotBuilder-Community repo which has examples of non-official adapters that you can also reference, organized by SDK.
All of these should provide an understanding of how to go about building what you need. I haven't researched Kaizala, at all, but if they provide APIs for connecting to and interacting with their service, then you will want to integrate that into the adapter.
Hope of help!

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

Is it possible to Register/provision a Bot via service

I'm looking at using the Bot Framework (https://docs.botframework.com) is it possible to register a bot programmatically e.g via service? I see there are Azure bots but still don't see a way to register via service?
At the moment you have to manually log into the portal to register the bot and obtain your keys. There has not been any indication from Microsoft that this will change in future.
from what I know about the goals of the dev team, since this is a highly requested feature, we will probably see this in action in future version of the bot framework.
But no kind of timeline yet for this feature.

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.

Resources