Agents are best described as NLU (Natural Language Understanding) modules. These can be included in your app, product, or service and transform natural user requests into actionable data.

This transformation occurs when a user input matches one of the intents inside your agent. Intents are the predefined or developer-defined components of agents that process a user’s request.

Agents are designed to manage a conversation flow in a specific way. This can be done with the help of contexts, intent priorities, slot filling, responsibilities, and fulfillment via webhook.


To create an agent, click on Create Agent in the left menu.

Choose a unique name for your agent and set the relevant settings.

  • Default Language: Select the default language for your agent.
  • Default Time Zone: Select the default time zone for your agent.
  • Google Project: Select a Google Cloud Platform (GCP) project. If you have an existing GCP project, you can select it from the drop down list. Leaving the default option will create a new GCP project using the name of the agent.


You can access the settings for the agent by clicking the gear icon settings next to the agent name.


  • Description & Update Avatar - These are only displayed in the Web Demo for your agent.
  • Language - The default language for your agent.
  • Default Time Zone - Select the default time zone for your agent. This timezone is used if you don't pass the timezone parameter in query requests.
  • Google Project - The Google Cloud Project linked to the agent. This project is created and linked by default.
  • API Version - Choose which version of the API you want to use for your agent.

    • Beta Features - Toogle to allow use of beta features in your agent.

  • Client Access Token - (V1 only) For end-user interaction with /query, /context and /userEntites endpoints only.

  • Developer Access Token - (V1 only) Used for agent modification. Do not share.

  • Log Settings - Settings for logging.

  • Delete Agent - Completely deletes agent (cannot be undone).


Add multiple languages and their respective locales to make your agent multilingual.

Choose a language from the list and click the Save button. To add a locale, if available, hover over the listed language and click + Add locale.

More on Multi-language Agent Support.

ML Settings (Machine Learning)

  • Match Mode - This setting defines what algorithm should be used for machine learning. The setting applies to all the intents in which Machine Learning is enabled.

    • Hybrid - This mode fits best for agents with a small number of examples in intents and/or wide use of composite entities.
    • ML Only - This mode is used for agents with a large number of examples in intents, especially the ones using the system entity @sys.any.
  • ML Classification Threshold - Defines a threshold value between 0 and 1 for triggering fallback intents and returns the "score" in the JSON response to the query. If no fallback intents are provided, no intent will be triggered.

Export and Import

  • Export as ZIP - Exports agent as .ZIP file (JSON includes these fields).
  • Restore from ZIP - Replaces the current agent with the supplied .ZIP file.
  • Import from ZIP - Upload intents and entities from an existing exported agent.

Below is an example of the files and structure of an exported agent:

Environments BETA

This feature allows you to publish and make past or current versions of your agent available to a specific environment. Multiple environments can be set up depending on your needs, like "Development", "Testing", and "Production".

Clicking the PUBLISH A VERSION button will take a snapshot of your agent's intents and entities and let you optionally deploy that version to one of your environments.

To learn more about this feature, see Versions and Environments.


This page is used to share access to the agent with other Dialogflow users.

Enter the email address of the other user you want to share the agent with, choose one of the following roles for that user, click Add, and then click the Save button:

  • Developer - Ability to edit intents, entities, fulfillment, integrations, and training for the agent. This is ideal for team members like developers and linguists.
  • Reviewer - Read-only access to intents and entities. This is ideal for project managers, legal, and anyone who just needs to review content.

See Sharing for more information.