This document briefs you on how to connect Orbita to the FaceBook Facebook messenger bot.
...
Table of Contents | |
---|---|
|
Setting Up Facebook
In order to set up the Facebook integration for your agent, you'll need the following:
a Facebook page to add your chatbot
When a user visits your page and sends a message, they'll be talking to your chatbot.
Create a Facebook App
Log in to the Facebook Developer Console.
Click on My Apps in the upper right-hand corner.
Click on Create App
Select Manage Business Integrations and click Continue.
Add a display name and click on Create App.
Making the App Public
Go to the App page and click on Settings > Basics.
Fill in the necessary details and click on Save Changes.
Toggle the status to ON. Click on Confirm in the pop-up dialog box.
Adding messenger to your App
Click on Products from the side menu and Click on Set Up button from Messenger.
Click on “Add or Remove Pages” to add your page to the App.
Connect the Generate Page Access Token.
|
Setting up the Experience Designer
Connect two function nodes before and after Bot provider V2 node. One for getting the input from Facebook and the other to Process the output sent to Facebook.
Design a flow as shown below.
...
For Facebook to verify Orbita’s callback URL
Add “http in” node with URL as bot/messenger dockflow and the Method: GET
Add a function node (named Verification node in the sample flow screenshot) with the following code.
Code Block msg.payload = msg.payload['hub.challenge'];
return msg;
Add the “http out” node to the flow.
Facebook Webhook Configuration
...
Click on “Add Subscriptions” button and check the messages and messaging_postbacks options. Click on Save.
...
The Webhooks should have a "Complete" status as shown in the screenshot below.
Build a flow in Orbita Experience Designer
...
Connecting the chatbot with Facebook messenger
Add “http in” node with URL as bot/dockflow and the Method: POST
...
FB input
Place the below code in this function node.if
Code Block |
---|
var _ = global.get('lodash') var text = _.get(msg.payload |
...
, "entry[0].messaging[0].message |
...
.text", ""); var senderId = _.get(msg.payload |
...
, "entry[0].messaging[0].sender.id", ""); var recipientId = _.get(msg.payload |
...
, "entry[0].messaging[0] |
...
else
.recipient.id", ""); if(text){ msg.payload.text = text } else{ msg.payload.text="Launch" |
...
msg.payload.fbSenderId = sid; } if(!msg |
...
.data){ msg.data = {}; } // while repling back to the messenger the senderId and the recipientId should be swapped. msg.data.senderId = recipientId; msg.data.recipientId = senderId; return msg; |
Process FB output
Place the below code in this function node. Replace the XXXXXXX in the code with Facebook’s page access tokenvar stripTags = Place the Facebook page Access token you generated when the page is connected to the Facebook App, in the code (denoted by XXXXXX)
Code Block |
---|
var stripTags = msg.payload.orbitaPayload.payload.multiagent.chat.chatText.replace(/<[^>]+>/g, '') |
...
msg.payload= |
...
{
...
{ "messaging_type": "RESPONSE", |
...
"sender": { "id": msg.data.senderId }, "recipient": |
...
{ "id": msg. |
...
},
...
data.recipientId }, "message": |
...
{ "text": |
...
}
}
stripTags } } msg.url = "https://graph.facebook.com/v4.0/me/messages?access_token= |
...
XXXXXX" |
...
msg.method = 'POST'; |
...
msg.headers = {}; |
...
msg.headers['Content-Type'] = 'application/json'; |
...
return msg; |
http request
Configure this the HTTP request node as shown in the below screenshot before connecting it to the “http out” node.
...
Sample flow
...
Import this flow to your Experience Designer to avoid the above steps.
Attachments | ||||||
---|---|---|---|---|---|---|
|
Setting up Facebook
In order to set up the Facebook integration for your agent, you'll need the following:
a Facebook page to add your chatbot
When a user visits your page and sends a message, they'll be talking to your chatbot.
Create a Facebook App
Log in to the Facebook Developer Console.
Click on My Apps in the upper right-hand corner.
Click on Create App
Select Manage Business Integrations and click Continue.
Add a display name and click on Create App.
Creating an App for the integration
Go to the App page and click on Settings > Basics.
Fill in the necessary details and click on Save Changes.
Ensure you have the following are populated and valid for the chatbot to work.
App icon
Valid privacy policy url
App purpose / Business use
App category
Adding messenger to your App
Click on Products from the side menu, select Messenger, and click on the Set Up button.
In the Products > Messenger > Settings page, click on “Add or Remove Pages” to add your Facebook page to the App.
Select the pages you wanted to add the chatbot to and click on Next.
Toggle the Manage and access the Page conversations on Messenger option to ON and click Done.
Access Token
In the Access tokens section of the Settings page, click on the Generate Token against the page you added.
Check the I Understand checkbox, Copy the token, and click Done.
Go to Experience Designer > FB Chatbot flow > Process FB output function node.
Replace the XXXXXX with the copied token in themsg.url
property.Click Done and Deploy the flow.
Webhooks
In the Webhooks section, click on Add Callback URL.
Copy your web chatbot URL and paste it here.
For example,https://<yourdomain>.orbita.cloud:8443/oeapi/bot/dockflowClick on Verify and save.
Facebook will post a request to the callback URL and the Verify Token will be auto-populated and saved in the Facebook app.
Click on the “Add Subscriptions” button and check the messages and messaging_postbacks options and click on Save.
You have now successfully connected your Facebook page messenger with Orbita’s chatbot.
Related articles
Filter by label (Content by label) | ||||||||
---|---|---|---|---|---|---|---|---|
|