Package google.cloud.ces.v1

Index

AgentService

The service that manages agent-related resources in Gemini Enterprise for Customer Engagement (CES).

BatchDeleteConversations

rpc BatchDeleteConversations(BatchDeleteConversationsRequest) returns (Operation)

Batch deletes the specified conversations.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.conversations.delete

For more information, see the IAM documentation.

CreateAgent

rpc CreateAgent(CreateAgentRequest) returns (Agent)

Creates a new agent in the given app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.agents.create

For more information, see the IAM documentation.

CreateApp

rpc CreateApp(CreateAppRequest) returns (Operation)

Creates a new app in the given project and location.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.apps.create

For more information, see the IAM documentation.

CreateAppVersion

rpc CreateAppVersion(CreateAppVersionRequest) returns (AppVersion)

Creates a new app version in the given app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.appVersions.create

For more information, see the IAM documentation.

CreateDeployment

rpc CreateDeployment(CreateDeploymentRequest) returns (Deployment)

Creates a new deployment in the given app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.deployments.create

For more information, see the IAM documentation.

CreateExample

rpc CreateExample(CreateExampleRequest) returns (Example)

Creates a new example in the given app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.examples.create

For more information, see the IAM documentation.

CreateGuardrail

rpc CreateGuardrail(CreateGuardrailRequest) returns (Guardrail)

Creates a new guardrail in the given app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.guardrails.create

For more information, see the IAM documentation.

CreateTool

rpc CreateTool(CreateToolRequest) returns (Tool)

Creates a new tool in the given app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.tools.create

For more information, see the IAM documentation.

CreateToolset

rpc CreateToolset(CreateToolsetRequest) returns (Toolset)

Creates a new toolset in the given app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.toolsets.create

For more information, see the IAM documentation.

DeleteAgent

rpc DeleteAgent(DeleteAgentRequest) returns (Empty)

Deletes the specified agent.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.agents.delete

For more information, see the IAM documentation.

DeleteApp

rpc DeleteApp(DeleteAppRequest) returns (Operation)

Deletes the specified app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.apps.delete

For more information, see the IAM documentation.

DeleteAppVersion

rpc DeleteAppVersion(DeleteAppVersionRequest) returns (Empty)

Deletes the specified app version.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.appVersions.delete

For more information, see the IAM documentation.

DeleteConversation

rpc DeleteConversation(DeleteConversationRequest) returns (Empty)

Deletes the specified conversation.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.conversations.delete

For more information, see the IAM documentation.

DeleteDeployment

rpc DeleteDeployment(DeleteDeploymentRequest) returns (Empty)

Deletes the specified deployment.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.deployments.delete

For more information, see the IAM documentation.

DeleteExample

rpc DeleteExample(DeleteExampleRequest) returns (Empty)

Deletes the specified example.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.examples.delete

For more information, see the IAM documentation.

DeleteGuardrail

rpc DeleteGuardrail(DeleteGuardrailRequest) returns (Empty)

Deletes the specified guardrail.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.guardrails.delete

For more information, see the IAM documentation.

DeleteTool

rpc DeleteTool(DeleteToolRequest) returns (Empty)

Deletes the specified tool.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.tools.delete

For more information, see the IAM documentation.

DeleteToolset

rpc DeleteToolset(DeleteToolsetRequest) returns (Empty)

Deletes the specified toolset.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.toolsets.delete

For more information, see the IAM documentation.

ExportApp

rpc ExportApp(ExportAppRequest) returns (Operation)

Exports the specified app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.apps.export

For more information, see the IAM documentation.

GetAgent

rpc GetAgent(GetAgentRequest) returns (Agent)

Gets details of the specified agent.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.agents.get

For more information, see the IAM documentation.

GetApp

rpc GetApp(GetAppRequest) returns (App)

Gets details of the specified app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.apps.get

For more information, see the IAM documentation.

GetAppVersion

rpc GetAppVersion(GetAppVersionRequest) returns (AppVersion)

Gets details of the specified app version.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.appVersions.get

For more information, see the IAM documentation.

GetChangelog

rpc GetChangelog(GetChangelogRequest) returns (Changelog)

Gets the specified changelog.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.changelogs.get

For more information, see the IAM documentation.

GetConversation

rpc GetConversation(GetConversationRequest) returns (Conversation)

Gets details of the specified conversation.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.conversations.get

For more information, see the IAM documentation.

GetDeployment

rpc GetDeployment(GetDeploymentRequest) returns (Deployment)

Gets details of the specified deployment.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.deployments.get

For more information, see the IAM documentation.

GetExample

rpc GetExample(GetExampleRequest) returns (Example)

Gets details of the specified example.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.examples.get

For more information, see the IAM documentation.

GetGuardrail

rpc GetGuardrail(GetGuardrailRequest) returns (Guardrail)

Gets details of the specified guardrail.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.guardrails.get

For more information, see the IAM documentation.

GetTool

rpc GetTool(GetToolRequest) returns (Tool)

Gets details of the specified tool.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.tools.get

For more information, see the IAM documentation.

GetToolset

rpc GetToolset(GetToolsetRequest) returns (Toolset)

Gets details of the specified toolset.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.toolsets.get

For more information, see the IAM documentation.

ImportApp

rpc ImportApp(ImportAppRequest) returns (Operation)

Imports the specified app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.apps.import

For more information, see the IAM documentation.

ListAgents

rpc ListAgents(ListAgentsRequest) returns (ListAgentsResponse)

Lists agents in the given app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.agents.list

For more information, see the IAM documentation.

ListAppVersions

rpc ListAppVersions(ListAppVersionsRequest) returns (ListAppVersionsResponse)

Lists all app versions in the given app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.appVersions.list

For more information, see the IAM documentation.

ListApps

rpc ListApps(ListAppsRequest) returns (ListAppsResponse)

Lists apps in the given project and location.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.apps.list

For more information, see the IAM documentation.

ListChangelogs

rpc ListChangelogs(ListChangelogsRequest) returns (ListChangelogsResponse)

Lists the changelogs of the specified app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.changelogs.list

For more information, see the IAM documentation.

ListConversations

rpc ListConversations(ListConversationsRequest) returns (ListConversationsResponse)

Lists conversations in the given app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.conversations.list

For more information, see the IAM documentation.

ListDeployments

rpc ListDeployments(ListDeploymentsRequest) returns (ListDeploymentsResponse)

Lists deployments in the given app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.deployments.list

For more information, see the IAM documentation.

ListExamples

rpc ListExamples(ListExamplesRequest) returns (ListExamplesResponse)

Lists examples in the given app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.examples.list

For more information, see the IAM documentation.

ListGuardrails

rpc ListGuardrails(ListGuardrailsRequest) returns (ListGuardrailsResponse)

Lists guardrails in the given app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.guardrails.list

For more information, see the IAM documentation.

ListTools

rpc ListTools(ListToolsRequest) returns (ListToolsResponse)

Lists tools in the given app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.tools.list

For more information, see the IAM documentation.

ListToolsets

rpc ListToolsets(ListToolsetsRequest) returns (ListToolsetsResponse)

Lists toolsets in the given app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.toolsets.list

For more information, see the IAM documentation.

RestoreAppVersion

rpc RestoreAppVersion(RestoreAppVersionRequest) returns (Operation)

Restores the specified app version. This will create a new app version from the current draft app and overwrite the current draft with the specified app version.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.appVersions.restore

For more information, see the IAM documentation.

UpdateAgent

rpc UpdateAgent(UpdateAgentRequest) returns (Agent)

Updates the specified agent.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.agents.update

For more information, see the IAM documentation.

UpdateApp

rpc UpdateApp(UpdateAppRequest) returns (App)

Updates the specified app.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.apps.update

For more information, see the IAM documentation.

UpdateDeployment

rpc UpdateDeployment(UpdateDeploymentRequest) returns (Deployment)

Updates the specified deployment.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.deployments.update

For more information, see the IAM documentation.

UpdateExample

rpc UpdateExample(UpdateExampleRequest) returns (Example)

Updates the specified example.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.examples.update

For more information, see the IAM documentation.

UpdateGuardrail

rpc UpdateGuardrail(UpdateGuardrailRequest) returns (Guardrail)

Updates the specified guardrail.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.guardrails.update

For more information, see the IAM documentation.

UpdateTool

rpc UpdateTool(UpdateToolRequest) returns (Tool)

Updates the specified tool.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.tools.update

For more information, see the IAM documentation.

UpdateToolset

rpc UpdateToolset(UpdateToolsetRequest) returns (Toolset)

Updates the specified toolset.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • ces.toolsets.update

For more information, see the IAM documentation.

SessionService

Session service provides APIs for interacting with CES agents.

BidiRunSession

rpc BidiRunSession(BidiSessionClientMessage) returns (BidiSessionServerMessage)

Establishes a bidirectional streaming connection with the CES agent. The agent will process continuous client inputs across multiple modalities (e.g., text, audio) and generates real-time multimodal output streams.

For an audio session, the client is expected to stream audio data continuously to the agent, even when the end user is silent. A chunk size of 40-120 milliseconds is recommended, balancing network efficiency and low latency for real-time processing.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the session resource:

  • ces.sessions.bidiRunSession

For more information, see the IAM documentation.

RunSession

rpc RunSession(RunSessionRequest) returns (RunSessionResponse)

Initiates a single turn interaction with the CES agent within a session.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the session resource:

  • ces.sessions.runSession

For more information, see the IAM documentation.

ToolService

Tool service provides APIs for interacting with CES tools.

ExecuteTool

rpc ExecuteTool(ExecuteToolRequest) returns (ExecuteToolResponse)

Executes the given tool with the given arguments.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.tools.execute

For more information, see the IAM documentation.

RetrieveToolSchema

rpc RetrieveToolSchema(RetrieveToolSchemaRequest) returns (RetrieveToolSchemaResponse)

Retrieve the schema of the given tool. The schema is computed on the fly for the given instance of the tool.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • ces.tools.get

For more information, see the IAM documentation.

RetrieveTools

rpc RetrieveTools(RetrieveToolsRequest) returns (RetrieveToolsResponse)

Retrieve the list of tools included in the specified toolset.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the toolset resource:

  • ces.toolsets.get

For more information, see the IAM documentation.

Action

Configuration of an Action for the tool to use. Note: This can be either an Action or an Operation. See https://cloud.google.com/integration-connectors/docs/entities-operation-action for details.

Fields
input_fields[]

string

Optional. Entity fields to use as inputs for the operation. If no fields are specified, all fields of the Entity will be used.

output_fields[]

string

Optional. Entity fields to return from the operation. If no fields are specified, all fields of the Entity will be returned.

Union field action_spec. Specification for an action to configure for the tool to use. action_spec can be only one of the following:
connection_action_id

string

ID of a Connection action for the tool to use.

entity_operation

Action.EntityOperation

Entity operation configuration for the tool to use.

EntityOperation

Entity CRUD operation specification.

Fields
entity_id

string

Required. ID of the entity.

operation

Action.EntityOperation.OperationType

Required. Operation to perform on the entity.

OperationType

The operation to perform on the entity.

Enums
OPERATION_TYPE_UNSPECIFIED Operation type unspecified. Invalid, ConnectorTool create/update will fail.
LIST List operation.
GET Get operation.
CREATE Create operation.
UPDATE Update operation.
DELETE Delete operation.

Agent

An agent acts as the fundamental building block that provides instructions to the Large Language Model (LLM) for executing specific tasks.

Fields
name

string

Identifier. The unique identifier of the agent. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

display_name

string

Required. Display name of the agent.

description

string

Optional. Human-readable description of the agent.

model_settings

ModelSettings

Optional. Configurations for the LLM model.

instruction

string

Optional. Instructions for the LLM model to guide the agent's behavior.

tools[]

string

Optional. List of available tools for the agent. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

child_agents[]

string

Optional. List of child agents in the agent tree. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

before_agent_callbacks[]

Callback

Optional. The callbacks to execute before the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.

after_agent_callbacks[]

Callback

Optional. The callbacks to execute after the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.

before_model_callbacks[]

Callback

Optional. The callbacks to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.

after_model_callbacks[]

Callback

Optional. The callbacks to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.

before_tool_callbacks[]

Callback

Optional. The callbacks to execute before the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.

after_tool_callbacks[]

Callback

Optional. The callbacks to execute after the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.

create_time

Timestamp

Output only. Timestamp when the agent was created.

update_time

Timestamp

Output only. Timestamp when the agent was last updated.

guardrails[]

string

Optional. List of guardrails for the agent. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

etag

string

Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.

toolsets[]

Agent.AgentToolset

Optional. List of toolsets for the agent.

generated_summary

string

Output only. If the agent is generated by the LLM assistant, this field contains a descriptive summary of the generation.

Union field agent_type. The type of agent. agent_type can be only one of the following:
llm_agent

Agent.LlmAgent

Optional. The default agent type.

remote_dialogflow_agent

Agent.RemoteDialogflowAgent

Optional. The remote Dialogflow agent to be used for the agent execution. If this field is set, all other agent level properties will be ignored.

Note: If the Dialogflow agent is in a different project from the app, you should grant roles/dialogflow.client to the CES service agent service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

AgentToolset

A toolset with a selection of its tools.

Fields
toolset

string

Required. The resource name of the toolset. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

tool_ids[]

string

Optional. The tools IDs to filter the toolset.

LlmAgent

This type has no fields.

Default agent type. The agent uses instructions and callbacks specified in the agent to perform the task using a large language model.

RemoteDialogflowAgent

The agent which will transfer execution to a remote Dialogflow agent flow. The Dialogflow agent will process subsequent user queries until the session ends or flow ends, and the control is transferred back to the parent CES agent.

Fields
agent

string

Required. The [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents agent resource name. Format: projects/{project}/locations/{location}/agents/{agent}

flow_id

string

Required. The flow ID of the flow in the Dialogflow agent.

environment_id

string

Optional. The environment ID of the Dialogflow agent to be used for the agent execution. If not specified, the draft environment will be used.

input_variable_mapping

map<string, string>

Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input.

output_variable_mapping

map<string, string>

Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends.

AgentTransfer

Represents an event indicating the transfer of a conversation to a different agent.

Fields
target_agent

string

Required. The agent to which the conversation is being transferred. The agent will handle the conversation from this point forward. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

display_name

string

Output only. Display name of the agent.

AmbientSoundConfig

Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation.

Fields
volume_gain_db

double

Optional. Volume gain (in dB) of the normal native volume supported by ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.

Union field source. Ambient noise to be played with the synthesized agent response, to enhance the naturalness of the conversation. source can be only one of the following:
prebuilt_ambient_noise
(deprecated)

AmbientSoundConfig.PrebuiltAmbientNoise

Optional. Prebuilt ambient noise.

gcs_uri

string

Optional. Ambient noise as a mono-channel, 16kHz WAV file stored in Cloud Storage.

Note: Please make sure the CES service agent service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com has storage.objects.get permission to the Cloud Storage object.

prebuilt_ambient_sound

string

Optional. Name of the prebuilt ambient sound. Valid values are: - "coffee_shop" - "keyboard" - "keypad" - "hum" - "office_1" - "office_2" - "office_3" - "room_1" - "room_2" - "room_3" - "room_4" - "room_5" - "air_conditioner"

PrebuiltAmbientNoise

Prebuilt ambient noise.

Enums
PREBUILT_AMBIENT_NOISE_UNSPECIFIED Not specified.
RETAIL_STORE Ambient noise of a retail store.
CONVENTION_HALL Ambient noise of a convention hall.
OUTDOOR Ambient noise of a street.

ApiAuthentication

Authentication information required for API calls.

Fields
Union field auth_config. The auth configuration. auth_config can be only one of the following:
api_key_config

ApiKeyConfig

Optional. Config for API key auth.

oauth_config

OAuthConfig

Optional. Config for OAuth.

service_agent_id_token_auth_config

ServiceAgentIdTokenAuthConfig

Optional. Config for ID token auth generated from CES service agent.

service_account_auth_config

ServiceAccountAuthConfig

Optional. Config for service account authentication.

bearer_token_config

BearerTokenConfig

Optional. Config for bearer token auth.

ApiKeyConfig

Configurations for authentication with API key.

Fields
key_name

string

Required. The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name.

api_key_secret_version

string

Required. The name of the SecretManager secret version resource storing the API key. Format: projects/{project}/secrets/{secret}/versions/{version}

Note: You should grant roles/secretmanager.secretAccessor role to the CES service agent service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

request_location

ApiKeyConfig.RequestLocation

Required. Key location in the request.

RequestLocation

The location of the API key in the request.

Enums
REQUEST_LOCATION_UNSPECIFIED Unspecified. This value should not be unused.
HEADER Represents the key in http header.
QUERY_STRING Represents the key in query string.

App

An app serves as a top-level container for a group of agents, including the root agent and its sub-agents, along with their associated configurations. These agents work together to achieve specific goals within the app's context.

Fields
name

string

Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}

display_name

string

Required. Display name of the app.

description

string

Optional. Human-readable description of the app.

pinned

bool

Optional. Whether the app is pinned in the app list.

root_agent

string

Optional. The root agent is the entry point of the app. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

language_settings

LanguageSettings

Optional. Language settings of the app.

time_zone_settings

TimeZoneSettings

Optional. TimeZone settings of the app.

audio_processing_config

AudioProcessingConfig

Optional. Audio processing configuration of the app.

logging_settings

LoggingSettings

Optional. Logging settings of the app.

model_settings

ModelSettings

Optional. The default LLM model settings for the app. Individual resources (e.g. agents, guardrails) can override these configurations as needed.

tool_execution_mode

App.ToolExecutionMode

Optional. The tool execution mode for the app. If not provided, will default to PARALLEL.

evaluation_metrics_thresholds

EvaluationMetricsThresholds

Optional. The evaluation thresholds for the app.

variable_declarations[]

App.VariableDeclaration

Optional. The declarations of the variables.

predefined_variable_declarations[]

App.VariableDeclaration

Output only. The declarations of predefined variables for the app.

global_instruction

string

Optional. Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.

guardrails[]

string

Optional. List of guardrails for the app. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

data_store_settings

DataStoreSettings

Optional. The data store settings for the app.

default_channel_profile

ChannelProfile

Optional. The default channel profile used by the app.

metadata

map<string, string>

Optional. Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.

create_time

Timestamp

Output only. Timestamp when the app was created.

update_time

Timestamp

Output only. Timestamp when the app was last updated.

etag

string

Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.

deployment_count

int32

Output only. Number of deployments in the app.

client_certificate_settings

ClientCertificateSettings

Optional. The default client certificate settings for the app.

evaluation_settings

EvaluationSettings

Optional. The evaluation settings for the app.

ToolExecutionMode

Defines the tool execution behavior if there are multiple tools being selected by the agent at the same time.

Enums
TOOL_EXECUTION_MODE_UNSPECIFIED Unspecified tool execution mode. Default to PARALLEL.
PARALLEL If there are multiple tools being selected, they will be executed in parallel, with the same ToolContext.
SEQUENTIAL If there are multiple tools being selected, they will be executed sequentially. The next tool will only be executed after the previous tool completes and it can see updated ToolContext from the previous tool.

VariableDeclaration

Defines the structure and metadata for a variable.

Fields
name

string

Required. The name of the variable. The name must start with a letter or underscore and contain only letters, numbers, or underscores.

description

string

Required. The description of the variable.

schema

Schema

Required. The schema of the variable.

AppSnapshot

A snapshot of the app.

Fields
app

App

Optional. The basic settings for the app.

agents[]

Agent

Optional. List of agents in the app.

tools[]

Tool

Optional. List of tools in the app.

examples[]

Example

Optional. List of examples in the app.

guardrails[]

Guardrail

Optional. List of guardrails in the app.

toolsets[]

Toolset

Optional. List of toolsets in the app.

AppVersion

In Customer Engagement Suite (CES), an app version is a snapshot of the app at a specific point in time. It is immutable and cannot be modified once created.

Fields
name

string

Identifier. The unique identifier of the app version. Format: projects/{project}/locations/{location}/apps/{app}/versions/{version}

display_name

string

Optional. The display name of the app version.

description

string

Optional. The description of the app version.

creator

string

Output only. Email of the user who created the app version.

create_time

Timestamp

Output only. Timestamp when the app version was created.

snapshot

AppSnapshot

Output only. The snapshot of the app when the version is created.

etag

string

Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.

AudioEncoding

AudioEncoding specifies the encoding format for audio data.

Enums
AUDIO_ENCODING_UNSPECIFIED Unspecified audio encoding.
LINEAR16 16-bit linear PCM audio encoding.
MULAW 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
ALAW 8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law.

AudioProcessingConfig

Configuration for how the input and output audio should be processed and delivered.

Fields
synthesize_speech_configs

map<string, SynthesizeSpeechConfig>

Optional. Configuration of how the agent response should be synthesized, mapping from the language code to SynthesizeSpeechConfig.

If the configuration for the specified language code is not found, the configuration for the root language code will be used. For example, if the map contains "en-us" and "en", and the specified language code is "en-gb", then "en" configuration will be used.

Note: Language code is case-insensitive.

barge_in_config

BargeInConfig

Optional. Configures the agent behavior for the user barge-in activities.

inactivity_timeout

Duration

Optional. The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement.

ambient_sound_config

AmbientSoundConfig

Optional. Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation.

AudioRecordingConfig

Configuration for how the audio interactions should be recorded.

Fields
gcs_bucket

string

Optional. The Cloud Storage bucket to store the session audio recordings. The URI must start with "gs://".

Please choose a bucket location that meets your data residency requirements.

Note: If the Cloud Storage bucket is in a different project from the app, you should grant storage.objects.create permission to the CES service agent service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

gcs_path_prefix

string

Optional. The Cloud Storage path prefix for audio recordings.

This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID

If the path prefix is not specified, the default prefix $project/$location/$app/$date/$session/ will be used.

BargeInConfig

Configuration for how the user barge-in activities should be handled.

Fields
disable_barge_in
(deprecated)

bool

Optional. Disables user barge-in while the agent is speaking. If true, user input during agent response playback will be ignored.

Deprecated. This field is deprecated in favor of disable_barge_in_control in ChannelProfile.

barge_in_awareness

bool

Optional. If enabled, the agent will adapt its next response based on the assumption that the user hasn't heard the full preceding agent message. This should not be used in scenarios where agent responses are displayed visually.

BatchDeleteConversationsRequest

Request message for AgentService.BatchDeleteConversations.

Fields
parent

string

Required. The resource name of the app to delete conversations from. Format: projects/{project}/locations/{location}/apps/{app}

conversations[]

string

Required. The resource names of the conversations to delete.

BatchDeleteConversationsResponse

Response message for AgentService.BatchDeleteConversations.

Fields
deleted_conversations[]

string

The list of conversations that were successfully deleted.

failed_conversations[]

string

The list of conversations that failed to be deleted.

error_messages[]

string

Optional. A list of error messages associated with conversations that failed to be deleted.

BearerTokenConfig

Configurations for authentication with a bearer token.

Fields
token

string

Required. The bearer token. Must be in the format $context.variables.<name_of_variable>.

BidiSessionClientMessage

The top-level message sent by the client for the SessionService.BidiRunSession method.

Fields
Union field message_type. The type of the message. message_type can be only one of the following:
config

SessionConfig

Optional. The initial config message for the session.

realtime_input

SessionInput

Optional. Realtime input for the session.

BidiSessionServerMessage

The top-level message returned from SessionService.BidiRunSession method.

Fields
Union field message_type. The type of the message. message_type can be only one of the following:
session_output

SessionOutput

Optional. Processing result from the CES agent.

recognition_result

RecognitionResult

Optional. Realtime speech recognition result for the audio input.

interruption_signal

InterruptionSignal

Optional. Interruption signal detected from the audio input.

end_session

EndSession

Optional. Indicates that the session has ended.

go_away

GoAway

Optional. Indicates that the server will disconnect soon and the client should half-close and restart the connection.

BigQueryExportSettings

Settings to describe the BigQuery export behaviors for the app.

Fields
enabled

bool

Optional. Indicates whether the BigQuery export is enabled.

project

string

Optional. The project ID of the BigQuery dataset to export the data to.

Note: If the BigQuery dataset is in a different project from the app, you should grant roles/bigquery.admin role to the CES service agent service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

dataset

string

Optional. The BigQuery dataset to export the data to.

Blob

Represents a blob input or output in the conversation.

Fields
mime_type

string

Required. The IANA standard MIME type of the source data.

data

bytes

Required. Raw bytes of the blob.

Callback

A callback defines the custom logic to be executed at various stages of agent interaction.

Fields
description

string

Optional. Human-readable description of the callback.

disabled

bool

Optional. Whether the callback is disabled. Disabled callbacks are ignored by the agent.

Union field callback. The callback to execute. callback can be only one of the following:
python_code

string

Required. The python code to execute for the callback.

Changelog

Changelogs represent a change made to the app or to an resource within the app.

Fields
name

string

Identifier. The unique identifier of the changelog. Format: projects/{project}/locations/{location}/apps/{app}/changelogs/{changelog}

author

string

Output only. Email address of the change author.

display_name

string

Output only. Display name of the change. It typically should be the display name of the resource that was changed.

description

string

Output only. Description of the change. which typically captures the changed fields in the resource.

resource

string

Output only. The resource that was changed.

resource_type

string

Output only. The type of the resource that was changed.

action

string

Output only. The action that was performed on the resource.

original_resource

Struct

Output only. The original resource before the change.

new_resource

Struct

Output only. The new resource after the change.

dependent_resources[]

Struct

Output only. The dependent resources that were changed.

create_time

Timestamp

Output only. The time when the change was made.

ChannelProfile

A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony.

Fields
profile_id

string

Optional. The unique identifier of the channel profile.

channel_type

ChannelProfile.ChannelType

Optional. The type of the channel profile.

persona_property

ChannelProfile.PersonaProperty

Optional. The persona property of the channel profile.

disable_dtmf

bool

Optional. Whether to disable DTMF (dual-tone multi-frequency).

disable_barge_in_control

bool

Optional. Whether to disable user barge-in control in the conversation. - true: User interruptions are disabled while the agent is speaking. - false: The agent retains automatic control over when the user can interrupt.

web_widget_config

ChannelProfile.WebWidgetConfig

Optional. The configuration for the web widget.

noise_suppression_level

string

Optional. The noise suppression level of the channel profile. Available values are "low", "moderate", "high", "very_high".

ChannelType

The type of the channel profile.

Enums
UNKNOWN Unknown channel type.
WEB_UI Web UI channel.
API API channel.
TWILIO Twilio channel.
GOOGLE_TELEPHONY_PLATFORM Google Telephony Platform channel.
CONTACT_CENTER_AS_A_SERVICE Contact Center as a Service (CCaaS) channel.
FIVE9 Five9 channel.

PersonaProperty

Represents the persona property of a channel.

Fields
persona

ChannelProfile.PersonaProperty.Persona

Optional. The persona of the channel.

Persona

The persona of the channel.

Enums
UNKNOWN UNKNOWN persona.
CONCISE The agent keeps the responses concise and to the point
CHATTY The agent provides additional context, explanations, and details

WebWidgetConfig

Message for configuration for the web widget.

Fields
modality

ChannelProfile.WebWidgetConfig.Modality

Optional. The modality of the web widget.

theme

ChannelProfile.WebWidgetConfig.Theme

Optional. The theme of the web widget.

web_widget_title

string

Optional. The title of the web widget.

Modality

Modality of the web widget.

Enums
MODALITY_UNSPECIFIED Unknown modality.
CHAT_AND_VOICE Widget supports both chat and voice input.
VOICE_ONLY Widget supports only voice input.
CHAT_ONLY Widget supports only chat input.

Theme

Theme of the web widget.

Enums
THEME_UNSPECIFIED Unknown theme.
LIGHT Light theme.
DARK Dark theme.

Chunk

A chunk of content within a message.

Fields
Union field data. Chunk data. data can be only one of the following:
text

string

Optional. Text data.

transcript

string

Optional. Transcript associated with the audio.

payload

Struct

Optional. Custom payload data.

image

Image

Optional. Image data.

tool_call

ToolCall

Optional. Tool execution request.

tool_response

ToolResponse

Optional. Tool execution response.

agent_transfer

AgentTransfer

Optional. Agent transfer event.

updated_variables

Struct

A struct represents variables that were updated in the conversation, keyed by variable names.

default_variables

Struct

A struct represents default variables at the start of the conversation, keyed by variable names.

Citations

Citations associated with the agent response.

Fields
cited_chunks[]

Citations.CitedChunk

List of cited pieces of information.

CitedChunk

Piece of cited information.

Fields
uri

string

URI used for citation.

title

string

Title of the cited document.

text

string

Text used for citaiton.

ClientCertificateSettings

Settings for custom client certificates.

Fields
tls_certificate

string

Required. The TLS certificate encoded in PEM format. This string must include the begin header and end footer lines.

private_key

string

Required. The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: projects/{project}/secrets/{secret}/versions/{version}

passphrase

string

Optional. The name of the SecretManager secret version resource storing the passphrase to decrypt the private key. Should be left unset if the private key is not encrypted. Format: projects/{project}/secrets/{secret}/versions/{version}

ClientFunction

Represents a client-side function that the agent can invoke. When the tool is chosen by the agent, control is handed off to the client. The client is responsible for executing the function and returning the result as a ToolResponse to continue the interaction with the agent.

Fields
name

string

Required. The function name.

description

string

Optional. The function description.

parameters

Schema

Optional. The schema of the function parameters.

response

Schema

Optional. The schema of the function response.

CloudLoggingSettings

Settings to describe the Cloud Logging behaviors for the app.

Fields
enable_cloud_logging

bool

Optional. Whether to enable Cloud Logging for the sessions.

ConnectorTool

A ConnectorTool allows connections to different integrations. See: https://cloud.google.com/integration-connectors/docs/overview.

Fields
connection

string

Required. The full resource name of the referenced Integration Connectors Connection. Format: projects/{project}/locations/{location}/connections/{connection}

action

Action

Required. Action for the tool to use.

auth_config

EndUserAuthConfig

Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. Note: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the ConnectorTool creation will fail. See https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override for details.

name

string

Optional. The name of the tool that can be used by the Agent to decide whether to call this ConnectorTool.

description

string

Optional. The description of the tool that can be used by the Agent to decide whether to call this ConnectorTool.

ConnectorToolset

A toolset that generates tools from an Integration Connectors Connection.

Fields
connection

string

Required. The full resource name of the referenced Integration Connectors Connection. Format: projects/{project}/locations/{location}/connections/{connection}

auth_config

EndUserAuthConfig

Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. Note: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the Toolset creation will fail. See: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override

connector_actions[]

Action

Required. The list of connector actions/entity operations to generate tools for.

Conversation

A conversation represents an interaction between an end user and the CES app.

Fields
name

string

Identifier. The unique identifier of the conversation. Format: projects/{project}/locations/{location}/apps/{app}/conversations/{conversation}

start_time

Timestamp

Output only. Timestamp when the conversation was created.

end_time

Timestamp

Output only. Timestamp when the conversation was completed.

turns[]

Conversation.Turn

Required. The turns in the conversation.

turn_count

int32

Output only. The number of turns in the conversation.

channel_type
(deprecated)

Conversation.ChannelType

DEPRECATED. Please use input_types instead.

source

Conversation.Source

Output only. Indicate the source of the conversation.

input_types[]

Conversation.InputType

Output only. The input types of the conversation.

entry_agent

string

Output only. The agent that initially handles the conversation. If not specified, the conversation is handled by the root agent. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

deployment

string

Output only. The deployment of the app used for processing the conversation. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

app_version

string

Output only. The version of the app used for processing the conversation. Format: projects/{project}/locations/{location}/apps/{app}/versions/{version}

language_code

string

Output only. The language code of the conversation.

messages[]
(deprecated)

Message

Deprecated. Use turns instead.

ChannelType

The channel type of the conversation.

Enums
CHANNEL_TYPE_UNSPECIFIED Unspecified channel type.
TEXT The conversation only contains text messages between the end user and the agent.
AUDIO The conversation contains audio messages between the end user and the agent.
MULTIMODAL The conversation multi-modal messages (e.g. image) between the end user and the agent.

InputType

Type of the input message.

Enums
INPUT_TYPE_UNSPECIFIED Unspecified input type.
INPUT_TYPE_TEXT The input message is text.
INPUT_TYPE_AUDIO The input message is audio.
INPUT_TYPE_IMAGE The input message is image.
INPUT_TYPE_BLOB The input message is blob file.

Source

The source of the conversation.

Enums
SOURCE_UNSPECIFIED Unspecified source.
LIVE The conversation is from the live end user.
SIMULATOR The conversation is from the simulator.
EVAL The conversation is from the evaluation.

Turn

All information about a single turn in the conversation.

Fields
messages[]

Message

Optional. List of messages in the conversation turn, including user input, agent responses and intermediate events during the processing.

root_span

Span

Optional. The root span of the action processing.

ConversationLoggingSettings

Settings to describe the conversation logging behaviors for the app.

Fields
disable_conversation_logging

bool

Optional. Whether to disable conversation logging for the sessions.

CreateAgentRequest

Request message for AgentService.CreateAgent.

Fields
parent

string

Required. The resource name of the app to create an agent in.

agent_id

string

Optional. The ID to use for the agent, which will become the final component of the agent's resource name. If not provided, a unique ID will be automatically assigned for the agent.

agent

Agent

Required. The agent to create.

CreateAppRequest

Request message for AgentService.CreateApp.

Fields
parent

string

Required. The resource name of the location to create an app in.

app_id

string

Optional. The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.

app

App

Required. The app to create.

CreateAppVersionRequest

Request message for AgentService.CreateAppVersion

Fields
parent

string

Required. The resource name of the app to create an app version in.

app_version_id

string

Optional. The ID to use for the app version, which will become the final component of the app version's resource name. If not provided, a unique ID will be automatically assigned for the app version.

app_version

AppVersion

Required. The app version to create.

CreateDeploymentRequest

Request message for AgentService.CreateDeployment.

Fields
parent

string

Required. The parent app. Format: projects/{project}/locations/{location}/apps/{app}

deployment_id

string

Optional. The ID to use for the deployment, which will become the final component of the deployment's resource name. If not provided, a unique ID will be automatically assigned for the deployment.

deployment

Deployment

Required. The deployment to create.

CreateExampleRequest

Request message for AgentService.CreateExample.

Fields
parent

string

Required. The resource name of the app to create an example in.

example_id

string

Optional. The ID to use for the example, which will become the final component of the example's resource name. If not provided, a unique ID will be automatically assigned for the example.

example

Example

Required. The example to create.

CreateGuardrailRequest

Request message for AgentService.CreateGuardrail.

Fields
parent

string

Required. The resource name of the app to create a guardrail in.

guardrail_id

string

Optional. The ID to use for the guardrail, which will become the final component of the guardrail's resource name. If not provided, a unique ID will be automatically assigned for the guardrail.

guardrail

Guardrail

Required. The guardrail to create.

CreateToolRequest

Request message for AgentService.CreateTool.

Fields
parent

string

Required. The resource name of the app to create a tool in.

tool_id

string

Optional. The ID to use for the tool, which will become the final component of the tool's resource name. If not provided, a unique ID will be automatically assigned for the tool.

tool

Tool

Required. The tool to create.

CreateToolsetRequest

Request message for AgentService.CreateToolset.

Fields
parent

string

Required. The resource name of the app to create a toolset in.

toolset_id

string

Optional. The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.

toolset

Toolset

Required. The toolset to create.

DataStore

A DataStore resource in Vertex AI Search.

Fields
name

string

Required. Full resource name of the DataStore. Format: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

DataStore.DataStoreType

Output only. The type of the data store. This field is readonly and populated by the server.

document_processing_mode

DataStore.DocumentProcessingMode

Output only. The document processing mode for the data store connection. Only set for PUBLIC_WEB and UNSTRUCTURED data stores.

display_name

string

Output only. The display name of the data store.

create_time

Timestamp

Output only. Timestamp when the data store was created.

connector_config

DataStore.ConnectorConfig

Output only. The connector config for the data store connection.

ConnectorConfig

The connector config for the data store connection.

Fields
collection

string

Resource name of the collection the data store belongs to.

collection_display_name

string

Display name of the collection the data store belongs to.

data_source

string

The name of the data source. Example: salesforce, jira, confluence, bigquery.

DataStoreType

The type of the data store.

Enums
DATA_STORE_TYPE_UNSPECIFIED Not specified. This value indicates that the data store type is not specified, so it will not be used during search.
PUBLIC_WEB A data store that contains public web content.
UNSTRUCTURED A data store that contains unstructured private data.
FAQ A data store that contains structured data used as FAQ.
CONNECTOR A data store that is a connector to a first-party or a third-party service.

DocumentProcessingMode

The document processing mode of the data store.

Enums
DOCUMENT_PROCESSING_MODE_UNSPECIFIED Not specified.
DOCUMENTS Documents are processed as documents.
CHUNKS Documents are converted to chunks.

DataStoreSettings

Data store related settings for the app.

Fields
engines[]

DataStoreSettings.Engine

Output only. The engines for the app.

Engine

An engine to which the data stores are connected. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction.

Fields
name

string

Output only. The resource name of the engine. Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

type

DataStoreSettings.Engine.Type

Output only. The type of the engine.

Type

The type of the engine. See the documentation available at https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/SolutionType and https://cloud.google.com/generative-ai-app-builder/docs/create-datastore-ingest.

Enums
TYPE_UNSPECIFIED Unspecified engine type.
ENGINE_TYPE_CHAT Chat engine type. The SOLUTION_TYPE_CHAT engine for the app. All connector data stores added to the app will be added to this engine.

DataStoreTool

Tool to retrieve from Vertex AI Search datastore or engine for grounding. Accepts either a datastore or an engine, but not both. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction.

Fields
name

string

Required. The data store tool name.

description

string

Optional. The tool description.

max_results

int32

Optional. Number of search results to return per query. The default value is 10. The maximum allowed value is 10.

boost_specs[]

DataStoreTool.BoostSpecs

Optional. Boost specification to boost certain documents.

modality_configs[]

DataStoreTool.ModalityConfig

Optional. The modality configs for the data store.

filter_parameter_behavior

DataStoreTool.FilterParameterBehavior

Optional. The filter parameter behavior.

Union field search_source. Defines the search source, either a single DataStore or an Engine. search_source can be only one of the following:
data_store_source

DataStoreTool.DataStoreSource

Optional. Search within a single specific DataStore.

engine_source

DataStoreTool.EngineSource

Optional. Search within an Engine (potentially across multiple DataStores).

BoostSpec

Boost specification to boost certain documents.

Fields
condition_boost_specs[]

DataStoreTool.BoostSpec.ConditionBoostSpec

Required. A list of boosting specifications.

ConditionBoostSpec

Boost specification for a condition.

Fields
condition

string

Required. An expression which specifies a boost condition. The syntax is the same as filter expression syntax. Currently, the only supported condition is a list of BCP-47 lang codes. Example: To boost suggestions in languages en or fr: (lang_code: ANY("en", "fr"))

boost

float

Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0.

Setting to 1.0 gives the suggestions a big promotion. However, it does not necessarily mean that the top result will be a boosted suggestion.

Setting to -1.0 gives the suggestions a big demotion. However, other suggestions that are relevant might still be shown.

Setting to 0.0 means no boost applied. The boosting condition is ignored.

boost_control_spec

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec

Optional. Complex specification for custom ranking based on customer defined attribute value.

BoostControlSpec

Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above.

Fields
field_name

string

Optional. The name of the field whose value will be used to determine the boost amount.

attribute_type

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType

Optional. The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value).

interpolation_type

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType

Optional. The interpolation type to be applied to connect the control points listed below.

control_points[]

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint

Optional. The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here.

AttributeType

The attribute(or function) for which the custom ranking is to be applied.

Enums
ATTRIBUTE_TYPE_UNSPECIFIED Unspecified AttributeType.
NUMERICAL The value of the numerical field will be used to dynamically update the boost amount. In this case, the attribute_value (the x value) of the control point will be the actual value of the numerical field for which the boost_amount is specified.
FRESHNESS For the freshness use case the attribute value will be the duration between the current time and the date in the datetime field specified. The value must be formatted as an XSD dayTimeDuration value (a restricted subset of an ISO 8601 duration value). The pattern for this is: [nD][T[nH][nM][nS]]. E.g. 5D, 3DT12H30M, T24H.

ControlPoint

The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable).

Fields
attribute_value

string

Optional. Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD dayTimeDuration value (a restricted subset of an ISO 8601 duration value). The pattern for this is: [nD][T[nH][nM][nS]].

boost_amount

float

Optional. The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above.

InterpolationType

The interpolation type to be applied. Default will be linear (Piecewise Linear).

Enums
INTERPOLATION_TYPE_UNSPECIFIED Interpolation type is unspecified. In this case, it defaults to Linear.
LINEAR Piecewise linear interpolation will be applied.

BoostSpecs

Boost specifications to boost certain documents. For more information, please refer to https://cloud.google.com/generative-ai-app-builder/docs/boosting.

Fields
data_stores[]

string

Required. The Data Store where the boosting configuration is applied. Full resource name of DataStore, such as projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

DataStoreTool.BoostSpec

Required. A list of boosting specifications.

DataStoreSource

Configuration for searching within a specific DataStore.

Fields
filter

string

Optional. Filter specification for the DataStore. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

data_store

DataStore

Optional. The data store.

EngineSource

Configuration for searching within an Engine, potentially targeting specific DataStores.

Fields
engine

string

Required. Full resource name of the Engine. Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

data_store_sources[]

DataStoreTool.DataStoreSource

Optional. Use to target specific DataStores within the Engine. If empty, the search applies to all DataStores associated with the Engine.

filter

string

Optional. A filter applied to the search across the Engine. Not relevant and not used if 'data_store_sources' is provided. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

FilterParameterBehavior

Filter parameter behavior.

Enums
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED Default filter behavior. Include filter parameter for connector datastores. For the rest of the datastore types, the filter input parameter is omitted.
ALWAYS_INCLUDE Always include filter parameter for all datastore types.
NEVER_INCLUDE The filter parameter is never included in the list of tool parameters, regardless of the datastore type.

GroundingConfig

Grounding configuration.

Fields
grounding_level

float

Optional. The groundedness threshold of the answer based on the retrieved sources. The value has a configurable range of [1, 5]. The level is used to threshold the groundedness of the answer, meaning that all responses with a groundedness score below the threshold will fall back to returning relevant snippets only.

For example, a level of 3 means that the groundedness score must be 3 or higher for the response to be returned.

disabled

bool

Optional. Whether grounding is disabled.

ModalityConfig

If specified, will apply the given configuration for the specified modality.

Fields
modality_type

DataStoreTool.ModalityConfig.ModalityType

Required. The modality type.

rewriter_config

DataStoreTool.RewriterConfig

Optional. The rewriter config.

summarization_config

DataStoreTool.SummarizationConfig

Optional. The summarization config.

grounding_config

DataStoreTool.GroundingConfig

Optional. The grounding configuration.

ModalityType

The modality type.

Enums
MODALITY_TYPE_UNSPECIFIED Unspecified modality type.
TEXT Text modality.
AUDIO Audio modality.

RewriterConfig

Rewriter configuration.

Fields
model_settings

ModelSettings

Required. Configurations for the LLM model.

prompt

string

Optional. The prompt definition. If not set, default prompt will be used.

disabled

bool

Optional. Whether the rewriter is disabled.

SummarizationConfig

Summarization configuration.

Fields
model_settings

ModelSettings

Optional. Configurations for the LLM model.

prompt

string

Optional. The prompt definition. If not set, default prompt will be used.

disabled

bool

Optional. Whether summarization is disabled.

DeleteAgentRequest

Request message for AgentService.DeleteAgent.

Fields
name

string

Required. The resource name of the agent to delete.

force

bool

Optional. Indicates whether to forcefully delete the agent, even if it is still referenced by other app/agents/examples.

  • If force = false, the deletion fails if other agents/examples reference it.
  • If force = true, delete the agent and remove it from all referencing apps/agents/examples.
etag

string

Optional. The current etag of the agent. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the agent, deletion will be blocked and an ABORTED error will be returned.

DeleteAppRequest

Request message for AgentService.DeleteApp.

Fields
name

string

Required. The resource name of the app to delete.

etag

string

Optional. The current etag of the app. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app, deletion will be blocked and an ABORTED error will be returned.

DeleteAppVersionRequest

Request message for AgentService.DeleteAppVersion.

Fields
name

string

Required. The resource name of the app version to delete.

etag

string

Optional. The current etag of the app version. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app version, deletion will be blocked and an ABORTED error will be returned.

DeleteConversationRequest

Request message for AgentService.DeleteConversation.

Fields
name

string

Required. The resource name of the conversation to delete.

source
(deprecated)

Conversation.Source

Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default.

DeleteDeploymentRequest

Request message for AgentService.DeleteDeployment.

Fields
name

string

Required. The name of the deployment to delete. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

etag

string

Optional. The etag of the deployment. If an etag is provided and does not match the current etag of the deployment, deletion will be blocked and an ABORTED error will be returned.

DeleteExampleRequest

Request message for AgentService.DeleteExample.

Fields
name

string

Required. The resource name of the example to delete.

etag

string

Optional. The current etag of the example. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the example, deletion will be blocked and an ABORTED error will be returned.

DeleteGuardrailRequest

Request message for AgentService.DeleteGuardrail.

Fields
name

string

Required. The resource name of the guardrail to delete.

force

bool

Optional. Indicates whether to forcefully delete the guardrail, even if it is still referenced by app/agents.

  • If force = false, the deletion fails if any apps/agents still reference the guardrail.
  • If force = true, all existing references from apps/agents will be removed and the guardrail will be deleted.
etag

string

Optional. The current etag of the guardrail. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the guardrail, deletion will be blocked and an ABORTED error will be returned.

DeleteToolRequest

Request message for AgentService.DeleteTool.

Fields
name

string

Required. The resource name of the tool to delete.

force

bool

Optional. Indicates whether to forcefully delete the tool, even if it is still referenced by agents/examples.

  • If force = false, the deletion will fail if any agents still reference the tool.
  • If force = true, all existing references from agents will be removed and the tool will be deleted.
etag

string

Optional. The current etag of the tool. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the tool, deletion will be blocked and an ABORTED error will be returned.

DeleteToolsetRequest

Request message for AgentService.DeleteToolset.

Fields
name

string

Required. The resource name of the toolset to delete.

force

bool

Optional. Indicates whether to forcefully delete the toolset, even if it is still referenced by app/agents.

  • If force = false, the deletion fails if any agents still reference the toolset.
  • If force = true, all existing references from agents will be removed and the toolset will be deleted.
etag

string

Optional. The current etag of the toolset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the toolset, deletion will be blocked and an ABORTED error will be returned.

Deployment

A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.

Fields
name

string

Identifier. The resource name of the deployment. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

display_name

string

Required. Display name of the deployment.

app_version

string

Required. The resource name of the app version to deploy. Format: projects/{project}/locations/{location}/apps/{app}/versions/{version}

channel_profile

ChannelProfile

Required. The channel profile used in the deployment.

create_time

Timestamp

Output only. Timestamp when this deployment was created.

update_time

Timestamp

Output only. Timestamp when this deployment was last updated.

etag

string

Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.

EndSession

Indicates the session has terminated, due to either successful completion (e.g. user says "Good bye!" ) or an agent escalation.

The agent will not process any further inputs after session is terminated and the client should half-close and disconnect after receiving all remaining responses from the agent.

Fields
metadata

Struct

Optional. Provides additional information about the end session signal, such as the reason for ending the session.

EndUserAuthConfig

End-user authentication configuration used for Connection calls. The field values must be the names of context variables in the format $context.variables.<name_of_variable>.

Fields
Union field auth_config. The auth configuration. auth_config can be only one of the following:
oauth2_auth_code_config

EndUserAuthConfig.Oauth2AuthCodeConfig

Oauth 2.0 Authorization Code authentication.

oauth2_jwt_bearer_config

EndUserAuthConfig.Oauth2JwtBearerConfig

JWT Profile Oauth 2.0 Authorization Grant authentication.

Oauth2AuthCodeConfig

Oauth 2.0 Authorization Code authentication configuration.

Fields
oauth_token

string

Required. Oauth token parameter name to pass through. Must be in the format $context.variables.<name_of_variable>.

Oauth2JwtBearerConfig

JWT Profile Oauth 2.0 Authorization Grant authentication configuration.

Fields
issuer

string

Required. Issuer parameter name to pass through. Must be in the format $context.variables.<name_of_variable>.

subject

string

Required. Subject parameter name to pass through. Must be in the format $context.variables.<name_of_variable>.

client_key

string

Required. Client parameter name to pass through. Must be in the format $context.variables.<name_of_variable>.

EndpointConfig

EndpointConfig is a reusable configuration for a communication channel or backend service. An endpoint can be exactly one source or one destination on a system that is being routed.

Fields
name

string

Identifier. The unique identifier of the endpoint config. Format: projects/{project}/locations/{location}/endpointConfigs/{endpoint_config}

display_name

string

Required. A human-readable display name for this endpoint config.

create_time

Timestamp

Output only. The time the endpoint config was created.

update_time

Timestamp

Output only. The time the endpoint config was last updated.

annotations

map<string, string>

Optional. Labels as key value pairs.

etag

string

Optional. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.

Union field config_type. The type of configuration that this endpoint is expected to use. config_type can be only one of the following:
source_config

EndpointConfig.SourceConfig

Optional. The source configuration for this endpoint, if the endpoint is expected to be the source of a communication flow.

destination_config

EndpointConfig.DestinationConfig

Optional. The destination configuration for this endpoint, if the endpoint is expected to be the destination of a communication flow.

DestinationConfig

A configuration for an endpoint that is expected to be the destination of a communication flow and be egressed from the platform.

Fields
Union field destination_type. The type of destination configuration that this endpoint is expected to use. destination_type can be only one of the following:
conversation_profile

EndpointConfig.DestinationConversationProfileConfig

Optional. A destination configuration that connects to a Dialogflow Conversation Profile when this endpoint is the destination of a communication flow.

destination_sip_proxy_config

EndpointConfig.DestinationSipProxyConfig

Optional. The destination SIP proxy configuration for this endpoint, if the endpoint is expected to be a destination SIP proxy.

DestinationConversationProfileConfig

A destination configuration that connects to a Dialogflow Conversation Profile when this endpoint is the destination of a communication flow.

Fields
conversation_profile

string

Required. The CES Conversation Profile to connect to. Format: projects/{project}/locations/{location}/conversationProfiles/{conversation_profile}

DestinationSipProxyConfig

A destination SIP proxy configuration that routes signaling to one or more SIP domains.

Fields
sip_domains[]

string

Required. A list of SIP domains that this endpoint config is associated with. Format: projects/{project}/locations/{location}/sipDomains/{sip_domain}

SipConfig

A SIP configuration that handles both signalling and media Can be used as both source and destination in a Concorde Route

Fields
sip_domain

string

Required. The SIP domain that this endpoint config is associated with. Format: projects/{project}/locations/{location}/sipDomains/{sip_domain}

SourceConfig

A configuration for an endpoint that is expected to be the source of a communication flow and be ingressed into the platform.

Fields
Union field source_type. The type of source configuration that this endpoint is expected to use. source_type can be only one of the following:
web_chat_sdk_config

EndpointConfig.SourceWebChatSdkConfig

Optional. A source configuration that connects to a Web Chat SDK instance when this endpoint is the source of a communication flow.

sip_config

EndpointConfig.SipConfig

Optional. The SIP configuration for this endpoint.

SourceWebChatSdkConfig

This type has no fields.

A source configuration that connects to a Web Chat SDK instance when this endpoint is the source of a communication flow.

EvaluationMetricsThresholds

Threshold settings for metrics in an Evaluation.

Fields
golden_evaluation_metrics_thresholds

EvaluationMetricsThresholds.GoldenEvaluationMetricsThresholds

Optional. The golden evaluation metrics thresholds.

hallucination_metric_behavior

EvaluationMetricsThresholds.HallucinationMetricBehavior

Optional. The hallucination metric behavior.

GoldenEvaluationMetricsThresholds

Settings for golden evaluations.

Fields
turn_level_metrics_thresholds

EvaluationMetricsThresholds.GoldenEvaluationMetricsThresholds.TurnLevelMetricsThresholds

Optional. The turn level metrics thresholds.

expectation_level_metrics_thresholds

EvaluationMetricsThresholds.GoldenEvaluationMetricsThresholds.ExpectationLevelMetricsThresholds

Optional. The expectation level metrics thresholds.

ExpectationLevelMetricsThresholds

Expectation level metrics thresholds.

Fields
tool_invocation_parameter_correctness_threshold

float

Optional. The success threshold for individual tool invocation parameter correctness. Must be a float between 0 and 1. Default is 1.0.

TurnLevelMetricsThresholds

Turn level metrics thresholds.

Fields
semantic_similarity_success_threshold

int32

Optional. The success threshold for semantic similarity. Must be an integer between 0 and 4. Default is >= 3.

overall_tool_invocation_correctness_threshold

float

Optional. The success threshold for overall tool invocation correctness. Must be a float between 0 and 1. Default is 1.0.

HallucinationMetricBehavior

The hallucination metric behavior. Regardless of the behavior, the metric will always be calculated. The difference is that when disabled, the metric is not used to calculate the overall evaluation score.

Enums
HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED Unspecified hallucination metric behavior.
DISABLED Disable hallucination metric.
ENABLED Enable hallucination metric.

EvaluationSettings

Settings for evaluation.

Fields
scenario_conversation_initiator

EvaluationSettings.ScenarioConversationInitiator

Optional. Who starts the conversation in a scenario evaluation.

ScenarioConversationInitiator

Determines who starts the conversation in a scenario evaluation session.

Enums
SCENARIO_CONVERSATION_INITIATOR_UNSPECIFIED Unspecified. Defaults to USER.
USER The user starts the conversation.
AGENT The agent starts the conversation.

Event

Event input.

Fields
event

string

Required. The name of the event.

Example

An example represents a sample conversation between the user and the agent(s).

Fields
name

string

Identifier. The unique identifier of the example. Format: projects/{project}/locations/{location}/apps/{app}/examples/{example}

display_name

string

Required. Display name of the example.

description

string

Optional. Human-readable description of the example.

entry_agent

string

Optional. The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

messages[]

Message

Optional. The collection of messages that make up the conversation.

create_time

Timestamp

Output only. Timestamp when the example was created.

update_time

Timestamp

Output only. Timestamp when the example was last updated.

invalid

bool

Output only. The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.

etag

string

Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.

ExecuteToolRequest

Request message for ToolService.ExecuteTool.

Fields
parent

string

Required. The resource name of the app which the tool/toolset belongs to. Format: projects/{project}/locations/{location}/apps/{app}

args

Struct

Optional. The input parameters and values for the tool in JSON object format.

Union field tool_identifier. The identifier of the tool to execute. It could be either a persisted tool or a tool from a toolset. tool_identifier can be only one of the following:
tool

string

Optional. The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolset_tool

ToolsetTool

Optional. The toolset tool to execute. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned.

ExecuteToolResponse

Response message for ToolService.ExecuteTool.

Fields
response

Struct

Required. The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result.

Union field tool_identifier. The identifier of the tool that got executed. tool_identifier can be only one of the following:
tool

string

The name of the tool that got executed. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolset_tool

ToolsetTool

The toolset tool that got executed.

ExecutionType

The execution type of the tool or toolset.

Enums
EXECUTION_TYPE_UNSPECIFIED The execution type is unspecified. Defaults to SYNCHRONOUS if unspecified.
SYNCHRONOUS The tool is executed synchronously. The session is blocked until the tool returns.
ASYNCHRONOUS The tool is executed asynchronously. The session will continue while the tool is executing.

ExportAppRequest

Request message for AgentService.ExportApp.

Fields
name

string

Required. The resource name of the app to export.

export_format

ExportAppRequest.ExportFormat

Required. The format to export the app in.

gcs_uri

string

Optional. The Google Cloud Storage URI to which to export the app. The format of this URI must be gs://<bucket-name>/<object-name>. The exported app archive will be written directly to the specified GCS object.

ExportFormat

Export format for the app.

Enums
EXPORT_FORMAT_UNSPECIFIED The export format is unspecified.
JSON The export format is JSON.
YAML The export format is YAML.

ExportAppResponse

Response message for AgentService.ExportApp.

Fields
Union field app. The exported app. app can be only one of the following:
app_content

bytes

App folder compressed as a zip file.

app_uri

string

The Google Cloud Storage URI to which the app was exported.

GetAgentRequest

Request message for AgentService.GetAgent.

Fields
name

string

Required. The resource name of the agent to retrieve.

GetAppRequest

Request message for AgentService.GetApp.

Fields
name

string

Required. The resource name of the app to retrieve.

GetAppVersionRequest

Request message for AgentService.GetAppVersion.

Fields
name

string

Required. The resource name of the app version to retrieve.

GetChangelogRequest

Request message for AgentService.GetChangelog.

Fields
name

string

Required. The resource name of the changelog to retrieve.

GetConversationRequest

Request message for AgentService.GetConversation.

Fields
name

string

Required. The resource name of the conversation to retrieve.

source
(deprecated)

Conversation.Source

Optional. Indicate the source of the conversation. If not set, all source will be searched.

GetDeploymentRequest

Request message for AgentService.GetDeployment.

Fields
name

string

Required. The name of the deployment. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

GetExampleRequest

Request message for AgentService.GetExample.

Fields
name

string

Required. The resource name of the example to retrieve.

GetGuardrailRequest

Request message for AgentService.GetGuardrail.

Fields
name

string

Required. The resource name of the guardrail to retrieve.

GetToolRequest

Request message for AgentService.GetTool.

Fields
name

string

Required. The resource name of the tool to retrieve.

GetToolsetRequest

Request message for AgentService.GetToolset.

Fields
name

string

Required. The resource name of the toolset to retrieve.

GoAway

This type has no fields.

Indicates that the server will disconnect soon and the client should half-close and restart the connection.

GoogleSearchSuggestions

Search suggestions from Google Search Tool.

Fields
htmls[]

string

Compliant HTML and CSS styling for search suggestions. The provided HTML and CSS automatically adapts to your device settings, displaying in either light or dark mode indicated by @media(prefers-color-scheme).

web_search_queries[]

WebSearchQuery

List of queries used to perform the google search along with the search result URIs forming the search suggestions.

GoogleSearchTool

Represents a tool to perform Google web searches for grounding. See https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-search.

Fields
name

string

Required. The name of the tool.

description

string

Optional. Description of the tool's purpose.

context_urls[]

string

Optional. Content will be fetched directly from these URLs for context and grounding. More details: https://cloud.google.com/vertex-ai/generative-ai/docs/url-context. Example: "https://example.com/path.html". A maximum of 20 URLs are allowed.

preferred_domains[]

string

Optional. Specifies domain names to guide the search. The model will be instructed to prioritize these domains when formulating queries for google search. This is a best-effort hint and these domains may or may not be exclusively reflected in the final search results. Example: "example.com", "another.site". A maximum of 20 domains can be specified.

exclude_domains[]

string

Optional. List of domains to be excluded from the search results. Example: "example.com". A maximum of 2000 domains can be excluded.

Guardrail

Guardrail contains a list of checks and balances to keep the agents safe and secure.

Fields
name

string

Identifier. The unique identifier of the guardrail. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

display_name

string

Required. Display name of the guardrail.

description

string

Optional. Description of the guardrail.

enabled

bool

Optional. Whether the guardrail is enabled.

action

TriggerAction

Optional. Action to take when the guardrail is triggered.

create_time

Timestamp

Output only. Timestamp when the guardrail was created.

update_time

Timestamp

Output only. Timestamp when the guardrail was last updated.

etag

string

Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.

Union field guardrail_type. Guardrail type. guardrail_type can be only one of the following:
content_filter

Guardrail.ContentFilter

Optional. Guardrail that bans certain content from being used in the conversation.

llm_prompt_security

Guardrail.LlmPromptSecurity

Optional. Guardrail that blocks the conversation if the prompt is considered unsafe based on the LLM classification.

llm_policy

Guardrail.LlmPolicy

Optional. Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification.

model_safety

Guardrail.ModelSafety

Optional. Guardrail that blocks the conversation if the LLM response is considered unsafe based on the model safety settings.

code_callback

Guardrail.CodeCallback

Optional. Guardrail that potentially blocks the conversation based on the result of the callback execution.

CodeCallback

Guardrail that blocks the conversation based on the code callbacks provided.

Fields
before_agent_callback

Callback

Optional. The callback to execute before the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing.

after_agent_callback

Callback

Optional. The callback to execute after the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing.

before_model_callback

Callback

Optional. The callback to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing.

after_model_callback

Callback

Optional. The callback to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing.

ContentFilter

Guardrail that bans certain content from being used in the conversation.

Fields
banned_contents[]

string

Optional. List of banned phrases. Applies to both user inputs and agent responses.

banned_contents_in_user_input[]

string

Optional. List of banned phrases. Applies only to user inputs.

banned_contents_in_agent_response[]

string

Optional. List of banned phrases. Applies only to agent responses.

match_type

Guardrail.ContentFilter.MatchType

Required. Match type for the content filter.

disregard_diacritics

bool

Optional. If true, diacritics are ignored during matching.

MatchType

Match type for the content filter.

Enums
MATCH_TYPE_UNSPECIFIED Match type is not specified.
SIMPLE_STRING_MATCH Content is matched for substrings character by character.
WORD_BOUNDARY_STRING_MATCH Content only matches if the pattern found in the text is surrounded by word delimiters. Banned phrases can also contain word delimiters.
REGEXP_MATCH Content is matched using regular expression syntax.

LlmPolicy

Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification.

Fields
max_conversation_messages

int32

Optional. When checking this policy, consider the last 'n' messages in the conversation. When not set a default value of 10 will be used.

model_settings

ModelSettings

Optional. Model settings.

prompt

string

Required. Policy prompt.

policy_scope

Guardrail.LlmPolicy.PolicyScope

Required. Defines when to apply the policy check during the conversation. If set to POLICY_SCOPE_UNSPECIFIED, the policy will be applied to the user input. When applying the policy to the agent response, additional latency will be introduced before the agent can respond.

fail_open

bool

Optional. If an error occurs during the policy check, fail open and do not trigger the guardrail.

allow_short_utterance

bool

Optional. By default, the LLM policy check is bypassed for short utterances. Enabling this setting applies the policy check to all utterances, including those that would normally be skipped.

PolicyScope

Defines when to apply the policy check during the conversation.

Enums
POLICY_SCOPE_UNSPECIFIED Policy scope is not specified.
USER_QUERY Policy check is triggered on user input.
AGENT_RESPONSE Policy check is triggered on agent response. Applying this policy scope will introduce additional latency before the agent can respond.
USER_QUERY_AND_AGENT_RESPONSE Policy check is triggered on both user input and agent response. Applying this policy scope will introduce additional latency before the agent can respond.

LlmPromptSecurity

Guardrail that blocks the conversation if the input is considered unsafe based on the LLM classification.

Fields
Union field security_config. Defines the security configuration mode. The user must choose one of the following configurations. security_config can be only one of the following:
default_settings

Guardrail.LlmPromptSecurity.DefaultSecuritySettings

Optional. Use the system's predefined default security settings. To select this mode, include an empty 'default_settings' message in the request. The 'default_prompt_template' field within will be populated by the server in the response.

custom_policy

Guardrail.LlmPolicy

Optional. Use a user-defined LlmPolicy to configure the security guardrail.

DefaultSecuritySettings

Configuration for default system security settings.

Fields
default_prompt_template

string

Output only. The default prompt template used by the system. This field is for display purposes to show the user what prompt the system uses by default. It is OUTPUT_ONLY.

ModelSafety

Model safety settings overrides. When this is set, it will override the default settings and trigger the guardrail if the response is considered unsafe.

Fields
safety_settings[]

Guardrail.ModelSafety.SafetySetting

Required. List of safety settings.

HarmBlockThreshold

Probability based thresholds levels for blocking.

Enums
HARM_BLOCK_THRESHOLD_UNSPECIFIED Unspecified harm block threshold.
BLOCK_LOW_AND_ABOVE Block low threshold and above (i.e. block more).
BLOCK_MEDIUM_AND_ABOVE Block medium threshold and above.
BLOCK_ONLY_HIGH Block only high threshold (i.e. block less).
BLOCK_NONE Block none.
OFF Turn off the safety filter.

HarmCategory

Harm category.

Enums
HARM_CATEGORY_UNSPECIFIED The harm category is unspecified.
HARM_CATEGORY_HATE_SPEECH The harm category is hate speech.
HARM_CATEGORY_DANGEROUS_CONTENT The harm category is dangerous content.
HARM_CATEGORY_HARASSMENT The harm category is harassment.
HARM_CATEGORY_SEXUALLY_EXPLICIT The harm category is sexually explicit content.

SafetySetting

Safety setting.

Fields
category

Guardrail.ModelSafety.HarmCategory

Required. The harm category.

threshold

Guardrail.ModelSafety.HarmBlockThreshold

Required. The harm block threshold.

Image

Represents an image input or output in the conversation.

Fields
mime_type

string

Required. The IANA standard MIME type of the source data. Supported image types includes: * image/png * image/jpeg * image/webp

data

bytes

Required. Raw bytes of the image.

ImportAppRequest

Request message for AgentService.ImportApp.

Fields
parent

string

Required. The parent resource name with the location of the app to import.

display_name

string

Optional. The display name of the app to import. * If the app is created on import, and the display name is specified, the imported app will use this display name. If a conflict is detected with an existing app, a timestamp will be appended to the display name to make it unique. * If the app is a reimport, this field should not be set. Providing a display name during reimport will result in an INVALID_ARGUMENT error.

app_id

string

Optional. The ID to use for the imported app. * If not specified, a unique ID will be automatically assigned for the app. * Otherwise, the imported app will use this ID as the final component of its resource name. If an app with the same ID already exists at the specified location in the project, the content of the existing app will be replaced.

import_options

ImportAppRequest.ImportOptions

Optional. Options governing the import process for the app.

Union field app. The app to import. app can be only one of the following:
gcs_uri

string

The Google Cloud Storage URI from which to import app. The format of this URI must be gs://<bucket-name>/<object-name>.

app_content

bytes

Raw bytes representing the compressed zip file with the app folder structure.

ImportOptions

Configuration options for the app import process. These options control how the import behaves, particularly when conflicts arise with existing app data.

Fields
conflict_resolution_strategy

ImportAppRequest.ImportOptions.ConflictResolutionStrategy

Optional. The strategy to use when resolving conflicts during import.

ConflictResolutionStrategy

Defines the strategy for handling conflicts when an app with the same ID already exists, or when imported resources (like Agents, Tools, etc.) have the same display names as existing resources within that app.

Enums
CONFLICT_RESOLUTION_STRATEGY_UNSPECIFIED The conflict resolution strategy is unspecified.
REPLACE Replace existing data with imported data. If an app with the same app_id already exists, its content will be updated based on the imported app. - Resources (App, Agents, Tools, Examples, Guardrails, Toolsets) in the imported app that have the same display name as existing resources will overwrite the existing ones. - Imported resources with new display names will be created. - Existing resources that do not have a matching display name in the imported app will remain untouched.
OVERWRITE Overwrite existing data with imported data. If an app with the same app_id already exists, its content will be overwritten with the imported app. - Existing resources (Agents, Tools, Examples, Guardrails, Toolsets) in the app will be deleted. - Imported resources will be created as new resources.

ImportAppResponse

Response message for AgentService.ImportApp.

Fields
name

string

The resource name of the app that was imported.

warnings[]

string

Warning messages generated during the import process. If errors occur for specific resources, they will not be included in the imported app and the error will be mentioned here.

InputAudioConfig

InputAudioConfig configures how the CES agent should interpret incoming audio data.

Fields
audio_encoding

AudioEncoding

Required. The encoding of the input audio data.

sample_rate_hertz

int32

Optional. The sample rate (in Hertz) of the input audio data.

noise_suppression_level

string

Optional. Whether to enable noise suppression on the input audio. Available values are "low", "moderate", "high", "very_high".

InterruptionSignal

Indicates the agent's audio response has been interrupted. The client should immediately stop any current audio playback (e.g., due to user barge-in or a new agent response being generated).

Fields
barge_in

bool

Whether the interruption is caused by a user barge-in event.

LanguageSettings

Language settings of the app.

Fields
default_language_code

string

Optional. The default language code of the app.

supported_language_codes[]

string

Optional. List of languages codes supported by the app, in addition to the default_language_code.

enable_multilingual_support

bool

Optional. Enables multilingual support. If true, agents in the app will use pre-built instructions to improve handling of multilingual input.

fallback_action

string

Optional. The action to perform when an agent receives input in an unsupported language.

This can be a predefined action or a custom tool call. Valid values are: - A tool's full resource name, which triggers a specific tool execution. - A predefined system action, such as "escalate" or "exit", which triggers an EndSession signal with corresponding metadata to terminate the conversation.

ListAgentsRequest

Request message for AgentService.ListAgents.

Fields
parent

string

Required. The resource name of the app to list agents from.

page_size

int32

Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.

page_token

string

Optional. The next_page_token value returned from a previous list AgentService.ListAgents call.

filter

string

Optional. Filter to be applied when listing the agents. See https://google.aip.dev/160 for more details.

order_by

string

Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details.

ListAgentsResponse

Response message for AgentService.ListAgents.

Fields
agents[]

Agent

The list of agents.

next_page_token

string

A token that can be sent as ListAgentsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.

ListAppVersionsRequest

Request message for AgentService.ListAppVersions.

Fields
parent

string

Required. The resource name of the app to list app versions from.

page_size

int32

Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.

page_token

string

Optional. The next_page_token value returned from a previous list AgentService.ListAppVersions call.

filter

string

Optional. Filter to be applied when listing the app versions. See https://google.aip.dev/160 for more details.

order_by

string

Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details.

ListAppVersionsResponse

Response message for AgentService.ListAppVersions.

Fields
app_versions[]

AppVersion

The list of app versions.

next_page_token

string

A token that can be sent as ListAppVersionsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.

ListAppsRequest

Request message for AgentService.ListApps.

Fields
parent

string

Required. The resource name of the location to list apps from.

page_size

int32

Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.

page_token

string

Optional. The next_page_token value returned from a previous list AgentService.ListApps call.

filter

string

Optional. Filter to be applied when listing the apps. See https://google.aip.dev/160 for more details.

order_by

string

Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details.

ListAppsResponse

Response message for AgentService.ListApps.

Fields
apps[]

App

The list of apps.

next_page_token

string

A token that can be sent as ListAppsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.

unreachable[]

string

Unordered list. Locations that could not be reached.

ListChangelogsRequest

Request message for AgentService.ListChangelogs.

Fields
parent

string

Required. The resource name of the app to list changelogs from.

page_size

int32

Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.

page_token

string

Optional. The next_page_token value returned from a previous list AgentService.ListChangelogs call.

filter

string

Optional. Filter to be applied when listing the changelogs. See https://google.aip.dev/160 for more details.

The filter string can be used to filter by action, resource_type, resource_name, author, and create_time. The : comparator can be used for case-insensitive partial matching on string fields, while = performs an exact case-sensitive match.

Examples: * action:update (case-insensitive partial match) * action="Create" (case-sensitive exact match) * resource_type:agent * resource_name:my-agent * author:me@example.com * create_time > "2025-01-01T00:00:00Z" * create_time <= "2025-01-01T00:00:00Z" AND resource_type:tool

order_by

string

Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details.

ListChangelogsResponse

Response message for AgentService.ListChangelogs.

Fields
changelogs[]

Changelog

The list of changelogs.

next_page_token

string

A token that can be sent as ListChangelogsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.

ListConversationsRequest

Request message for AgentService.ListConversations.

Fields
parent

string

Required. The resource name of the app to list conversations from.

page_size

int32

Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.

page_token

string

Optional. The next_page_token value returned from a previous list AgentService.ListConversations call.

filter

string

Optional. Filter to be applied when listing the conversations. See https://google.aip.dev/160 for more details.

source

Conversation.Source

Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default.

ListConversationsResponse

Response message for AgentService.ListConversations.

Fields
conversations[]

Conversation

The list of conversations.

next_page_token

string

A token that can be sent as ListConversationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.

ListDeploymentsRequest

Request message for AgentService.ListDeployments.

Fields
parent

string

Required. The parent app. Format: projects/{project}/locations/{location}/apps/{app}

page_size

int32

Optional. The maximum number of deployments to return. The service may return fewer than this value. If unspecified, at most 50 deployments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListDeployments call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to ListDeployments must match the call that provided the page token.

order_by

string

Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details.

ListDeploymentsResponse

Response message for AgentService.ListDeployments.

Fields
deployments[]

Deployment

The list of deployments.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListExamplesRequest

Request message for AgentService.ListExamples.

Fields
parent

string

Required. The resource name of the app to list examples from.

page_size

int32

Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.

page_token

string

Optional. The next_page_token value returned from a previous list AgentService.ListExamples call.

filter

string

Optional. Filter to be applied when listing the examples. See https://google.aip.dev/160 for more details.

order_by

string

Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details.

ListExamplesResponse

Response message for AgentService.ListExamples.

Fields
examples[]

Example

The list of examples.

next_page_token

string

A token that can be sent as ListExamplesRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.

ListGuardrailsRequest

Request message for AgentService.ListGuardrails.

Fields
parent

string

Required. The resource name of the app to list guardrails from.

page_size

int32

Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.

page_token

string

Optional. The next_page_token value returned from a previous list AgentService.ListGuardrails call.

filter

string

Optional. Filter to be applied when listing the guardrails. See https://google.aip.dev/160 for more details.

order_by

string

Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details.

ListGuardrailsResponse

Response message for AgentService.ListGuardrails.

Fields
guardrails[]

Guardrail

The list of guardrails.

next_page_token

string

A token that can be sent as ListGuardrailsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.

ListToolsRequest

Request message for AgentService.ListTools.

Fields
parent

string

Required. The resource name of the app to list tools from.

page_size

int32

Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.

page_token

string

Optional. The next_page_token value returned from a previous list AgentService.ListTools call.

filter

string

Optional. Filter to be applied when listing the tools. Use "include_system_tools=true" to include system tools in the response. See https://google.aip.dev/160 for more details.

order_by

string

Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details.

ListToolsResponse

Response message for AgentService.ListTools.

Fields
tools[]

Tool

The list of tools.

next_page_token

string

A token that can be sent as ListToolsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.

ListToolsetsRequest

Request message for AgentService.ListToolsets.

Fields
parent

string

Required. The resource name of the app to list toolsets from.

page_size

int32

Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.

page_token

string

Optional. The next_page_token value returned from a previous list AgentService.ListToolsets call.

filter

string

Optional. Filter to be applied when listing the toolsets. See https://google.aip.dev/160 for more details.

order_by

string

Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details.

ListToolsetsResponse

Response message for AgentService.ListToolsets.

Fields
toolsets[]

Toolset

The list of toolsets.

next_page_token

string

A token that can be sent as ListToolsetsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.

LoggingSettings

Settings to describe the logging behaviors for the app.

Fields
redaction_config

RedactionConfig

Optional. Configuration for how sensitive data should be redacted.

audio_recording_config

AudioRecordingConfig

Optional. Configuration for how audio interactions should be recorded.

bigquery_export_settings

BigQueryExportSettings

Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled.

cloud_logging_settings

CloudLoggingSettings

Optional. Settings to describe the Cloud Logging behaviors for the app.

conversation_logging_settings

ConversationLoggingSettings

Optional. Settings to describe the conversation logging behaviors for the app.

evaluation_audio_recording_config

AudioRecordingConfig

Optional. Configuration for how audio interactions should be recorded for the evaluation. By default, audio recording is not enabled for evaluation sessions.

McpTool

An MCP tool. See https://modelcontextprotocol.io/specification/2025-06-18/server/tools for more details.

Fields
name

string

Required. The name of the MCP tool.

description

string

Optional. The description of the MCP tool.

input_schema

Schema

Optional. The schema of the input arguments of the MCP tool.

output_schema

Schema

Optional. The schema of the output arguments of the MCP tool.

server_address

string

Required. The server address of the MCP server, e.g., "https://example.com/mcp/". If the server is built with the MCP SDK, the url should be suffixed with "/mcp/". Only Streamable HTTP transport based servers are supported. This is the same as the server_address in the McpToolset. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details.

api_authentication

ApiAuthentication

Optional. Authentication information required to execute the tool against the MCP server.

tls_config

TlsConfig

Optional. The TLS configuration. Includes the custom server certificates that the client should trust.

service_directory_config

ServiceDirectoryConfig

Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter.

McpToolset

A toolset that contains a list of tools that are offered by the MCP server.

Fields
server_address

string

Required. The address of the MCP server, for example, "https://example.com/mcp/". If the server is built with the MCP SDK, the url should be suffixed with "/mcp/". Only Streamable HTTP transport based servers are supported. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details.

api_authentication

ApiAuthentication

Optional. Authentication information required to access tools and execute a tool against the MCP server. For API key auth, the API key can only be sent in the request header; sending it via query parameters is not supported.

service_directory_config

ServiceDirectoryConfig

Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter.

tls_config

TlsConfig

Optional. The TLS configuration. Includes the custom server certificates that the client should trust.

Message

A message within a conversation.

Fields
role

string

Optional. The role within the conversation, e.g., user, agent.

chunks[]

Chunk

Optional. Content of the message as a series of chunks.

event_time

Timestamp

Optional. Timestamp when the message was sent or received. Should not be used if the message is part of an example.

ModelSettings

Model settings contains various configurations for the LLM model.

Fields
model

string

Optional. The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.

temperature

double

Optional. If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.

OAuthConfig

Configurations for authentication with OAuth.

Fields
oauth_grant_type

OAuthConfig.OauthGrantType

Required. OAuth grant types.

client_id

string

Required. The client ID from the OAuth provider.

client_secret_version

string

Required. The name of the SecretManager secret version resource storing the client secret. Format: projects/{project}/secrets/{secret}/versions/{version}

Note: You should grant roles/secretmanager.secretAccessor role to the CES service agent service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

token_endpoint

string

Required. The token endpoint in the OAuth provider to exchange for an access token.

scopes[]

string

Optional. The OAuth scopes to grant.

OauthGrantType

OAuth grant types. Only client credential grant is supported.

Enums
OAUTH_GRANT_TYPE_UNSPECIFIED Unspecified. Defaults to CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Represents the client credential flow.

Omnichannel

Represents an Omnichannel resource.

Fields
name

string

Identifier. The unique identifier of the omnichannel resource. Format: projects/{project}/locations/{location}/omnichannels/{omnichannel}

display_name

string

Required. Display name of the omnichannel resource.

description

string

Optional. Human-readable description of the omnichannel resource.

create_time

Timestamp

Output only. Timestamp when the omnichannel resource was created.

update_time

Timestamp

Output only. Timestamp when the omnichannel resource was last updated.

etag

string

Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation.

integration_config

OmnichannelIntegrationConfig

Optional. The integration config for the omnichannel resource.

OmnichannelIntegrationConfig

OmnichannelIntegrationConfig contains all App integration configs.

Fields
channel_configs

map<string, OmnichannelIntegrationConfig.ChannelConfig>

Optional. Various of configuration for handling App events.

subscriber_configs

map<string, OmnichannelIntegrationConfig.SubscriberConfig>

Optional. Various of subscribers configs.

routing_configs

map<string, OmnichannelIntegrationConfig.RoutingConfig>

Optional. The key of routing_configs is a key of app_configs, value is a RoutingConfig, which contains subscriber's key.

CesAppConfig

Configs for CES app.

Fields
app

string

The unique identifier of the CES app. Format: projects/{project}/locations/{location}/apps/{app}

ChannelConfig

ChannelConfig contains config for various of app integration.

Fields
Union field channel_config. The config for the app. channel_config can be only one of the following:
whatsapp_config

OmnichannelIntegrationConfig.WhatsappConfig

WhatsApp config.

RoutingConfig

Routing config specify how/who to route app events to a subscriber.

Fields
subscriber_key

string

The key of the subscriber.

SubscriberConfig

Configs of subscribers.

Fields
Union field subscriber_config. The config for the subscriber. subscriber_config can be only one of the following:
ces_app_config

OmnichannelIntegrationConfig.CesAppConfig

Ces app config.

WhatsappConfig

How Omnichannel should receive/reply events from WhatsApp.

Fields
phone_number_id

string

The Phone Number ID associated with the WhatsApp Business Account.

phone_number

string

The phone number used for sending/receiving messages.

whatsapp_business_account_id

string

The customer's WhatsApp Business Account (WABA) ID.

webhook_verify_token

string

The verify token configured in the Meta App Dashboard for webhook verification.

whatsapp_business_token

string

The access token for authenticating API calls to the WhatsApp Cloud API. https://developers.facebook.com/docs/whatsapp/business-management-api/get-started/#business-integration-system-user-access-tokens

meta_business_portfolio_id

string

The Meta Business Portfolio (MBP) ID. https://www.facebook.com/business/help/1710077379203657

OmnichannelOperationMetadata

Represents the metadata of the long-running operation.

Fields
create_time

Timestamp

Output only. The time the operation was created.

end_time

Timestamp

Output only. The time the operation finished running.

status_message

string

Output only. Human-readable status of the operation, if any.

requested_cancellation

bool

Output only. Identifies whether the user has requested cancellation of the operation.

OpenApiTool

A remote API tool defined by an OpenAPI schema.

Fields
open_api_schema

string

Required. The OpenAPI schema in JSON or YAML format.

name

string

Optional. The name of the tool. If not provided, the name of the tool will be derived from the OpenAPI schema, from operation.operationId.

description

string

Optional. The description of the tool. If not provided, the description of the tool will be derived from the OpenAPI schema, from operation.description or operation.summary.

api_authentication

ApiAuthentication

Optional. Authentication information required by the API.

tls_config

TlsConfig

Optional. The TLS configuration. Includes the custom server certificates that the client will trust.

service_directory_config

ServiceDirectoryConfig

Optional. Service Directory configuration.

ignore_unknown_fields

bool

Optional. If true, the agent will ignore unknown fields in the API response.

url

string

Optional. The server URL of the Open API schema. This field is only set in tools in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema.

OpenApiToolset

A toolset that contains a list of tools that are defined by an OpenAPI schema.

Fields
open_api_schema

string

Required. The OpenAPI schema of the toolset.

api_authentication

ApiAuthentication

Optional. Authentication information required by the API.

tls_config

TlsConfig

Optional. The TLS configuration. Includes the custom server certificates

service_directory_config

ServiceDirectoryConfig

Optional. Service Directory configuration.

ignore_unknown_fields

bool

Optional. If true, the agent will ignore unknown fields in the API response for all operations defined in the OpenAPI schema.

url

string

Optional. The server URL of the Open API schema. This field is only set in toolsets in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema.

OperationMetadata

Represents the metadata of the long-running operation.

Fields
create_time

Timestamp

Output only. The time the operation was created.

end_time

Timestamp

Output only. The time the operation finished running.

status_message

string

Output only. Human-readable status of the operation, if any.

requested_cancellation

bool

Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.

OutputAudioConfig

OutputAudioConfig configures how the CES agent should synthesize outgoing audio responses.

Fields
audio_encoding

AudioEncoding

Required. The encoding of the output audio data.

sample_rate_hertz

int32

Optional. The sample rate (in Hertz) of the output audio data.

PythonFunction

A Python function tool.

Fields
name

string

Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used.

python_code

string

Optional. The Python code to execute for the tool.

description

string

Output only. The description of the Python function, parsed from the python code's docstring.

RecognitionResult

Speech recognition result for the audio input.

Fields
transcript

string

Optional. The transcript capturing the words spoken by the end user.

RedactionConfig

Configuration to instruct how sensitive data should be handled.

Fields
enable_redaction

bool

Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording.

inspect_template

string

Optional. DLP inspect template name to configure detection of sensitive data types.

Format: projects/{project}/locations/{location}/inspectTemplates/{inspect_template}

deidentify_template

string

Optional. DLP deidentify template name to instruct on how to de-identify content.

Format: projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}

RestoreAppVersionRequest

Request message for AgentService.RestoreAppVersion

Fields
name

string

Required. The resource name of the app version to restore.

RestoreAppVersionResponse

This type has no fields.

Response message for AgentService.RestoreAppVersion

RetrieveToolSchemaRequest

Request message for ToolService.RetrieveToolSchema.

Fields
parent

string

Required. The resource name of the app which the tool/toolset belongs to. Format: projects/{project}/locations/{location}/apps/{app}

Union field tool_identifier. The identifier of the tool to retrieve the schema for. It could be either a persisted tool or a tool from a toolset. tool_identifier can be only one of the following:
tool

string

Optional. The name of the tool to retrieve the schema for. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolset_tool

ToolsetTool

Optional. The toolset tool to retrieve the schema for. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned.

RetrieveToolSchemaResponse

Response message for ToolService.RetrieveToolSchema.

Fields
input_schema

Schema

Required. The schema of the tool input parameters.

output_schema

Schema

Required. The schema of the tool output parameters.

Union field tool_identifier. The identifier of the tool that the schema is for. tool_identifier can be only one of the following:
tool

string

The name of the tool that the schema is for. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolset_tool

ToolsetTool

The toolset tool that the schema is for.

RetrieveToolsRequest

Request message for ToolService.RetrieveTools.

Fields
toolset

string

Required. The name of the toolset to retrieve the tools for. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

tool_ids[]

string

Optional. The identifiers of the tools to retrieve from the toolset. If empty, all tools in the toolset will be returned.

RetrieveToolsResponse

Response message for ToolService.RetrieveTools.

Fields
tools[]

Tool

Required. The list of tools that are included in the specified toolset.

Route

Route is a regional route that defines how traffic is routed from source endpoints to destination endpoints.

Fields
name

string

Identifier. The full resource name of this route. Format: projects/{project}/locations/{location}/routes/{route}

display_name

string

Required. The display name of this Route as shown to a user

source_endpoint_config[]

string

Required. A list of sources that can be handled by this route. Only EndpointConfigs that have a [EndpointConfig.source_config] can be referenced here.

create_time

Timestamp

Output only. The time the route was created.

update_time

Timestamp

Output only. The time the route was last updated.

annotations

map<string, string>

Optional. Labels as key value pairs.

etag

string

Optional. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.

Union field routing_policy. A policy that defines how traffic is routed from a source to a destination. For most simple use cases, a static routing policy will be sufficient. routing_policy can be only one of the following:
static_routing_policy

StaticRoutingPolicy

A routing policy that indicates that the route should use a static routing policy.

weighted_routing_policy

WeightedRoutingPolicy

A routing policy that indicates that the route should use a weighted routing policy.

RunSessionRequest

Request message for SessionService.RunSession.

Fields
config

SessionConfig

Required. The configuration for the session.

inputs[]

SessionInput

Required. Inputs for the session.

RunSessionResponse

Response message for SessionService.RunSession.

Fields
outputs[]

SessionOutput

Outputs for the session.

Schema

Represents a select subset of an OpenAPI 3.0 schema object.

Fields
type

Schema.Type

Required. The type of the data.

properties

map<string, Schema>

Optional. Properties of Type.OBJECT.

required[]

string

Optional. Required properties of Type.OBJECT.

description

string

Optional. The description of the data.

items

Schema

Optional. Schema of the elements of Type.ARRAY.

nullable

bool

Optional. Indicates if the value may be null.

unique_items

bool

Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY.

prefix_items[]

Schema

Optional. Schemas of initial elements of Type.ARRAY.

additional_properties

Schema

Optional. Can either be a boolean or an object, controls the presence of additional properties.

any_of[]

Schema

Optional. The value should be validated against any (one or more) of the subschemas in the list.

enum[]

string

Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

Value

Optional. Default value of the data.

ref

string

Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root defs.

For example, the following schema defines a reference to a schema node named "Pet":

type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string

The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring.

defs

map<string, Schema>

Optional. A map of definitions for use by ref. Only allowed at the root of the schema.

title

string

Optional. The title of the schema.

min_items

int64

Optional. Minimum number of the elements for Type.ARRAY.

max_items

int64

Optional. Maximum number of the elements for Type.ARRAY.

minimum

double

Optional. Minimum value for Type.INTEGER and Type.NUMBER.

maximum

double

Optional. Maximum value for Type.INTEGER and Type.NUMBER.

Type

OpenAPI data types.

Enums
TYPE_UNSPECIFIED Type unspecified.
STRING String type.
INTEGER Integer type.
NUMBER Number type.
BOOLEAN Boolean type.
OBJECT Object type.
ARRAY Array type.

ServiceAccountAuthConfig

Configurations for authentication using a custom service account.

Fields
service_account

string

Required. The email address of the service account used for authenticatation. CES uses this service account to exchange an access token and the access token is then sent in the Authorization header of the request.

The service account must have the roles/iam.serviceAccountTokenCreator role granted to the CES service agent service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

ServiceAgentIdTokenAuthConfig

This type has no fields.

Configurations for authentication with ID token generated from service agent.

ServiceDirectoryConfig

Configuration for tools using Service Directory.

Fields
service

string

Required. The name of Service Directory service. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. Location of the service directory must be the same as the location of the app.

SessionConfig

The configuration for the session.

Fields
session

string

Required. The unique identifier of the session. Format: projects/{project}/locations/{location}/apps/{app}/sessions/{session}

input_audio_config

InputAudioConfig

Optional. Configuration for processing the input audio.

output_audio_config

OutputAudioConfig

Optional. Configuration for generating the output audio.

historical_contexts[]

Message

Optional. The historical context of the session, including user inputs, agent responses, and other messages. Typically, CES agent would manage session automatically so client doesn't need to explicitly populate this field. However, client can optionally override the historical contexts to force the session start from certain state.

entry_agent

string

Optional. The entry agent to handle the session. If not specified, the session will be handled by the root agent of the app. Format: projects/{project}/locations/{location}/agents/{agent}

deployment

string

Optional. The deployment of the app to use for the session. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

time_zone

string

Optional. The time zone of the user. If provided, the agent will use the time zone for date and time related variables. Otherwise, the agent will use the time zone specified in the App.time_zone_settings.

The format is the IANA Time Zone Database time zone, e.g. "America/Los_Angeles".

SessionInput

Input for the session.

Fields
will_continue

bool

Optional. A flag to indicate if the current message is a fragment of a larger input in the bidi streaming session. When true, the agent will defer processing until a subsequent message with will_continue set to false is received.

Note: This flag has no effect on audio and DTMF inputs, which are always processed in real-time.

Union field input_type. The type of the input. input_type can be only one of the following:
text

string

Optional. Text data from the end user.

dtmf

string

Optional. DTMF digits from the end user.

audio

bytes

Optional. Audio data from the end user.

tool_responses

ToolResponses

Optional. Execution results for the tool calls from the client.

image

Image

Optional. Image data from the end user.

blob

Blob

Optional. Blob data from the end user.

variables

Struct

Optional. Contextual variables for the session, keyed by name. Variables must be declared in the app first, otherwise they will be ignored.

event

Event

Optional. Event input.

SessionOutput

Output for the session.

Fields
turn_index

int32

Indicates the sequential order of conversation turn to which this output belongs to, starting from 1.

turn_completed

bool

If true, the CES agent has detected the end of the current conversation turn and will provide no further output for this turn.

diagnostic_info

SessionOutput.DiagnosticInfo

Optional. Diagnostic information contains execution details during the processing of the input. Only populated in the last SessionOutput (with turn_completed=true) for each turn.

Union field output_type. The type of the output. output_type can be only one of the following:
text

string

Output text from the CES agent.

audio

bytes

Output audio from the CES agent.

tool_calls

ToolCalls

Request for the client to execute the tools.

citations

Citations

Citations that provide the source information for the agent's generated text.

google_search_suggestions

GoogleSearchSuggestions

The suggestions returned from Google Search as a result of invoking the GoogleSearchTool.

end_session

EndSession

Indicates the session has ended.

payload

Struct

Custom payload with structured output from the CES agent.

DiagnosticInfo

Contains execution details during the processing.

Fields
messages[]

Message

List of the messages that happened during the processing.

root_span

Span

A trace of the entire request processing, represented as a root span. This span can contain nested child spans for specific operations.

SipDomain

SipDomain represents a SIP domain configuration for routing SIP traffic.

Fields
name

string

Identifier. The unique identifier of the SIP domain.

display_name

string

Optional. A human-readable display name for this SIP domain.

create_time

Timestamp

Output only. The time the SIP domain was created.

update_time

Timestamp

Output only. The time the SIP domain was last updated.

annotations

map<string, string>

Optional. Annotations as key value pairs.

etag

string

Etag used to ensure the object hasn't changed during a read-modify-write operation.

Union field domainType. Type of the domain. domainType can be only one of the following:
google_domain

SipDomain.GoogleDomain

Optional. Custom GTP SIP domain.

external_domain

SipDomain.ExternalDomain

Optional. Domains that uniquely identify the CPaaS subaccount of the customer.

ExternalDomain

ExternalDomain represents a domain that uniquely identifies the CPaaS subaccount of the customer.

Fields
domain

string

Required. Fully Qualified Domain Name, this will be unique globally.

provider

SipDomain.ExternalDomain.Provider

Required. The external provider hosting the domain.

ownership_verification_state

SipDomain.ExternalDomain.OwnershipVerificationState

Output only. The state of ownership verification for the domain.

OwnershipVerificationState

Enum for the ownership verification state.

Enums
OWNERSHIP_VERIFICATION_STATE_UNSPECIFIED State unspecified.
PENDING Verification is pending.
VERIFIED Domain ownership is verified.
FAILED Verification failed.

Provider

Enum for the CPaaS provider.

Enums
PROVIDER_UNSPECIFIED Provider unspecified.
TWILIO Twilio.
VONAGE Vonage.
TELNYX Telnyx.

GoogleDomain

GoogleDomain represents a custom GTP SIP domain.

Fields
prefix

string

Required. The domain prefix. The full qualified domain name will be in the format of <prefix>.<location>.<gtp_region>.ces.telephony.goog.

sip_trunks[]

string

Required. The frontend trunk resources that will serve traffic to this domain.

Span

A span is a unit of work or a single operation during the request processing.

Fields
name

string

Output only. The name of the span.

start_time

Timestamp

Output only. The start time of the span.

end_time

Timestamp

Output only. The end time of the span.

duration

Duration

Output only. The duration of the span.

attributes

Struct

Output only. Key-value attributes associated with the span.

child_spans[]

Span

Output only. The child spans that are nested under this span.

StaticRoutingPolicy

A routing policy that routes traffic to a specific destination without considering any other factors.

Fields
destination_endpoint_configs[]

string

Required. A list of all the destination endpoints that should be added to the conversation immediately when this route is activated. If any of these backends cannot be connected to when performing routing, then routing will fail.

deadline

Duration

Required. The deadline to connect to all of the destination endpoints before it is considered unhealthy and will fail.

SynthesizeSpeechConfig

Configuration for how the agent response should be synthesized.

Fields
voice

string

Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code.

For the list of available voices, please refer to Supported voices and languages from Cloud Text-to-Speech.

speaking_rate

double

Optional. The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error.

SystemTool

Pre-defined system tool.

Fields
name

string

Required. The name of the system tool.

description

string

Output only. The description of the system tool.

TimeZoneSettings

TimeZone settings of the app.

Fields
time_zone

string

Optional. The time zone of the app from the time zone database, e.g., America/Los_Angeles, Europe/Paris.

TlsConfig

The TLS configuration.

Fields
ca_certs[]

TlsConfig.CaCert

Required. Specifies a list of allowed custom CA certificates for HTTPS verification.

CaCert

The CA certificate.

Fields
display_name

string

Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.

cert

bytes

Required. The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, CES will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")

Tool

A tool represents an action that the CES agent can take to achieve certain goals.

Fields
name

string

Identifier. The unique identifier of the tool. Format: - projects/{project}/locations/{location}/apps/{app}/tools/{tool} for

projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected.

display_name

string

Output only. The display name of the tool, derived based on the tool's type. For example, display name of a [ClientFunction][Tool.ClientFunction] is derived from its name property.

execution_type

ExecutionType

Optional. The execution type of the tool.

create_time

Timestamp

Output only. Timestamp when the tool was created.

update_time

Timestamp

Output only. Timestamp when the tool was last updated.

etag

string

Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.

generated_summary

string

Output only. If the tool is generated by the LLM assistant, this field contains a descriptive summary of the generation.

Union field tool_type. The type of the tool. tool_type can be only one of the following:
client_function

ClientFunction

Optional. The client function.

open_api_tool

OpenApiTool

Optional. The open API tool.

google_search_tool

GoogleSearchTool

Optional. The google search tool.

connector_tool

ConnectorTool

Optional. The Integration Connector tool.

data_store_tool

DataStoreTool

Optional. The data store tool.

python_function

PythonFunction

Optional. The python function tool.

mcp_tool

McpTool

Optional. The MCP tool. An MCP tool cannot be created or updated directly and is managed by the MCP toolset.

system_tool

SystemTool

Optional. The system tool.

ToolCall

Request for the client or the agent to execute the specified tool.

Fields
id

string

Optional. The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse.

display_name

string

Output only. Display name of the tool.

args

Struct

Optional. The input parameters and values for the tool in JSON object format.

Union field tool_identifier. The identifier of the tool to execute. It could be either a persisted tool or a tool from a toolset. tool_identifier can be only one of the following:
tool

string

Optional. The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolset_tool

ToolsetTool

Optional. The toolset tool to execute.

ToolCalls

Request for the client to execute the tools and return the execution results before continuing the session.

Fields
tool_calls[]

ToolCall

Optional. The list of tool calls to execute.

ToolResponse

The execution result of a specific tool from the client or the agent.

Fields
id

string

Optional. The matching ID of the tool call the response is for.

display_name

string

Output only. Display name of the tool.

response

Struct

Required. The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result.

Union field tool_identifier. The identifier of the tool that got executed. It could be either a persisted tool or a tool from a toolset. tool_identifier can be only one of the following:
tool

string

Optional. The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolset_tool

ToolsetTool

Optional. The toolset tool that got executed.

ToolResponses

Execution results for the requested tool calls from the client.

Fields
tool_responses[]

ToolResponse

Optional. The list of tool execution results.

Toolset

A toolset represents a group of dynamically managed tools that can be used by the agent.

Fields
name

string

Identifier. The unique identifier of the toolset. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

display_name

string

Optional. The display name of the toolset. Must be unique within the same app.

description

string

Optional. The description of the toolset.

create_time

Timestamp

Output only. Timestamp when the toolset was created.

update_time

Timestamp

Output only. Timestamp when the toolset was last updated.

etag

string

ETag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.

execution_type

ExecutionType

Optional. The execution type of the tools in the toolset.

Union field toolset_type. The type of the toolset. toolset_type can be only one of the following:
mcp_toolset

McpToolset

Optional. A toolset that contains a list of tools that are offered by the MCP server.

open_api_toolset

OpenApiToolset

Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema.

connector_toolset

ConnectorToolset

Optional. A toolset that generates tools from an Integration Connectors Connection.

ToolsetTool

A tool that is created from a toolset.

Fields
toolset

string

Required. The resource name of the Toolset from which this tool is derived. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

tool_id

string

Optional. The tool ID to filter the tools to retrieve the schema for.

TriggerAction

Action that is taken when a certain precondition is met.

Fields
Union field action. The action to take. action can be only one of the following:
respond_immediately

TriggerAction.RespondImmediately

Optional. Immediately respond with a preconfigured response.

transfer_agent

TriggerAction.TransferAgent

Optional. Transfer the conversation to a different agent.

generative_answer

TriggerAction.GenerativeAnswer

Optional. Respond with a generative answer.

GenerativeAnswer

The agent will immediately respond with a generative answer.

Fields
prompt

string

Required. The prompt to use for the generative answer.

RespondImmediately

The agent will immediately respond with a preconfigured response.

Fields
responses[]

TriggerAction.Response

Required. The canned responses for the agent to choose from. The response is chosen randomly.

Response

Represents a response from the agent.

Fields
text

string

Required. Text for the agent to respond with.

disabled

bool

Optional. Whether the response is disabled. Disabled responses are not used by the agent.

TransferAgent

The agent will transfer the conversation to a different agent.

Fields
agent

string

Required. The name of the agent to transfer the conversation to. The agent must be in the same app as the current agent. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

UpdateAgentRequest

Request message for AgentService.UpdateAgent.

Fields
agent

Agent

Required. The agent to update.

update_mask

FieldMask

Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.

UpdateAppRequest

Request message for AgentService.UpdateApp.

Fields
app

App

Required. The app to update.

update_mask

FieldMask

Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.

UpdateDeploymentRequest

Request message for AgentService.UpdateDeployment.

Fields
deployment

Deployment

Required. The deployment to update.

update_mask

FieldMask

Optional. The list of fields to update.

UpdateExampleRequest

Request message for AgentService.UpdateExample.

Fields
example

Example

Required. The example to update.

update_mask

FieldMask

Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.

UpdateGuardrailRequest

Request message for AgentService.UpdateGuardrail.

Fields
guardrail

Guardrail

Required. The guardrail to update.

update_mask

FieldMask

Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.

UpdateToolRequest

Request message for AgentService.UpdateTool.

Fields
tool

Tool

Required. The tool to update.

update_mask

FieldMask

Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.

UpdateToolsetRequest

Request message for AgentService.UpdateToolset.

Fields
toolset

Toolset

Required. The toolset to update.

update_mask

FieldMask

Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.

WebSearchQuery

Represents a single web search query and its associated search uri.

Fields
query

string

The search query text.

uri

string

The URI to the Google Search results page for the query.

WeightedRoutingPolicy

A routing policy that routes traffic to a destination based on a weighted distribution of possible destinations.

Fields
partitions[]

WeightedRoutingPolicy.TrafficPartition

Required. The partitions to randomly select from when performing routing. These partitions are not guaranteed to be selected in proportion to their weights; however, they will be selected roughly in proportion to their weights. This is especially true in low traffic situations.

TrafficPartition

A partition of traffic that should be routed to a set of destination endpoints.

Fields
destination_endpoint_configs[]

string

Required. A list of all the destination endpoints that should be added to the conversation immediately when this partition is selected. If any of these backends cannot be connected to when performing routing, then routing will fail.

weight

int32

Required. An arbitrary, user-defined weight for this partition. A higher weight indicates that this partition should be selected more often than partitions with lower weights. All weights must be non-negative.

deadline

Duration

Required. The deadline to connect to all of the destination endpoints before it is considered unhealthy and will fail.