Allows a social media or a web chat contact to have a conversation with a chatbot. |
The action cell uses a machine agent from a preconfigured project in the Dialogflow CX model on the Google Cloud platform. A Dialogflow project encapsulates a set of languages, geographical locations, machine agents, and intents associated with each machine agent. An intent is a set of one or more messages categorising the contact's intention in a part of a conversation.
When designing a service for a machine agent to interact with a contact over a digital channel, you may or may not need to send an initial message to the contact. This depends on the type of digital channel:
Digital channel |
Does an initial message need to be sent to the contact? |
Social media channels |
No. The contact's incoming message (such as a Tweet) is presented to the Machine Agent Digital action cell where the context of the conversation is likely to be established. For example, "Can I change my hotel booking?". |
Web chat |
Yes. Here, the context of the conversation is not established when the contact initiates a web chat. Your FLOW script must therefore send an initial message to the contact to prompt a response. You do this using a Machine Agent Digital action cell's Trigger Initial Intent property or by using a Send Message action cell. For example, this might be, "Hi, I'm the virtual car rental agent and can help you with reservations. How can I assist you today?" If you did not send the initial message using a Machine Agent Digital Action, you must include an instance of the action cell in your script to await the contact's response. |
With the context of the conversation established, the Machine Agent Digital action cell's virtual Dialogflow agent interacts with the contact by matching their messages to intents in the agent's Dialogflow configuration. When the Dialogflow conversation ends successfully, execution proceeds along the action cell's End Conversation exit point.
If the Dialogflow conversation needs to be interrupted for the FLOW script to perform a task such as to route the contact to a human agent via a queue or to perform an external data lookup, you must configure the action cell to exit on an appropriate intent that is configured for that agent in Dialogflow. In the illustration below, the contact has requested a luxury vehicle from the Dialogflow agent (1). The intent (2) for this request is 'car_rental_luxury_option' and is configured as an exit route from the Machine Agent Digital action cell so that the FLOW script can, at this point in the conversation, contact the vehicle provider about the availability of such vehicles. In this particular example, the script contacts the vehicle provider using a REST API action cell.
Execution then proceeds to a second Machine Agent Digital action cell that is configured with the same Dialogflow agent so that the conversation can resume.
Note: the conversation is maintained across the two Machine Agent Digital action cells because it is tied to the entire Dialogflow interaction rather than to the first Machine Agent Digital action cell.
The action cell allows you to store an intent's parameters (values extracted from the conversation) as user variables for use elsewhere in your script. These parameters may be for system entities such as dates, times, email addresses, or they may be for custom entities such as a customer ID in relation to a customer account, for example.
Note: the action cell does not support duplicate parameter names in Dialogflow.
Note: the action cell supports a subset of the system entities available in Dialogflow. These are listed in the appendix.
A default fallback intent is associated with the virtual machine agent. This is matched when none of the contact's messages match an intent in Dialogflow. You can configure the action cell to exit along a 'No Intent Matched' exit point when this fallback intent is matched numerous times.
A machine agent is associated with a particular project and location as configured in Dialogflow. As you may have access to many agents across different projects, you must select the agent's parent project and location.
Option |
Description |
Project |
Select the Dialogflow project to which the agent belongs. The list displays projects configured in Dialogflow and added to your organisation by Content Guru engineers at deployment. |
Location |
Select a country or region as defined in the selected project. For more information about agent location, see cloud.google.com/dialogflow/cx/docs/concept/region. |
Agent |
Select the machine agent (from the selected location) for interacting with contacts. |
Option |
Description |
Trigger Initial Intent/ Initial Intent |
Select this option if you want the machine agent to send a message to the contact, and then select an appropriate intent from the Initial Intent drop-down list. In the first or only occurrence of the action cell With the option selected, choose a meaningful intent for initiating the agent's conversation with the contact. This is typically a welcome intent such as, "Hi, I'm the virtual car rental agent. How can I assist you today?" In a subsequent occurrence of the action cell Leave this option unselected if the Dialogflow interaction is simply continuing from where it left off following an interruption to perform some other function such as a data lookup from the FLOW script. In this scenario, the difference in configuration between this and the first Machine Agent Digital action cell should be the 'unselected' setting of this property only. Select the option if you want to change the context of the conversation and then choose an appropriate intent. For example, if a data lookup indicates that there are no luxury vehicles available, you may choose an intent that causes the agent's Dialogflow conversation to continue at a point that offers the contact another choice. Note: you must choose an intent that is valid at the current point in the conversation. Choosing an invalid intent may disrupt the Dialogflow interaction and cause the action cell's execution to proceed along its Error exit point. |
Language |
Select the language that you expect the contact to use. This is list of pre-configured languages for the selected machine agent. |
Max attempts |
The number of times that the contact's message is allowed to match the machine agent's fallback intent (where the machine agent does not recognise a message) before exiting along the No Intent Matched exit point. |
Timeout |
The number of minutes to wait for the contact to respond to the machine agent before exiting along the User Input Timeout exit point. |
Alias |
(Optional) Use this to enter a meaningful name to indicate the source of the interaction. This will be seen by the agent in storm DTA if the machine agent conversation is routed to them via a queue. Note: a contact who is engaged in an interaction using the storm web chat client will also see this name. If you leave this blank, the agent (and storm web chat client) will see the name of the FLOW script instead. |
(Optional) This lists all of the intent parameters configured against the agent in Dialogflow. Use this section to store the parameter values in FLOW variables.
Option |
Description |
Parameters |
For a long list of parameters, use this to enter search text for filtering the list. |
<parameter name> |
Specify variables of the correct types to store the intent parameters. |
Exit Point |
Description |
<Intents> |
This is taken when an intent in the Dialogflow interaction matches any of the machine agent's intents configured on this route. The branch is labelled according to the configured intents. Use this if you need to break out of the Dialogflow conversation and into the FLOW script on the basis of a contact's message. You can create any number of Intent exit routes with multiple intents per route. A particular intent may be used on one exit route only. Note: you must select a machine agent and save the action cell before defining this exit point. |
No Intent Matched |
This is taken when the number of times that the contact's input matches the agent's fallback intent exceeds the value configured in the Max Attempts property. |
End Conversation |
This is taken when the conversation is deemed to have ended. It is based on the underlying fulfilment setting of the previously matched intent. |
User Input Timeout |
This is taken when the contact has not responded to the machine agent in the duration specified in the Timeout property |
Error |
This is taken if there is an internal error, or an error with Dialogflow. |