Migrate virtual agents from Dialogflow ES to Dialogflow CX
The Qonversational AI practice team at Quantiphi works on building the best conversational experience for an array of industries and business use cases. We leverage Google Cloud Contact Center AI (CCAI) and Dialogflow’s capabilities to deliver innovative and industry-leading solutions to our customers.
The advent of Dialogflow CX
Google’s Dialogflow has released a new edition called Dialogflow CX, which aims to facilitate the development of advanced agents with the most innovative capabilities for large and complex use cases.
Dialogflow CX provides conversation flow controls in a more explicit and structured way. CX follows a graphical structure that allows the designing of complex conversation flows. Hence, it is only a matter of time that Google Cloud CCAI customers start switching to a more advanced, developer-friendly solution.
You can read more about the differences between the two editions on the official Google Cloud page.
Demand for migration from Dialogflow ES to CX is growing
Due to the added benefits of Dialogflow CX, organizations are looking to migrate their existing Dialogflow ES Agents to Dialogflow CX. However, migrations are difficult and may get complicated if not managed properly. We worked to simplify the process for our internal teams as well as for our customers to be able to migrate from Dialogflow ES to Dialogflow CX.
Let’s say an organization wants to enhance its customer support experience using Dialogflow CX, but they also want to retain the existing flows built using Dialogflow ES. In this scenario, they would need to follow a long process involving:
Upskilling engineers to gain a good understanding of Dialogflow CX concepts
Setting up a CX agent with required settings
Conversation architect to build out the high-level conversation design
Conversation Bot Engineers need to iterate over flows and manually migrate the required data from Dialogflow ES to Dialogflow CX
Building the end-to-end conversation flow
There was an opportunity for us to build a new pipeline, automate the migration process, and enable our engineers to move faster. Hence, we worked towards the goal with an intent to:
Make it easy and beginner-friendly for anyone who is new to CX and its concepts
Easily migrate as much as possible of the existing conversation flows from ES to CX
Reduce the time required for rebuilding the conversation flows in CX
How we built it
We researched and explored Dialogflow CX and began working towards building a simple prototype to evaluate the possibilities and scenarios that could be handled. As we progressed, we identified core challenges that needed to be resolved and then worked on breaking them down into subproblems. We iterated over the subproblems, such as identifying the connectivity in the conversation flow, tagging the entities, categorizing the data into the format of pages, flows and so on – by taking an experimentative approach to solving them. We followed a bottom-up strategy to build and test the smaller problems first and then used them to solve the bigger problems.
The tool is able to automate a large chunk of the migration work and we are continuing to enhance it. The solution currently has the following capabilities:
Identify and maintain the flow connectivity during the migration
Identify and build the pages and flows from the intents
Identify the transitions between pages and flows
Migrate data like training phrases, entities, parameters, slot filling.
Handle entity tagging at required places
Enable and tag webhook at required places
Handle slot filling and parameters
Migrate the responses like text and payload
Migrate and place custom events
Process Flow Diagram
A quick recap
We are continuously working to improve and enhance the productivity of our team and delivering the best Conversational AI experience. We are iterating to optimize and handle as many scenarios as possible. We have yet to determine how much of the migration can be automated and we will share with the wider community when we get to that point. To summarize, the solution can benefit organizations in the following ways:
Single click migration solution
Reduce the time to migrate to Dialogflow CX significantly
No prior knowledge of CX required to migrate the agent
Reduced user time and efforts for migration
For more information, please contact us at Quantiphi.
Contribution by: Foram Vithalani – Technical Architect, Qonversational AI Team
This website stores cookies on your computer. These cookies are used to collect information about how you interact with our website and allow us to remember you. We use this information in order to improve and customize your browsing experience and for analytics and metrics about our visitors both on this website and other media. To find out more about the cookies we use, see our Privacy Policy. If you decline, your information won’t be tracked when you visit this website. A single cookie will be used in your browser to remember your preference not to be tracked.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Cookie
Duration
Description
__cf_bm
30 minutes
This cookie, set by Cloudflare, is used to support Cloudflare Bot Management.
__hssc
30 minutes
HubSpot sets this cookie to keep track of sessions and to determine if HubSpot should increment the session number and timestamps in the __hstc cookie.
bcookie
2 years
LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser ID.
bscookie
2 years
LinkedIn sets this cookie to store performed actions on the website.
lang
session
LinkedIn sets this cookie to remember a user's language setting.
lidc
1 day
LinkedIn sets the lidc cookie to facilitate data center selection.
UserMatchHistory
1 month
LinkedIn sets this cookie for LinkedIn Ads ID syncing.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously
Cookie
Duration
Description
__hstc
5 months 27 days
This is the main cookie set by Hubspot, for tracking visitors. It contains the domain, initial timestamp (first visit), last timestamp (last visit), current timestamp (this visit), and session number (increments for each subsequent session).
_ga
2 years
The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
_ga_QDHBZRQGMV
2 years
This cookie is installed by Google Analytics.
_gat_gtag_UA_62704040_1
1 minute
Set by Google to distinguish users.
_gd_session
4 hours
This cookie is used for collecting information on users visit to the website. It collects data such as total number of visits, average time spent on the website and the pages loaded.
_gd_svisitor
2 years
This cookie is set by the Google Analytics. This cookie is used for tracking the signup commissions via affiliate program.
_gd_visitor
2 years
This cookie is used for collecting information on the users visit such as number of visits, average time spent on the website and the pages loaded for displaying targeted ads.
_gid
1 day
Installed by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
_hjAbsoluteSessionInProgress
30 minutes
Hotjar sets this cookie to detect the first pageview session of a user. This is a True/False flag set by the cookie.
_hjFirstSeen
30 minutes
Hotjar sets this cookie to identify a new user’s first session. It stores a true/false value, indicating whether it was the first time Hotjar saw this user.
_hjIncludedInPageviewSample
2 minutes
Hotjar sets this cookie to know whether a user is included in the data sampling defined by the site's pageview limit.
_hjIncludedInSessionSample
2 minutes
Hotjar sets this cookie to know whether a user is included in the data sampling defined by the site's daily session limit.
CONSENT
2 years
YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
hubspotutk
5 months 27 days
HubSpot sets this cookie to keep track of the visitors to the website. This cookie is passed to HubSpot on form submission and used when deduplicating contacts.
Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.
Cookie
Duration
Description
__ptq.gif
session
Sends data to the marketing platform Hubspot about the visitor’s device and behaviour. Tracks the visitor across devices and marketing channels.
_fbp
3 months
This cookie is set by Facebook to display advertisements when either on Facebook or on a digital platform powered by Facebook advertising, after visiting the website.
fr
3 months
Facebook sets this cookie to show relevant advertisements to users by tracking user behaviour across the web, on sites that have Facebook pixel or Facebook social plugin.
VISITOR_INFO1_LIVE
5 months 27 days
A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSC
session
YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devices
never
YouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt-remote-device-id
never
YouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt.innertube::nextId
never
This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.
yt.innertube::requests
never
This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.