Chatbot Designer – Xenioo Wed, 11 Jan 2023 16:06:21 +0000 en-US hourly 1 https://wordpress.org/?v=5.6.12 /wp-content/uploads/2022/02/cropped-badge_611x611-32x32.png Chatbot Designer – Xenioo 32 32 HOW TO build a complete food delivery chatbot (Part 1) /how-to-build-a-complete-food-delivery-chatbot-part-1/ /how-to-build-a-complete-food-delivery-chatbot-part-1/#respond Wed, 11 Jan 2023 16:06:19 +0000 /?p=9902 In our previous How To Build post series, we’ve detailed how to build a complete Q&A chatbot using Xenioo AI engine, database, and flow capabilities. In this first of two-part posts where I’m going to detail instead all the steps to build a complete Food Delivery chatbot. Thanks to Xenioo’s built-in AI, Database, and advanced Conversation features you’ll see how it is possible to realize such a powerful and smart chatbot without writing a single line of code. The How To ...

Read MoreHOW TO build a complete food delivery chatbot (Part 1)

The post HOW TO build a complete food delivery chatbot (Part 1) appeared first on Xenioo.

]]>
In our previous How To Build post series, we’ve detailed how to build a complete Q&A chatbot using Xenioo AI engine, database, and flow capabilities.

In this first of two-part posts where I’m going to detail instead all the steps to build a complete Food Delivery chatbot. Thanks to Xenioo’s built-in AI, Database, and advanced Conversation features you’ll see how it is possible to realize such a powerful and smart chatbot without writing a single line of code.

The How To Build posts series aims to show how a complete chatbot can be built using all of the available Xenioo features with the highest possible detail. By the end of each post, you will gain insight into basic and advanced Xenioo functionalities and be ready to try more complex approaches. All of the additional material used for these posts and the complete chatbot are made available here for download or inside the Xenioo templates section.

The case for a Food Delivery Chatbot

During the last two years, we’ve witnessed tremendous growth in e-commerce chatbots. By either working as “on the side” consultants or being the first line of sales, these chatbots are for all intent and purpose driving thousands of product sales. The Food industry, and in particular the home delivery services part of it, has definitely embraced this trend by acquiring all the good aspects of this kind of revolution:

  • Your chatbot can work with multiple customers simultaneously. You’re not missing any more phone orders because customers find a busy line and stop waiting;
  • If your restaurant is also serving seated customers, no one needs to answer any call and get distracted from regular service;
  • Orders are written clearly and checked multiple times by your customers. No more wrong orders because of over-the-line misunderstandings or badly written notes;
  • Your customers can update orders anytime, even after placing them, instead of calling your restaurant multiple times;
  • Doing some kind of promotion? Reaching out to your previous customers would be a lot easier than putting out paper fliers no one is reading.

If you feel like your business could benefit from one or more of these improvements keep reading as we’re going to build the definitive food delivery chatbot!

Building our chatbot

The first step for building a successful chatbot is to have a list of the main features we’ll need to implement so that we know how to set up our flow. A food delivery chatbot needs to be capable, at the very least, to:

  1. Take orders from customers using a free dialogue approach;
  2. Allow customers to review, edit and confirm their orders;
  3. Take direct payment from our customers;
  4. Get customer location to set up a delivery route;
  5. Engage with our delivery personnel, dispatching orders and routes;
  6. Let the customer check the order state;
  7. Collect service feedback after the order has been delivered;
  8. Signup our customers for a promotional campaign so that we can engage them with new offers;

Not a bad list of features right? Now let’s see how we can tackle all of these points with Xenioo: let’s create a brand new chatbot in our account and let’s start building!

Creating our Food Menu

In order to allow our chatbot to get orders we need to first create some kind of menu. Our menu will contain all of the information about each and every food served by our imaginary restaurant.

To create our menu we will use all the power of the Xenioo Database feature: we’ll store in our menu collection all of the information we need to display, search and categorize the food we sell.

Let’s head to the Database section of our brand new chatbot and create a new collection named “menu”. We will be adding to menu items data such as name, description, price (obviously!), image, and, since we’re at it, also possible intolerances that our customers may be worried about.

Using the group property of our collection fields we’ll make sure to split our data into different sections so that Xenioo will build a nice data-entry form for us, without writing a single line of code. Once our collection is created we can head to the add new button and select “Add new record with form” to start our data entry.

Xenioo has automatically built for us a complete data entry form with the right input control for each of our fields. Boolean fields are shown as checkboxes, numeric fields have already set decimals or whole numbers and file type fields can manage your attachments and automatically store them in your account storage. All we have to do now is add all of our menu items.

As we have seen also in our previous Let’s Build Post, records can be exported and imported directly using simple CSV files. This makes it incredibly easy for you to manage your data: if you happen to have already a menu in an excel format or, later on, if you wish to maintain your whole food offering using excel. Better yet, if you do not wish to create collection fields manually, you can just import your CSV file directly and Xenioo will import all columns as fields and do all the heavy lifting for you.

Using Xenioo granular users permissions activated by the Pro Team package, it is also possible to create a user that can access only the Database section of the chatbot. Just imagine building a chatbot for your restaurant customer and then giving them a full back office to let them maintain their own data. How much development time would software like this take usually?

Training our NLP Model

Once we’re happy with our menu data we can move on to training our NLP model. What we’re going to do next is basically teach Xenioo how to handle the different requests that may come from our customers. To do this, the first thing to do is to move to the AI section of our chatbot and create a brand new intent.

Within a chatbot, intent refers to the goal the customer has in mind when typing in a question. For our restaurant, the very first intent will be “Food Ordering”.

Let’s go ahead and create the intent by clicking on the add intent button. All we need to do now is just give it a name and click on Save. We’ll be back later to add more details.

Once our intent is created let’s double-click on it to move to Expressions editing. In an intent, expressions are the utterances we’re expecting our customers to use to express their goals. We can set up some typical examples now and fine-tune our training later, even while our chatbot is live.

For our restaurant, a Food Ordering intent may have expressions such as “I want a pizza” or “I would like two margherita and a blonde beer” and so on. Let’s add some typical expressions to our expressions list.

You don’t really need to think of all of the possible ways your customers may order food. Just write some of the most typical and the Xenioo engine will be capable of understanding also expressions that diverge from what you’ve entered.

Of course having our chatbot understand our customer’s expressions is just half of the job: what we really need is to understand what exactly they are asking for. Is it a pizza? If so, what pizza? Do they want a beverage? What exactly do they want to drink?

The information that can be found inside an expression is called Entity. An entity represents a value that can be extracted from the expression and later used by your chatbot. For example in the expression “I want a pizza margherita” what we really need to know is that the required pizza is Margherita and that our customer wants just one.

Usually, we would just go ahead and click on the parts of the sentence that may represent our entities but since we already built our menu we could make things even faster and use our database as an entity list. Let’s move to the Entities section and create a new entity called “food” where we say that the data is coming from our collection.

All that we need to do here is select our collection and pick which fields we would like to represent the possible entity name and the possible synonyms of our entity. Once we’re done with the creation we can just hit save to confirm our entity.

Now, all we need to do to make Xenioo apply our entities to our expression is head to the Train & Test section. After a very short while, Xenioo will finish modeling our expressions. If we go back to our Food Ordering intent and double-click on it we’ll see how our expressions list has changed.

As you can see now some of our words are highlighted. That is Xenioo showing that some of the words are now recognized as entities. It means that the values that will be found will be made available to our chatbot during the flow.

Let’s try our NLP training by clicking on the Train & Test section again. On the input box, to test our training, we type “I’m eating a margherita and a cold blonde”. Press enter or click on Evaluate Expression to see the results.

The sentence is way different from any other we’ve been training but still, Xenioo manages to get a 61% score best of all, as you can see, we get our food recognized automatically. If we were in a real conversational situation, $food and $food2, our entities, would be available to our chatbot as standard variables, ready to be used in any part of the flow.

Speaking of flow, it is time to move to the build section and start creating our chatbot!

The post HOW TO build a complete food delivery chatbot (Part 1) appeared first on Xenioo.

]]>
/how-to-build-a-complete-food-delivery-chatbot-part-1/feed/ 0
How to create a basic WhatsApp Chatbot /how-to-create-a-basic-whatsapp-chatbot/ Wed, 18 Nov 2020 17:50:28 +0000 /?p=3519 WhatsApp is one of the most used messaging channels in the world and WhatsApp chatbot is the new revolution around the corner. In fact, WhatsApp has over 2 billion users around the globe. But did you also know that you can automatically chat with your customers via WhatsApp? That you can have one-on-one conversations with your customers, at scale? If you didn’t, it is possible. And in this article, I will explain what WhatsApp chatbots are, why you need to ...

Read MoreHow to create a basic WhatsApp Chatbot

The post How to create a basic WhatsApp Chatbot appeared first on Xenioo.

]]>
WhatsApp is one of the most used messaging channels in the world and WhatsApp chatbot is the new revolution around the corner.

In fact, WhatsApp has over 2 billion users around the globe.

But did you also know that you can automatically chat with your customers via WhatsApp? That you can have one-on-one conversations with your customers, at scale?

If you didn’t, it is possible.

And in this article, I will explain what WhatsApp chatbots are, why you need to use them, and how you can create one yourself using Xenioo.

YouTube Video

What is a WhatsApp Chatbot?

A WhatsApp chatbot is an automated conversation partner on WhatsApp.

Usually, when you chat on WhatsApp, you are chatting with another person. But with chatbots, this is different. Because you are not talking with another person, but with a computer.

The benefits of a WhatsApp Chatbot

Because you can automatically talk with your (potential) customers, you can have one-on-one conversations, at scale.

This means that your chatbot can have personalized conversations with each one of your users and it could be talking to thousands of people at the same time.

So, what are the benefits of such a WhatsApp chatbot?

First of all, a WhatsApp chatbot can have a significant impact on your customer service. For example, you can drastically reduce your customer service costs. Your customer service probably handles a lot of standard questions every day and it is proven that 80% of these questions can be easily answered by a chatbot. Besides, your chatbot can reply in seconds to customers’ questions instead of hours (or even days). Moreover, your chatbot is always available. Instead of using live chat where a customer needs to wait on an available live chat agent, you can use a chatbot that is always ready to respond to questions.

Secondly, you can boost your sales by using a WhatsApp chatbot. With a chatbot, you can directly sell your products to your customers and let them pay via the chatbot. Think of it as like an eCommerce store inside your chatbot. Another way would be to promote your products and services via the chatbot.

The third benefit of chatbots is that they can automatically qualify your leads, which is especially useful for B2B companies. In most B2B companies, there are some qualification rules to determine whether a lead could become an actual client. They ask questions like:

  • What industry are you in?
  • How many employees does your company have?
  • What is your role inside the company?

But often these questions are asked by humans. But why would you not automate this? The chatbot can ask these qualification questions and if the lead is qualified, he/she will be forwarded to a sales agent (that can close the sale).

So in short, a chatbot:

  1. Can have personalized conversations, at scale
  2. Drastically reduce your customer service costs
  3. Can reply to your customers in seconds
  4. Is always available for your customers
  5. Increase your sales
  6. Automatically qualify your leads

Why WhatsApp is the best platform to engage users

So now we know why we need to use a chatbot, why should we put it on WhatsApp?

As said before, WhatsApp has over 2 billion users worldwide.

From these 2 billion users, 1.6 billion access the app on a monthly basis. This results in 65 billion WhatsApp messages that are sent on a daily basis.

With so many people on one channel, it is safe to assume that your customers are also using it.

And you need to be on the channels where your customers are.

Different types of chatbots

In general, there are two types of chatbots:

  1. Standard-guided chatbots
  2. Pure conversational chatbots

Or you can have a mix of both (probably the best way).

Standard-guided chatbots

Standard-guided chatbots are chatbots that are mainly based on rules. These chatbots often use buttons to guide the user to a specific part of a conversation. Also, the user often cannot talk freely to the chatbot, because the chatbot is not smart enough to handle it.

Benefits of standard-guided chatbots

  • Good for qualification of leads
  • Control of the conversation flow

Drawbacks of standard-guided chatbots

  • Falls short when users want to ask questions freely
  • Can lead to frustration

Pure conversational chatbots

Pure conversational chatbots are more advanced types of chatbots. They can understand the intent of the user and the context of the conversation, by using Artificial Intelligence techniques. With these types of chatbots, the user can ask anything they want, and the chatbot probably often provides a good answer or redirects the customer to a live chat agent.

Benefits of pure conversational chatbots

  • More natural conversations
  • Chatbot can understand the intent of the user
  • Chatbot can understand the context of the conversation
  • Users can ask more advanced questions

Drawbacks of pure conversational chatbots

  • Higher costs, because of Artificial Intelligence techniques
  • Development of the chatbot takes longer

Create your First WhatsApp Chatbot

So, now we know why we need to use a WhatsApp chatbot, let’s create one ourselves using Xenioo.

And as an example, we will create a chatbot for a Pizza restaurant.

First, go to the Xenioo console and log in with your account credentials.

(If you don’t have an account yet, you can create one here).

When you are logged in, you can click on Create New Bot:

This will automatically create a standard chatbot flow for you, which should look like this:

So, let’s start by editing the name of this flow to “Welcome Message” by clicking on the gear icon on the top-right corner. Then, you can just type in “Welcome Message” and hit Save

Before we are proceeding, I recommend that you already create three chatbot behaviors in Xenioo. You can do this by clicking on the Add new behavior icon in the top-center:

What are these chatbot behaviors? These are for:

  • Ordering a pizza
  • Making a reservation
  • Showing the menu

Now, head back to the Welcome Message behavior and go to the Start Interaction. You can just change the text by clicking on the element and type in a new message in the right panel and clicking on Save:

Then, we need to make three buttons for the Order pizza flow, Make a reservation flow and Showing the menu flow.

We can do this by clicking on the gear icon of the start interaction and then clicking the Add new action

Here, you can select the Quick Reply Button:

Next, you can set the text of the button with Button Title and set the “Go To Operation”, which will move the conversation to another interaction:

NOTE: WhatsApp doesn’t support showing buttons. Instead, the buttons are shown as plain text as “If you want to go to the menu, type in 1”. 

Now you can do the same for the Making Reservation button and Menu button, so it looks like this:

Before we move on, I want to tell you about two awesome features of Xenioo regarding buttons.

The first one is called the “Alternate text”, which displays an alternate text for text-based channels (such as WhatsApp). 

So one a more visual channel (like Facebook Messenger), Xenioo will show the Button Title, but if you have set the “Alternate Text”, this will be shown on WhatsApp:

With this example, the button on Facebook Messenger will show ‘Menu’, while on WhatsApp it will show “See our menu”.

The second feature is called “Trigger Text expression”. Let’s say the user chooses not to use the buttons, but instead just types in “menu”. Then, your chatbot will break (because he is not familiar with that). This feature fixes that, so if the user types in “menu”, it will go to the appropriate flow:

Now, let’s first create the ‘easy’ flows: Make a reservation and showing the menu.

The Make a reservation flow is also pretty straightforward for this tutorial, just tell the user that they can make a reservation via a phone call or your website:

With the menu, we need to change the text and add the File Download action:

If you select this, you can set the URL of the your Restaurant menu:

So the Menu flow looks like this:

Next, we are going to do the more advanced part: Ordering a pizza.

Before we are going to deep dive into this flow, start by creating five interactions and name them like this:

  • Check on toppings
  • Check on size
  • Pizza with topping and size
  • Pizza confirmation
  • Start over

You can do this by clicking on the Add new interaction icon in the top-center:

And naming them accordingly by just clicking on them and changing the Name:

Now, head back to the Start interaction of the Order pizza flow and start by asking a question:

NOTE: We will handle the response to this question later on in the NLP part, so don’t worry about that now 😉

Next, we are going to set the actions for the “Check on toppings” interaction. This interaction will check whether the user has typed in a topping. If the user has filled in one, we will move on to the next interaction and otherwise, we will go back.

We can do this by selecting a Variable Switch as action (Under the ‘Flow’ section):

And check whether the topping has any value:

By the way, ‘topping’ is a variable name I created. You can just type in a variable name and click on “Add new variable” and Xenioo will automatically create it.

Accordingly, we need to determine what happens if the topping has a value. And we can do this by clicking on Add operation and select the Go To Bot interaction:

The Go To Bot interaction will redirect the conversation flow to the next interaction (Check on size):

But what happens when the user didn’t type in a valid topping? Then, they will go back to the previous question (using another Go To Block action):

With the next interaction (Check on size), we are doing a similar thing, but then we check on the size of the pizza, instead of the topping.

So, we will add a Variable Conditional Switch to this block that checks on the size:

If the size already has a value, we continue with the “Pizza with topping and size” interaction, and otherwise we are going to ask a question.

NOTE: Now, you might be thinking “Huh, but we didn’t ask for the size, yet?” That is completely true! We will cover this in the next section where we will handle the NLP part of our chatbot 😉

Now, let’s create the question that asks for the size of the pizza. You can just add the Text action and type in “What size pizza do you want?”:

Then, we need to add three buttons for “Small”, “Medium” and “Large”, which all go to the next interaction. For each of the buttons, click on Add Operation and select Set User Variable (under Profile):

We can use the Set User Variable to change the variable size to small:

NOTE: Don’t forget to also add the Go To action, which makes sure the flow goes to the next interaction (“Pizza with topping and size”)

Now, you can do the same for the Medium and Large buttons, so it looks like this:

Lastly, we need to ask whether the user is satisfied with the chosen toppings and size of the pizza. You can do this by adding a Text action and two buttons for Yes and No.

Afterwards, you can connect the buttons to the right interactions. If the user is not satisfied with the pizza, the chatbot can start over again by connecting the “Start over” interaction with the first interaction.

Because we already covered all the things you need to know to do this, I assume you can handle this yourself 🙂

Here is the final flow of the Order pizza behavior inside Xenioo:

Use NLP to make your chatbot smarter

What we’ve created now, is what you would call a standard-guided chatbot.

But, as you might remember, we still need to handle the input for the toppings and size of the pizza, so that people can just type in what pizza they want.

We can do this by using the NLP feature of Xenioo

Thus, let’s start by creating an intent. An intent is an action your user wants to do, such as ordering a pizza. So let’s create an intent for exactly this.

In Xenioo, you need to go to the AI section and then click on Add intent:

Here, you can type in the name of the intent and click on Save:

Next, we need to give the chatbot certain training phrases, so it knows when this intent is triggered. You can do this by just typing in phrases and hitting Enter:

Then, we need to make sure that the chatbot understands the difference between a veggie pizza and a mozzarella pizza. We can do this by using entities

Entities are useful facts the user is saying, such as the size of the pizza or the kind of topping they want. In Xenioo, you can just click on one of the words and tell Xenioo it is a size:

And you can do the same for toppings:

You can extend these entities, by going to the Entities section, click on the three dots and choose for “Edit”:

Here, you can extend the entity values. For example, for topping you add more toppings, such as:

  • Beef
  • Sausage
  • Bacon

And we can also do that for the size entity:

But, how are we sure that this is actually working? By using the Train & Test feature of Xenioo. You can just type in a sentence and Xenioo will give you the matched intent and entities:

There is just one last thing, how do we use this inside our chatbot flow?

Go back to your Order Pizza behavior and choose for the Start interaction. There, insert a new action called NLP Input (under Input):

Then, you just need to make sure that if it matches the Order Pizza intent, that it automatically goes to the “Check on size” interaction:

Chatbot Fallback: What to do if the chatbot doesn’t understand the user

But what happens when the chatbot doesn’t understand the user?

Then, you need to make sure that there is a human that can ensure a good user experience.

And I have written a full guide on this, that you can read here.

Deploy your chatbot on WhatsApp

Now we’ve created our complete WhatsApp chatbot inside Xenioo, we can deploy it on WhatsApp.

And Xenioo does provide a lot of direct integrations with WhatsApp service providers.

One of them is Kaleyra Cloud, which is the one we are going to use in this tutorial, and one of those providing WhatsApp Business API integration.

So, if you don’t have an account on Kaleya Cloud yet, I recommend you to create one

First, we need to go to our chatbot in Xenioo and click on Publish:

Here, you can choose for WhatsApp (Click on Settings under WhatsApp):

Then, we can select Kaleyra Cloud as our provider:

As you can see, we need some information of Kaleyra to get this to work, so let’s get it.

If you log in at Kaleyra, go to Developers and click on Create API Key:

Then, a pop-up opens and you can give it a title and click on Save:

If everything went good, you must get the following confirmation:

NOTE: I recommend to click on “Download” to make sure that you have stored your API key securely (we need this in the next steps).

Next, we need to go to Channels → WhatsApp → Click on Manage:

Then, choose for Configuration and click on Add number:

Here, you need to specify the number you are going to use on WhatsApp and the incoming URL (which is the “Hook URL” inside Xenioo):

Then, if we go back to Xenioo, we need to fill in our:

  • Sender phone number
  • API Key
  • Account SID 

If you have done this, you can click on Save:

And that’s it! Now, your chatbot is working on WhatsApp!

How it looks on WhatsApp

And here is how it looks on WhatsApp:

That’s it

That’s it! That’s how you create a basic WhatsApp chatbot with Xenioo.

Next article we’ll continue with that basic chatbot enhancing it with new options and make it ready for production.

Have any comments or would like to discuss Xenioo and chatbots?

Join the Facebook group and let us know!

The post How to create a basic WhatsApp Chatbot appeared first on Xenioo.

]]>