Agents

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

  1. Open the Dialogflow CX Console.
  2. Create or choose a Google Cloud project.
  3. Click Create agent.
  4. Complete the form for basic agent settings:
    1. You can choose any display name.
    2. Select your preferred location. Click the Edit button if you want to change advanced location settings.
    3. Select your preferred time zone.
    4. Select the default language for your agent. You cannot change the default language for an agent once it is created.
  5. 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

  1. Open the Dialogflow CX Console.
  2. Choose the Google Cloud project for the agent.
  3. Find the agent in the list.
  4. Click the agent display name.
  5. 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

  1. Open the Dialogflow CX Console.
  2. Choose your Google Cloud project.
  3. Select your agent.
  4. Click Agent Settings.
  5. Update the settings as desired.
  6. 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:

    1. Export your agent to the JSON format.
    2. Unzip the downloaded file.
    3. Find the agent.json file.
    4. Update the defaultLanguageCode and supportedLanguageCodes fields to the desired values.
    5. Restore the agent to the same or different agent from step 1.
    6. 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

    See Auto 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:

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

  1. Open the Dialogflow CX Console.
  2. Choose the Google Cloud project for the agent.
  3. Click the option menu for an agent in the list.
  4. Click the Export or Restore button.
  5. 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

  1. Open the Dialogflow CX Console.
  2. Choose the Google Cloud project for the agent.
  3. Click the option menu for an agent in the list.
  4. Click the delete button.
  5. 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.