
Learn why I created this course by tracing Dialogflow CX from beta in 2021 to 2023, and explore trade-offs with large language models like ChatGPT for no-code chatbots.
Compare Dialogflow CX with bots built using large language models to show easier intent design for non-programmers, clearer entity extraction, and a state machine with easy monitoring and test cases.
Explore why LLM bots outperform Dialogflow CX for FAQs, leverage world knowledge, and generate responses across intents, while recognizing hallucination risks and rapid AI innovation.
Compare Dialogflow CX with GPT-based bots, showing when to use Dialogflow CX for state management and structured entities, especially dates, in internal or controlled environments.
The lecture argues against integrating Dialogflow CX with a GPT API, citing increased costs and loss of state and entity insights, and suggests Vertex AI search with follow-up questions instead.
Explains how state machines power Dialogflow CX agent design, using a vending machine example to illustrate balances, transitions, and product selections.
We build Wendy, a Dialogflow CX vending machine bot that uses a state machine. It accepts quarters and offers Snickers, Twix, and KitKat, with balance, purchase, and refund intents.
See how a simplified Dialogflow CX bot uses a state-machine flow to add quarters, update and query balance, illustrating how to build no-code chatbots.
Ignore the complex terminology like scope and state handlers when learning Dialogflow CX, and focus on practical steps, as this lecture previews upcoming videos that skip screen clutter.
Navigate the Dialogflow CX web console, create a new agent in a single project, and explore the default start flow that visualizes pages as states and the default welcome intent.
Create a no-code vending machine chatbot in Dialogflow CX by mapping balance states to pages and defining intents for balance queries and quarter additions.
Test a Dialogflow CX agent in the simulator, observe a start state transition to state 25 with an entry dialogue, and understand that active state determines candidate intents.
Show how Dialogflow CX distinguishes no state transition from a state transition using balance and add a quarter, and depict a flow arrow that loops back to the same state.
Add state transitions in Dialogflow CX by reusing intents and customizing fulfillment per state, demonstrated from state 25 to 50 to 75 in a vending machine scenario.
Configure a Dialogflow CX bot to report the vending machine balance at each state by hard coding 'what is my balance' responses for $0.25, $0.50, and $0.75.
Use a no-code Dialogflow CX bot with a state machine and page transitions to show current balance and purchasable items Snickers, Twix, Kit-Kat, and return added balance.
Demonstrates a no-code chatbot purchase flow that uses a balance and state machine to buy items like snickers and twix through page transitions.
Add quarters, return balances, and reset to the start state in a state machine using Dialogflow CX, validating product checks and balance updates.
Gain practical hints for building a Dialogflow CX bot with a stateful design, reusable intents across states, and training phrases versus responses, demonstrated through a candy vending scenario.
Discuss whether Dialogflow ES can handle the name collection flow, highlight slot filling challenges, compare ES and CX options, and note that the next video will show ES design.
Design a flowchart for an es bot in Dialogflow CX to collect first, last, or full names, then obtain a phone number using intents and contexts.
Define intents in Dialogflow CX by translating a flowchart into a set of intents with input and output contexts, such as awaiting name, last name, and full name.
Explore the ES Bot Demo in Dialogflow CX, mapping first, last, and full names to intents, extracting parameters, and using session context to collect a phone number.
Extend the system given name entity in Dialogflow CX to recognize less common names, by adding entries locally to an agent, and compare with system dot person and wildcard options.
Annotate entities in the Dialogflow CX flowchart to distinguish first name, last name, and full name using system entity names.
Build a bot in Dialogflow CX by creating an agent and a get name flow, adding intents for first name, last name, and full name, with awaiting steps and testing.
Test the bot in the simulator to verify transitions from the start flow to the get name flow and extract parameters like first name and phone number in Dialogflow CX.
Explore the pros and cons of Dialogflow CX: reusable intents and built-in flow visualization with flow plus pages for complex flows. Also note pricing, incomplete flow clarity, and crossing lines.
Understand how scope determines candidate intents in Dialogflow CX, and how roots, flow start pages, and in-page routes shape which intents are evaluated during a conversation.
Explore how scope in dialogflow cx prioritizes the current page in the active get name flow over start page, and how removing a route changes which provides last name fires.
Learn why Dialogflow ES remains sufficient for many bots and when Dialogflow CX adds value as complexity grows. Discover how CX preserves information and handles off-track conversations.
Build a decision-tree chatbot in Dialogflow CX that guides language choices (Node.js or Python) via a flowchart of yes/no questions and user skill.
Design and test a Dialogflow CX flow from a flowchart, creating pages, states, and transitions, with a binary yes/no path guiding users to Actions on Google app and Node.js recommendations.
Review the Dialogflow CX flow chart to understand the binary yes/no state machine, inspect transition rules, and note missing routes and end-of-conversation visualization trade-offs for a clearer overview.
Build the remaining bot pages in Dialogflow CX, adding get knows Node.js and get knows Python pages with yes/no transitions, and define technical and learning paths.
Test your no-code chatbot in dialogflow cx and use a css feature to design seven test cases by identifying leaf nodes in the flowchart.
Create, name, and save test cases from the flowchart to cover multiple user paths in a no code Dialogflow CX chatbot, starting with hi and following with yes or no.
Declare and number test cases from the flowchart leaves, then run them in Dialogflow CX to validate bot responses; use global as the agent location to ensure tests execute.
Translate the planets bot to Dialogflow CX and teach pages and transitions in a state-machine style to answer volume, color, and mass for the nine planets.
Explore how entities and parameters form a single concept in Dialogflow CX, define planet and attribute types for the planets bot, and echo values via intent parameters.
Explore original versus resolved values for Dialogflow CX intents, showing how user input maps to planet attributes, with normalization and consistent casing to resolve weight to mass.
Discover how Dialogflow CX uses intent and session parameters to carry user input across conversations and how form parameters replace slot filling, addressing Dialogflow ES limitations.
Discover how session parameters auto-create from intent parameters, copy values at runtime, and preserve context across a Dialogflow CX bot flow with examples like attribute and Neptune.
Explore how to use session parameters in Dialogflow CX by creating a follow-up page, handling intents like changes attribute, and preserving planet and attribute values.
Learn how Dialogflow CX uses session parameters to persist user-provided attributes across a conversation, enabling dynamic attribute changes and seamless context without long-lived ES contexts.
Learn to debug a Dialogflow Python webhook using Flask and Ngrok, turning your local development machine into an internet-accessible server to simplify upcoming webhooks lessons.
Explore handling multiple intents with Dialogflow ES webhooks and compare to Dialogflow CX's multiple endpoints, showing how separate endpoints simplify code organization and iterative development for add and multiply operations.
Create a webhook with skeletal code using Flask in a plain Python project, run and debug a hello world route, and prepare to connect to a Dialogflow CX agent.
Create a webhook route in a flask app that returns a Dialogflow CX compliant fulfillment response with a text message array for proper webhook messaging.
Set up the connection between a Dialogflow CX bot and a webhook using Ngrok to expose a local Flask app on port 8080, and test the webhook flow.
Inspect the webhook request object and its fields, including intent info, page info, and session info. Extract planet and color values from the intent info parameters to drive webhook logic.
Create a Flask webhook endpoint to handle the get planet attribute intent, extract planet and attribute from the request, and echo back the resolved values for easy lookups.
Learn to create a changes planet endpoint in a Dialogflow CX bot, retrieving planet attributes from session info when not provided by the intent, and route through a dedicated webhook.
Explore the changes attribute endpoint in a no-code chatbot, using session info for planet and attribute, and consider consolidating into a single function for shared logic.
Deleting a webhook in Dialogflow CX and attempting to reassign it to an intent may fail, revealing a bug and raw edges in CX.
Reroute conversation flow in Dialogflow CX by using webhook-provided session parameters, updating session info, and applying evaluation order to move between Earth and follow-up pages.
Learn what slot filling is, how it works, and when to use or avoid it in Dialogflow CX, with a flight booking example and a practical checklist.
Define slots for a flight booking bot by creating a booked flight intent, a get-info page, and required parameters like from, to, return date, and passengers, with prompts.
Demonstrate a simple slot filling bot that collects flight details and confirms them via a transition route and parameter checks in Dialogflow CX.
Learners explore adding phrase variants to a flight booking bot using Dialogflow CX, focusing on slot filling, parameter naming, and testing with real user utterances.
Learn how slot filling uses reprompts to collect valid user inputs in dialogflow CX, ensuring all required parameters are gathered before processing the booking.
Dialogflow cx adds per-parameter event handlers and no-match-default to re-prompt when input is not understood, with messages like 'please input a valid city name' until a valid value is provided.
Explore reprompts for a flight class entity (economy, business, first) in Dialogflow CX, using a no match default to guide user input and improve input quality.
Set an unknown value for the booking name when Dialogflow CX cannot understand a name, then return to the current page to break the slot filling loop.
Discover how Dialogflow CX exits the slot filling loop using no match prompts (no match one, no match two) and reprompt handlers, mapping unknown values and advancing questions.
Learn how a quiz bot in dialogflow cx provides immediate feedback, progresses through questions regardless of correctness, and computes a score without a webhook.
Create a Start Quiz intent to trigger a quiz flow, navigate to question one (Q1), and present the entry dialogue asking which element tracks what happened within the conversation.
Set up the Q1 entry dialog to handle correct and incorrect answers, assign a score, provide feedback that the correct answer is context, and transition to question two.
Create and test Q2 intents in Dialogflow CX, increment the session score based on previous results, and route to Q3 with separate correct and incorrect paths.
Define question 3 transition routes in Dialogflow CX, manage the score with session parameters, and display results on a score page for correct and incorrect paths.
Display score page shows your final score out of three and offers an immediate restart, while weighing webhook-based scoring against Dialogflow CX’s built-in routing for scalable quizzes.
Explore how Dialogflow CX scope and the start page govern which intents fire, with the start page always in scope and entry intents firing anytime.
Explore the four layers of a Dialogflow bot—user interface, integration, conversation, and fulfillment—and learn how the UI layer shapes the integration code and CX webhook approaches for Zoho Sales IQ.
Set up the bot by linking Zoho Sales IQ with Dialogflow CX using a webhook and ngrok for local development, and test integration inside the live chat widget.
Download the service account credentials JSON file from Google Cloud Console and store it with your code, using the Dialogflow Service Agent role with minimal permissions for detect intent.
Walks through code that uses a service account JSON to generate credentials and a bearer token, builds a detect intent API call, and integrates Dialogflow CX with Zoho Sales IQ.
Explain why I construct the API URL directly instead of using the Dialogflow CX client library to gain flexibility, handle evolving channels, and work with protobuf-based message objects.
Learn how to define and send a custom payload from Dialogflow CX to Zoho Sales IQ to render a name input field in the chat widget.
Discover how Zoho SalesIQ renders rich responses like input cards, single and multiple select options, and confirmations, and how to integrate them with Dialogflow CX to deliver channel-specific custom payloads.
Host your Python middleware for Dialogflow CX with PythonAnywhere, safely uploading the service account JSON. Start with the free plan for low-volume bots, noting limited concurrency.
Deploy your middleware on heroku for free, noting dyno sleep and the cloud-based, simulated file system. Store service account json in an environment variable and compare setup with pythonanywhere.
Evaluate hosting middleware on Google Cloud with Cloud Functions, App Engine, and Cloud Run, focusing on credential setup, local development challenges, and the cost and uptime trade-offs.
Explore exception handling in dialogflow cx, learning how the state machine keeps conversations on track when users give unexpected input and how to use a demo chooser bot.
Use flow charts and mind maps to design a Dialogflow CX bot, gaining a high-level overview that speeds up bot building while noting CX's visual state machine requires many clicks.
Design a no code conversational chatbot with dialogflow cx by mapping flow, welcome prompts, help routing, and get channel logic using actions builder.
Explore exception handling in Dialogflow CX by managing no-match events, budget-based paths for hiring programmers, and slot filling with follow-up questions and suggestion chips.
Demonstrate collecting a required integer for the number of intents with Dialogflow CX, using no-match prompts, and resetting session parameters on start over.
This course, which was originally intended for my website audience, evolved over time from the date Dialogflow CX was first released (second half of 2021) and updated over the next two years. I stopped updating the course once ChatGPT started dominating the chatbot landscape (please watch the Introduction chapter to see why).
PLEASE NOTE
1 Many lessons are based on questions and feedback from course students, and you will see that some of the chapters are (unfortunately) a little redundant - for example the free Heroku tier is no longer available.
2 You should be able to follow the whole course just by watching the videos. The downloadable resources like agent ZIP files are not always available in the lesson, but that should not affect your learning. Similarly, some of the videos are based on articles from my old website which are now expired, but again you should be able to follow that material just by watching the full video.
3 There are a couple of chapters which are quite code heavy. If you are not a programmer, you should be able to skip those chapters and still understand the rest of the material quite easily. Most of the chapters are self contained, although you MUST first go through the Beginner tutorial (which explains the concept of the state machine) as a prerequisite for the rest of the material.
Testimonials from my website audience (note: all of these were provided between 2021 to 2023)
"It is very hard find a complete course about DialogFlow CX"
"Actually is very hard find a complete course about DialogFlow CX, so I did not find any obstacle to buy this course. I managed to implement a chatbot for a website by creating my own webhook in PHP.
What I liked the most about this course was the clear way in which how to create a webhook was explained.
1. You can possibility learn how to implement custom integration using anymore framework.
2. You can understand the difference between dialogflow ES and dialogflow CX.
3. You can observe and prevent some bugs that the application has.
I recommend this course because actually is very hard find a complete course about this technology and Aravind simplify the way to explain this topic."
Adonis T
"The course breaks things down into “bite-sized morsels” without using lingo that leaves many behind"
"There are precious few courses and tutorials for Dialogflow CX given its recent release. For that reason, I wondered if I should wait until the product matured some more before looking for a course. I bought the course after watching a few of the previews of this and other courses. I like Aravind’s approach to teaching. He breaks things down into “bite-sized morsels” without using lingo that leaves many behind. I like the discussion on state machines. I was distantly familiar with the term but Aravind brought it up close.
Other benefits of the course:an understanding of the terminology used in Dialogflow, an understanding of entities and parameters, an overall view of the process of building a bot in CX
I would recommend this course to anyone that has a need to learn the process of creating a bot, either for cost savings or for extending your existing call center functionality."
Paul R
"it was one of the most up-to-date materials on Dialogflow"
"Watching the free videos on the differences between Dialogflow ES and CX was enough for me to make the decision and move forward with the purchase. The videos actually helped me decide which course to take. I found that Dialogflow is a very powerful tool, which should help me with my project quite a bit.
(I liked) The short classes and ease to navigate across classes.
(Other benefits of the course) Good content, good didactics and fast pace of learning.
I’d recommend this course, because it was one of the most up-to-date materials on Dialogflow. I started by purchasing a course from Udemy, but I was very frustrated that it never even mentioned the existence of Dialogflow CX and all of the materials were based on Dialogflow webpages and references that no longer exist."
Daniel B
"Just the difference between parameters in CX and the pitfalls of contexts and slot filling in ES was golden."
"I have learned so much from this website and the CX course. I find these courses much more informative than the official documentation. Just the difference between parameters in CX and the pitfalls of contexts and slot filling in ES was golden."
Shahrukh S