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 CX 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 CX agent to handle the types of conversations required for your system.
A Dialogflow CX 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 project.
- Click Create agent.
- Select Auto-generate to create a data store agent or select Build your own to create other kinds of agents.
- Complete the form for basic agent settings:
- You can choose any display name.
- Select your preferred location. If you want to change advanced location settings, click the Edit button.
- 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. 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 CX agents serve as top-level containers for settings and data for virtual agents. The following data is associated with agents:
For more information about how data is applied at varying levels, see the data application levels.
Smart endpointing
If smart endpointing is enabled for the agent, you can customize smart endpointing behavior for a numeric parameter as follows:
- Set Minimum digits to hint smart endpointer to wait until all the digits are collected.
- Set Fix transcripts to improve digits speech recognition by fixing common digits transcription errors. This is supported only for requests that specify an en or en-* language code.
- Set Waiting timeout to specify the additional time. Dialogflow CX will wait for the user to provide additional input.
Speech-to-Text (STT) is an API that converts audio to text using machine learning, enabling you to integrate speech recognition into your applications.
Supported STT models include any long-form model (for example, phone_call).
Only the en-US language is supported.
Dialogflow CX timeout is a grace period allowing user to add something to STT transcript before the speech timeout is triggered. Once the speech timeout is triggered, Dialogflow CX starts the intent fulfilment (e.g., Natural feedback, Virtual Agent response, Webhook execution + VA response).
Dialogflow CX uses heuristics to specify what timeout need to be chosen based on the transcript. For example, it can choose very short timeout if the intent was matched successfully. If intent was not matched, it can increase timeout to let the user say something else, and retry intent matching.
Projects can now leverage the following STT enhancements:
- Faster Endpointing: Real-time analysis uses Audio Transcription Streaming to distinguish between a natural pause and the completion of an utterance while the STT stream remains open. If the user has finished speaking, Dialogflow CX terminates the stream early to deliver a faster response.
- Optimized Digit Collection: Dialogflow CX uses heuristics on the final STT transcripts to verify that all expected digits were captured. It also automatically corrects common transcription errors (e.g., resolving "to"/"too" as "2", "for" as "4", or "ate"/"weight" as "8").
- Natural Conversational Feedback: If the user pauses mid-utterance, Dialogflow CX can dynamically extend the STT timeout to prevent premature interruptions or inject natural backchanneling cues (e.g., "mm hmm," "uh huh") to confirm the virtual agent is still listening.
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 a file.
- Environments: Custom environments are not exported to a 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.
- Vertex AI Agents Apps:
The association to a Vertex AI Agents App remains unchanged in
the target agent (i.e., the value of
enginein GenAppBuilderSettings). This means that data store agents can only be restored into other existing data store agents because the resulting agent also needs to have an association to a Vertex AI Agents App. Vertex AI Agents Data Stores: All references to data stores will be overwritten in the target agent, according to the following rules:
- If the target agent isn't associated with an App, then it's not possible to restore an agent with data store references into it. Trying to do so results in an error message. To fix that, you can either create a new data store agent from scratch. (Alternatively, you can turn your existing agent into a data store agent by adding a data store state handler to it. In this case, you'll be guided through adding an associated App to your agent.)
- If the target agent is associated with an App, then all the data store references will be updated upon restore: their Google Cloud project ID and location will be updated to match the App of the target agent. The collection ID and data store ID will remain unchanged. This means that you need to add data stores for all the IDs with matching types into the App of the target agent prior to the restore operation.
Example: If the source agent refers to a data store named
projects/123/locations/eu-west2/collections/default_collection/dataStores/myDataStore1and the App of the target agent is namedprojects/321/locations/us-east1/collections/default_collections/engines/app123, then the resulting data store reference in the target agent becomes:projects/321/locations/us-east1/collections/default_collection/dataStores/myDataStore1
When exporting, you can select the export file format. If you're using source control versioning for your agent data, you should export in the JSON format. When you restore an agent, Dialogflow CX automatically determines the file format.
To export or restore an agent:
Console
- Open the Dialogflow CX console.
- Choose the project for the agent.
- Select the menu option more_vert for an agent in the list.
- Click 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. For more information, see the Access control guide.
To delete an agent:
Console
- Open the Dialogflow CX console.
- Choose the project for the agent.
- Select the menu option more_vert for an agent in the list.
- Click the button delete.
- 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.