Class Agent
An agent acts as the fundamental building block that provides instructions to the Large Language Model (LLM) for executing specific tasks.
Implements
Inherited Members
Namespace: Google.Apis.CustomerEngagementSuite.v1beta.Data
Assembly: Google.Apis.CustomerEngagementSuite.v1beta.dll
Syntax
public class Agent : IDirectResponseSchema
Properties
AfterAgentCallbacks
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.
Declaration
[JsonProperty("afterAgentCallbacks")]
public virtual IList<Callback> AfterAgentCallbacks { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<Callback> |
AfterModelCallbacks
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.
Declaration
[JsonProperty("afterModelCallbacks")]
public virtual IList<Callback> AfterModelCallbacks { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<Callback> |
AfterToolCallbacks
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.
Declaration
[JsonProperty("afterToolCallbacks")]
public virtual IList<Callback> AfterToolCallbacks { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<Callback> |
BeforeAgentCallbacks
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.
Declaration
[JsonProperty("beforeAgentCallbacks")]
public virtual IList<Callback> BeforeAgentCallbacks { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<Callback> |
BeforeModelCallbacks
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.
Declaration
[JsonProperty("beforeModelCallbacks")]
public virtual IList<Callback> BeforeModelCallbacks { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<Callback> |
BeforeToolCallbacks
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.
Declaration
[JsonProperty("beforeToolCallbacks")]
public virtual IList<Callback> BeforeToolCallbacks { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<Callback> |
ChildAgents
Optional. List of child agents in the agent tree. Format:
projects/{project}/locations/{location}/apps/{app}/agents/{agent}
Declaration
[JsonProperty("childAgents")]
public virtual IList<string> ChildAgents { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<string> |
CreateTime
object representation of CreateTimeRaw.
Declaration
[JsonIgnore]
[Obsolete("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")]
public virtual object CreateTime { get; set; }
Property Value
| Type | Description |
|---|---|
| object |
CreateTimeDateTimeOffset
DateTimeOffset representation of CreateTimeRaw.
Declaration
[JsonIgnore]
public virtual DateTimeOffset? CreateTimeDateTimeOffset { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTimeOffset? |
CreateTimeRaw
Output only. Timestamp when the agent was created.
Declaration
[JsonProperty("createTime")]
public virtual string CreateTimeRaw { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Description
Optional. Human-readable description of the agent.
Declaration
[JsonProperty("description")]
public virtual string Description { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
DisplayName
Required. Display name of the agent.
Declaration
[JsonProperty("displayName")]
public virtual string DisplayName { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ETag
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.
Declaration
[JsonProperty("etag")]
public virtual string ETag { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
GeneratedSummary
Output only. If the agent is generated by the LLM assistant, this field contains a descriptive summary of the generation.
Declaration
[JsonProperty("generatedSummary")]
public virtual string GeneratedSummary { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Guardrails
Optional. List of guardrails for the agent. Format:
projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}
Declaration
[JsonProperty("guardrails")]
public virtual IList<string> Guardrails { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<string> |
Instruction
Optional. Instructions for the LLM model to guide the agent's behavior.
Declaration
[JsonProperty("instruction")]
public virtual string Instruction { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
LlmAgent
Optional. The default agent type.
Declaration
[JsonProperty("llmAgent")]
public virtual AgentLlmAgent LlmAgent { get; set; }
Property Value
| Type | Description |
|---|---|
| AgentLlmAgent |
ModelSettings
Optional. Configurations for the LLM model.
Declaration
[JsonProperty("modelSettings")]
public virtual ModelSettings ModelSettings { get; set; }
Property Value
| Type | Description |
|---|---|
| ModelSettings |
Name
Identifier. The unique identifier of the agent. Format:
projects/{project}/locations/{location}/apps/{app}/agents/{agent}
Declaration
[JsonProperty("name")]
public virtual string Name { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
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-@gcp-sa-ces.iam.gserviceaccount.com.
Declaration
[JsonProperty("remoteDialogflowAgent")]
public virtual AgentRemoteDialogflowAgent RemoteDialogflowAgent { get; set; }
Property Value
| Type | Description |
|---|---|
| AgentRemoteDialogflowAgent |
Tools
Optional. List of available tools for the agent. Format:
projects/{project}/locations/{location}/apps/{app}/tools/{tool}
Declaration
[JsonProperty("tools")]
public virtual IList<string> Tools { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<string> |
Toolsets
Optional. List of toolsets for the agent.
Declaration
[JsonProperty("toolsets")]
public virtual IList<AgentAgentToolset> Toolsets { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<AgentAgentToolset> |
TransferRules
Optional. Agent transfer rules. If multiple rules match, the first one in the list will be used.
Declaration
[JsonProperty("transferRules")]
public virtual IList<TransferRule> TransferRules { get; set; }
Property Value
| Type | Description |
|---|---|
| IList<TransferRule> |
UpdateTime
object representation of UpdateTimeRaw.
Declaration
[JsonIgnore]
[Obsolete("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")]
public virtual object UpdateTime { get; set; }
Property Value
| Type | Description |
|---|---|
| object |
UpdateTimeDateTimeOffset
DateTimeOffset representation of UpdateTimeRaw.
Declaration
[JsonIgnore]
public virtual DateTimeOffset? UpdateTimeDateTimeOffset { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTimeOffset? |
UpdateTimeRaw
Output only. Timestamp when the agent was last updated.
Declaration
[JsonProperty("updateTime")]
public virtual string UpdateTimeRaw { get; set; }
Property Value
| Type | Description |
|---|---|
| string |