Home / Dialogflow CX / Dialogflow CX vs Dialogflow ES
Dialogflow CX

Dialogflow CX vs Dialogflow ES

First published: Sep 2020 Last updated: Sep 2021

Sep 2021 Update: I have created a YouTube video series explaining the difference between ES and CX by building a simple decision tree chatbot for Dialogflow Messenger.

Video Timestamps

[00:00] Who should watch this video?
[00:46] 5 ways Dialogflow CX is better than Dialogflow ES
[10:00] Should you get started with Dialogflow CX right away?
[12:55] When to definitely use Dialogflow CX
[14:35] When to definitely avoid Dialogflow CX
[17:35] When to consider using Dialogflow CX
[20:15] Dialogflow CX Course Discount

Resources mentioned in the video

Step by Step guide to Dialogflow

5 ways Dialogflow CX is better than Dialogflow ES

When to definitely use Dialogflow CX

You definitely need to use Dialogflow CX if you are certain that you are building a slot filling bot. In my view, the bar for what qualifies as a slot filling bot is fairly high:

  • Could the opening sentence include ANY of the slots?
  • Could the opening sentence include ALL of the slots? 
  • Could the slots be specified in any order? 
  • Are all the slots ACTUALLY required? 
  • Is it possible a slot may not exist? 
  • Do the slots change dynamically?

Learn more here

The second situation where you definitely need to use Dialogflow CX is for telephony bots and voice bots in general (once more tooling is available). This is because CX is well suited for phone tree style bots. The reason for this is quite detailed, but I would recommend that you log in to Dialogflow CX and load the prebuilt bots into your CX console. Once you spend some time studying these prebuilt agents, it will become clearer why CX is well suited for such bots. 

In addition, the existing tooling for Telephony bots and voice bots in Dialogflow ES is quite poor, so there is very little reason to use ES for voice bots. 

When to definitely avoid Dialogflow CX

You should definitely avoid Dialogflow CX if you are building a large one-and-done FAQ chatbot. A good example of such a bot is the one which selects a single article from my website based on the Dialogflow topic you are interested in (note: this was a demo, I have taken it down).


By large, I mean a bot with 10s if not 100s of intents. 


One and done bots answer a single question (and provide a link to another web page, for example), but are not built to handle follow up questions from the user. 

Often, these two are the same thing. It is hard to manage if large bots answer follow up questions, and one-and-done bots can be easily scaled to answer hundreds of questions. 

Another rule of thumb:

If your bot will benefit from the FAQ generator in my BotFlo app then that is probably not a good choice for CX. BotFlo converts a CSV file with all your intent information into a Dialogflow agent ZIP file in a single click (i.e. you use the CSV file like a content management system for your bot). Since Dialogflow ES is perfectly capable of handling such a bot, you wouldn’t need the additional complexity and cost associated with CX.

When to consider using Dialogflow CX

While there are situations when you should definitely use and definitely avoid Dialogflow CX, there is also a lot of middle ground.

For example, what if you are building a large FAQ chatbot, but you also need to handle a few follow up questions? This is usually best handled by ES.

What if there is a group of different tasks the customer wants to do, and after you identify the task (from the first message), the bot will inevitably need to ask a lot of followup questions to complete the task? This is usually best handled by CX.

But the actual answer is subjective.

Here is my suggestion:

1 Build the bot using ES first

2 If/when the bot becomes too hard to update, move it to CX

[I cannot really think of any scenario where you would move in the other direction, but you never know]

This 2 step process will be a lot easier if you use the flowcharting system I recommend in my Flowchart to (ES) Chatbot course. 

If the flowchart becomes too hard to update, it is time for you to move to Dialogflow CX. The big advantage of this approach is that you can build your bot at a low cost and de-risk it. Once your bot gets complex enough, you already know how it works and you will be ready to migrate it to CX. 

How to build your ES bot to support future migration to CX

You can design your ES bot in such a way that it would be easier to migrate to Dialogflow CX if you need to.

1 Use a flowchart

The Mindomo based flowcharting system I explain in my free course will make it quite easy for you to visualize the conversation state machine.

In fact, in my Dialogflow CX course, I start with the flowchart I created originally for my Decision Tree ES bot and used it to generate the CX bot. The flowchart actually made it much easier to generate the CX bot too.

I am building a tool which can automatically convert a Mindomo flowchart into a Dialogflow ES chatbot with the push of a button. You can follow its progress here.

2 Maximize the conversation layer

In other words, do as much of the work inside the Dialogflow console, and as little as possible in the webhook layer (read about the 4 layers of a Dialogflow ES bot). I also refer to this as the explicative approach. 

In addition to being easy for non-programmers to understand what is happening inside their Dialogflow ES bots, this approach also makes the conversation state machine (which you need to design for all CX bots) much more explicit. 

3 Write conversation test scripts

This feature is built in to CX, but isn’t available in ES. If you write some conversation test scripts, it gives you two benefits: a) your ES bot will be more robust, and b) you now have test scripts you can carry over to CX to verify if your entire bot got migrated properly.

I am building a tool to generate and run test scripts for your ES bot so you don’t end up breaking it while making your updates. You can follow its progress here

Dialogflow CX Pricing Updates (August 2021)

Recently Dialogflow introduced per message pricing for text chatbots. You can read more about the pricing here. This is helpful if you have many users having shorter conversations. Earlier, each of those would have counted as 1 extra session = 20c. Now the pricing is per request, although the per message pricing has gone up a little bit.

In addition, you can now enable the Dialogflow CX free trial on an existing Dialogflow ES account (for some reason, this wasn’t possible initially). The CX free trial gives you $600 worth of credits to use towards your Dialogflow CX bots, and you need to use up the credits within a year.

This website contains affiliate links. See the disclosure page for more details. 
"The magic key I needed as a non-programmer"

The custom payload generator was the magic key I needed (as a non-programmer) to build a good demo with rich responses in DialogFlow Messenger. I've only used it for 30 minutes and am thrilled. I've spent hours trying to figure out some of the intricacies of DialogFlow on my own. Over and over, I kept coming back to Aravind's tutorials available on-line. I trust the other functionalities I learn to use in the app will save me additional time and heartburn.

- Kathleen R
Cofounder, gathrHealth
In this free course, I provide some tips for managing large Dialogflow ES bots without compromising on accuracy.

Similar Posts