Class Fulfillment (1.4.0)

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

A fulfillment can do one or more of the following actions at the same time:

  • Generate rich message responses.
  • Set parameter values.
  • Call the webhook.

Fulfillments can be called at various stages in the [Page][google.cloud.dialogflow.cx.v3.Page] or [Form][google.cloud.dialogflow.cx.v3.Form] lifecycle. For example, when a [DetectIntentRequest][google.cloud.dialogflow.cx.v3.DetectIntentRequest] drives a session to enter a new page, the page's entry fulfillment can add a static response to the [QueryResult][google.cloud.dialogflow.cx.v3.QueryResult] in the returning [DetectIntentResponse][google.cloud.dialogflow.cx.v3.DetectIntentResponse], call the webhook (for example, to load user data from a database), or both.

Inheritance

Object > Fulfillment

Namespace

Google.Cloud.Dialogflow.Cx.V3

Assembly

Google.Cloud.Dialogflow.Cx.V3.dll

Constructors

Fulfillment()

public Fulfillment()

Fulfillment(Fulfillment)

public Fulfillment(Fulfillment other)
Parameter
NameDescription
otherFulfillment

Properties

ConditionalCases

public RepeatedField<Fulfillment.Types.ConditionalCases> ConditionalCases { get; }

Conditional cases for this fulfillment.

Property Value
TypeDescription
RepeatedField<Fulfillment.Types.ConditionalCases>

Messages

public RepeatedField<ResponseMessage> Messages { get; }

The list of rich message responses to present to the user.

Property Value
TypeDescription
RepeatedField<ResponseMessage>

ReturnPartialResponses

public bool ReturnPartialResponses { get; set; }

Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.

Property Value
TypeDescription
Boolean

SetParameterActions

public RepeatedField<Fulfillment.Types.SetParameterAction> SetParameterActions { get; }

Set parameter values before executing the webhook.

Property Value
TypeDescription
RepeatedField<Fulfillment.Types.SetParameterAction>

Tag

public string Tag { get; set; }

The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.

Property Value
TypeDescription
String

Webhook

public string Webhook { get; set; }

The webhook to call. Format: projects/&lt;Project ID>/locations/&lt;Location ID>/agents/&lt;Agent ID>/webhooks/&lt;Webhook ID>.

Property Value
TypeDescription
String

WebhookAsWebhookName

public WebhookName WebhookAsWebhookName { get; set; }

WebhookName-typed view over the Webhook resource name property.

Property Value
TypeDescription
WebhookName