Uploads new intents and entity types without deleting the existing ones. Intents and entity types with the same name are replaced with the new versions fromImportAgentRequest. After the import, the imported draft agent will be trained automatically (unless disabled in agent settings). However, once the import is done, training may not be completed yet. Please callagent.trainand wait for the operation it returns in order to train explicitly.
This method is along-running operation. The returnedOperationtype has the following method-specific fields:
Required. The project that the agent to import is associated with. Format:projects/<Project ID>orprojects/<Project ID>/locations/<Location ID>.
Authorization requires the followingIAMpermission on the specified resourceparent:
dialogflow.agents.import
Request body
The request body contains data with the following structure:
JSON representation
{// Union fieldagentcan be only one of the following:"agentUri":string,"agentContent":string// End of list of possible types for union fieldagent.}
Fields
Union fieldagent. Required. The agent to import.agentcan be only one of the following:
agentUri
string
The URI to a Google Cloud Storage file containing the agent to import. Note: The URI must start with "gs://".
Dialogflow performs a read operation for the Cloud Storage object on the caller's behalf, so your request authentication must have read permissions for the object. For more information, seeDialogflow access control.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-06-27 UTC."],[[["\u003cp\u003eThis process imports a Dialogflow agent from a ZIP file, either from a Google Cloud Storage URI or from base64-encoded raw bytes.\u003c/p\u003e\n"],["\u003cp\u003eThe import action replaces existing intents and entity types with matching names without deleting others, and it initiates automatic training of the imported agent, unless training is disabled.\u003c/p\u003e\n"],["\u003cp\u003eAfter the agent is imported, you must explicitly call the \u003ccode\u003eagent.train\u003c/code\u003e method and wait for it to complete before using the agent.\u003c/p\u003e\n"],["\u003cp\u003eThe HTTP request used is a POST request on the URL \u003ccode\u003ehttps://{endpoint}/v2beta1/{parent=projects/*/locations/*}/agent:import\u003c/code\u003e and it requires the \u003ccode\u003edialogflow.agents.import\u003c/code\u003e IAM permission.\u003c/p\u003e\n"],["\u003cp\u003eThis method uses long-running operations, tracking only the import completion, with the \u003ccode\u003eOperation\u003c/code\u003e type returning an empty \u003ccode\u003eStruct\u003c/code\u003e message for metadata and an \u003ccode\u003eEmpty\u003c/code\u003e message for the response.\u003c/p\u003e\n"]]],[],null,["# Method: projects.locations.agent.import\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nImports the specified agent from a ZIP file.\n\nUploads new intents and entity types without deleting the existing ones. Intents and entity types with the same name are replaced with the new versions from `ImportAgentRequest`. After the import, the imported draft agent will be trained automatically (unless disabled in agent settings). However, once the import is done, training may not be completed yet. Please call [agent.train](/dialogflow/es/docs/reference/rest/v2beta1/projects.agent/train#google.cloud.dialogflow.v2beta1.Agents.TrainAgent) and wait for the operation it returns in order to train explicitly.\n\nThis method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields:\n\n- `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)\n- `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)\n\nThe operation only tracks when importing is complete, not when it is done training.\n\nNote: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).\n\n### HTTP request\n\n`POST https://{endpoint}/v2beta1/{parent=projects/*/locations/*}/agent:import`\n\nWhere `{endpoint}` is one of the [supported service endpoints](/dialogflow/es/docs/reference/rest#rest_endpoints).\n\nThe URLs use [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n### Request body\n\nThe request body contains data with the following structure:\n\n### Response body\n\nIf successful, the response body contains an instance of [Operation](/dialogflow/es/docs/reference/rest/v2beta1/projects.locations.operations#Operation).\n\n### Authorization scopes\n\nRequires one of the following OAuth scopes:\n\n- `https://www.googleapis.com/auth/cloud-platform`\n- `\n https://www.googleapis.com/auth/dialogflow`\n\nFor more information, see the [Authentication Overview](/docs/authentication#authorization-gcp)."]]