Azure Bot Service: Building Facebook Messenger Bot
Introduction
Azure Bot Service is an intelligent, serverless bot development service introduced by Microsoft Azure on Azure Portal. This service is used to develop conversational bots with the help of various templates, cognitive services by Microsoft.
The Bot Application runs inside an application, like Skype, web chat, Facebook, Message, etc. Users can interact with bots by sending them messages, commands, and inline requests. You control your bots using HTTPS requests to the bot API.
https://3.bp.blogspot.com/-fzkAhdY6edc/XDANE7z9leI/AAAAAAAAUTE/qbXKR_p9ks0BiLXtvzVsFwXPdfrRtxrJwCLcBGAs/s400/FacebookBot.gif
The better the visibility, the higher will be the chance of customers making a purchase. Unlike other bots which are available on business web pages which provide visibility only to the customers visiting their site, a Facebook bot is very easy to find. It is visible to around 1.3 billion users of Facebook. A Facebook bot interacts very well with customers. It can receive and send messages, images and provide clickable buttons like Buy Now. In this article, I am going to show how we can connect Facebook Messenger's channel and integrate Bot Application to the Messenger app.
Create FAQ Bot
We are not going to write any coding to implement Xamarin FAQ Bot but be ready with what are the question and answer to train the Bot. I have already created 7000+ more Xamarin Q A as a word document, we will use the same document for upload and train knowledge base you can refer to my previews article to create and build a Xamarin FAQ Bot using Azure Bot Service and deploy it into Azure. I am not using any coding for developing the Bot Application, you can follow the provided steps in the article to create and deploy FAQ Bot.
Setup Facebook Page
We can implement a Bot Application to the Facebook page. You can create a Facebook page or select an existing page and navigate to “About page” to find and copy the Page ID.
Log in to Facebook App
Create a new Facebook App on the Page and generate an App ID, App Secret, and Page Access Token for integrating the Bot to the page messenger. You can click on “Skip and Create APP Id” from the following screen.
Create New App ID
Provide display Name and Contact Email to integrate Bot application and click on Create.
After clicking on the Create button, it will navigate to App dashboard screen. The side navigation menu having Settings > Basic and copy the APPID and APP Secret. Provide the Privacy URL, Terms of Service URL, App icon and Select Category.
Setup Message
Select the Dashboard and click on the Setup button from the messenger group.
Create Page Access Token
Select Settings from the Messenger side navigation menu. To generate token, you can select the Page and generate the access token and copy the page access token.
Setup Webhooks
Click Set up Webhooks to forward messaging events from Facebook Messenger to the bot.
Provide the following callback URL and Verify token to the webhooks setup page and select the message, message_postbacks, messaging_optins, and message_deliveries subscription fields. The following two steps will show how to generate Callback URL and verify token from Azure portal.
You can click on “Verify and Save “and select the Facebook page to Subscribe the webhook to the Facebook page.
Connect Facebook Channel
Step 1 - Login To Azure Portal
Login to Azure portal > Select the “All Resources” > Select Channels > Select Facebook Messengers. Let us start to configure the “Facebook Messengers“ Channel and follow the below steps, at the end of this article you will be able to deploy the Bot into the Facebook messenger.
Step 2 - Generate Callback URL & Verify Token
The Azure Facebook configuration channel will generate the following Callback URL and verify token. You can copy that information and paste to the Facebook webhook setup screen. (Return to the Facebook messenger setup screen).
Step 3 - Enter Facebook Messenger Credentials
You can paste the Facebook App ID, Facebook App Secret, Page ID, and Page Access Token values copied from Facebook Messenger previously. You can use the same bot on multiple Facebook pages by adding additional page ids and access tokens.
Submit for Facebook Review
Select App preview and Click and Submit for review. After submitting it will take some time for the Facebook team to test the messenger bot and you can mark your app live available to the public, then you can test a messenger from the Facebook page.
Facebook Team review and Testing
You can verify Facebook team testing progress, navigate to your Facebook page and Click on Inbox and verify, if there is any problem to the messenger bot, the Team will update the bug list from App review screen.
Xamarin FAQ Messengers testing
You can select your Facebook page and test your bot application. I have trained 7000+ more questions to the Facebook messenger bot from Xamarin Q&A Page if you want to look at the Xamarin FAQ demo. Navigate to Xamarin Q & A Facebook page and ask your Xamarin related questions.
Summary
In this wiki, you have learned how to integrate bot application into your Facebook Page via Azure Microsoft AI. If you have any questions/feedback/issues, please write in the comment box.