Gemini Enterprise for Customer Experience v1 API - Class Tool (1.0.0)

public sealed class Tool : IMessage<Tool>, IEquatable<Tool>, IDeepCloneable<Tool>, IBufferMessage, IMessage

Reference documentation and code samples for the Gemini Enterprise for Customer Experience v1 API class Tool.

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

Inheritance

object > Tool

Namespace

Google.Cloud.Ces.V1

Assembly

Google.Cloud.Ces.V1.dll

Constructors

Tool()

public Tool()

Tool(Tool)

public Tool(Tool other)
Parameter
Name Description
other Tool

Properties

AgentTool

public AgentTool AgentTool { get; set; }

Optional. The agent tool.

Property Value
Type Description
AgentTool

ClientFunction

public ClientFunction ClientFunction { get; set; }

Optional. The client function.

Property Value
Type Description
ClientFunction

ConnectorTool

public ConnectorTool ConnectorTool { get; set; }

Optional. The Integration Connector tool.

Property Value
Type Description
ConnectorTool

CreateTime

public Timestamp CreateTime { get; set; }

Output only. Timestamp when the tool was created.

Property Value
Type Description
Timestamp

DataStoreTool

public DataStoreTool DataStoreTool { get; set; }

Optional. The data store tool.

Property Value
Type Description
DataStoreTool

DisplayName

public string DisplayName { get; set; }

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.

Property Value
Type Description
string

Etag

public string Etag { get; set; }

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.

Property Value
Type Description
string

ExecutionType

public ExecutionType ExecutionType { get; set; }

Optional. The execution type of the tool.

Property Value
Type Description
ExecutionType

FileSearchTool

public FileSearchTool FileSearchTool { get; set; }

Optional. The file search tool.

Property Value
Type Description
FileSearchTool

GeneratedSummary

public string GeneratedSummary { get; set; }

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

Property Value
Type Description
string

GoogleSearchTool

public GoogleSearchTool GoogleSearchTool { get; set; }

Optional. The google search tool.

Property Value
Type Description
GoogleSearchTool

McpTool

public McpTool McpTool { get; set; }

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

Property Value
Type Description
McpTool

Name

public string Name { get; set; }

Identifier. The resource name of the tool. Format:

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool} for standalone tools.
  • 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.

Property Value
Type Description
string

OpenApiTool

public OpenApiTool OpenApiTool { get; set; }

Optional. The open API tool.

Property Value
Type Description
OpenApiTool

PythonFunction

public PythonFunction PythonFunction { get; set; }

Optional. The python function tool.

Property Value
Type Description
PythonFunction

RemoteAgentTool

public RemoteAgentTool RemoteAgentTool { get; set; }

Optional. The remote agent tool.

Property Value
Type Description
RemoteAgentTool

SystemTool

public SystemTool SystemTool { get; set; }

Optional. The system tool.

Property Value
Type Description
SystemTool

Timeout

public Duration Timeout { get; set; }

Optional. The timeout for the tool execution. If not set, the default timeout is 30 seconds for SYNCHRONOUS tools and 60 seconds for ASYNCHRONOUS tools.

Property Value
Type Description
Duration

ToolFakeConfig

public ToolFakeConfig ToolFakeConfig { get; set; }

Optional. Configuration for tool behavior in fake mode.

Property Value
Type Description
ToolFakeConfig

ToolName

public ToolName ToolName { get; set; }

ToolName-typed view over the Name resource name property.

Property Value
Type Description
ToolName

ToolTypeCase

public Tool.ToolTypeOneofCase ToolTypeCase { get; }
Property Value
Type Description
ToolToolTypeOneofCase

UpdateTime

public Timestamp UpdateTime { get; set; }

Output only. Timestamp when the tool was last updated.

Property Value
Type Description
Timestamp

WidgetTool

public WidgetTool WidgetTool { get; set; }

Optional. The widget tool.

Property Value
Type Description
WidgetTool