Facebook Messenger Handover Protocol Bot bot profile change - bots

I'd like to know whether Bot profile will reflect currently active responder.
In other words, will users see anything which tells that they are now speaking with different responder, e.g different profile icon.

The profile icon that the user chatting with a Facebook chatbot sees is simply the profile icon of the Facebook page that the chatbot is attached to. The only thing that affects what profile icon the user sees is what Facebook page they are chatting with.

Related

DialogFlow Manual Handover to Facebook Messenger

I've successfully setup a DialogFlow bot which integrates with Facebook Messenger.
Is it possible for a human user to log into the Facebook Messenger inbox and take manual control over the conversation?
When I log into the Facebook Messenger inbox I've been unable to stop the bot from replying to the user and as a result it ends up being a 3 way conversation between me, the user and the bot.
This usecases makes sense but is not well documented. Facebook mentions this in the handover protocol documentation:
Taking Thread Control From Facebook Page Inbox
For Messenger experiences that enable live chat via Facebook Page Inbox, the handover protocol allows the Page admin to manually initiate a take thread control event by moving the conversation from 'Done' to the 'Inbox'. It is important to note that the thread would immediately be passed to Facebook Page Inbox irrespective of the current app’s role.
I guess this is what you need.
What you need to do is this:
Find the conversation you want to manual control
Check 'Move to Done'
FInd the conversation again by adding the 'done'-filter
Click the Move to Main button (the envelop in the top right
corner)
Remove the 'done' filter to find the conversation
from now on, the inbox has control and your chatbot will not respond if the user types a message. You will be the only one responding
If you need the chatbot to manage the conversation again, just click on the Move to Done-checkmark and the chatbot has control again.
Ps: the documentation also suggests you to subscribe to two webhooks (Standby and messaging-handovers). To be honest: for me it worked with and without subscribing to these webhooks

Retrieving userdata directly after user completes acount linking on their phone

I'm building an application using Accountlinking for a Google Home speaker using the Actions On Google SDK. I am using the Oauth feature which allows a user to sign-in into an account on their phone by sending them a link with a login window.
When the sign-in is triggered, the conversation on the Google speaker is ended. I would like to use some user information that comes from the accountlinking process right after the user is done with the accountlinking.
When you build a conversation for assistant on mobile, you can await the actions.intent.SIGN_IN event to continue the conversation, but even when you implement this, a conversation for the speaker will end.
Is there any way to use user information directly after a user linked
their account for a Google Home speaker app without users having to restart the conversation?
Once the user has to jump to the phone to perform account linking, the conversation on the speaker ends since the context has shifted devices. After account linking finishes, you could try to transfer to a new surface, although you will not necessarily have the ability to go back to the original device.

Change bot user name in slack for dialogflow bot

I am recently working on dialog flow bot (API.ai)
I have integrated my chatbot with slack from API.ai. When I start conversation and continue chatting, I found that bot username displayed in slack shown as Dialog flow Bot. But I have configured the name as treselle. How to change it?
Please find the screenshot below:
Yes! you can change it.
Go to your slack chatbot application.
Click on about tab.
enter image description here
Click on settings button.
Below "Bot user", select edit bot name button beside the bot name.
I'm not sure it's possible or at least I couldn't make it neither.
If you're a developer too, here is what you can do:
create a Slack app and bot, with enabled events subscriptions that will call your application webhook each time a message is sent to your bot
create a DialogFlow agent that you will call using 'query' API
create your own web application with a webhook route called by Slack, from which you can call DialogFlow API
This way you'll be able to customize every single details, including username, description, icon of the Slack bot, and send messages with rich content!
Here are more details: https://blog.eleven-labs.com/en/en/replace-erp-by-slack-bot-with-dialogflow-and-symfony/
I was wondering the same thing. Apparently you can't change the name of the bot until it is public. Here's a quote from the documentation...
Once logged in, navigate to the instance and locate the bot user called #dialogflow-bot.
Note: In order to change the name of the agent or add a logo, you'll need to make the bot public.
https://dialogflow.com/docs/integrations/slack

API.AI - How to authenticate user with Gmail account OR Active directory in chat bot

We are developing a chat bot for finance.
So once user going to start chat, bot should prompt for login. Then Once click on login, user should be redirected for login form and able to login with correct credentials, and bot should able to understand that user authentication succeeded or failed.
We are going to use our own custom platform(Agent page) i.e html page to communicate with api.ai.
Please provide info, if any one has done similar stuff or how to accomplish it.
As far as I understand it the recommendation is to pop up a browser window for the authentication (with the correct auth url for the service you want the user to auth against) and then store the access token in the bot's state/db for this conversation.
Have a look at for example https://blogs.msdn.microsoft.com/tsmatsuz/2016/09/06/microsoft-bot-framework-bot-with-authentication-and-signin-login/, should give you some ideas.
Well, since it's a finace chatbot developer, I can try to give out what I know. I would advise that the chatbot should be on a different website. I'm saying this because if a person fails the login form and user credentials,the chatbot can actually teach the person how to do it, what his or her mistakes were, and how to correct them. if people see this and it's easier,they will pay more interest into your website. Or if that doesn't work, the user should be directed to a Facebook page,or an agent page.

Can I start the conversation with messenger bot?

My bot is running in perfect conditions when I use it trought funpage.
But what I want to know is if we can start the conversation with the user instead user with it.
For example: The user is on a page that his next interation is talk with my BOT. But i don´t want my clients start I want my bot starts.
At this case we can consider that user already authorized my app.
Not if this is their first messenger interaction with you.
When you message a user, you're sending a message to a user id that is page scoped.
So unless they've previously messaged your page, there's no way for you to get their id
The id must be an ID that was retrieved through the Messenger entry points or through the Messenger webhooks (e.g., a person may discover your business in Messenger and start a conversation from there.
These IDs are page-scoped IDs (PSID). This means that the IDs are unique for a given page.
If you have an existing Facebook Login integration, user IDs are app-scoped and will not work with the Messenger platform.
(see https://developers.facebook.com/docs/messenger-platform/send-api-reference)

Resources