Api.ai Detect Chat User Information - dialogflow-es

Is there any way in which Chat User information can be identified like user name, logged-in ids etc. in Slack or Skype integration with Api.ai.
Thanks,
Dinesh

This feature is now implemented only for Slack service. You could use context generic and its parameters slack_user_id and slack_channel.
For another services you have to implement your own processing using api.ai open source bots.

Related

Microsoft Bot Framework: How to add Bot to chat via messaging extension?

Let's assume a user chats with another user in a 1:1 chat. (Might also be a group chat.) The user adds a bot and continues to chat while the bot now adds value to the conversation.
We are searching for a way to make adding the bot to a chat as seamless as possible through a simple button click. It seems the closest we can get to a button is using a messaging extension action command.
When the user invokes the messaging extension our backend service runs and can respond e.g. with a card. Now instead of a card is it possible to generate a response to add a bot? There are special responses e.g. for authentication. Is there a response telling the Teams client to add a bot?
Any hints are appreciated.
JIT installation of bot is an option here. You will be able to add bot to user conversation. Check following sample application which helps to add bot instantly: https://github.com/SubbaReddi/89.teams-just-in-time-installation

Microsoft Chat BOT with multiple BOTs integration

I am working on a requirement where we need to create a chat BOT application using Azure BOT service that takes input from the user and based on the response from the user, redirect the user to the chat bot of the particular department.
I would like some suggestions or recommendations on how this can be achieved.
The way to do this is through Bot Framework Skills. You can check for more information on https://learn.microsoft.com/en-us/azure/bot-service/skills-conceptual?view=azure-bot-service-4.0

How to Auth from an external service to the bot framework?

I have an external service with is own database where the users can log in.
Now I have a bot in NodeJS using Bot Builder and the Bot Framework.
I want to link them.
Is there anyway that the bot recognize the users from the other service everytime they open a new conversation and everytime they write something in the bot?
I've just tried with web chat before and I know that with channels that they support like Facebook, Telegram, Skype etc is easy to recognize the users every time they come back, but I don't know how if it is possible to do this with an external service where the users are already logged in and they want to talk with the chatbot.
I don't know how could I generate an authtoken or something that the bot framework read it and recognize the user.
You can use the DirectLine API to allow your bot and a custom client to communicate to each other, a sample can be found here, and here if you want to use WebSockets.
You can also add authentication to your bot via Azure Bot Service to use OAuth as stated here, where you will find samples too.

Typing notification to user in dialogflow chatbot

I have developed a chatbot using dialogflow and hosted my webhook api to firebase cloud. I have integrated this bot to MS Team and Skype where I am able to access the bot from both channels. I have a requirement that I have to show "user typing..." notification to users in the chat window similar to session.sendTyping() having in MSBot. Do we have similar functionality using webhook option?
Any help would be appreciated.
Thank you!
This is not a feature that is built into Dialogflow. If you want to add this, you'll need to use another system to store the state of the focus and receive it on other devices. This could be accomplished through storing the boolean state in Firebase's database, for example.

Is it possible to connect Dialogflow (Api.ai) with Slack so that humans can monitor and possibly even intervene or add to the conversation via Slack?

I know Dialogflow (Api.ai) can be a bot in Slack. But what about monitoring the conversation and possibly manually intervene in the conversation? If possible, what would be the general direction to implement this?
So Slack has Open APIs for interacting with the Slack App. Here
Since you want to monitor the conversations so Events APIs and Conversations APIs would help you to notify as well as capture the conversations.
conversations.history will help you to fetch the messages within public or private channels.
Since you want to intervene in the conversation then I suggest using chatbot, which will provide a suitable way to intervene and respond to some particular events. Bot Users
Dialogflow has an sample on how to do this: https://github.com/dialogflow/agent-human-handoff-nodejs
You'll have to build you own front end for the human to override the response and call the Dialogflow query API to integrate:
Slack <--> Front end w/human override <--> Dialogflow's query API <--> Dialogflow Agent
Yes, it's possible. Just login to DialogFlow with your Google credentials, then on the left sidebar you can see the Integrations Tab. Click on it. You will find a bunch of different integrations for line, telegram, Twilio, kik, Viber, Skype and a lot more.
Click on Slack. It will ask you for some details for connecting with endpoints such as client ID, token, client secret. You can get it from the Slack API. You can also check the Slack API integration link here. After everything is properly set up, click the "Test in Slack" button in the DialogFlow Slack integration.

Resources