Dialogflow v3 API - Class Playbook (3.0.0)

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

Reference documentation and code samples for the Dialogflow v3 API class Playbook.

Playbook is the basic building block to instruct the LLM how to execute a certain task.

A playbook consists of a goal to accomplish, an optional list of step by step instructions (the step instruction may refers to name of the custom or default plugin tools to use) to perform the task, a list of contextual input data to be passed in at the beginning of the invoked, and a list of output parameters to store the playbook result.

Inheritance

object > Playbook

Namespace

Google.Cloud.Dialogflow.Cx.V3

Assembly

Google.Cloud.Dialogflow.Cx.V3.dll

Constructors

Playbook()

public Playbook()

Playbook(Playbook)

public Playbook(Playbook other)
Parameter
Name Description
other Playbook

Properties

CodeBlock

public CodeBlock CodeBlock { get; set; }

Optional. The playbook's scoped code block, which may implement handlers and actions.

Property Value
Type Description
CodeBlock

CreateTime

public Timestamp CreateTime { get; set; }

Output only. The timestamp of initial playbook creation.

Property Value
Type Description
Timestamp

DisplayName

public string DisplayName { get; set; }

Required. The human-readable name of the playbook, unique within an agent.

Property Value
Type Description
string

Goal

public string Goal { get; set; }

Required. High level description of the goal the playbook intend to accomplish. A goal should be concise since it's visible to other playbooks that may reference this playbook.

Property Value
Type Description
string

Handlers

public RepeatedField<Handler> Handlers { get; }

Optional. A list of registered handlers to execuate based on the specified triggers.

Property Value
Type Description
RepeatedFieldHandler

InlineActions

public RepeatedField<string> InlineActions { get; }

Optional. Output only. Names of inline actions scoped to this playbook. These actions are in addition to those belonging to referenced tools, child playbooks, and flows, e.g. actions that are defined in the playbook's code block.

Property Value
Type Description
RepeatedFieldstring

InputParameterDefinitions

public RepeatedField<ParameterDefinition> InputParameterDefinitions { get; }

Optional. Defined structured input parameters for this playbook.

Property Value
Type Description
RepeatedFieldParameterDefinition

Instruction

public Playbook.Types.Instruction Instruction { get; set; }

Instruction to accomplish target goal.

Property Value
Type Description
PlaybookTypesInstruction

LlmModelSettings

public LlmModelSettings LlmModelSettings { get; set; }

Optional. Llm model settings for the playbook.

Property Value
Type Description
LlmModelSettings

Name

public string Name { get; set; }

The unique identifier of the playbook. Format: projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/playbooks/<PlaybookID>.

Property Value
Type Description
string

OutputParameterDefinitions

public RepeatedField<ParameterDefinition> OutputParameterDefinitions { get; }

Optional. Defined structured output parameters for this playbook.

Property Value
Type Description
RepeatedFieldParameterDefinition

PlaybookName

public PlaybookName PlaybookName { get; set; }

PlaybookName-typed view over the Name resource name property.

Property Value
Type Description
PlaybookName

PlaybookType

public Playbook.Types.PlaybookType PlaybookType { get; set; }

Optional. Type of the playbook.

Property Value
Type Description
PlaybookTypesPlaybookType

ReferencedFlows

public RepeatedField<string> ReferencedFlows { get; }

Output only. The resource name of flows referenced by the current playbook in the instructions.

Property Value
Type Description
RepeatedFieldstring

ReferencedFlowsAsFlowNames

public ResourceNameList<FlowName> ReferencedFlowsAsFlowNames { get; }

FlowName-typed view over the ReferencedFlows resource name property.

Property Value
Type Description
ResourceNameListFlowName

ReferencedPlaybooks

public RepeatedField<string> ReferencedPlaybooks { get; }

Output only. The resource name of other playbooks referenced by the current playbook in the instructions.

Property Value
Type Description
RepeatedFieldstring

ReferencedPlaybooksAsPlaybookNames

public ResourceNameList<PlaybookName> ReferencedPlaybooksAsPlaybookNames { get; }

PlaybookName-typed view over the ReferencedPlaybooks resource name property.

Property Value
Type Description
ResourceNameListPlaybookName

ReferencedTools

public RepeatedField<string> ReferencedTools { get; }

Optional. The resource name of tools referenced by the current playbook in the instructions. If not provided explicitly, they are will be implied using the tool being referenced in goal and steps.

Property Value
Type Description
RepeatedFieldstring

ReferencedToolsAsToolNames

public ResourceNameList<ToolName> ReferencedToolsAsToolNames { get; }

ToolName-typed view over the ReferencedTools resource name property.

Property Value
Type Description
ResourceNameListToolName

TokenCount

public long TokenCount { get; set; }

Output only. Estimated number of tokes current playbook takes when sent to the LLM.

Property Value
Type Description
long

UpdateTime

public Timestamp UpdateTime { get; set; }

Output only. Last time the playbook version was updated.

Property Value
Type Description
Timestamp