MCP Tools Reference: ces.googleapis.com

Tool: create_app

Creates a new app in the given project and location.

The following sample demonstrate how to use curl to invoke the create_app MCP tool.

Curl Request
                  
curl --location 'https://ces.[REGION].rep.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "create_app",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Input Schema

Request message for AgentService.CreateApp.

CreateAppRequest

JSON representation
{
  "parent": string,
  "appId": string,
  "app": {
    object (App)
  }
}
Fields
parent

string

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

appId

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

object (App)

Required. The app to create.

App

JSON representation
{
  "name": string,
  "displayName": string,
  "description": string,
  "pinned": boolean,
  "rootAgent": string,
  "languageSettings": {
    object (LanguageSettings)
  },
  "timeZoneSettings": {
    object (TimeZoneSettings)
  },
  "audioProcessingConfig": {
    object (AudioProcessingConfig)
  },
  "loggingSettings": {
    object (LoggingSettings)
  },
  "errorHandlingSettings": {
    object (ErrorHandlingSettings)
  },
  "modelSettings": {
    object (ModelSettings)
  },
  "toolExecutionMode": enum (ToolExecutionMode),
  "evaluationMetricsThresholds": {
    object (EvaluationMetricsThresholds)
  },
  "variableDeclarations": [
    {
      object (VariableDeclaration)
    }
  ],
  "predefinedVariableDeclarations": [
    {
      object (VariableDeclaration)
    }
  ],
  "globalInstruction": string,
  "guardrails": [
    string
  ],
  "dataStoreSettings": {
    object (DataStoreSettings)
  },
  "defaultChannelProfile": {
    object (ChannelProfile)
  },
  "metadata": {
    string: string,
    ...
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "deploymentCount": integer,
  "clientCertificateSettings": {
    object (ClientCertificateSettings)
  },
  "locked": boolean
}
Fields
name

string

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

displayName

string

Required. Display name of the app.

description

string

Optional. Human-readable description of the app.

pinned

boolean

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

rootAgent

string

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

languageSettings

object (LanguageSettings)

Optional. Language settings of the app.

timeZoneSettings

object (TimeZoneSettings)

Optional. TimeZone settings of the app.

audioProcessingConfig

object (AudioProcessingConfig)

Optional. Audio processing configuration of the app.

loggingSettings

object (LoggingSettings)

Optional. Logging settings of the app.

errorHandlingSettings

object (ErrorHandlingSettings)

Optional. Error handling settings of the app.

modelSettings

object (ModelSettings)

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

toolExecutionMode

enum (ToolExecutionMode)

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

evaluationMetricsThresholds

object (EvaluationMetricsThresholds)

Optional. The evaluation thresholds for the app.

variableDeclarations[]

object (VariableDeclaration)

Optional. The declarations of the variables.

predefinedVariableDeclarations[]

object (VariableDeclaration)

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

globalInstruction

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}

dataStoreSettings

object (DataStoreSettings)

Optional. The data store settings for the app.

defaultChannelProfile

object (ChannelProfile)

Optional. The default channel profile used by the app.

metadata

map (key: string, value: string)

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

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp format)

Output only. Timestamp when the app was created.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Output only. Timestamp when the app was last updated.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

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.

deploymentCount

integer

Output only. Number of deployments in the app.

clientCertificateSettings

object (ClientCertificateSettings)

Optional. The default client certificate settings for the app.

locked

boolean

Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected.

LanguageSettings

JSON representation
{
  "defaultLanguageCode": string,
  "supportedLanguageCodes": [
    string
  ],
  "enableMultilingualSupport": boolean,
  "fallbackAction": string
}
Fields
defaultLanguageCode

string

Optional. The default language code of the app.

supportedLanguageCodes[]

string

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

enableMultilingualSupport

boolean

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

fallbackAction

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.

TimeZoneSettings

JSON representation
{
  "timeZone": string
}
Fields
timeZone

string

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

AudioProcessingConfig

JSON representation
{
  "synthesizeSpeechConfigs": {
    string: {
      object (SynthesizeSpeechConfig)
    },
    ...
  },
  "bargeInConfig": {
    object (BargeInConfig)
  },
  "inactivityTimeout": string,
  "ambientSoundConfig": {
    object (AmbientSoundConfig)
  }
}
Fields
synthesizeSpeechConfigs

map (key: string, value: object (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.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

bargeInConfig

object (BargeInConfig)

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

inactivityTimeout

string (Duration format)

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.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

ambientSoundConfig

object (AmbientSoundConfig)

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

SynthesizeSpeechConfigsEntry

JSON representation
{
  "key": string,
  "value": {
    object (SynthesizeSpeechConfig)
  }
}
Fields
key

string

value

object (SynthesizeSpeechConfig)

SynthesizeSpeechConfig

JSON representation
{
  "voice": string,
  "speakingRate": number
}
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.

speakingRate

number

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.

BargeInConfig

JSON representation
{
  "disableBargeIn": boolean,
  "bargeInAwareness": boolean
}
Fields
disableBargeIn
(deprecated)

boolean

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

Deprecated: disable_barge_in is deprecated in favor of disable_barge_in_control in ChannelProfile.

bargeInAwareness

boolean

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.

Duration

JSON representation
{
  "seconds": string,
  "nanos": integer
}
Fields
seconds

string (int64 format)

Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years

nanos

integer

Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 seconds field and a positive or negative nanos field. For durations of one second or more, a non-zero value for the nanos field must be of the same sign as the seconds field. Must be from -999,999,999 to +999,999,999 inclusive.

AmbientSoundConfig

JSON representation
{
  "volumeGainDb": number,

  // Union field source can be only one of the following:
  "prebuiltAmbientNoise": enum (PrebuiltAmbientNoise),
  "gcsUri": string,
  "prebuiltAmbientSound": string
  // End of list of possible types for union field source.
}
Fields
volumeGainDb

number

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:
prebuiltAmbientNoise
(deprecated)

enum (PrebuiltAmbientNoise)

Optional. Deprecated: prebuilt_ambient_noise is deprecated in favor of prebuilt_ambient_sound.

gcsUri

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.

prebuiltAmbientSound

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"

LoggingSettings

JSON representation
{
  "redactionConfig": {
    object (RedactionConfig)
  },
  "audioRecordingConfig": {
    object (AudioRecordingConfig)
  },
  "bigqueryExportSettings": {
    object (BigQueryExportSettings)
  },
  "cloudLoggingSettings": {
    object (CloudLoggingSettings)
  },
  "conversationLoggingSettings": {
    object (ConversationLoggingSettings)
  },
  "evaluationAudioRecordingConfig": {
    object (AudioRecordingConfig)
  },
  "metricAnalysisSettings": {
    object (MetricAnalysisSettings)
  }
}
Fields
redactionConfig

object (RedactionConfig)

Optional. Configuration for how sensitive data should be redacted.

audioRecordingConfig

object (AudioRecordingConfig)

Optional. Configuration for how audio interactions should be recorded.

bigqueryExportSettings

object (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.

cloudLoggingSettings

object (CloudLoggingSettings)

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

conversationLoggingSettings

object (ConversationLoggingSettings)

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

evaluationAudioRecordingConfig

object (AudioRecordingConfig)

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

metricAnalysisSettings

object (MetricAnalysisSettings)

Optional. Settings to describe the conversation data collection behaviors for the LLM analysis pipeline for the app.

RedactionConfig

JSON representation
{
  "enableRedaction": boolean,
  "inspectTemplate": string,
  "deidentifyTemplate": string
}
Fields
enableRedaction

boolean

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

inspectTemplate

string

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

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

deidentifyTemplate

string

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

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

AudioRecordingConfig

JSON representation
{
  "gcsBucket": string,
  "gcsPathPrefix": string
}
Fields
gcsBucket

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.

gcsPathPrefix

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.

BigQueryExportSettings

JSON representation
{
  "enabled": boolean,
  "project": string,
  "dataset": string
}
Fields
enabled

boolean

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.

CloudLoggingSettings

JSON representation
{
  "enableCloudLogging": boolean
}
Fields
enableCloudLogging

boolean

Optional. Whether to enable Cloud Logging for the sessions.

ConversationLoggingSettings

JSON representation
{
  "disableConversationLogging": boolean
}
Fields
disableConversationLogging

boolean

Optional. Whether to disable conversation logging for the sessions.

MetricAnalysisSettings

JSON representation
{
  "llmMetricsOptedOut": boolean
}
Fields
llmMetricsOptedOut

boolean

Optional. Whether to collect conversation data for llm analysis metrics. If true, conversation data will not be collected for llm analysis metrics; otherwise, conversation data will be collected.

ErrorHandlingSettings

JSON representation
{
  "errorHandlingStrategy": enum (ErrorHandlingStrategy)
}
Fields
errorHandlingStrategy

enum (ErrorHandlingStrategy)

Optional. The strategy to use for error handling.

ModelSettings

JSON representation
{
  "model": string,

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
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.

Union field _temperature.

_temperature can be only one of the following:

temperature

number

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.

EvaluationMetricsThresholds

JSON representation
{
  "goldenEvaluationMetricsThresholds": {
    object (GoldenEvaluationMetricsThresholds)
  },
  "hallucinationMetricBehavior": enum (HallucinationMetricBehavior),
  "goldenHallucinationMetricBehavior": enum (HallucinationMetricBehavior),
  "scenarioHallucinationMetricBehavior": enum (HallucinationMetricBehavior)
}
Fields
goldenEvaluationMetricsThresholds

object (GoldenEvaluationMetricsThresholds)

Optional. The golden evaluation metrics thresholds.

hallucinationMetricBehavior
(deprecated)

enum (HallucinationMetricBehavior)

Optional. Deprecated: Use golden_hallucination_metric_behavior instead. The hallucination metric behavior is currently used for golden evaluations.

goldenHallucinationMetricBehavior

enum (HallucinationMetricBehavior)

Optional. The hallucination metric behavior for golden evaluations.

scenarioHallucinationMetricBehavior

enum (HallucinationMetricBehavior)

Optional. The hallucination metric behavior for scenario evaluations.

GoldenEvaluationMetricsThresholds

JSON representation
{
  "turnLevelMetricsThresholds": {
    object (TurnLevelMetricsThresholds)
  },
  "expectationLevelMetricsThresholds": {
    object (ExpectationLevelMetricsThresholds)
  },
  "toolMatchingSettings": {
    object (ToolMatchingSettings)
  }
}
Fields
turnLevelMetricsThresholds

object (TurnLevelMetricsThresholds)

Optional. The turn level metrics thresholds.

expectationLevelMetricsThresholds

object (ExpectationLevelMetricsThresholds)

Optional. The expectation level metrics thresholds.

toolMatchingSettings

object (ToolMatchingSettings)

Optional. The tool matching settings. An extra tool call is a tool call that is present in the execution but does not match any tool call in the golden expectation.

TurnLevelMetricsThresholds

JSON representation
{
  "semanticSimilarityChannel": enum (SemanticSimilarityChannel),

  // Union field _semantic_similarity_success_threshold can be only one of the
  // following:
  "semanticSimilaritySuccessThreshold": integer
  // End of list of possible types for union field
  // _semantic_similarity_success_threshold.

  // Union field _overall_tool_invocation_correctness_threshold can be only one
  // of the following:
  "overallToolInvocationCorrectnessThreshold": number
  // End of list of possible types for union field
  // _overall_tool_invocation_correctness_threshold.
}
Fields
semanticSimilarityChannel

enum (SemanticSimilarityChannel)

Optional. The semantic similarity channel to use for evaluation.

Union field _semantic_similarity_success_threshold.

_semantic_similarity_success_threshold can be only one of the following:

semanticSimilaritySuccessThreshold

integer

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

Union field _overall_tool_invocation_correctness_threshold.

_overall_tool_invocation_correctness_threshold can be only one of the following:

overallToolInvocationCorrectnessThreshold

number

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

ExpectationLevelMetricsThresholds

JSON representation
{

  // Union field _tool_invocation_parameter_correctness_threshold can be only one
  // of the following:
  "toolInvocationParameterCorrectnessThreshold": number
  // End of list of possible types for union field
  // _tool_invocation_parameter_correctness_threshold.
}
Fields

Union field _tool_invocation_parameter_correctness_threshold.

_tool_invocation_parameter_correctness_threshold can be only one of the following:

toolInvocationParameterCorrectnessThreshold

number

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

ToolMatchingSettings

JSON representation
{
  "extraToolCallBehavior": enum (ExtraToolCallBehavior)
}
Fields
extraToolCallBehavior

enum (ExtraToolCallBehavior)

Optional. Behavior for extra tool calls. Defaults to FAIL.

VariableDeclaration

JSON representation
{
  "name": string,
  "description": string,
  "schema": {
    object (Schema)
  }
}
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

object (Schema)

Required. The schema of the variable.

Schema

JSON representation
{
  "type": enum (Type),
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "description": string,
  "items": {
    object (Schema)
  },
  "nullable": boolean,
  "uniqueItems": boolean,
  "prefixItems": [
    {
      object (Schema)
    }
  ],
  "additionalProperties": {
    object (Schema)
  },
  "anyOf": [
    {
      object (Schema)
    }
  ],
  "enum": [
    string
  ],
  "default": value,
  "ref": string,
  "defs": {
    string: {
      object (Schema)
    },
    ...
  },
  "title": string,
  "minItems": string,
  "maxItems": string,

  // Union field _minimum can be only one of the following:
  "minimum": number
  // End of list of possible types for union field _minimum.

  // Union field _maximum can be only one of the following:
  "maximum": number
  // End of list of possible types for union field _maximum.
}
Fields
type

enum (Type)

Required. The type of the data.

properties

map (key: string, value: object (Schema))

Optional. Properties of Type.OBJECT.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Optional. Required properties of Type.OBJECT.

description

string

Optional. The description of the data.

items

object (Schema)

Optional. Schema of the elements of Type.ARRAY.

nullable

boolean

Optional. Indicates if the value may be null.

uniqueItems

boolean

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

prefixItems[]

object (Schema)

Optional. Schemas of initial elements of Type.ARRAY.

additionalProperties

object (Schema)

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

anyOf[]

object (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 (Value format)

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 (key: string, value: object (Schema))

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

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

title

string

Optional. The title of the schema.

minItems

string (int64 format)

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

maxItems

string (int64 format)

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

Union field _minimum.

_minimum can be only one of the following:

minimum

number

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

Union field _maximum.

_maximum can be only one of the following:

maximum

number

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

PropertiesEntry

JSON representation
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Fields
key

string

value

object (Schema)

Value

JSON representation
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
Fields
Union field kind. The kind of value. kind can be only one of the following:
nullValue

null

Represents a null value.

numberValue

number

Represents a double value.

stringValue

string

Represents a string value.

boolValue

boolean

Represents a boolean value.

structValue

object (Struct format)

Represents a structured value.

listValue

array (ListValue format)

Represents a repeated Value.

Struct

JSON representation
{
  "fields": {
    string: value,
    ...
  }
}
Fields
fields

map (key: string, value: value (Value format))

Unordered map of dynamically typed values.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

JSON representation
{
  "key": string,
  "value": value
}
Fields
key

string

value

value (Value format)

ListValue

JSON representation
{
  "values": [
    value
  ]
}
Fields
values[]

value (Value format)

Repeated field of dynamically typed values.

DefsEntry

JSON representation
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Fields
key

string

value

object (Schema)

DataStoreSettings

JSON representation
{
  "engines": [
    {
      object (Engine)
    }
  ]
}
Fields
engines[]

object (Engine)

Output only. The engines for the app.

Engine

JSON representation
{
  "name": string,
  "type": enum (Type)
}
Fields
name

string

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

type

enum (Type)

Output only. The type of the engine.

ChannelProfile

JSON representation
{
  "profileId": string,
  "channelType": enum (ChannelType),
  "personaProperty": {
    object (PersonaProperty)
  },
  "disableDtmf": boolean,
  "disableBargeInControl": boolean,
  "webWidgetConfig": {
    object (WebWidgetConfig)
  },
  "noiseSuppressionLevel": string
}
Fields
profileId

string

Optional. The unique identifier of the channel profile.

channelType

enum (ChannelType)

Optional. The type of the channel profile.

personaProperty

object (PersonaProperty)

Optional. The persona property of the channel profile.

disableDtmf

boolean

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

disableBargeInControl

boolean

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.

webWidgetConfig

object (WebWidgetConfig)

Optional. The configuration for the web widget.

noiseSuppressionLevel

string

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

PersonaProperty

JSON representation
{
  "persona": enum (Persona)
}
Fields
persona

enum (Persona)

Optional. The persona of the channel.

WebWidgetConfig

JSON representation
{
  "modality": enum (Modality),
  "theme": enum (Theme),
  "webWidgetTitle": string,
  "securitySettings": {
    object (SecuritySettings)
  }
}
Fields
modality

enum (Modality)

Optional. The modality of the web widget.

theme

enum (Theme)

Optional. The theme of the web widget.

webWidgetTitle

string

Optional. The title of the web widget.

securitySettings

object (SecuritySettings)

Optional. The security settings of the web widget.

SecuritySettings

JSON representation
{
  "enablePublicAccess": boolean,
  "enableOriginCheck": boolean,
  "allowedOrigins": [
    string
  ],
  "enableRecaptcha": boolean
}
Fields
enablePublicAccess

boolean

Optional. Indicates whether public access to the web widget is enabled. If true, the web widget will be publicly accessible. If false, the web widget must be integrated with your own authentication and authorization system to return valid credentials for accessing the CES agent.

enableOriginCheck

boolean

Optional. Indicates whether origin check for the web widget is enabled. If true, the web widget will check the origin of the website that loads the web widget and only allow it to be loaded in the same origin or any of the allowed origins.

allowedOrigins[]

string

Optional. The origins that are allowed to host the web widget. An origin is defined by RFC 6454. If empty, all origins are allowed. A maximum of 100 origins is allowed. Example: "https://example.com"

enableRecaptcha

boolean

Optional. Indicates whether reCAPTCHA verification for the web widget is enabled.

MetadataEntry

JSON representation
{
  "key": string,
  "value": string
}
Fields
key

string

value

string

Timestamp

JSON representation
{
  "seconds": string,
  "nanos": integer
}
Fields
seconds

string (int64 format)

Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z).

nanos

integer

Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive.

ClientCertificateSettings

JSON representation
{
  "tlsCertificate": string,
  "privateKey": string,
  "passphrase": string
}
Fields
tlsCertificate

string

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

privateKey

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}

Output Schema

This resource represents a long-running operation that is the result of a network API call.

Operation

JSON representation
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // Union field result can be only one of the following:
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of list of possible types for union field result.
}
Fields
name

string

The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.

metadata

object

Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.

An object containing fields of an arbitrary type. An additional field "@type" contains a URI identifying the type. Example: { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.

Union field result. The operation result, which can be either an error or a valid response. If done == false, neither error nor response is set. If done == true, exactly one of error or response can be set. Some services might not provide the result. result can be only one of the following:
error

object (Status)

The error result of the operation in case of failure or cancellation.

response

object

The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.

An object containing fields of an arbitrary type. An additional field "@type" contains a URI identifying the type. Example: { "id": 1234, "@type": "types.example.com/standard/id" }.

Any

JSON representation
{
  "typeUrl": string,
  "value": string
}
Fields
typeUrl

string

Identifies the type of the serialized Protobuf message with a URI reference consisting of a prefix ending in a slash and the fully-qualified type name.

Example: type.googleapis.com/google.protobuf.StringValue

This string must contain at least one / character, and the content after the last / must be the fully-qualified name of the type in canonical form, without a leading dot. Do not write a scheme on these URI references so that clients do not attempt to contact them.

The prefix is arbitrary and Protobuf implementations are expected to simply strip off everything up to and including the last / to identify the type. type.googleapis.com/ is a common default prefix that some legacy implementations require. This prefix does not indicate the origin of the type, and URIs containing it are not expected to respond to any requests.

All type URL strings must be legal URI references with the additional restriction (for the text format) that the content of the reference must consist only of alphanumeric characters, percent-encoded escapes, and characters in the following set (not including the outer backticks): /-.~_!$&()*+,;=. Despite our allowing percent encodings, implementations should not unescape them to prevent confusion with existing parsers. For example, type.googleapis.com%2FFoo should be rejected.

In the original design of Any, the possibility of launching a type resolution service at these type URLs was considered but Protobuf never implemented one and considers contacting these URLs to be problematic and a potential security issue. Do not attempt to contact type URLs.

value

string (bytes format)

Holds a Protobuf serialization of the type described by type_url.

A base64-encoded string.

Status

JSON representation
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Fields
code

integer

The status code, which should be an enum value of google.rpc.Code.

message

string

A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.

details[]

object

A list of messages that carry the error details. There is a common set of message types for APIs to use.

An object containing fields of an arbitrary type. An additional field "@type" contains a URI identifying the type. Example: { "id": 1234, "@type": "types.example.com/standard/id" }.

Tool Annotations

Destructive Hint: ✅ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ❌