A Dialogflow CX agent is a virtual agent that handles concurrent conversations with your end-users. It is a natural language understanding module that understands the nuances of human language. Dialogflow translates end-user text or audio during a conversation to structured data that your apps and services can understand. You design and build a Dialogflow agent to handle the types of conversations required for your system.
A Dialogflow agent is similar to a human call center agent. You train them both to handle expected conversation scenarios, and your training does not need to be overly explicit.
Create an agent
To create an agent:
Console
- Open the Dialogflow CX Console.
- Create or choose a Google Cloud project.
- Click Create agent.
- Complete the form for basic agent settings:
- You can choose any display name.
- Select your preferred location. Click the Edit button if you want to change advanced location settings.
- Select your preferred time zone.
- Select the default language for your agent. You cannot change the default language for an agent once it is created.
- Click Save.
API
If you have not already configured location settings for your project, you must configure these settings with the console before creating agents with the API. Currently, you cannot configure location settings with the API.
To create an agent,
see the create
method for the Agent
type.
Select a protocol and version for the Agent reference:
Protocol | V3 | V3beta1 |
---|---|---|
REST | Agent resource | Agent resource |
RPC | Agent interface | Agent interface |
C++ | AgentsClient | Not available |
C# | AgentsClient | Not available |
Go | AgentsClient | Not available |
Java | AgentsClient | AgentsClient |
Node.js | AgentsClient | AgentsClient |
PHP | Not available | Not available |
Python | AgentsClient | AgentsClient |
Ruby | Not available | Not available |
Agent data
Dialogflow agents serve as top-level containers for settings and data for virtual agents.
To access an agent's data:
Console
- Open the Dialogflow CX Console.
- Choose the Google Cloud project for the agent.
- Find the agent in the list.
- Click the agent display name.
- Update flows, pages, etc. as described in other guides.
API
See the guides for the data you want to update.
The following data is associated with agents:
For more information about how data is applied at varying levels, see the data application levels.
Agent settings
To access agent settings:
Console
- Open the Dialogflow CX Console.
- Choose your Google Cloud project.
- Select your agent.
- Click Agent Settings.
- Update the settings as desired.
- Click Save.
API
See the get
and patch/update
methods for the Agent
type.
Select a protocol and version for the Agent reference:
Protocol | V3 | V3beta1 |
---|---|---|
REST | Agent resource | Agent resource |
RPC | Agent interface | Agent interface |
C++ | AgentsClient | Not available |
C# | AgentsClient | Not available |
Go | AgentsClient | Not available |
Java | AgentsClient | AgentsClient |
Node.js | AgentsClient | AgentsClient |
PHP | Not available | Not available |
Python | AgentsClient | AgentsClient |
Ruby | Not available | Not available |
The following subsections describe the different categories of agent settings.
General settings
The following general settings are available for agents:
Display name
A human-readable name for your agent.
Time zone
The default time zone for your agent.
Default language
The default language supported by your agent. Once an agent is created, the default language cannot be changed. However, you can perform the following:
- Export your agent to the JSON format.
- Unzip the downloaded file.
- Find the
agent.json
file. - Update the
defaultLanguageCode
andsupportedLanguageCodes
fields to the desired values. - Restore the agent to the same or different agent from step 1.
- Update language-specific training phrases and entity values as needed.
Agent lock
Lock the agent
Indicates whether the agent is locked. A locked agent cannot be edited.
Logging settings
Enable stackdriver logging
Indicates whether Cloud logging is enabled for the agent.
Enable interaction logging
Indicates whether you would like Google to collect and store redacted end-user queries for quality improvement.
BigQuery
Enable BigQuery export
Indicates whether BigQuery export is enabled.
BigQuery dataset
The BigQuery dataset name.
BigQuery table
The BigQuery table name.
Custom payload template
In this section, you can create descriptions and payloads for custom payload templates.
For information about how data is applied at varying levels, see the data application levels.
ML settings
Dialogflow uses machine learning (ML) algorithms to understand end-user inputs, match them to intents, and extract structured data. Dialogflow learns from training phrases that you provide and the language models built into Dialogflow. Based on this data, it builds a model for making decisions about which intent should be matched to an end-user input. You can apply unique ML settings for each flow of an agent, and the model created by Dialogflow is unique for each flow.
The following agent-wide ML settings are available:
Allow ML to correct spelling
If this is enabled and end-user input has a spelling or grammar mistake, an intent will be matched as though it was written correctly. The detect intent response will contain the corrected end-user input. For example, if an end-user enters "I want an applle", it will be processed as though the end-user entered "I want an apple". This also applies to matches involving both system and custom entities.
Spell correction is available for all languages supported by Dialogflow, but is currently limited to specific regions.
Warnings and best practices:
- Spell correction can't correct ASR (automatic speech recognition) errors, so we don't recommend enabling it for agents using ASR inputs.
- It is possible for corrected input to match the wrong intent. You can fix this by adding commonly mismatched phrases to negative examples.
- Spell correction increases the agent's response time slightly.
- If an agent is defined using domain-specific jargon, the corrections may be undesired.
The following flow-specific ML settings are available:
NLU type
This can be one of:
- Standard: Standard NLU technology (default).
- Advanced: Advanced NLU technology. This NLU type works better than standard, especially for large agents and flows. Model training will take longer than training with Standard NLU.
Auto train
If enabled, the flow is trained whenever it is updated with the console. For large flows, this may cause console UI delays, so you should disable this setting and manually train as-needed for large flows.
Classification threshold
To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold. This setting controls the minimum intent detection confidence required for an intent match.
If the confidence score for an intent match is less than the threshold value, then a no-match event will be invoked.
Training status
Indicates whether the flow has been trained since the latest update to the flow data.
Train NLU
Use this button to manually train the flow.
Speech and IVR settings
The following speech settings are available:
Enable speech adaptation
Voice selection
You can select the language and voice used for speech synthesis.
Advanced speech settings
This section provides additional, advanced settings for speech features. You can toggle these advanced settings off and on. These settings are available in agent settings (applies to entire agent), flow settings (applies to entire flow and overrides agent settings), page settings (applies to page, and overrides flow and agent settings), and fulfillment settings (applies to fulfillment; and overrides page, flow, and agent settings). A subset of these settings are available at each level, depending on the setting relevance for the level.
End of speech sensitivity
Controls the sensitivity for recognizing end of speech in end-user audio input. The value ranges from 0 (low sensitivity, less likely to end speech) to 100 (high sensitivity, more likely to end speech)
No speech timeout
The time duration in seconds for which Dialogflow will stop waiting for end-user audio input. The default is 5 seconds, and the maximum value is 60 seconds. For this timeout, Dialogflow invokes a no-input event.
Barge-in
When enabled, an end-user can interrupt Dialogflow response audio. When interrupted, Dialogflow will stop sending audio, and it will process the next end-user input.
If there are multiple messages in the message queue, and a message was queued by a fulfillment associated with a page, flow, or agent that has barge-in enabled, then all following messages in the queue will also have barge-in enabled. In this case, The integration will stop playing audio for all of the queued messages with barge-in enabled.
Audio export bucket
If supplied, any audio data associated with a request will be saved to the Cloud Storage bucket:
Audio Saved Applicable requests End-user audio input DetectIntent, StreamingDetectIntent, AnalyzeContent, StreamingAnalyzeContent Text-to-speech (TTS) audio synthesized for a response AnalyzeContent, StreamingAnalyzeContent Grant the Storage Object Creator role to the following service accounts in your project:
To the service account of the format
one-click@df-cx-ALPHANUMERIC_VALUE-ALPHANUMERIC_VALUE.iam.gserviceaccount.com
if you use a partner built-in telephony integration.To the service account of the format
service-PROJECT_NUMBER@gcp-sa-dialogflow.iam.gserviceaccount.com
if you use the Dialogflow CX Phone Gateway integration. To find this service account in IAM, check the Include Google-provided role grants option.
Share settings
See Access control.
Languages settings
Add additional language support to your agent. For the full list of languages, see the language reference.
Security settings
See Security settings.
Advanced settings
Currently, the only advanced setting is for sentiment analysis.
Export and restore an agent
You can export an agent to a file, and restore an agent with that file.
An agent export includes all agent data except the following:
- Flow versions: Only the draft flows are exported to file.
- Environments: Custom environments are not exported to file.
An agent restore overwrites all target agent data (including all flow versions) except the following:
- Environments: All custom environments remain unchanged in the target agent. Flow versions referenced by custom environments in the target agent will continue to exist, as long as the associated environments exist. However, these stale flow versions are not listed or selectable flow versions for the agent.
When exporting, you can select the export file format. If you are using source control versioning for your agent data, you should export in the JSON format. When you restore an agent, Dialogflow automatically determines the file format.
To export or restore an agent:
Console
- Open the Dialogflow CX Console.
- Choose the Google Cloud project for the agent.
- Click the option more_vert menu for an agent in the list.
- Click the Export or Restore button.
- Follow instructions to complete.
API
See the export
and restore
methods for the Agent
type.
Select a protocol and version for the Agent reference:
Protocol | V3 | V3beta1 |
---|---|---|
REST | Agent resource | Agent resource |
RPC | Agent interface | Agent interface |
C++ | AgentsClient | Not available |
C# | AgentsClient | Not available |
Go | AgentsClient | Not available |
Java | AgentsClient | AgentsClient |
Node.js | AgentsClient | AgentsClient |
PHP | Not available | Not available |
Python | AgentsClient | AgentsClient |
Ruby | Not available | Not available |
If the agent size exceeds the maximum limit, use the Cloud Storage option for agent export and restore.
If you use GitHub, also see the GitHub export/restore guide.
Delete an agent
In order to delete an agent, you need a role that provides full access or edit access. See the access control guide for more information.
To delete an agent:
Console
- Open the Dialogflow CX Console.
- Choose the Google Cloud project for the agent.
- Click the option more_vert menu for an agent in the list.
- Click the delete delete button.
- Confirm deletion in the dialog.
API
See the delete
method for the Agent
type.
Select a protocol and version for the Agent reference:
Protocol | V3 | V3beta1 |
---|---|---|
REST | Agent resource | Agent resource |
RPC | Agent interface | Agent interface |
C++ | AgentsClient | Not available |
C# | AgentsClient | Not available |
Go | AgentsClient | Not available |
Java | AgentsClient | AgentsClient |
Node.js | AgentsClient | AgentsClient |
PHP | Not available | Not available |
Python | AgentsClient | AgentsClient |
Ruby | Not available | Not available |
If you delete your project, all Dialogflow CX agents and data associated with the project are deleted immediately.