A Powerful Chatbot CMS Solution for Conversational Chatbots – AI chatbot

In this post, I like to introduce a powerful Chatbot Content Management System (Chatbot CMS) for managing chatbot’s content dynamically.

The applications of our CMS solution for chatbots are particularly relevant to internal corporate communication and specific customer support projects where information flow is fluid.

To demo what is possible, I have created a COVID-19 chatbot using Dialogflow, Google’s conversational chatbot platform, and Botcopy a rich custom web-chat.

A Chatbot CMS platform will allow us to create, manage, and access our bots content outside of the chatbots dialog-flow.

This means instead of hard-coding our bots responses into flows and components, we can have our flows and components access our Chatbots CMS to find specific answers.

Moreover, this enables us to add, change, edit, and re-organize our content easily and hence improve content management for our bot.

The chatbot appears on the bottom right corner of this page demonstrating all the functionality we describe in this post.

Structured Content: Key to successful chatbots and AI

For chatbots to work well with outside content-sources we need structured content. There are three main elements to chatbot interaction.

  • Context – the reason for the interaction
  • Intent – the purpose or goal of the interaction
  • Entity – keyword property used by Dialogflow to retrieve information

Using our KBucket content library we can achieve all of these objectives elegantly in building our AI chatbot.

structured data for conversational chatbot

In our example, immunity is the common entity and the related entities will allow us to ask more specific questions like: “how antibodies help with immunity?”.

More on this later.

Effective Context Management in Chatbots

Context, in terms of our chatbot, is the reason for our conversation.

Effective context management in AI chatbots is important because it allows bots to interact with users in a way that is easier, quicker more helpful, and less robotic and scripted.

In our example, we are using COVID19 as our context, and have built an AI chatbot to answer questions related to the COVID19 pandemic.

Using our Chatbot CMS platform we are able to curate articles and documents related to our topic (context) and structure it for access from our bot, using a custom webhook.

The result is a COVID-19 content library with over 270 articles to date, answering critical questions about the pandemic, its risks, suggested precautions, infection data, mortality charts, guidance, immunity, testing, vaccines, lockdown information, reopening related guidelines and more.

By organizing all the information related to our project in one place we are able to answer any related question in a natural conversational manner.

Our COVID19 content library is now the source of information for our chatbot and any update to the library is automatically included in our bot’s response.

The source for a post in the KBucket library can be a web-page, links to web documents, social media posts, and basically any asset that can be accessed in our browser.

Each saved link has the following components, which is structured and consistent:

  • Title: Your posts title
  • URL: Link to the post
  • Image URL: a custom image for that post
  • Description: A summary of the post
  • Publisher: the publisher of the post
  • Date: The date the publication was published
  • Revision Date: The date the post was updated by the curator
  • Author: The author of the post
  • Content tags: Categorizing the content in the post
KBucket Posts

Examples of KBucket Posts for your Chatbot CMS

Creating and Optimizing Intents for Chatbots

Intents in Dialogflow, and for chatbots, in general, are questions related to our topic.

In other words, what does the user want to know about the information we are sharing and how will they be asking related questions to find their answers.

By researching and curating content related to our topic we are in essence building an Intent Map.

Every title and description for each post is a guide for creating a new “Intent”, and a guide for authoring the “Training Phrases”.

The content in each post informs us of the best training phrases for our intent.

For example, the articles we have curated related to how “children” are affected by the coronavirus has informed our training-phrases as follows:


Dialogflow Learning Phrases

Example of how to use curated content to write training phrases for conversational chatbot

A Powerful Knowledge Transfer Tool for Building Conversational Chatbot

The KBucket CMS solution is ideal for agencies, or any outside group building a conversational chatbot for clients because it makes the transfer of knowledge much easier.

Let your clients curate, organize, comment, and categorize their content the way they work and talk, and then design their chatbots using their own language.

This will save both you and your client valuable time and deliver a better product.

Your clients can be both internal to your company or external.

The key is to learn the language of the people who will be using the product, in order to author your Intents and training-phrases.

Entities: Delivering the right content for your AI chatbot

An entity is a property which can be used by Dialogflow to answer a request from the user.

The entity will be a keyword within the request such as name, date, location, publisher, author, etc.

Our structured data lets us use content-tags, author-tags, publisher-tags, and date-tags as entities to retrieve specific posts based on the users inquiry.

In our COVID19 chatbot example we have made use of one or a combination of content tags to build our intents.

Let’s take a look and see how it all works.

Content Category Tags as Entities

In our COVID-19 demo bot, we have divided our entities into two groups.

Single tags: Here we provide more general answers to questions like “give me the latest news on vaccines“.

Multiple tags: Here we use a combination of tags to answer more specific questions like what are the COVID19 guidelines in california.

Date Tags as Entities

Dates are used as system entities in Dialogflow. Since each post in our KBucket library has a date stamp we can use these entities to build special responses from the same intent.

By simply adding new training phrases that include dates for each intent we can now ask more specific questions that filter responses according to their published dates.

We have provided examples in our bot (it’s at the bottom right side of this page), and encourage you to try using similar queries for other intents.

Publisher and Author Tags as Entities

We have also defined publishers and authors as tags and used new training phrases within the intent to add this functionality.

Imagine if you are building a conversational chatbot to manage an internal project and you want to know if specific departments or authors have published material on a specific topic.

As an example in our bot, we have enhanced a few of our intents to answer questions with the author and publisher of the post in mind to demo this capability.


The types of applications that can benefit from our CMS solution are organizations that manage fluid information environments.

For example, you are a pharmaceutical company working to build a vaccine for COVID19.

You have multiple groups working in parallel and you need an effective system for information management.

Our CMS solution makes it really easy to index information from different sources for use on particular projects within the organization.

Similarly, you can build custom FAQ portals for both internal and external use.

The combination of a CMS platform that can be managed by the information workers and a conversational chat that can both deliver responses in context and learns from user inquiry is an ideal solution to tackle the explosion of information and deliver effective knowledge management solutions.

Contact us if you like to schedule an appointment and learn more.