You are currently viewing Dialogflow 18 – Integrating with Genesys – CCAI

Dialogflow 18 – Integrating with Genesys – CCAI

If you have heard about CCAI you might know that is a solution from Google to integrate with leading Contact Center providers to add AI capabilities that improve their service. There are  3 different components:

As you can see Virtual Agents are deployed using Dialogflow, so everything you have learned about this product still applies to CCAI. Depending on the CC software you are integrating with, you can have agents using Dialogflow ES, CX, or both.

This post is about the integration with Genesys Cloud and Dialogflow ES, so you can understand some of the insights needed to program your agent, like we have done in previous posts.

I won’t go into details of the integration itself, as you have the documentation online.You would need some credentials to authorize Genesys to call the Dialogflow agent, and once done you would be able to add the virtual agent within the Genesys console to manage phone calls. Once integrated you will something like this in Genesys’ console:

Once a call is transferred to Dialogflow it will interact for some time with the user, and it will be routed back to Genesys once the agent finished, so you will see the different Dialogflow intents where the conversation is set to end as exit points to Genesys, so you can handle the call behaviour. The call might be finished, or routed to a physical agent, to another queue, …

You can change any intent in the Dialogflow agent without any issue, but the ending ones are linked by their names, so if you change the name of these intents you would need to update the Genesys side too.

Genesys can add additional information to Dialogflow in 2 ways: 

#1: By calling a certain event of the agent. On the Genesys flow you can specify which event will be triggered when calling the agent, by using a custom event with your own name, instead of reaching the default welcome event.

This will require a matching Intent in the Dialogflow that has this event as a trigger, like we saw in this post:

So you can use this event to access one part of the agent or another.

#2: Pass parameters to Dialogflow. There is a limitation for this capability: you need to use a custom event name to pass parameters between the 2 platforms. The name of the parameters are defined in Genesys, and you would need to use the same names defining those parameters in the receiving intent in Dialogflow. Something like this:

By matching the names you would get the values from that parameters into your agent. Then to use those parameters on a fulfillment you need to reference the intent’s output context, “START_APP” in this example:

Notice that Dialogflow is not case sensitive, and events and context names are always passed as lower letters to the fulfillment, but not for the parameters names.

You can also get parameters back from Dialogflow to Genesys. For that, and according to the doc, you need to define a context named “genesys-output” … something like this:

Finally a note on languages locales. Genesys will be calling your agent using a locale if there is one for your language, so take this into account while defining the intents training phrases and parameters. In my case, while using Spanish (es) the Genesys calls are connected to the es-es locale that Genesys has defined.

Happy programming.



I work for Google Cloud, but this post is about personal ideas and opinions

Leave a Reply