Apr

Building Facebook Messenger chatbot: what they forgot to tell you.

                                     

There are lots of written tutorials and online videos on this subject.

Yet many of them omit important details of the bot building process. These details may vary from one user to another and are difficult to describe in a unilateral fashion. Consequently it is easier for tutorial writers not to mention them at all. We try here to fill the gap and provide some additional clarity.

1. Creating Facebook app.

One of the first steps in building a Facebook Messenger bot is creating a Facebook App. It requires a business Facebook page. This might seem obvious to avid social users yet worth mentioning: a business Facebook page can only be created from a personal Facebook page. If you already have a business Facebook page move on to the next step. If you have a personal Facebook page go on and create a business page. If you are among the lucky ones that live without Facebook presence now is your chance to become like everybody else.

2. Getting SSL certificate.

Next you need to setup a webhook. Your web application is hosted on a web server and the webhook’s role is to establish connection between Facebook and your web application via your web server. In order for the webhook to work you need SSL certificate because Facebook supports only secure connections (HTTPS) to external web servers. So first, you need to purchase it. The costs change from one company to another but it is important to buy a reliable certificate otherwise Facebook might reject it. All major ISP companies offer SSL products. Second, you need to install it on your web server. The installation process can be tricky. Sometimes you can get technical help from the ISP company that sold you the certificate (as a rule of thumb, the bigger the brand the better their technical support is supposed to be. But the cost may be higher too). You can also rely on popular tools, such as keytool command utility, assuming you know how to use them. In any case, it might be a good idea to allocate several days, up to a week, for this step when planning your project.

3. Choosing the server environment.

Your options are (almost) unlimited. Many online tutorials use Heroku which is a cloud-based web application platform, but a simple Tomcat web server would suffice too. Your decisions should be based on your business requirements.  A lightweight server such as Tomcat is a good fit when it comes to web centric, user facing applications. If backend integration comes into play, a web application server should be considered.

Your choice of programming languages is also broad. PHP is one popular option, Java is another but the list by no means ends here. Your chatbot app communicates with Facebook using POST requests, so any language that supports web protocols will work. Again, make decisions having your business goals in mind.

Interested in reading more? Check out our other blogs:

OUR AWESOME CHATBOT FEATURES

NMODES chatbots and conversational AI solutions come with a unique set of features.

Our goal is to make it easy for businesses to create and manage chatbots. The features we offer are important for successful implementation of a chatbot not only because they significantly improve its quality, but they also allow you to edit your chatbot in natural language, without any need to have technical knowledge or AI specialist in the team. 

1. Free AI Training 

Our chatbot solutions come with free AI training for life.

We will train your chatbot and continue to enhance it indefinitely.
It is our responsibility to ensure that your chatbot has the updated natural language processing capabilities. It is also our responsibility to guarantee that it understands not only common language but also language that is specific to your business, such as names of the products, terminology used in your industry, inventory list, and more. 

Your chatbot will be interacting with the customers all the time. We will enable it to learn from these interactions continuously and improve its language understanding and responses as a result of this learning.

2. Editing in natural language 

We realize that AI is a complex body of knowledge and one of your biggest concerns is that you are not familiar with it well enough. We made sure that you don’t need to be technically savvy to successfully manage a chatbot. Using our simple and friendly online interface you can control your chatbot in real time using common natural language. No technical knowledge is required.

At NMODES we continuously improve our AI capabilities. We use our AI not only to make the experience of your customers, conversing with your chatbot, better, but also to make your own experience, conversing with our platform, better.

Eventually the platform will be able to interact with you fully in natural language. We are not entirely there yet (it is an immense task). Still, we hold true to our promise that there is no need in being technically savvy to operate our platform even today. When the platform does not understand natural language our highly trained specialists are always ready to take over and provide support.


3. Real time connectivity 

Often there is a need for chatbot to access structured data (such as inventory database) to answer customer’s question. We made it easy for your chatbot to create external queries in real time and modify the responses accordingly. Your chatbot is able to decide in the middle of the conversation, based on the information it received from your database, how to respond and how to proceed with the conversation.

These are the most exciting among the features we created so that our customers have easy and enjoyable chatbot experiences. But there are other features available: conversational templates, dynamic AI Engines clustering, multiple widget skins and more! Let us know if want to see the full list of features.

To learn about the core technologies required to build a chatbot check out this post:

READ MORE

CHATBOT PLATFORMS. How to choose the right one?

   
Chatbot platforms are essential tools if you need to build and run a chatbot.
There are many available on the market, big and small, popular and not so much.

Here are some useful thoughts that should help you navigate the complex world of chatbots and conversational AI solutions.

All chatbot platforms can be split into two categories: those that let you create chatbots without any programming, and those that require programming. Now, the idea that you don’t need to possess technical knowledge to build a chatbot seems appealing but the reality is not so rosy. In fact, I have yet to see a professional chatbot created without coding.
Chatbots rely on sophisticated algorithms and advanced knowledge of linguistics. These technologies are so complex that at the moment there are no plug-and-play solutions available. The companies like Chatfuel, Manychat, Flow XO and many others are attempting to fill that void and offer chatbot platforms that are simple in use. The best way to make the chatbot creation simpler is by dropping the need to code them. However this simplicity comes at a price: chatbots made without coding are limited, rigid and in general, primitive.
So to summarize: if you want to impress your girlfriend use Chatfuel. If you need a professional chatbot that delivers on your business goals and provides customer satisfaction use advanced chatbot platforms with programming capabilities.

One of the main, if not the main, tasks of the chatbot platforms is to connect your chatbot to the user interfaces. There are many ways for your chatbot to interface with the world: on Facebook messenger, on the website, on the mobile app, via SMS, on Twitter , on Skype, on Slack, on Telegram, and more. A good chatbot platform should seamlessly connect the chatbot to most of these channels. Chatbot platforms do not make your chatbot smarter. For this you need AI Engines (brief disucssion on AI Engines: http://nmodes.com/entry/2018/03/29/what-are-ai-engines-and-how-choose-one/).

For best results create your chatbot on a chatbot platform, then connect it to AI engine.

One of the top chatbot platforms on the market is Microsoft Bot Framework. It is robust, powerful, with a wide variety of useful functionality built-in. Another good chatbot platform is DialogFlow. DialogFlow has a slightly different architecture in the sense that it is a chatbot platform and an AI Engine all in one interface.

Chatbot platforms can be used to create conversation flow for your chatbot. There are several schools of thought here: some prefer to delegate conversation flow to AI engines. Chatfuel and other tools with the emphasis on simplicity (build your chatbot in minutes, no coding necessary) offer easy graphical interfaces for conversation flow creation. And there is always a reliable option to create conversation flow in an old-fashioned way, programmatically.

Which option to choose? Depends on your chatbot requirements and the business needs the chatbot is expected to address.And if you have questions feel free to ask: http://http://nmodes.com/contact-us/

READ MORE