Tool: update_deployment
Updates the specified deployment. Make sure to always pass an update mask in the input.
The following sample demonstrate how to use curl to invoke the update_deployment MCP tool.
| Curl Request |
|---|
curl --location 'https://ces.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "update_deployment", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request message for AgentService.UpdateDeployment.
UpdateDeploymentRequest
| JSON representation |
|---|
{
"deployment": {
object ( |
| Fields | |
|---|---|
deployment |
Required. The deployment to update. |
updateMask |
Optional. The list of fields to update. This is a comma-separated list of fully qualified names of fields. Example: |
Deployment
| JSON representation |
|---|
{ "name": string, "displayName": string, "appVersion": string, "channelProfile": { object ( |
| Fields | |
|---|---|
name |
Identifier. The resource name of the deployment. Format: |
displayName |
Required. Display name of the deployment. |
appVersion |
Optional. The resource name of the app version to deploy. Format: |
channelProfile |
Required. The channel profile used in the deployment. |
createTime |
Output only. Timestamp when this deployment 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: |
updateTime |
Output only. Timestamp when this deployment 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: |
etag |
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. |
experimentConfig |
Optional. Experiment configuration for the deployment. |
ChannelProfile
| JSON representation |
|---|
{ "profileId": string, "channelType": enum ( |
| Fields | |
|---|---|
profileId |
Optional. The unique identifier of the channel profile. |
channelType |
Optional. The type of the channel profile. |
personaProperty |
Optional. The persona property of the channel profile. |
disableDtmf |
Optional. Whether to disable DTMF (dual-tone multi-frequency). |
disableBargeInControl |
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 |
Optional. The configuration for the web widget. |
noiseSuppressionLevel |
Optional. The noise suppression level of the channel profile. Available values are "low", "moderate", "high", "very_high". |
PersonaProperty
| JSON representation |
|---|
{
"persona": enum ( |
| Fields | |
|---|---|
persona |
Optional. The persona of the channel. |
WebWidgetConfig
| JSON representation |
|---|
{ "modality": enum ( |
| Fields | |
|---|---|
modality |
Optional. The modality of the web widget. |
theme |
Optional. The theme of the web widget. |
webWidgetTitle |
Optional. The title of the web widget. |
securitySettings |
Optional. The security settings of the web widget. |
SecuritySettings
| JSON representation |
|---|
{ "enablePublicAccess": boolean, "enableOriginCheck": boolean, "allowedOrigins": [ string ], "enableRecaptcha": boolean } |
| Fields | |
|---|---|
enablePublicAccess |
Optional. Indicates whether public access to the web widget is enabled. If |
enableOriginCheck |
Optional. Indicates whether origin check for the web widget is enabled. If |
allowedOrigins[] |
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 |
Optional. Indicates whether reCAPTCHA verification for the web widget is enabled. |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
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 |
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. |
ExperimentConfig
| JSON representation |
|---|
{
"versionRelease": {
object ( |
| Fields | |
|---|---|
versionRelease |
Optional. Version release for the experiment. |
VersionRelease
| JSON representation |
|---|
{ "state": enum ( |
| Fields | |
|---|---|
state |
Optional. State of the version release. |
trafficAllocations[] |
Optional. Traffic allocations for the version release. |
TrafficAllocation
| JSON representation |
|---|
{ "id": string, "trafficPercentage": integer, "appVersion": string } |
| Fields | |
|---|---|
id |
Optional. Id of the traffic allocation. Free format string, up to 128 characters. |
trafficPercentage |
Optional. Traffic percentage of the traffic allocation. Must be between 0 and 100. |
appVersion |
Optional. App version of the traffic allocation. Format: |
FieldMask
| JSON representation |
|---|
{ "paths": [ string ] } |
| Fields | |
|---|---|
paths[] |
The set of field mask paths. |
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. |
CONTACT_CENTER_INTEGRATION |
Third party contact center integration 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 |
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. |
CHAT_VOICE_AND_VIDEO |
Widget supports chat, voice, and video input. |
Theme
Theme of the web widget.
| Enums | |
|---|---|
THEME_UNSPECIFIED |
Unknown theme. |
LIGHT |
Light theme. |
DARK |
Dark theme. |
State
State of the experiment.
| Enums | |
|---|---|
STATE_UNSPECIFIED |
Unspecified state. |
PENDING |
Pending state. Experiment is pending and not valid. |
RUNNING |
Running state. Experiment is running and valid. |
DONE |
Done state. Experiment is done and no longer valid. |
EXPIRED |
Expired state. Experiment is expired and no longer valid. |
Output Schema
A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.
Deployment
| JSON representation |
|---|
{ "name": string, "displayName": string, "appVersion": string, "channelProfile": { object ( |
| Fields | |
|---|---|
name |
Identifier. The resource name of the deployment. Format: |
displayName |
Required. Display name of the deployment. |
appVersion |
Optional. The resource name of the app version to deploy. Format: |
channelProfile |
Required. The channel profile used in the deployment. |
createTime |
Output only. Timestamp when this deployment 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: |
updateTime |
Output only. Timestamp when this deployment 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: |
etag |
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. |
experimentConfig |
Optional. Experiment configuration for the deployment. |
ChannelProfile
| JSON representation |
|---|
{ "profileId": string, "channelType": enum ( |
| Fields | |
|---|---|
profileId |
Optional. The unique identifier of the channel profile. |
channelType |
Optional. The type of the channel profile. |
personaProperty |
Optional. The persona property of the channel profile. |
disableDtmf |
Optional. Whether to disable DTMF (dual-tone multi-frequency). |
disableBargeInControl |
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 |
Optional. The configuration for the web widget. |
noiseSuppressionLevel |
Optional. The noise suppression level of the channel profile. Available values are "low", "moderate", "high", "very_high". |
PersonaProperty
| JSON representation |
|---|
{
"persona": enum ( |
| Fields | |
|---|---|
persona |
Optional. The persona of the channel. |
WebWidgetConfig
| JSON representation |
|---|
{ "modality": enum ( |
| Fields | |
|---|---|
modality |
Optional. The modality of the web widget. |
theme |
Optional. The theme of the web widget. |
webWidgetTitle |
Optional. The title of the web widget. |
securitySettings |
Optional. The security settings of the web widget. |
SecuritySettings
| JSON representation |
|---|
{ "enablePublicAccess": boolean, "enableOriginCheck": boolean, "allowedOrigins": [ string ], "enableRecaptcha": boolean } |
| Fields | |
|---|---|
enablePublicAccess |
Optional. Indicates whether public access to the web widget is enabled. If |
enableOriginCheck |
Optional. Indicates whether origin check for the web widget is enabled. If |
allowedOrigins[] |
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 |
Optional. Indicates whether reCAPTCHA verification for the web widget is enabled. |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
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 |
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. |
ExperimentConfig
| JSON representation |
|---|
{
"versionRelease": {
object ( |
| Fields | |
|---|---|
versionRelease |
Optional. Version release for the experiment. |
VersionRelease
| JSON representation |
|---|
{ "state": enum ( |
| Fields | |
|---|---|
state |
Optional. State of the version release. |
trafficAllocations[] |
Optional. Traffic allocations for the version release. |
TrafficAllocation
| JSON representation |
|---|
{ "id": string, "trafficPercentage": integer, "appVersion": string } |
| Fields | |
|---|---|
id |
Optional. Id of the traffic allocation. Free format string, up to 128 characters. |
trafficPercentage |
Optional. Traffic percentage of the traffic allocation. Must be between 0 and 100. |
appVersion |
Optional. App version of the traffic allocation. Format: |
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. |
CONTACT_CENTER_INTEGRATION |
Third party contact center integration 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 |
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. |
CHAT_VOICE_AND_VIDEO |
Widget supports chat, voice, and video input. |
Theme
Theme of the web widget.
| Enums | |
|---|---|
THEME_UNSPECIFIED |
Unknown theme. |
LIGHT |
Light theme. |
DARK |
Dark theme. |
State
State of the experiment.
| Enums | |
|---|---|
STATE_UNSPECIFIED |
Unspecified state. |
PENDING |
Pending state. Experiment is pending and not valid. |
RUNNING |
Running state. Experiment is running and valid. |
DONE |
Done state. Experiment is done and no longer valid. |
EXPIRED |
Expired state. Experiment is expired and no longer valid. |
Tool Annotations
Destructive Hint: ✅ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ❌