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.
Namespace
Google.Cloud.Ces.V1Assembly
Google.Cloud.Ces.V1.dll
Constructors
Tool()
public Tool()
Tool(Tool)
public Tool(Tool other)
Properties
ClientFunction
public ClientFunction ClientFunction { get; set; }
Optional. The client function.
ConnectorTool
public ConnectorTool ConnectorTool { get; set; }
Optional. The Integration Connector tool.
CreateTime
public Timestamp CreateTime { get; set; }
Output only. Timestamp when the tool was created.
DataStoreTool
public DataStoreTool DataStoreTool { get; set; }
Optional. The data store tool.
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.
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.
ExecutionType
public ExecutionType ExecutionType { get; set; }
Optional. The execution type of the tool.
FileSearchTool
public FileSearchTool FileSearchTool { get; set; }
Optional. The file search tool.
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.
GoogleSearchTool
public GoogleSearchTool GoogleSearchTool { get; set; }
Optional. The google search tool.
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.
Name
public string Name { get; set; }
Identifier. The unique identifier 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.
OpenApiTool
public OpenApiTool OpenApiTool { get; set; }
Optional. The open API tool.
PythonFunction
public PythonFunction PythonFunction { get; set; }
Optional. The python function tool.
SystemTool
public SystemTool SystemTool { get; set; }
Optional. The system tool.
ToolFakeConfig
public ToolFakeConfig ToolFakeConfig { get; set; }
Optional. Configuration for tool behavior in fake mode.
ToolName
public ToolName ToolName { get; set; }
ToolTypeCase
public Tool.ToolTypeOneofCase ToolTypeCase { get; }
UpdateTime
public Timestamp UpdateTime { get; set; }
Output only. Timestamp when the tool was last updated.
WidgetTool
public WidgetTool WidgetTool { get; set; }
Optional. The widget tool.

