Bot Development

Your Guide to Bot-Building Frameworks

Choosing a bot-building framework for your next chatbot? This guide dives deep into the features, advantages, and shortcomings of the most popular frameworks.

March 21, 2019
bot going through development

 

If you’re developing a chatbot, you need to choose a bot-building framework. A bot framework is like a workshop full of tools you can use to define your bot’s behavior, give it a personality, teach it what to say, and help it generate valuable responses to user inquiries. It’s where your bot comes into its own.

Of course, not all frameworks are the same. You need to choose the one that makes the most sense for your objectives, and the best way to make an informed choice is to have a solid understanding of different frameworks. In this guide, we cover the nuts and bolts of the most popular bot-building frameworks:

Choosing a chatbot framework

There are several benchmarks and features to consider when choosing a chatbot framework. As your bot’s user base grows, you might consider switching to another framework or using multiple frameworks for different iterations of the same bot. Using your chosen framework’s platform integration tools, you might also deploy your bot across more than one platform. Although it’s great to try out different bot-building tools and to launch your bot in multiple places, there’s one thing that’s easy to overlook—consistency.

Giving your bot a consistent home is important because it gives users a go-to destination where they can always find your bot, regardless of what changes you might make on the backend. A good way to make sure your bot stays put is to host it on its own domain. A .BOT domain, in particular, can help you showcase your bot no matter which framework you’re using today or in the future.

Now let’s explore several major frameworks, paying close attention to the unique capabilities, advantages, and real-world use cases of each one.

Primary UsesPricingLanguages/SDKsChatbot Examples
Amazon Lex
  • Device control
  • Informational
  • Productivity
  • Transactional
Free to start
Monthly fee per requests processed, currently: $0.004 per voice request; $0.00075 per text request
Java, JavaScript, Python, CLI, .NET, Ruby, PHP, Go, CPP, iOS and Android SDKs
Botkit
  • Commerce
  • NLP integrations
  • Productivity
Free Node.js, Botkit SDK
Botpress
  • Commerce
  • Customer service
  • Financial services
  • Free Tier
  • Pro Tier: $49.95/month
  • Enterprise Tier: Custom price
Node.js, Botpress SDK
Dialogflow
  • Commerce
  • Enterprise
  • Service
Free for Standard Edition
Rates of $0.002 to $0.065 per consumption unit in Enterprise Edition
Node.js, Python, Java, Go, Ruby, C#, PHP
Gupshup Bot Platform
  • Customer service
  • Device control
  • Informational commerce
Free for 100,000 API calls
$1 for every 1,000 additional API calls Custom pricing for large volumes
Java SDK, Node.js SDK
IBM Watson Assistant
  • Customer service
  • Enterprise
  • Commerce
Five Tiers: Free tier, $0.0025 per message tier, and three custom pricing tiers Java, Node.js, Python, Ruby, .NET, Android SDK, OpenWhisk SDK, Salesforce SDK, Unity SDK
Microsoft Bot Framework
  • Commerce
  • Informational
  • Enterprise
  • Free Tier:
    Unlimited messages on standard channels;
    10,000 messages/month on premium channels
  • S1 Tier:
    Unlimited messages on standard channels;
    $0.50 per 1,000 on premium channels
Node.js, C#, .NET
Pandorabots
  • Customer service
  • Device control
  • Entertainment
  • Free tier: Up to 1,000 messages/month Developer tier: $0.0025 per message
  • Developer Tier: $0.0025 per message
  • Enterprise tier: Custom price
Java, Node.js, Python, Ruby, PHP, Go
Rasa
  • Contextual assistants
  • Financial
  • Service
  • Travel
  • Free Tier
  • Paid Tier (Rasa Platform) with custom pricing
HTTP API, Python
Wit.ai
  • Commerce
  • Device control
  • Informational
Free Node.js, Python, Ruby, HTTP API

Amazon Lex

Amazon Lex is a versatile chatbot framework that lets you deploy bots across numerous popular platforms. Using Amazon Lex, you can build your chatbot, test it, and launch it on Facebook Messenger, Slack, Kik, or Twilio SMS—directly from the console. Amazon Lex also integrates seamlessly with business applications, like Salesforce, Zendesk, and Marketo, so you can easily enhance users’ experience with those apps by adding a conversational element.

Development capabilities

Amazon Lex lets you create bots that communicate via text or voice, so you can build “out loud” conversations into any number of software applications. Of course, you can also use Amazon Lex to build a completely unique stand-alone bot that you deploy on your website or mobile application. There aren’t many limits with Amazon Lex.

Amazon Lex chatbot examples

Liberty Mutual is just one of several large companies to leverage the natural language understanding (NLU) capabilities of Amazon Lex to improve how employees access information. Instead of sifting through documentation, Liberty Mutual employees can ask the chatbot to retrieve information for them. As a result, users spend less time looking up information and more time focused on customers.

Information retrieval is just one of several ways you can use Amazon Lex. Many developers use the framework to build out virtual agents or even bots that provide mobile or IoT device control.

Framework pricing

Besides versatility, another advantage is how easy (and inexpensive) it is to start using Amazon Lex. You can begin building your bot for free, but Amazon charges you for each user request. Currently, prices are $0.004 per voice request and $0.00075 per text request, so the price increases as more users engage with your bots.

Botkit

Recently acquired by Microsoft, Botkit is an open source bot-building framework. It’s also powered by an enthusiastic developer community.

Development capabilities

Initially launched in 2015 so that developers could build bots for Slack, Botkit now connects seamlessly with other platforms, like Facebook Messenger and Cisco Spark.

Although you can technically integrate any available natural language processing (NLP) service into bots built with Botkit, Microsoft LUIS might be of particular interest. Thanks to Botkit’s relationship with Microsoft, this proprietary component of Microsoft Azure Cognitive Services is actually available to users of the Botkit paid version via a seamless integration.

Botkit chatbot examples

Botkit is widely applicable across many verticals. The Harvard Business Review used it to build the HBR Bot, which delivers advice from HBR articles to Slack users at the interval of their choosing.

Another developer used Botkit to build a Slack bot that handles all core HR tasks for a small business, including onboarding, connecting people around the office, issuing reminders, and broadcasting announcements.

Framework pricing

In 2019, Botkit CMS replaced Botkit Studio as the paid version of this framework. It’s not yet clear how the pricing model (if any) will look for enterprise Botkit users, because XOXCO, the company behind Botkit, seems to still be navigating the Microsoft acquisition.

Botpress

The graphical interface may be the greatest appeal of Botpress. It’s been called the “WordPress of chatbot frameworks” for a reason—and it’s not just because of the name. Botpress lets non-developers build sophisticated chatbots with built-in NLU capabilities via an intuitive interface.

Development capabilities

Botpress is an open source framework that’s also (and this may come as a surprise) on premises.

You download Botpress, build your bot locally, and deploy it anywhere using built-in channel connector tools or by using a public API for your platform of choice. Bot analytics show you how users are interacting with your bot, and built-in NLU tools help your bot interpret intent and give users the experience they’re looking for.

All in all, Botpress is a versatile bot-building framework that lives on your computer, not in the cloud. That doesn’t necessarily mean it’s more effective than other frameworks, but it does make it unique. And, since Botpress is open source, there’s an active community of developers behind the scenes who are continually making improvements.

Botpress chatbot examples

One Botpress-built chatbot is the Andy CarnegieBot, which serves as a digital guide to Carnegie Museums of Pittsburgh.

This Facebook Messenger bot helps users collect digital stamps as they explore different areas of the museum. The developers built the templates in Botpress and deployed directly to Facebook Messenger, likely using one of the framework’s instant deployment tools.

Framework pricing

It’s free to download Botpress and start building, but you need to upgrade to a Pro plan when you’re ready to build lots of bots, brand them as your own, and launch them all over the web. The Pro plan costs $49.95 per month, and it includes white labeling (the free bots aren’t as brandable) and multiple administrators.

Dialogflow

Dialogflow is Google’s bot-building framework. When you use Dialogflow, you’re getting Google’s machine learning algorithms. That’s one of the major draws.

Development capabilities

In addition to immediate integration with popular platforms like Facebook Messenger, Slack, and Viber (and Google Assistant, naturally), Dialogflow also has client libraries for Node.js, Python, Java, and several other languages.

For those new to chatbot development, the Dialogflow documentation includes a video series on three fundamental chatbot concepts:

  • Intents. Understanding what users are saying
  • Entities. Extracting information from users’ statements
  • Dialog control. Building contextual conversations with branching dialog

Building a bot with Dialogflow or the other frameworks depends on your understanding of how each of these ideas manifests within the framework– they’re universal chatbot locutions.

Dialogflow chatbot examples

Ticketmaster is using Dialogflow to build bots that help users find the right tickets for the right events at the right places—even when users only offer basic directives, like “Radiohead in Atlanta.”

The bot just gets it. It immediately responds with the number of upcoming shows and the different pricing tiers for tickets.

Framework pricing

Dialogflow comes in two flavors: a free standard edition and a pay-as-you-go enterprise edition. The enterprise edition has various price points, depending on what your bot does. For example, a bot that communicates with users via phone might cost $0.065 per minute of call time, and a text-only bot may run you just $0.004 per request.

Gupshup Bot Platform

The Gupshup Bot Platform is a collection of several bot-building tools. One is an integrated developer environment, the IDE Bot Builder, but Gupshup also offers graphical tools for non-coders who want to create their own chatbots.

Development capabilities

Let’s start with the IDE Bot Builder. As Gupshup’s “true” chatbot framework, the IDE offers most of the features you’d expect. There’s a built-in JavaScript async library and a terminal for using Git commands or installing npm packages. There are also single-click bot deployment options for several popular messaging apps, including Kik, Facebook Messenger, Viber, and others. Gupshup also provides built-in NLP.

Compared to some frameworks, integration with other Gupshup tools may be the Bot Platform’s biggest advantage. In addition to the IDE Bot Builder, Gupshup offers a Flowbot builder for the “not a developer but still tech-literate” users and a Template builder that requires minimal technical experience. How do these other tools help bot developers? By allowing disparate business units to collaborate on bots.

Say, for example, someone builds a bot using the Flowbot tool and shares it with a developer. The developer can quickly switch to Developer Mode and start using the IDE Bot Builder to iterate. Similarly, non-coders can use the Template tool to create a simple prototype for developers to later improve upon.

Another unique feature of Gupshup is WhatsApp for Business integration. Although WhatsApp only provides limited support for chatbots, Gupshup offers a scripting tool that helps you get your bot onto the platform. Of course, you still have to apply to see whether WhatsApp will allow your business to use it.

Gupshup chatbot examples

When Tata Sky, India’s largest direct-to-home satellite TV provider, needed a better way to track and respond to customer service inquiries, the company decided to build a bot for the platform that most customers used to contact them—Facebook. Using Gupshup’s bot-building tools, Tata Sky built a bot that could provide resolutions to simple problems, help customers check account balances, and recharge their accounts.

So you can leverage Gupshup to build a customer service bot for Facebook Messenger. But what about a bot for mobile apps?

FitCircle used the Gupshup Bot Framework to create a messaging add-on for an existing Android fitness app. Users interact with the bot to state their fitness goals and to provide information about their health status. In addition, the bot sends users motivational messages about health and provides fitness scores to help users maintain their exercise plans.

Framework pricing

Gupshup is free for your first 100,000 API calls. After that, you pay $1 for every additional 1,000 API calls. This model makes it pretty easy for anybody to try out the framework with minimal financial risk. For large companies with heavy usage, Gupshup offers custom pricing.

IBM Watson Assistant

When considering IBM Watson Assistant, it’s easy to compare it to other chatbot frameworks offered by big companies, such as Amazon Lex. After all, IBM and Amazon both offer bot-building frameworks that connect to a variety of enterprise AI services. But Watson Assistant does have differences.

Development capabilities

The framework might be easier for non-developers to use. In fact, IBM mentions in the product literature that you don’t need to know how to code to build a bot. A visual dialog editor simplifies the process. Watson Assistant comes with SDKs for Python, Ruby, and other languages popular among web application developers.

Although many frameworks attempt their seamless integration with various platforms, Watson Assistant doesn’t. You can still use it where you want to—in fact, you can actually deploy your Watson Assistant chatbot anywhere. Even though IBM isn’t using “seamless integrations” or “one-click deployment” as selling points, deploying your bot on a given channel, like Slack, is still pretty straightforward.

IBM Watson Assistant chatbot examples

Creval Sistemi e Servizi, an Italian bank, understands just how useful Watson can be. After using Watson to build Alfredo, a chatbot that processes requests to the bank’s service desk, customer-facing employees placed 80 percent fewer calls to back-of-office staff. Alfredo helped them retrieve the information they needed, faster.

Other companies have had similar success with Watson. Woodside, an oil and gas company, trained a Watson-based cognitive system to understand 600,000+ pages of documentation. In the past, employees spent 80 percent of their time researching problems and 20 percent of their time applying fixes. Since Watson, they’ve reversed those percentages.

Enterprise productivity bots make up a hefty chunk of Watson Assistant use cases, but many developers use it to build simpler bots for customer service or appointment booking.

Framework pricing

Lite and Standard packages come at different price points. The first is free, and the second is $0.0025 per message. Both packages come with industry-specific, prebuilt content to help you get started, and both have analytics dashboards (7-day analytics with Lite, 30-day analytics with Standard).

There are other packages available, but pricing depends on how you use the bot.

Microsoft Bot Framework

If you select the Microsoft Bot Framework to build your chatbot, you’ll probably choose the company’s Azure Bot Service to host it. Although you’re not required to host your bot on Microsoft Azure, there are good reasons to do so.

For one thing, the Azure Bot Service built-in tools make it easy to develop your bot quickly and to deploy it wherever you’d like. Skype, Cortana, Facebook Messenger, Kik, and Twilio are just some of the platforms where your bot can live. As with Amazon Lex, you can use Azure Bot Service’s tools to develop a bot for your own website or app.

Development capabilities

Microsoft Azure gives you access to Cognitive Services, which include NLU features for sentiment analysis and contextual language understanding. NLU capabilities actually derive from the Microsoft machine learning service known as LUIS, which stands for Language Understanding Intelligent Service. LUIS interprets user intentions across a variety of scenarios to build what Microsoft dubs a “nuanced language model.”

You can also make your bot “see” things. Cognitive Services include visual intelligence, so you can create a bot that applies algorithms to images to extract valuable information for users.

Microsoft Framework chatbot examples

The Englander Institute for Precision Medicine at Weill Cornell Medicine is just one institution that’s putting Microsoft Bot Framework, Azure, and LUIS to work. Developers there built a chatbot that responds to text and voice requests from clinicians. Users can converse with the chatbot to access data that assists in medical decisions—and, ultimately, in medical outcomes.

Other use cases include customer service and transactions, but enterprise productivity is where you can really take advantage of everything this framework has to offer. Consider André, a chatbot developed on Microsoft Bot Framework that helps field engineers perform inspections of electrical grids. Relaying their questions to André means that inspectors don’t have to free up their hands to reference information. As a result, they finish the job faster.

Framework pricing

In terms of cost to build a bot on Microsoft Bot Framework, there are two tiers—Free and S1. The Free tier gives you unlimited messages on standard channels (think Microsoft services, like Skype, or services with publicly available APIs, such as Slack) and 10,000 messages per month on premium channels (e.g., your own mobile app or website). The S1 tier still gives you unlimited messages on standard channels, but, on premium channels, you pay $0.50 per 1,000 messages.

Additional charges may apply when you utilize different aspects of the Azure Bot Service. For example, a bot that runs as an Azure Web App is subject to its own pricing model.

Pandorabots

Compared to big companies’ bot-building frameworks, the Pandorabots framework takes a different approach to chatbot development.

Development capabilities

This framework doesn’t boast the machine learning capabilities of Amazon Lex or the code-free experience of IBM Watson Assistant. But Pandorabots is actually kind of proud of that. Here’s how the Pandorabots creators see their framework:

Machine learning based systems and APIs...are black boxes. In theory, the user can provide sample inputs, and the correct response, and the system can then identify inputs that are similar to the sample inputs and learn that these map to the same response. In reality, these systems are not effective without a large amount of training data, and it is not possible to debug the system when it returns the wrong answer.

The explainer continues:

These ML-based systems have another problem: performance. Above approximately ~500 defined intents, the systems begin to slow way down. By contrast, the response time for bots hosted on Pandorabots is always around ~300 milliseconds, even for bots that have ~300,000 intents defined.

Pandorabots’ claim is that a bot built with a framework that draws every response from large amounts of data and/or learned behaviors provides slower performance. By contrast, the Pandorabots framework merely states (or prints) the outputs you’ve programmed into it, making it faster.

Does that mean it’s impossible to build a sophisticated, AI-powered bot with Pandorabots? Nope. In spite of the framework’s lack of a machine learning system, its robust collection of AIML libraries helps you build a conversational bot quickly. In addition, the Pandorabots API gives you access to the framework’s NLP engine and allows your bot to talk to other applications.

Pandorabots chatbot examples

By reengineering an old vending machine to respond to user inputs from a Facebook Messenger chatbot, developers at Coca-Cola used the Pandorabots API for device control. Users tell the bot what beverage they’d like. Then they walk over to the vending machine to retrieve it. The transaction is seamless—and you don’t have to hit a Coke machine button or smooth out a wrinkled dollar bill.

Yamato, a Japanese delivery service, used Pandorabots to build a bot that reduces the time and money needed for customer support. Users activate the bot on LINE, the popular messaging app, where they can track packages and change delivery dates without calling a number and waiting for somebody to pick up.

Framework pricing

The Pandorabots framework is free for anyone to use.

Rasa

Rasa offers versatile bot-building tools. It’s the open source chatbot framework created by Rasa, a company that’s 100 percent focused on conversational AI.

Development capabilities

Rasa is a versatile bot-building framework. In addition to open source libraries, it includes NLU features and customizable machine learning models. If your bot already lives on Dialogflow or IBM Watson, you can even migrate it directly to Rasa. Rasa documentation shows you how.

Rasa’s framework is highly scalable, so it could be a good option if you expect growth as opposed to static user numbers. Yellow Pages Canada experienced this firsthand when its first chatbot struggled to handle all of the requests it was receiving. Rasa’s tools dealt with them without any problems.

Rasa chatbot examples

If you know somebody who’s never heard of a contextual chatbot assistant, just point them to Tia. Built with Rasa, Tia makes it easy for women to ask questions about their health and to receive clinician-sanctioned responses from real-world user interactions.

Framework pricing

Rasa is free to use in any project. Rasa Platform is a paid tier that includes Rasa plus training, QA, and a customer success program.

Wit.ai

If you’re building a Facebook Messenger chatbot, you’ll be smart to consider Wit.ai. Facebook owns Wit.ai, and you can use it to build literally any bot you want for commercial or non-commercial purposes—without ever receiving a bill. And, since Wit.ai is loaded with Facebook’s own NLP technologies, Wit.ai makes it easy to build and launch a conversational bot to your Facebook audience.

Development capabilities

Wit.ai isn’t only for Facebook Messenger bots. You can integrate it with any platform that has a public API or use it to build a chatbot for your website or mobile application.

Thanks to the built-in NLP features, you can create a text or voice-controlled bot and launch it on any domain, mobile or IoT device. For instance, the wit.ai home page emphasizes the platform’s ability to connect with a smart device, like your thermostat, and to adjust the temperature when you mention that you’re feeling cold.

Another plus is that there are official clients for Python, Ruby, and Node.js, so you don’t have to be a C# or .NET aficionado to build a sophisticated bot and to integrate it with your mobile app. Wit’s “recipes” also show you how to use these clients to integrate with your website, app, or Facebook Messenger.

When it comes to human languages, Wit.ai has you covered. Build a bot that communicates in everything from English or Icelandic to Southern Ndebele or Telugu. In fact, Wit.ai supports over 75 different languages.

Wit.ai chatbot examples

One developer, Amara Graham, built a wedding planner bot in just two days using Wit. And, in another example, though they lament how “painstakingly long” it took to train Wit.ai to handle all of the languages they needed it to process, these developers used the Wit.ai framework to create Meno BOT, a voice-activated assistant that helps clinicians update medical records and access information.

Framework pricing

Wit.ai is free for both personal and commercial use.

Build, deploy, test, repeat

With so many free or almost-free options for building a chatbot, the main cost for any bot-building framework is time. Start with a framework that supports your objectives and your platform of choice. Then deploy the chatbot to users and test the bot’s performance.

If you’re less than impressed by the machine learning engine or need smoother integration with a particular messaging app, you can always try another framework. As you now know, there are several to choose from, and they’re getting more sophisticated all the time.