How Much Does It Cost To Build A Chatbot In 2020?

, , ,

We are often asked this question by clients looking to start their first chatbot project. Like most software projects the price really depends on the scale and complexity of the project. This will govern the effort involved in building a chatbot.

So, let’s take a look at the key drivers impacting the price for custom chatbot development.

Channel

The first one is the channel in which the bot should function. By this, I mean where the bot will be used. It could be as a website widget implemented as a popup interface or webpage (You can learn more about webpage chatbots here) or deployed into existing messaging platforms. Facebook Messenger, WhatsApp (read more about WhatsApp chatbots here), Microsoft Teams, Slack, Telegram, Viber are just a few examples with some providing more complex UI elements which can be utilised in your bot. Other obvious channels to deploy a chatbot are voice; Google Assistant, Alexa or even IVR systems can often use the same conversational engine as your text-based chatbots.

For our custom chatbot integrations, we normally provide one channel with the project and then charge per extra channels as required. We’ve found that our clients will often want a web-based chatbot first and role out the chatbot onto different channels. It really does depend on the type of project. Extra channel costs can be in the region of £500-1500.

There are a number of really good chatbot building platforms for creating simple UI chatbot interfaces such as Botstar, Chatfuel and Manychat; these offer some free templates and the ability to create chatbots which can be deployed to specific channels, for example, Facebook Messenger (our Carly chatbot is a great example of a Chatfuel bot). These Bot building platforms offer some good features: Visual Flow Editors, APIs & Webhook Integrations, Templates, Broadcasting etc. However, in our experience, we have found that even with free templates there is always some costs due to setup and minor customisation to attain the maximum chatbot behaviour. Our minimum price is around £700 with some monthly costs for hosting and chatbot management and training.

Features

Depending on which channel the bot will work in there is also scope to provide other functionality such as voice capability for web chatbots or enhanced chatbot interface features. Again costs depend on the amount of complexity and effort involved in building each feature. As an example adding voice interaction capability to a Web chatbot would be £600. Human-agent handover or WhatsApp integration is also a popular feature.

Natural Language Ability

If a chatbot is required to support more complex natural language processing(NLP- you can read more about some of the tech terms here) features and not just UI elements such as buttons then this will mean that additional effort is needed to train the bot and design and implement a more complex conversational flow. These sort of bots start at around £1500. We utilise the best of breed cloud NLP solutions for these types of projects. In particular, we use Google Dialogflow as we are Google Tech partners and experts in Dialogflow.

Conversation skills

The complexity, scope and volume of the required conversational ability effects cost. This relates to specifics such as:

  • The number of branches in the conversation tree.
  • Quantity of questions that have to be handled by the chatbot which can often be in the 1000s.
  • The numbers of training phrases needed; this can improve the accuracy of the chatbot, (you can read more about training data here)
  • The complexity of conversational ability ie. support for complex user enquires.

So chatbots which combine richer elements with complex conversational ability can be in the region of £1500 – £3000

Languages

Chatbots are capable of supporting different languages, as long as these are supported by the NLP engine it’s possible to add different language permutations fairly easily. However, each language will need its own testing so costs can be in the region of £600-1000 for each language depending on the size and complexity of the conversational ability.

Integration

Connect to existing systems, APIs, RPA, and knowledge bases

The other area which will impact cost is dependent on the planned role of the chatbot: what the chatbot will need to do carry out its role? Will the chatbot need to integrate with current systems to provide its responses? Will it need to hand over to live agents? Connect with CRM and ticketing solutions? Some chatbots may need to carry out complex interactions to provide answers to customer queries. Chatbots can leverage other AI systems to provide relevant information to govern conversational flow. For example, sentiment analysis.

With so many possibilities for chat bot features It’s hard to estimate the price here, but as a rule, these types of chatbots cost from £4000.  For each integration, we would suggest a cost of £1000-2000 it really depends on the amount of development effort required for each one.

Deployment

Security

Often security demands for a chatbot project need specific features, for example, Hippa compliance. In these cases SSO, RBAC, and on-prem or private cloud deployment can be used to ensure compliance with company security policies. These can have an impact on overall project costs and again, costs are based on the demands of a specific project.

Maintenance

We offer our chatbot solutions based on a SAAS model. Costs incurred tend to be based on a yearly subscription and again depend a lot on the scale and complexity of the chatbot. These monthly costs will cover some of the following:

  • Daily supervised learning and improvements.
  • Monitoring conversations and confirming qualified intents as well as checking for unmatched intents and fixing them as needed.
  • Post-development support.
  • Third-party and integration maintenance. Making sure your bot is performing well and healthy!
  • NLP costs(if applicable).
  • Hosting and data storage.
  • Chatbot reporting interface.

As a rule, maintenance subscription costs tend to be in the region of 10-15% of initial implementation costs per month.

Flexibility

As you can see, the cost of a chatbot project can vary widely depending on the features required. Each chatbot project is different.

It’s worth keeping in mind that the cost of a capable chatbot does not have to be prohibitive and it’s often a good idea to start small and add features as business needs require them.

At The Bot Forge, whatever the cost we propose for your chatbot project our aim is to create value for your business and hopefully form a long-lasting relationship.

The Bot Forge are always available to discuss further improvements and functionality to add to your chatbot or just to talk to us about your next great idea.

Training a chatbot

,

Training data for chatbots.

I’m going to look at the challenges in creating a chatbot which can answer questions about its specific domain effectively. In particular, I’m going to look at the challenges and possible solutions in creating a chatbot with a reasonable conversational ability at their initial implementation.  Every chatbot project is different but often clients come to us with a large knowledge base which they want a chatbot to support from its release but with very little training data.

We are going to concentrate on a Dialogflow project to look at some examples however the challenges and solution are similar for all the most well know NLP engines, Watson, Rasa, Luis etc.

The Challenge

One of the key problems with modern chatbot generation is that they need large amounts of chatbot training data.
If you want your chatbot to understand a specific intention, you need to provide it with a large number of phrases that convey that intention. In a Dialogflow agent, these training phrases are called utterances and Dialogflow stipulate at least 10 training phrases to each intent.

Depending on the field of application for the chatbot, thousands of inquiries in a specific subject area can be required to make it ready for use with each one of these lines of enquiry needing multiple training phrases.

The training process of an ai powered chatbot means that chatbots learn from each new inquiry. The more requests a chatbot has processed, the better trained it is. The NLU(Natural Language Understanding) is continually improved, and the bot’s detection patterns are refined. Unfortunately, a large number of additional queries are necessary to optimize the bot, working towards the goal of reaching a recognition rate approaching 90-100% often means a long bedding in process of several months.

Data Scarcity

One of the main issues in today’s chatbots generation is that large amounts of training information are required to match the challenges described previously. You have to give it a large number of phrases that convey your purpose if you want your chatbot to understand a specific intention.

To date, these large training corpus had to be manually generated. This can be a time-consuming job with an associated increase in the cost of the project. One of the main issues we have faced is that often clients want to see quick results in a chatbot implementation. These types of chatbot projects are often use cases which are providing information regarding a wide-ranging domain and may not necessarily have a lot of chat transcripts or emails to work with to create the initial training model. In these cases there is often not enough training data and so it takes time to get decent and accurate match rates.

The Solution

THE BOT FORGE PROVIDES
CHATBOT TRAINING DATA
CREATION SERVICES

The Bot Forge offers an artificial training data service to automate training phrase creation for your specific domain or chatbot use-case. Our process will automatically generate intent variation datasets that cover all of the different ways that users from different demographic groups might call the same intent which can be used as the base training for your chatbot.

Multi NLP platform support
Multi-language support

Our training data is not restricted solely to Dialogflow agents, the output data can be formatted for the following agent types:

  • rasa: Rasa JSON format
  • luis: LUIS JSON format
  • witai: Wit.ai JSON format
  • watson: Watson JSON format
  • lex: Lex JSON format
  • dialogflow: Dialogflow JSON format

We provide training datasets in 100+ languages

We offer our synthetic training data creation services to our chatbot clients. However, if you already have your own chatbot project and just want to boost its conversational ability we can provide synthetic training data to meet your needs.

Testing the Solution

We wanted to test the effectiveness of using our synthetic training data in a Dialogflow chatbot agent by varying the number of utterances per intent using our own synthetic training data.

Dialogflow test agents

We carried out three different tests (A B and C) with 3 separate Dialogflow agents. Each agent had identical agent settings. The agents had 3 identical intents to provide information about the topic of angel investors:

  • what_is_an_angel_investor
  • what_percentage_do_angel_investors_want
  • do_angel_investors_seek_control

In the first test (A) the chatbot was trained with 2 hand-tagged training phrases (utterances) per intent. Test (B) had 10 training phrases from our own synthetic training data per intent and test (C) had between 25 and 60 training phrases per intent.

The Test

We tested each agent with 12 separate questions similar to but distinct from the ones in the training sets.

We didn’t carry out any training during testing once the chatbots were created.

We recorded the % of queries matched to the correct intent, the incorrect intent or no match and also the intent detection confidence 0.0 (completely uncertain) to  1.0 (completely certain) from the agent response.

Overall test results

View the results here

% correct match rate

% incorrect match

%no match

Average Intent Detection Confidence

Test A (2x utterances)50%42%8%0.6437837225
Test B (10x  utterances)91%9%0%0.7590197883
Test C (25-60x utterances)100%0%0%0.856748325

Test A provided a 50% match rate. We observed a significant improvement in test B with the introduction of some of our synthetic training data to the agent. We were able to improve the match rate from 41% to 91% whilst TestC with 25-60 training phrases enabled a match rate of 100%. The average intent detection confidence also grew

In summary, chatbots need a decent amount of training data to provide accurate results. If there is not enough training data then a chatbots accuracy is affected and it can take some time to train it whilst being used to reach acceptable performance levels. At the same time, it can be costly and time-consuming to create training data for a chatbot needing to handle large numbers of intents.

Our synthetic training data creation service allows us to create big training sets with no effort thus reducing initial costs in chatbot creation and improving the usability of a chatbot from the initial release stages. If you only have a limited number of training phrases per intent and have large numbers of intents, our service is able to generate the rest of variants needed to go from really poor results to a chatbot with greater levels of accuracy in providing responses. We have carried out these tests with Dialogflow, but our conclusions are relevant for ML-based bot platforms in general. We can conclude that our Artificial Training Data service is able to drastically improve the results of chatbot platforms that are highly dependent on training data

Chatbot Training Never Ends!

I’ve looked at the benefits of using our training data at the early stages of a chatbot project. However, it’s important to note that the key to success, in the long run, is to constantly monitor your chatbot and continue training to get smarter. Either by doing constant training with human effort or by scheduling regular training cycles, incorporating new utterances and conversations from real users.

If you want to know more about our chatbot training data creation services get in touch

Appendix

View the test results here

A website chatbot to help with your business problems

,

Why create a customer support chatbot for your website.

Is your business a victim of poor customer support, slow response time, and high customer demands?

You can use a website chatbot to increase customer satisfaction and retention. Lets have a look at the problems a chatbot can solve and how a chatbot would work on your website to meet your customer service demands.

Your customers demand faster support.

As a rule, people don’t like waiting.  Keeping people waiting to get initial help can be very damaging to customer experience and directly influence customer retention.

Speed of response and speed of resolution are seen as the most important aspects of the
customer service experience, regardless of channel.

Long queue of customers waiting?

In order to help a customer effectively, your support agent can speak to at most 2 users at a time.
Many queries still come in via email which can be time-consuming and often sit unanswered over long periods of time.

These types of support queries can often be handled by a website chatbot which can tap into your company knowledge base and provide support 24/7

You are spending 1000s of pounds on customer support?

Do you have a skilled but overstretched customer support team? Or you have outsourced it to an agency which doesn’t even understand your business or products?

You are struggling to deal with the more complex queries because your staff are bogged down with simple customer questions which could be handled by a website chatbot.

Generate some leads whilst you provide effective customer support.

Are you looking for new ways to generate leads, turn website visitors into customers without annoying them?

In an oversaturated market, it’s best to bank on customer service as a predictor of
customer loyalty. Companies that invest in good support not only gain through
increased loyalty and more successful upsells but also through new customers.

How does a website chatbot work?

At The Bot Forge, we create chatbots to be used at a variety of different customer touchpoints and we often find the best place for a customer support chatbot is on your website. Our chatbots connect directly to some of the most advanced AI Natural Language understanding platforms. You can read more about them here.

How can I add a chatbot onto my website?

A chatbot can be added to a website easily by just adding a small bit of code to the webpage you want to display the chatbot on.  The majority of the time very little coding knowledge is needed as the complexity is handled by the code snippet which is provided. As long as you have access to your website’s code or you can contact your website developer there shouldn’t be a problem.

Companies with WordPress websites can use one of many available plugins to include the code, such as Header Footer Code Manager.

Types of chatbot window

Normally a chatbot will be added to a website in 2 different forms, a popup chat bot widget or a full-page interface.

Popup chatbot widget interface

A popup chatbot widget is a chat window which can be customised and added to your website and normally has 2 states:

Chatbot widget UI

Open- More often then not this will sit at the bottom right of your website. When closed you can also show a proactive message as well as the chat button.

Closed- When a user clicks the icon the chat widget will open into a chat window. In our experience, a chat widget needs to be mobile friendly and have at least 2 different display states depending on what device it’s being viewed on.

Conversational landing page interface

A chatbot interface can also be a standalone website and take up a whole webpage.

A landing page website chatbot

This can be a useful way to display to your chat bot if you want to support one particular area for your customer such as an FAQ chatbot or knowledge base. Also the best choice if you want to direct traffic to your chatbot for a marketing or advertising campaign.

Create an engaging conversational experience

To provide effective customer support a chatbot needs to send structured messages that helps users complete tasks, get information, or answer their questions.

There are several message types your bot can use: text, files, and rich media such as image, video, and audio. You can provide downloads via a URL link.

Whatever the UI choice impress users with a unique experience and match the widget to your brand and style. Follow some of these guidelines:

  • Show a proactive message.
  • Always add a help function either as part of the widget or as part of the conversational ability.
  • Use a beautiful greeting with emojis to encourage visitors to start chatting.
  • State what your chatbot can do from the off.
  • Use different conversational UI elements: buttons, images, cards to showcase information and provide information.
  • Use a combination of free text (NLU – natural language understanding) and quick replies to manage the conversation.

Extra features

Some modern browsers also support voice functionality so adding voice and input and output to your website chatbot can also be an option. Push notifications can also be integrated to provide a personalised chatbot experience.

If you feel that now is the time to create a website chatbot which will add value to your company, improve your customer support and grow your business then get in touch with us and we can help you in your chatbot journey!

 

IBM Watson for building chatbots

IBM Watson

Developer tools that make it easy to incorporate conversation, language, and search into your applications. Watson gives you access to detailed developer resources that help you get started fast, including documentation and SDKs on GitHub.

There are several IBM Watson APIs available on the IBM Cloud. One of them is IBM Watson Assistant. Watson Assistant enables you to build apps that include natural language processing and structured conversation. The service provides an API which you can call from an app or website to hook into your chatbot.

Watson Assistant API can:
– Extract meaning from natural language
– Discover patterns in data sets
– Understand the “tone” of language
– Translate languages
– Convert text to speech and speech to text
– Perform text classification
– Build a virtual agent (chatbot)

Watson is more of an assistant. It knows when to seek the answer from the knowledge base, when to ask for clarity and when to lead yourself to the human. Watson Assistant can work in any cloud-allowing businesses to bring AI to their data and apps wherever they are.

IBM Watson Assistant is marketed as a solution for companies of any size who want to build their voice or touch-enabled virtual assistant.
To create chatbot using IBM Watson API is mandatory to have a IBM/Bluemix account to start and its free (Lite Version.) Chatbot is built using intents, entities and Watson Developer Cloud to interact with the chatbot.

When we compare IBM Watson with Dialogflow, there is a question, what is better?
If you need a competent Artificial Intelligence Software product for your company you must make time to examine a wide range of alternatives. Aside from the robust features, the software which is simple and intuitive is always the better product.

In 2019, according to some market research, the user satisfaction level for IBM Watson is at 99% while for Dialogflow is at 96%. Both bot frameworks have their pros and cons. Dialogflow and Watson Assistant provide a UI tool to design conversation flow logic for complex dialogues.

Dialogflow provides maybe an easier and quicker way to create a custom conversational AI bot, while IBM Watson offering are targeting more corporations and enterprise organizations. For those who start to learn how to build a chatbot, maybe is better to choose and begin with Dialogflow.

Watson conversation is expensive compared to Dialogflow, while development interface in Dialogflow could have been better. Dialogflow bot for website integration does not support buttons and links while Watson Assistant for web integrations supports buttons and links usage.

Watson Assistant and Dialogflow integrate with variety of other popular platforms and systems.

Watson is not a single thing. Watson is a collection of APIs that can be used to solve various challenges and Watson Assistant is part of it. Many senior developers think that today there’s nothing on market like Watson Assistant.

With the proper expectations and in the proper hands, Watson’s APIs can be used to do some really phenomenal stuff.

More about Watson Assistant you can read at official IBM website: https://www.ibm.com/cloud/watson-assistant/

Chatbot Technology Landscape – AI Platforms

, , ,

We build a lot of different types of chatbots at The Bot Forge and deliver these to a variety of platforms such as Web, Facebook Messenger, Slack or WhatsApp. To create our chat bots we often use different AI platforms which offer more suitable features for a specific project. All the major cloud and open-source providers have adopted similar sets of features for their conversational AI platforms and provide good NLU (Natural Language Understanding). There are also some strong options for open source privately hosted systems.

Conversational AI Platform Features

We wanted to spend some time looking at some of the more popular AI platforms in a bit more depth in this series. To help look at each one we have focused on the following specific features:

API and UI

A conversational AI platform should provide User Interface(UI) tools to plan conversational flow and help train and update the system

Context

As well as intent and entities, a context object allows the system to keep track of context discussed within the conversation, other information about the user’s situation, and where the conversation is up to. This is often the NLP feature which is vital in creating a complex conversation beyond a simple FAQ bot.

Conversation flow

Looking at the current position of a conversation, the context and the user’s last utterance with intents and entities all come together as rules to manage the conversational flow. This can be challenging to create and manage so a platforms’ tools in the form of a flow engine, in code and complimented by a visual tool can provide advantages depending on the chatbot project itself. Other features such as slot-filling (ensuring
that all the entities for an intent are present, and prompting the user for any that are missing) can be important.

Whilst most platforms fall into this category some systems use machine learning to learn from test conversational data and then create a probabilistic model to control flow. These systems rely on large datasets.

Pre-built channel integrations

Having a conversational platform that supports your target channel out-of-the-box can substantially speed up delivery of a chatbot solution and your flexibility in using the same conversational engine for a different integration. This is one of the reasons we really like Dialogflow’s tooling.

Chatbot Content Types

Whist the focus of a conversational AI platform is understanding pure text, messaging systems and web interfaces often involve other content, such as buttons, images, emojis, URLs and voice input/output. The ability of a platform to support these features is important to create a rich user experience and help to manage the conversational flow.

Integrations

Bot responses can be enhanced by integrating information from the user with information from internal or external web services. We use this type of ability a lot in creating our chatbots and in our opinion feel its one of the most powerful features of a chatbot solution. With this in mind, the ability to configure calls to external services from within a conversation and use responses to manage conversational flow is important in building chatbot conversations.

Pre Trained Intents and Entities

Instead of creating entity types such as dates, places or currencies for each project some systems provide these pre-trained to deal with complex variations. In the same way, common user intents and utterances such as small-talk is offered pre-trained from some platforms.

Analytics and Logs

The key to creating a successful chatbot is that they need to be constantly trained and monitored. To aid in continuously improving the system once initially launched, the
conversational tools should provide a dashboard of the user conversations; showing stats for responses, user interactions and other metrics. Export of these logs is also useful to import into other systems. Other important AI features enable easily training missed intents, catching bad sentiments and monitoring flow.

Techstack

It can be important to take into account what libraries are provided by an AI platform and in what supported languages. In the end, this may favour your choice of solution if it fits with your current codebase or teams skillset. However, as a full-stack javascript software house, we find Node.JS to be our server stack of choice when building our bots and most AI platforms cater for this.

Costs

These are the costs for the cloud hosting and cloud NLU solutions. An important aspect to consider particularly for large scale enterprise chatbots handling large volumes of traffic where NLU costs can reach £1000s a month.

Many providers offer a free tier for their AI platform solutions. A paid for tier will then normally offer enhanced versions of the service with enterprise focused features and support for greater volume and performance. Costs tend to be charged in one of 3 ways, per API call, per conversation or daily active user and also per active monthly user (normally subscriptions are in tiers). We try and look at costs as publicly published for the paid-for plans suitable for enterprise use in a shared public cloud environment.

The Platforms

Keeping all these feature sets in mind we hope to look at the following AI platforms over the coming posts.

  • Botkit
  • Chatfuel
  • Amazon Lex
  • Microsoft Luis
  • Google Dialogflow
  • Rasa
  • IBM Watson

Please get in touch if you feel we should look at a platform which we have missed!

Our first AI platform blog post will be coming soon!

WhatsApp Business & Creating a WhatsApp Chatbot

, ,

 

Creating a WhatsApp chatbot with Twilio and Dialogflow:

In this article, I’m going to cover WhatsApp business and dive into creating a WhatsApp chatbot.

Why is WhatsApp so important?

It’s official, WhatsApp has one or two users…yes, that’s the understatement of the year!

In fact, WhatsApp has 1.5 billion users from 180 countries, that makes it the most popular instant messaging app worldwide. This messenger is handy for being secure, fast, and easy to use. It’s not just about the massive number of users though, it’s about engagement. WhatsApp users send about 65 billion messages per day, that is about 750,000 messages per second! WhatsApp usage shows no signs of slowing down.

WhatsApp for Business

Message us on WhatsApp- WhatsApp for Business.

In 2018 WhatsApp announced the official launch of their platform made for business. This allows companies to communicate with clients using WhatsApp for Business instead of having to use their own personal numbers. This will allow companies to automate, sort, and respond to messages on this incredibly popular messaging channel.

As of May 2018 WhatsApp for business had 3 million users.

Whatsapp is well known for protecting your data which includes chats, documents, status updates, photos, videos, voice messages, and calls via WhatsApp’s end-to-end encryption.

As a customer, you know you’re interacting with an officially approved business and all of your rights are protected by WhatsApp’s secure environment so its no doubt that the Whatsapp business client offering is becoming increasingly popular.

Whatsapp Business App

Business Profile

The WhatsApp business client has been built with the SME in mind. The app can help you provide customer support and deliver important notifications to your customers. These WhatsApp Business accounts help brands to improve brand loyalty. A business profile gives the company a familiar “face” and identity.

First off you need to grab the Whatsapp Business App for your mobile phone of choice which is free to download.

WhatsApp Business Profile

Users can create a business profile with helpful information for their customers such as their address, business description, email address, and website.
Steps- Update your business: Open the Whatsapp Business app → Open Settings → Open Business Setting → Business Profile.

Messaging Tools

The Business client provides some really useful automated messaging functionality.

Welcome message

WhatsApp Welcome Message

You can tailor your own greeting message and send to customers who message you for the first time or after 14 days of inactivity.

Quick replies

WhatsApp Quick Replies

Businesses can create their own standard quick reply messages to streamline their conversations and save time.

Away message

You can tailor your own away message and reply when you are away.

Steps- Use messaging tools: Open the Whatsapp Business app → Open Settings → Open Business Setting → Select Away message/Greeting message/Quick replies.

Contact Labels

Another useful feature is the ability to organise chats and contacts with labels.

WhatsApp Contact Labels

Steps- Use Labels: Open the Whatsapp Business app → Open Chat → Open Menu → Select Label chat

Statistics

The business app also provides statistics covering messages sent, delivered, read, received.

Steps- Access Statistics: Open the Whatsapp Business app → Open Settings → Open Business Setting → Statistics.

WhatsApp Business API

WhatsApp Business API is the enterprise offering for the platform.

Prerequisites

The prerequisites for using WhatsApp commercially via the WhatsApp Business API is to either apply for an own account directly from WhatsApp or to buy access from one of the official Solution Providers.

Access to the WhatsApp API has been limited, to say the least, the program is currently in a limited public preview, In fact, at the time of writing, there are only around 40+ companies listed as solution providers. You can still request access but there is no guarantee when/if this will be provided, I think Facebook will be favouring end client/solution provider applications with large estimated numbers of messages. Once you have gained access you will also have the technical challenges of getting set up. A quicker/simpler option is to use one of the solution providers for now. At least whilst you wait for your application access to be approved!

For the purposes of this article, we are going to look at using Twilio as our WhatsApp solution provider.

Girl using WhatsApp chatbot

So what is a WhatsApp chatbot and what are the benefits?

A WhatsApp chatbot is similar to a Facebook Messenger Chatbot. When a user interacts (WhatsApps) your number then the response is handled by your chatbot. So what are the benefits?

Bikeshop chatbot

Creating a WhatsApp BIKE SHOP Chatbot with Twilio and Dialogflow

We are going to look at building a WhatsApp chatbot for a bike shop. The chatbot will be able to answer a simple set of bike shop related questions and book your bike in for a service. We will use Dialogflow to create our chatbot and then connect this to the Twilio Sandbox for WhatsApp. The sandbox enables us to prototype with WhatsApp immediately, without waiting for the approval of our number.

There are some things to consider using the sandbox:

If you tell your customers that you will be using their email address and mobile phone number to send them information about your services and products, you should do that and nothing more.

Step1 — Setup Up Your Twilio Account

Signing up with Twilio is the next step and it’s free with no need to provide a credit card, bonus!

  • Try sending messages:
    1. First by sending a message to the test number to link your number to the sandbox.
    2. Then Send a One-Way WhatsApp Message. It’s interesting to note that you must use a pre-approved template from WhatsApp.
    3. Try sending Two-Way Messaging. Note 2-way messaging means you now have 24-hours between your Sandbox and your WhatsApp account, without the use of templates.

Step2- Create your Dialogflow Agent

We won’t go into detail here into how to create a Dialogflow agent you can learn more here there are are plenty of good resources, we recommend taking a look at this. If you want to use the agent we have built you can create an agent and use the restore from zip feature of the Dialogflow console to import our agent which you can download from here.

Step3- Enable Twilio Integration in Dialogflow Agent

In the Dialogflow console → Under integrations → select Twilio (Text messaging) → in the settings window, there will be a Request URL (seen here in green).

Dialogflow Console

Copy this URL and go to your Twilio account in the Sandbox configuration and paste into the “WHEN A MESSAGE COMES IN FIELD”.

Dialogflow Twilio

Once you’ve done that go back to your Dialogflow Twilio settings window and input the rest of the account details: Make sure you have your Twilio API Credentials to hand, you will need Account SID, Auth Token, Phone number — Used to authenticate REST API requests.
Steps- API Credentials: Log-into Twilio → Open Dashboard → Open Settings → General.

Step4- Testing your Agent

At this point, if you have properly carried out all the steps you should be able to send a WhatsApp message to your number and the response will come from the Dialogflow chatbot. You can see ours below. Notice the sandbox limitation; Sandbox numbers are branded as Twilio numbers.

WhatsApp Chat Conversation

Our WhatsApp chatbot in action

Adding some other cool functionality

Hi {{1}} your bike {{2}} is completed and can be collected when it’s convenient, the cost for the work is {{3}}. Details of work carried out : {{4}}

Once your Twilio number has been enabled for WhatsApp you can also create your own templates.

Going into Production?

If you want to start using the Twilio API in production you need to enable your Twilio numbers for WhatsApp. This involves initiating a request via Twilio. Fill out this form to send the request. Once you have provisioned your numbers you also need to provide Twilio with your Facebook Business Manager ID.

Conclusion

https://www.clickatell.com/products/whatsapp

https://www.messagebird.com/en/whatsapp

https://www.nexmo.com/products/messages/whatsapp

https://sendbee.io

Interested in your own WhatsApp chatbot?

6 Tips to ensure that your chatbots are GDPR compliant

,

General Data Protection Regulation (GDPR) entered into force and was fully operational as of May 25th 2018. You can read all about it here. The new regulations brought a series of changes and improvements while strengthening the current regulatory framework. The GDPR applies to any website or mobile application collecting data from EU residents and that means chatbots and voice assistants as well!

Despite some myths and misunderstandings around GDPR the regulations there has been some success in the new policy despite still being described as being in a transition period. With incidents such as the Cambridge Analytica scandal last year users are even more concerned as to what we do with their data.

It’s important to note that, 71% of UK adults want tougher action in penalising companies that abuse our data privacy by misusing third-party data.

If you use chatbots as part of your sales and marketing strategies, you’ll need to make sure the processes you use to collect consumers’ personal data, as well as what you do with this data are in line with GDPR. Read on for some tips on how to ensure that your chatbots are GDPR compliant.

1. User Consent

Consent is not valid unless it is “freely given, specific, informed, and unambiguous.” Basically, that means a “clicked” agreement is required.
For websites your privacy notice is a great place to get consent from users. Here is a great example:

Don’t forget to update your privacy policy!

One of the rules of the GDPR is that all companies utilizing consumer data need to have a clearly stated privacy policy which contains the following pertinent information:

  • What information is collected?
  • Who is collecting it?
  • Why is it being collected?
  • How long will it be used for?
  • Who will it be shared with?
  • How can consumers withdraw from the agreement to give their data?

For a chatbot, it should provide users with a clear-cut, transparent, distinguishable, and easily accessible form to understand what data is collected, and how it will be used by the bot and organization. This needs to be provided at the start of the conversation and also its often a good idea to provide an easy way to access this in future e.g for bots supporting NLP a free text intent or part of an integration menu such as Facebook Messengers:

GDPR Chatbot consentChatbot Privacy Consent

We’ve found that having a privacy page in place listing all the important information is also an effective way to aid in compliance.

GDPR-Chatbot_Privacy_Menu

2. Allow users to have their data forgotten

According to the GDPR, users should be able to request that all their Personal Data is removed.

Chatbots need an intent to support this e.g  ‘please forget my data’, ‘delete my personal data’, etc. Or this could be part of the menu system:

Erase Data Chatbot Option

This data removal request needs to be followed up correctly.

3. Allow users to retrieve their data

Users should be able to retrieve their Personal Data.

Chatbot users should be provided with a clear and simple way to access, review and download copies of their data (in an electronic form) that was collected, free of charge. This can be actioned in multiple ways. You could either build a dialogue for this e.g  ‘please tell me what data you are storing’, ‘can you send me my data’. The response should present the data to the user or send an email to start the process.

Allow Data Retrieval Mechanism

4. Use personal data for the stated purposes only

This is vital for becoming GDPR compliant. Your online chatbot may be an informal way of collecting personal data, but it is still considered to be a data collecting and processing tool and so will fall under the GDPR legislation.

Clearly stating what information is used for is key. This means that you are only able to use the data for the stated purposes, such as sending newsletters, emails, SMS marketing messages or contacting users on Facebook Messenger.

Implement a mechanism to make sure users are clear as to what you will do with their data. This can be added as part of a welcome or supported by intent match or part of the privacy policy.

Chatbot Privacy use of information.

If you tell your customers that you will be using their email address and mobile phone number to send them information about your services and products, you should do that and nothing more.

5. Leverage Chatbot Conversation

Chatbots provide an engaging interaction medium for users which is no doubt enhanced by a personalised experience. This will often mean that a chatbot needs to collect some personal data from their users. When designing chatbots always remember to keep privacy first in mind. With a chatbot, it is easy to ask for a users permission and explain why you need it because you are already in a dialogue with your user.

Use opportunities when available to clarify and advise users during the conversation.

 

6. Safeguarding Data

Roles

There are two important roles defined in the GDPR that affect you as a company and the chatbot you build. Firstly, the data controller and secondly, the data processor:

  • Data Controller represents the entity which determines the purposes and means of the processing of personal data
  • Data Processor represents the entity which processes personal data on behalf of the controller

Data controllers are the decision makers about which personal data gets collected, stored and processed – so most companies are considered controllers!

Chatbots are all about data. If you want to create a solid conversational experience, you need to use Natural Language Understanding (NLU) and dialogue systems. The underlying machine learning algorithms need training data in order to improve and learn. Collecting this data is necessary to train the models and the more data you have the better the bot performs.

Data is essential – but it’s also vital to reduce the risk of data breaches and adhere to the GDPR  data processing principles.

With GDPR you are prohibited to store this data without explicit consent from users or if there is no legitimate reason to store this data. If you do have a need to store this data to improve your chatbot’s interaction with consumers, you may not do so unless you have explicit consent.

It’s common for many web and messenger servers to keep different types of logs, such as access, error or security audit logs. These logs might hold personal data such as IDs, IPs, and even names.

Reviewing your logs will allow you to find any personal data and deal with it accordingly.

Cloud Compliance

At The Bot Forge we use the Dialogflow natural language processing engine to create our chatbots. Using Google Cloud services means we can rely on GDPR being upheld with regards to our chatbot data:

At Google Cloud, we champion initiatives that prioritize and improve the security and privacy of user data. We’ve made multiple updates to ensure that Google Cloud customers can confidently use our services now that the GDPR is in effect.

We have peace of mind as compliance with the GDPR is a top priority for Google Cloud. It’s important to have this confidence when using third-party services which handle your data.

Want to talk about GDPR and data privacy? Get in touch if you’d like to chat.

How Much Does It Cost To Build A Chatbot In 2019?

, , ,

We are often asked this by clients looking to start their first chatbot project. Like most software projects the price really depends on the scale and complexity of the project. This will govern the effort involved to build the bot and define whether it needs to be a custom chatbot or off the shelf solution.

So, let’s take a look at the key drivers impacting the price for custom chatbot development.

Channel

The first one is the channel in which the bot should function. By this, I mean where the bot will be used. It could be as a website widget implemented as a popup interface or webpage (You can learn more about webpage chatbots here) or deployed into existing messaging platforms. Facebook Messenger, Slack, Telegram, Viber, Google Assitant are just a few examples with some providing more complex UI elements which can be utilised in your bot.

There are a number of really good bot building platforms for creating UI chatbot interfaces such as Botstar, Chatfuel and Manychat; these offer some free templates and the ability to create chatbots which can be deployed to websites and Facebook Messenger. These Bot building platforms offer some good features: Visual Flow Editors, APIs & Webhook Integrations, Templates, Broadcasting etc. In our experience, we have found that even with free templates there are some costs due to setup and minor customisation. So our minimum price is around £600 with some monthly costs for hosting and chatbot management and training.

Natural Language Ability

If a chatbot is required to support more complex natural language processing features and not just UI elements such as buttons then this will mean that additional effort is needed to train the bot and design and implement a more complex conversational flow. These sort of bots start at around £1500. We utilise Dialogflow Natural Language Processing to offer these types of solutions.

The complexity, scope and volume of the required conversational ability effects cost. This relates to specifics such as:
Number of branches in the conversation tree.
Quantity of questions that have to be handled by the chatbot which can often be in the 1000s.
The complexity of conversational ability ie. support for complex user enquires.
So chatbots which combine richer elements with complex conversational ability can be in the region of £1500 – £3000

Integration

The other area which will impact cost is dependent: what the chatbot will need to do carry out its role? Will the chatbot need to integrate with current systems to provide its responses? Will it need to hand over to live agents? Connect with CRM and ticketing solutions? Some chatbots may need to carry out complex interactions to provide answers to customer queries. Bots can even call systems utilising Artificial intelligence to provide relevant information based on historical chat data, for example using, https://www.tensorflow.org.  With so many possibilities for bot features It’s hard to estimate the price here, but these types of chatbots cost from £4000.  For each integration, we would suggest a cost of £1000-2000 it really depends on the amount of development effort required for each one.

Languages and Features

Chatbots are capable of supporting different languages, as long as these are supported by the NLP engine it’s possible to add different language permutations fairly easily. However, each language will need its own testing so costs can be in the region of £500-1000 for each language.

Finally, depending on which channel the bot will work in there is also scope to provide other functionality such as voice capability for web chatbots or enhanced chatbot interface features. Again costs depend on the amount of complexity and effort involved in building each feature. As an example adding voice interaction to a Web chatbot would be £500.

Flexibility

As you can see, the cost of a chatbot project can vary dependent on the features required. However, the cost of a capable chatbot does not have to be prohibitive and it’s often a good idea to start small and add features as business needs require them.

At The Bot Forge, whatever the cost we propose for your chatbot project our aim is to create value for your business and hopefully form a long-lasting relationship.

Developing a Chatbot? 6 Common Mistakes to Avoid

, , , , , , ,

If you are looking to streamline certain operations of your business, implementing a chatbot is a great way to go about it. After all, you can use technologies such as artificial intelligence (AI) and natural language processing (NLP) so that it can follow different types of conversations with users and provide relevant responses where necessary.

Chatbots are no longer a gimmicky tool available on the internet, as they have gained popularity and sophistication many users are incorporating them into their digital strategy. For example, a large number of businesses now use bots as part of their customer service. As these chatbots never go offline, they are always available to assist users, at any given time of day.

It is a lot cheaper for a business to implement a bot as part of its customer service than hire employees. If you employ an individual, you have to train the person and provide a salary and vacation time. One example is one of our clients https://amicable.io who replaced call centre resource with a chatbot to book client meetings.

Chatbots have a lot of advantages, which explains why businesses want to make the most of them. However, while creating these bots, it is natural to make errors, which hampers the user experience. As this might be the first or nth time you are developing a chatbot, you want to make sure it functions as expected. Here are six common mistakes to avoid along with how you can overcome them:

Assuming every user wants to talk

You tend to believe that everyone who visits your page or installs the chatbot on Slack, or other popular messaging platforms wish to start talking to it immediately. However, most of the people on the internet don’t want to communicate with the bot, unless it is necessary.

One reason why chatbots are great marketing tools is that they can engage with prospects by answering important questions. As a result, it brings down the sales friction, making it simpler for the user to invest in what you have to offer.

If your bot starts to message the individual as soon as he/she opens it, there is a high chance the person will find it annoying. A better practice would be to wait for the user to respond or you can leave instructions in the description on how to start conversing with the chatbot. Our sports events Facebook Messenger chatbot Carly utilises this kind of functionality enabling users to set push notifications for their any new sports events based on their own criteria.

Failing to track its performance

Since the chatbot makes use of the latest technological advancements in the industry, you might assume that you shouldn’t keep an eye on its performance. After all, you spent a considerable portion of your time training it, so that it can have a continuous conversation with your customers.

However, you will never know the effectiveness of your bot, if you don’t track the key performance indicators (KPI). These metrics provide a deeper insight into how you can continue to improve your chatbot. For example, you can see where most of the users tend to leave the conversation. With this data, you can think of different ways to keep them engaged so that they continue to talk to your bot. We feel that the history and training tools provided by Dialogflow enable us to track chatbot performance effectively.

Forgetting to list in directories

Once the chatbot is up and running on various messaging platforms or your website, you think you completed your job. All your visitors have to do is start talking to the bot, and it will help them in their tasks.

However, not everyone will know about the existence of your chatbot. Several messaging platforms may not have powerful search, which makes it harder to discover your bot. The best practice is to find third-party websites and lists your chatbot in it. As a result, if people look for your bot on Google or other search engines, the chances of it popping up in the first page of results goes up significantly. The best place to market your own new bot is on your website, why not write a blog post about your chatbot journey, you can guarantee other companies will be interested in your journey.

Impersonal conversations

The reason why people don’t like talking to bots is that the conversation tends to be boring and bland. As a result, they prefer to converse with human beings, as the experience is better in every way.

Think about it, would you like talking to a chatbot which sounds like it is speaking in a monotone? Rather than putting your bot in the same position, you should think of different ways to spice up the conversation. For example, you can ask the user what the chatbot should call the individual while talking to one another.

One thing is key here and we have seen this in our experience: to gain better customer satisfaction it’s better to explain to your users that your bot is a chatbot and not try and masquerade as a human. If users are aware they are talking to a chatbot from the off it will gain confidence and improve the customer experience as the user becomes more forgiving.

Not paying attention to its tone

Since the entire conversation between the chatbot and its users is going to take place via text, you need to pay close attention to its tone. Using the right type of communication will determine whether your bot performs well among its intended target audience.

While this tends to be challenging, there are several ways you can overcome this obstacle. For example, you can ask a small number of people from your target audience, what tone they would find appropriate. At the same time, you can also have a beta group, which allows you to experiment and see which one works well. Matching tone to the industry and subject matter is important to build a satisfying experience for your chatbot users.

Help and Live Agents

Since the purpose of the chatbot is to reduce the workload of your employees, you tend to assume that you don’t need a live agent. The problem with testing is that it may not take into account all the variables present in real-world scenarios. As a result, when you deploy your chatbot, it might not know how to handle a specific question.

Due to this reason, it can go on an endless loop, and the only way out of the conversation is to quit or restart the chatbot. An excellent way to overcome this problem is to allow your chatbot to ask a live agent to join the conversation during this situation. Once the employee helps out the user, he/she can provide information to the developers on how to improve the communication skills of the bot.

It’s also important to provide easy help for users to access during the bot conversation. At The Bot Forge we always implement a help feature for our chatbots so users know what they can do and how they get back on track our Facebook Messenger chatbot for the Fred Whitton Challenge is a perfect example.

Chatbots are becoming a great tool for businesses. You can use them to make life easier for your clients, by assisting them in various functions. By knowing what the common mistakes are, you can avoid them entirely and design the best bots in the industry

Dialogflow Announce v1 API will be deprecated in October 2019

, , ,

The Dialogflow team announced that they would be deprecating their V1 version of the Dialogflow api in Oct 2019

You can read about their official announcement here

The Bot Forge have been following the progress of the latest V2 api since its official launch in April this year, it’s no surprise that the Dialogflow team have made this announcement as they concentrate their efforts on the new API. However it does have some serious implications for existing chatbots utilising the v1 API.

Migration

You can see some more details about upgrading from V1 to V2 in the official guide here. We also aim to provide some more detailed information about carrying out an upgrade on this blog so watch out for that.

Anyone who already has built out their website chatbots using v1 API, then they should start planning for the migration sooner rather than later. Any new features should be added after the upgrade. The migration is potentially a non-trivial task, considering some chatbots have some fairly complex code driving their fulfilment. If you have a live bot in production our advice is to set up an upgrade chatbot as a copy of your existing bot project and then work through the upgrade there. You can guarantee that changing to V2 will mean that fulfilment and API calls may stop working. Once the upgrade is complete re-testing all bot functionality is strongly advised before setting live.

Chatbot Web Interfaces

We would recommend everyone who is creating custom website chatbots to do so using the v2 API. All our new chatbots are built using the v2API.

The big change for v2 is that it uses Google’s OAuth2 for its authentication, with v1 you could simply use the client access token when calling the v1 API. Implementing the features required to authenticate against the new v2 API means some significant extra development effort.

If you need assistance or advice with your own chatbot v2 upgrade please get in touch, we are Dialogflow experts and would be happy to help!

 

 

 

 

At the Bot Forge, we specialise in building chatbots so you feel free to contact us if you want to discuss further.