Chatbots have recently become quite popular. They are being used by businesses to provide proactive assistance to their customers. They have grown and improved to capitalize on social media and messenger platforms. Most people haven’t openly identified the true potential of chatbots, so this article is designed to act as a guide to build chatbots on Engati Platform.

The number of businesses using chatbots has grown exponentially. Chatbots docked to Facebook’s Messenger have increased from 30,000 in 2016 to over 100,000 today. Every major company has announced their own chatbot and 60% of the youth population uses them daily.

These statistics prove that chatbots are the new-gen tech. No more waiting for the right time to incorporate them into your business. The time is now. By the year 2020, nearly 80% of businesses will have their own chatbot.

Billions of people are already using chatbots, so it’s time your business did too.

The Idea

Ever felt lost and directionless while in a huge mall?

This bot addresses this problem by providing a hyper-local map with the relative location of whatever brand/store, restaurant, restroom/elevator or mall-amenity the user wants to know. Apart from providing a catalogue of services and stores the mall can offer, the bot also serves a medium for Business to Consumer(B2C) Marketing for the brands/stores in the mall to broadcast their latest offers/sales. The bot also provides a functionality to contact the mall help-desk when desired.

Note — This bot is targeted for Phoenix Marketcity Pune, as a proof of concept , it only includes a set percentage of all stores currently in the mall.

Industry & User Segment

The bot is targeted for Malls/Supermarkets/Shopping Complexes.

This bot is aimed to provide assistance to all people visiting the mall regardless of age. Since, it provides an ability to explore an a huge area quickly, it will be of great use for tourists and first-time visitors who have no idea about the location of stores within the mall.

How does Engati work?

This is very simple — Engati offers two major functionalities to help create the bot- Paths & FAQs.

Paths can be defined as different waterfalls or flows which the bot can take. They define what the bot is going to reply to user in case of a specific intent.

For Eg- For a Restaurant Bot you may have paths like — View Menu, Order, Cancel Order, View Discounts, Track Order etc

FAQs define the many ways a bot could interact with the user. This functionality allows you to define various utterances/phrases for the defined paths.

For Eg- For a Restuarant Bot, to view menu you can have FAQs like — “Show me the menu”, “What cuisines do you serve?”, “Can I see the menu?” etc

Note — Apart from the mentioned functionalities, Engati also offers a lot of other smart features which we are going to find out about as we proceed.

Building the Idea

We started by charting out the various major features/information and functionalities the bot could offer to the user-

Given below is a brief list of functionalities of the bot-

Services & Stores Catalogue — Gives a carousel of services, stores and amenities in the mall.

Shop Categories — Gives a carousel of shop categories in the mall.

Eat/Restaurant Categories — Gives a carousel of the cuisines served at various restaurants in the mall.

Entertainment Categories — Gives a carousel of all cinema halls, bars and gaming zones in the mall.

Utilities Categories — Gives a carousel of all mall-amenities.

Offers — Gives a list of current offers in stores.(From Mall-Backend)

Help — Provides mall help-desk contact and services/stores in mall.

Defining Paths

We started out by covering basic features of the bot, but the platform’s rich features allowed us to create upto 20 paths covering almost all features we thought of comprehensively.

While creating paths we came across two cool features of the platform-

Add a Node — This basically allowed us to communicate with the user in every way possible.

Declaring & Accessing Variables — We can readily access variables with key user-data anywhere on the platform.

Defining FAQs

Now, this was a fun part. We had to define and train the bot with utterances/FAQs which will be used to trigger any of the paths we defined above.

This is how we did that -

The picture above shows some classified sample utterances for trigger paths.

Integrating Back-End with Engati

Get a full REST API for Consuming GET Request , Specially defined for Engati flavored Schema

Useful for developers who need a quick back-end for prototyping and mocking

Examples

Create a engati.json file

{ "data": { "type": "carousel", "templates": [{ "title": "20% Off", "image_url": "https://viditgupta.me/botimage/footwear/woodlandlogo.png", "buttons": [{ "payload": "https://viditgupta.me/botimage/footwear/woodlandmap.png", "title": "View Location", "type": "web_url" }] }, { "title": "Free Installation with Bravia", "image_url": "https://viditgupta.me/botimage/electronics/sonylogo.png", "buttons": [{ "payload": "https://viditgupta.me/botimage/electronics/sonymap.png", "title": "View Location", "type": "web_url" }] } ] } }

Start JSON Server

Now if you go to http://localhost:3000/data, you’ll get

{ "id": 1, "title": "json-server", "author": "typicode" }

Plural routes

GET /data POST /data PUT /data

Note — Find the barebone API at https://github.com/Ayushverma8/Engati-API-Starter and https://github.com/Ayushverma8/Engati-Server-with-Vue-and-Express

Configuring Channels

Once we were done building the bot, we decided to integrate and test it out on platforms like — Facebook Messenger and our own website.

Configuring Facebook Messenger as a channel took just 5–10 minutes, the bot was live in ASAP.

For adding the bot to our website, we just had to add a few scripts in the HTML code and it was up and running!

Analytics

What’s the point of creating a business bot if you can’t increase your conversion rate or retain customers?

Engati’s platform offers just the right tools to keep track of things like Button Actions, Most Frequent Messages, Messages Received vs Sent, Average Messages and Actions per user.

Main Takeaway