gcp.diagflow.CxFlow
Explore with Pulumi AI
Flows represents the conversation flows when you build your chatbot agent.
To get more information about Flow, see:
- API documentation
- How-to Guides
Example Usage
Dialogflowcx Flow Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const agent = new gcp.diagflow.CxAgent("agent", {
displayName: "dialogflowcx-agent",
location: "global",
defaultLanguageCode: "en",
supportedLanguageCodes: [
"fr",
"de",
"es",
],
timeZone: "America/New_York",
description: "Example description.",
avatarUri: "https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png",
enableStackdriverLogging: true,
enableSpellCorrection: true,
speechToTextSettings: {
enableSpeechAdaptation: true,
},
});
const basicFlow = new gcp.diagflow.CxFlow("basic_flow", {
parent: agent.id,
displayName: "MyFlow",
description: "Test Flow",
nluSettings: {
classificationThreshold: 0.3,
modelType: "MODEL_TYPE_STANDARD",
},
eventHandlers: [
{
event: "custom-event",
triggerFulfillment: {
returnPartialResponses: false,
messages: [{
text: {
texts: ["I didn't get that. Can you say it again?"],
},
}],
},
},
{
event: "sys.no-match-default",
triggerFulfillment: {
returnPartialResponses: false,
messages: [{
text: {
texts: ["Sorry, could you say that again?"],
},
}],
},
},
{
event: "sys.no-input-default",
triggerFulfillment: {
returnPartialResponses: false,
messages: [{
text: {
texts: ["One more time?"],
},
}],
},
},
],
});
import pulumi
import pulumi_gcp as gcp
agent = gcp.diagflow.CxAgent("agent",
display_name="dialogflowcx-agent",
location="global",
default_language_code="en",
supported_language_codes=[
"fr",
"de",
"es",
],
time_zone="America/New_York",
description="Example description.",
avatar_uri="https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png",
enable_stackdriver_logging=True,
enable_spell_correction=True,
speech_to_text_settings={
"enable_speech_adaptation": True,
})
basic_flow = gcp.diagflow.CxFlow("basic_flow",
parent=agent.id,
display_name="MyFlow",
description="Test Flow",
nlu_settings={
"classification_threshold": 0.3,
"model_type": "MODEL_TYPE_STANDARD",
},
event_handlers=[
{
"event": "custom-event",
"trigger_fulfillment": {
"return_partial_responses": False,
"messages": [{
"text": {
"texts": ["I didn't get that. Can you say it again?"],
},
}],
},
},
{
"event": "sys.no-match-default",
"trigger_fulfillment": {
"return_partial_responses": False,
"messages": [{
"text": {
"texts": ["Sorry, could you say that again?"],
},
}],
},
},
{
"event": "sys.no-input-default",
"trigger_fulfillment": {
"return_partial_responses": False,
"messages": [{
"text": {
"texts": ["One more time?"],
},
}],
},
},
])
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/diagflow"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
agent, err := diagflow.NewCxAgent(ctx, "agent", &diagflow.CxAgentArgs{
DisplayName: pulumi.String("dialogflowcx-agent"),
Location: pulumi.String("global"),
DefaultLanguageCode: pulumi.String("en"),
SupportedLanguageCodes: pulumi.StringArray{
pulumi.String("fr"),
pulumi.String("de"),
pulumi.String("es"),
},
TimeZone: pulumi.String("America/New_York"),
Description: pulumi.String("Example description."),
AvatarUri: pulumi.String("https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png"),
EnableStackdriverLogging: pulumi.Bool(true),
EnableSpellCorrection: pulumi.Bool(true),
SpeechToTextSettings: &diagflow.CxAgentSpeechToTextSettingsArgs{
EnableSpeechAdaptation: pulumi.Bool(true),
},
})
if err != nil {
return err
}
_, err = diagflow.NewCxFlow(ctx, "basic_flow", &diagflow.CxFlowArgs{
Parent: agent.ID(),
DisplayName: pulumi.String("MyFlow"),
Description: pulumi.String("Test Flow"),
NluSettings: &diagflow.CxFlowNluSettingsArgs{
ClassificationThreshold: pulumi.Float64(0.3),
ModelType: pulumi.String("MODEL_TYPE_STANDARD"),
},
EventHandlers: diagflow.CxFlowEventHandlerArray{
&diagflow.CxFlowEventHandlerArgs{
Event: pulumi.String("custom-event"),
TriggerFulfillment: &diagflow.CxFlowEventHandlerTriggerFulfillmentArgs{
ReturnPartialResponses: pulumi.Bool(false),
Messages: diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArray{
&diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArgs{
Text: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageTextArgs{
Texts: pulumi.StringArray{
pulumi.String("I didn't get that. Can you say it again?"),
},
},
},
},
},
},
&diagflow.CxFlowEventHandlerArgs{
Event: pulumi.String("sys.no-match-default"),
TriggerFulfillment: &diagflow.CxFlowEventHandlerTriggerFulfillmentArgs{
ReturnPartialResponses: pulumi.Bool(false),
Messages: diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArray{
&diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArgs{
Text: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageTextArgs{
Texts: pulumi.StringArray{
pulumi.String("Sorry, could you say that again?"),
},
},
},
},
},
},
&diagflow.CxFlowEventHandlerArgs{
Event: pulumi.String("sys.no-input-default"),
TriggerFulfillment: &diagflow.CxFlowEventHandlerTriggerFulfillmentArgs{
ReturnPartialResponses: pulumi.Bool(false),
Messages: diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArray{
&diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArgs{
Text: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageTextArgs{
Texts: pulumi.StringArray{
pulumi.String("One more time?"),
},
},
},
},
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var agent = new Gcp.Diagflow.CxAgent("agent", new()
{
DisplayName = "dialogflowcx-agent",
Location = "global",
DefaultLanguageCode = "en",
SupportedLanguageCodes = new[]
{
"fr",
"de",
"es",
},
TimeZone = "America/New_York",
Description = "Example description.",
AvatarUri = "https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png",
EnableStackdriverLogging = true,
EnableSpellCorrection = true,
SpeechToTextSettings = new Gcp.Diagflow.Inputs.CxAgentSpeechToTextSettingsArgs
{
EnableSpeechAdaptation = true,
},
});
var basicFlow = new Gcp.Diagflow.CxFlow("basic_flow", new()
{
Parent = agent.Id,
DisplayName = "MyFlow",
Description = "Test Flow",
NluSettings = new Gcp.Diagflow.Inputs.CxFlowNluSettingsArgs
{
ClassificationThreshold = 0.3,
ModelType = "MODEL_TYPE_STANDARD",
},
EventHandlers = new[]
{
new Gcp.Diagflow.Inputs.CxFlowEventHandlerArgs
{
Event = "custom-event",
TriggerFulfillment = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentArgs
{
ReturnPartialResponses = false,
Messages = new[]
{
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageArgs
{
Text = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageTextArgs
{
Texts = new[]
{
"I didn't get that. Can you say it again?",
},
},
},
},
},
},
new Gcp.Diagflow.Inputs.CxFlowEventHandlerArgs
{
Event = "sys.no-match-default",
TriggerFulfillment = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentArgs
{
ReturnPartialResponses = false,
Messages = new[]
{
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageArgs
{
Text = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageTextArgs
{
Texts = new[]
{
"Sorry, could you say that again?",
},
},
},
},
},
},
new Gcp.Diagflow.Inputs.CxFlowEventHandlerArgs
{
Event = "sys.no-input-default",
TriggerFulfillment = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentArgs
{
ReturnPartialResponses = false,
Messages = new[]
{
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageArgs
{
Text = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageTextArgs
{
Texts = new[]
{
"One more time?",
},
},
},
},
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.diagflow.CxAgent;
import com.pulumi.gcp.diagflow.CxAgentArgs;
import com.pulumi.gcp.diagflow.inputs.CxAgentSpeechToTextSettingsArgs;
import com.pulumi.gcp.diagflow.CxFlow;
import com.pulumi.gcp.diagflow.CxFlowArgs;
import com.pulumi.gcp.diagflow.inputs.CxFlowNluSettingsArgs;
import com.pulumi.gcp.diagflow.inputs.CxFlowEventHandlerArgs;
import com.pulumi.gcp.diagflow.inputs.CxFlowEventHandlerTriggerFulfillmentArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var agent = new CxAgent("agent", CxAgentArgs.builder()
.displayName("dialogflowcx-agent")
.location("global")
.defaultLanguageCode("en")
.supportedLanguageCodes(
"fr",
"de",
"es")
.timeZone("America/New_York")
.description("Example description.")
.avatarUri("https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png")
.enableStackdriverLogging(true)
.enableSpellCorrection(true)
.speechToTextSettings(CxAgentSpeechToTextSettingsArgs.builder()
.enableSpeechAdaptation(true)
.build())
.build());
var basicFlow = new CxFlow("basicFlow", CxFlowArgs.builder()
.parent(agent.id())
.displayName("MyFlow")
.description("Test Flow")
.nluSettings(CxFlowNluSettingsArgs.builder()
.classificationThreshold(0.3)
.modelType("MODEL_TYPE_STANDARD")
.build())
.eventHandlers(
CxFlowEventHandlerArgs.builder()
.event("custom-event")
.triggerFulfillment(CxFlowEventHandlerTriggerFulfillmentArgs.builder()
.returnPartialResponses(false)
.messages(CxFlowEventHandlerTriggerFulfillmentMessageArgs.builder()
.text(CxFlowEventHandlerTriggerFulfillmentMessageTextArgs.builder()
.texts("I didn't get that. Can you say it again?")
.build())
.build())
.build())
.build(),
CxFlowEventHandlerArgs.builder()
.event("sys.no-match-default")
.triggerFulfillment(CxFlowEventHandlerTriggerFulfillmentArgs.builder()
.returnPartialResponses(false)
.messages(CxFlowEventHandlerTriggerFulfillmentMessageArgs.builder()
.text(CxFlowEventHandlerTriggerFulfillmentMessageTextArgs.builder()
.texts("Sorry, could you say that again?")
.build())
.build())
.build())
.build(),
CxFlowEventHandlerArgs.builder()
.event("sys.no-input-default")
.triggerFulfillment(CxFlowEventHandlerTriggerFulfillmentArgs.builder()
.returnPartialResponses(false)
.messages(CxFlowEventHandlerTriggerFulfillmentMessageArgs.builder()
.text(CxFlowEventHandlerTriggerFulfillmentMessageTextArgs.builder()
.texts("One more time?")
.build())
.build())
.build())
.build())
.build());
}
}
resources:
agent:
type: gcp:diagflow:CxAgent
properties:
displayName: dialogflowcx-agent
location: global
defaultLanguageCode: en
supportedLanguageCodes:
- fr
- de
- es
timeZone: America/New_York
description: Example description.
avatarUri: https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png
enableStackdriverLogging: true
enableSpellCorrection: true
speechToTextSettings:
enableSpeechAdaptation: true
basicFlow:
type: gcp:diagflow:CxFlow
name: basic_flow
properties:
parent: ${agent.id}
displayName: MyFlow
description: Test Flow
nluSettings:
classificationThreshold: 0.3
modelType: MODEL_TYPE_STANDARD
eventHandlers:
- event: custom-event
triggerFulfillment:
returnPartialResponses: false
messages:
- text:
texts:
- I didn't get that. Can you say it again?
- event: sys.no-match-default
triggerFulfillment:
returnPartialResponses: false
messages:
- text:
texts:
- Sorry, could you say that again?
- event: sys.no-input-default
triggerFulfillment:
returnPartialResponses: false
messages:
- text:
texts:
- One more time?
Dialogflowcx Flow Full
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const agent = new gcp.diagflow.CxAgent("agent", {
displayName: "dialogflowcx-agent",
location: "global",
defaultLanguageCode: "en",
supportedLanguageCodes: [
"fr",
"de",
"es",
],
timeZone: "America/New_York",
description: "Example description.",
avatarUri: "https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png",
enableStackdriverLogging: true,
enableSpellCorrection: true,
speechToTextSettings: {
enableSpeechAdaptation: true,
},
});
const bucket = new gcp.storage.Bucket("bucket", {
name: "dialogflowcx-bucket",
location: "US",
uniformBucketLevelAccess: true,
});
const basicFlow = new gcp.diagflow.CxFlow("basic_flow", {
parent: agent.id,
displayName: "MyFlow",
description: "Test Flow",
nluSettings: {
classificationThreshold: 0.3,
modelType: "MODEL_TYPE_STANDARD",
},
eventHandlers: [
{
event: "custom-event",
triggerFulfillment: {
returnPartialResponses: false,
messages: [{
text: {
texts: ["I didn't get that. Can you say it again?"],
},
}],
},
},
{
event: "sys.no-match-default",
triggerFulfillment: {
returnPartialResponses: false,
messages: [{
text: {
texts: ["Sorry, could you say that again?"],
},
}],
},
},
{
event: "sys.no-input-default",
triggerFulfillment: {
returnPartialResponses: false,
messages: [{
text: {
texts: ["One more time?"],
},
}],
},
},
{
event: "another-event",
triggerFulfillment: {
returnPartialResponses: true,
messages: [
{
channel: "some-channel",
text: {
texts: ["Some text"],
},
},
{
payload: " {\"some-key\": \"some-value\", \"other-key\": [\"other-value\"]}\n",
},
{
conversationSuccess: {
metadata: " {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n",
},
},
{
outputAudioText: {
text: "some output text",
},
},
{
outputAudioText: {
ssml: " <speak>Some example <say-as interpret-as=\"characters\">SSML XML</say-as></speak>\n",
},
},
{
liveAgentHandoff: {
metadata: " {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n",
},
},
{
playAudio: {
audioUri: "http://example.com/some-audio-file.mp3",
},
},
{
telephonyTransferCall: {
phoneNumber: "1-234-567-8901",
},
},
],
setParameterActions: [
{
parameter: "some-param",
value: "123.45",
},
{
parameter: "another-param",
value: JSON.stringify("abc"),
},
{
parameter: "other-param",
value: JSON.stringify(["foo"]),
},
],
conditionalCases: [{
cases: JSON.stringify([
{
condition: "$sys.func.RAND() < 0.5",
caseContent: [
{
message: {
text: {
text: ["First case"],
},
},
},
{
additionalCases: {
cases: [{
condition: "$sys.func.RAND() < 0.2",
caseContent: [{
message: {
text: {
text: ["Nested case"],
},
},
}],
}],
},
},
],
},
{
caseContent: [{
message: {
text: {
text: ["Final case"],
},
},
}],
},
]),
}],
},
},
],
transitionRoutes: [{
condition: "true",
triggerFulfillment: {
returnPartialResponses: true,
messages: [
{
channel: "some-channel",
text: {
texts: ["Some text"],
},
},
{
payload: " {\"some-key\": \"some-value\", \"other-key\": [\"other-value\"]}\n",
},
{
conversationSuccess: {
metadata: " {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n",
},
},
{
outputAudioText: {
text: "some output text",
},
},
{
outputAudioText: {
ssml: " <speak>Some example <say-as interpret-as=\"characters\">SSML XML</say-as></speak>\n",
},
},
{
liveAgentHandoff: {
metadata: " {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n",
},
},
{
playAudio: {
audioUri: "http://example.com/some-audio-file.mp3",
},
},
{
telephonyTransferCall: {
phoneNumber: "1-234-567-8901",
},
},
],
setParameterActions: [
{
parameter: "some-param",
value: "123.45",
},
{
parameter: "another-param",
value: JSON.stringify("abc"),
},
{
parameter: "other-param",
value: JSON.stringify(["foo"]),
},
],
conditionalCases: [{
cases: JSON.stringify([
{
condition: "$sys.func.RAND() < 0.5",
caseContent: [
{
message: {
text: {
text: ["First case"],
},
},
},
{
additionalCases: {
cases: [{
condition: "$sys.func.RAND() < 0.2",
caseContent: [{
message: {
text: {
text: ["Nested case"],
},
},
}],
}],
},
},
],
},
{
caseContent: [{
message: {
text: {
text: ["Final case"],
},
},
}],
},
]),
}],
},
targetFlow: agent.startFlow,
}],
advancedSettings: {
audioExportGcsDestination: {
uri: pulumi.interpolate`${bucket.url}/prefix-`,
},
speechSettings: {
endpointerSensitivity: 30,
noSpeechTimeout: "3.500s",
useTimeoutBasedEndpointing: true,
models: {
name: "wrench",
mass: "1.3kg",
count: "3",
},
},
dtmfSettings: {
enabled: true,
maxDigits: 1,
finishDigit: "#",
},
loggingSettings: {
enableStackdriverLogging: true,
enableInteractionLogging: true,
enableConsentBasedRedaction: true,
},
},
});
import pulumi
import json
import pulumi_gcp as gcp
agent = gcp.diagflow.CxAgent("agent",
display_name="dialogflowcx-agent",
location="global",
default_language_code="en",
supported_language_codes=[
"fr",
"de",
"es",
],
time_zone="America/New_York",
description="Example description.",
avatar_uri="https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png",
enable_stackdriver_logging=True,
enable_spell_correction=True,
speech_to_text_settings={
"enable_speech_adaptation": True,
})
bucket = gcp.storage.Bucket("bucket",
name="dialogflowcx-bucket",
location="US",
uniform_bucket_level_access=True)
basic_flow = gcp.diagflow.CxFlow("basic_flow",
parent=agent.id,
display_name="MyFlow",
description="Test Flow",
nlu_settings={
"classification_threshold": 0.3,
"model_type": "MODEL_TYPE_STANDARD",
},
event_handlers=[
{
"event": "custom-event",
"trigger_fulfillment": {
"return_partial_responses": False,
"messages": [{
"text": {
"texts": ["I didn't get that. Can you say it again?"],
},
}],
},
},
{
"event": "sys.no-match-default",
"trigger_fulfillment": {
"return_partial_responses": False,
"messages": [{
"text": {
"texts": ["Sorry, could you say that again?"],
},
}],
},
},
{
"event": "sys.no-input-default",
"trigger_fulfillment": {
"return_partial_responses": False,
"messages": [{
"text": {
"texts": ["One more time?"],
},
}],
},
},
{
"event": "another-event",
"trigger_fulfillment": {
"return_partial_responses": True,
"messages": [
{
"channel": "some-channel",
"text": {
"texts": ["Some text"],
},
},
{
"payload": " {\"some-key\": \"some-value\", \"other-key\": [\"other-value\"]}\n",
},
{
"conversation_success": {
"metadata": " {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n",
},
},
{
"output_audio_text": {
"text": "some output text",
},
},
{
"output_audio_text": {
"ssml": " <speak>Some example <say-as interpret-as=\"characters\">SSML XML</say-as></speak>\n",
},
},
{
"live_agent_handoff": {
"metadata": " {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n",
},
},
{
"play_audio": {
"audio_uri": "http://example.com/some-audio-file.mp3",
},
},
{
"telephony_transfer_call": {
"phone_number": "1-234-567-8901",
},
},
],
"set_parameter_actions": [
{
"parameter": "some-param",
"value": "123.45",
},
{
"parameter": "another-param",
"value": json.dumps("abc"),
},
{
"parameter": "other-param",
"value": json.dumps(["foo"]),
},
],
"conditional_cases": [{
"cases": json.dumps([
{
"condition": "$sys.func.RAND() < 0.5",
"caseContent": [
{
"message": {
"text": {
"text": ["First case"],
},
},
},
{
"additionalCases": {
"cases": [{
"condition": "$sys.func.RAND() < 0.2",
"caseContent": [{
"message": {
"text": {
"text": ["Nested case"],
},
},
}],
}],
},
},
],
},
{
"caseContent": [{
"message": {
"text": {
"text": ["Final case"],
},
},
}],
},
]),
}],
},
},
],
transition_routes=[{
"condition": "true",
"trigger_fulfillment": {
"return_partial_responses": True,
"messages": [
{
"channel": "some-channel",
"text": {
"texts": ["Some text"],
},
},
{
"payload": " {\"some-key\": \"some-value\", \"other-key\": [\"other-value\"]}\n",
},
{
"conversation_success": {
"metadata": " {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n",
},
},
{
"output_audio_text": {
"text": "some output text",
},
},
{
"output_audio_text": {
"ssml": " <speak>Some example <say-as interpret-as=\"characters\">SSML XML</say-as></speak>\n",
},
},
{
"live_agent_handoff": {
"metadata": " {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n",
},
},
{
"play_audio": {
"audio_uri": "http://example.com/some-audio-file.mp3",
},
},
{
"telephony_transfer_call": {
"phone_number": "1-234-567-8901",
},
},
],
"set_parameter_actions": [
{
"parameter": "some-param",
"value": "123.45",
},
{
"parameter": "another-param",
"value": json.dumps("abc"),
},
{
"parameter": "other-param",
"value": json.dumps(["foo"]),
},
],
"conditional_cases": [{
"cases": json.dumps([
{
"condition": "$sys.func.RAND() < 0.5",
"caseContent": [
{
"message": {
"text": {
"text": ["First case"],
},
},
},
{
"additionalCases": {
"cases": [{
"condition": "$sys.func.RAND() < 0.2",
"caseContent": [{
"message": {
"text": {
"text": ["Nested case"],
},
},
}],
}],
},
},
],
},
{
"caseContent": [{
"message": {
"text": {
"text": ["Final case"],
},
},
}],
},
]),
}],
},
"target_flow": agent.start_flow,
}],
advanced_settings={
"audio_export_gcs_destination": {
"uri": bucket.url.apply(lambda url: f"{url}/prefix-"),
},
"speech_settings": {
"endpointer_sensitivity": 30,
"no_speech_timeout": "3.500s",
"use_timeout_based_endpointing": True,
"models": {
"name": "wrench",
"mass": "1.3kg",
"count": "3",
},
},
"dtmf_settings": {
"enabled": True,
"max_digits": 1,
"finish_digit": "#",
},
"logging_settings": {
"enable_stackdriver_logging": True,
"enable_interaction_logging": True,
"enable_consent_based_redaction": True,
},
})
package main
import (
"encoding/json"
"fmt"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/diagflow"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
agent, err := diagflow.NewCxAgent(ctx, "agent", &diagflow.CxAgentArgs{
DisplayName: pulumi.String("dialogflowcx-agent"),
Location: pulumi.String("global"),
DefaultLanguageCode: pulumi.String("en"),
SupportedLanguageCodes: pulumi.StringArray{
pulumi.String("fr"),
pulumi.String("de"),
pulumi.String("es"),
},
TimeZone: pulumi.String("America/New_York"),
Description: pulumi.String("Example description."),
AvatarUri: pulumi.String("https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png"),
EnableStackdriverLogging: pulumi.Bool(true),
EnableSpellCorrection: pulumi.Bool(true),
SpeechToTextSettings: &diagflow.CxAgentSpeechToTextSettingsArgs{
EnableSpeechAdaptation: pulumi.Bool(true),
},
})
if err != nil {
return err
}
bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
Name: pulumi.String("dialogflowcx-bucket"),
Location: pulumi.String("US"),
UniformBucketLevelAccess: pulumi.Bool(true),
})
if err != nil {
return err
}
tmpJSON0, err := json.Marshal("abc")
if err != nil {
return err
}
json0 := string(tmpJSON0)
tmpJSON1, err := json.Marshal([]string{
"foo",
})
if err != nil {
return err
}
json1 := string(tmpJSON1)
tmpJSON2, err := json.Marshal([]interface{}{
map[string]interface{}{
"condition": "$sys.func.RAND() < 0.5",
"caseContent": []interface{}{
map[string]interface{}{
"message": map[string]interface{}{
"text": map[string]interface{}{
"text": []string{
"First case",
},
},
},
},
map[string]interface{}{
"additionalCases": map[string]interface{}{
"cases": []map[string]interface{}{
map[string]interface{}{
"condition": "$sys.func.RAND() < 0.2",
"caseContent": []map[string]interface{}{
map[string]interface{}{
"message": map[string]interface{}{
"text": map[string]interface{}{
"text": []string{
"Nested case",
},
},
},
},
},
},
},
},
},
},
},
map[string]interface{}{
"caseContent": []map[string]interface{}{
map[string]interface{}{
"message": map[string]interface{}{
"text": map[string]interface{}{
"text": []string{
"Final case",
},
},
},
},
},
},
})
if err != nil {
return err
}
json2 := string(tmpJSON2)
tmpJSON3, err := json.Marshal("abc")
if err != nil {
return err
}
json3 := string(tmpJSON3)
tmpJSON4, err := json.Marshal([]string{
"foo",
})
if err != nil {
return err
}
json4 := string(tmpJSON4)
tmpJSON5, err := json.Marshal([]interface{}{
map[string]interface{}{
"condition": "$sys.func.RAND() < 0.5",
"caseContent": []interface{}{
map[string]interface{}{
"message": map[string]interface{}{
"text": map[string]interface{}{
"text": []string{
"First case",
},
},
},
},
map[string]interface{}{
"additionalCases": map[string]interface{}{
"cases": []map[string]interface{}{
map[string]interface{}{
"condition": "$sys.func.RAND() < 0.2",
"caseContent": []map[string]interface{}{
map[string]interface{}{
"message": map[string]interface{}{
"text": map[string]interface{}{
"text": []string{
"Nested case",
},
},
},
},
},
},
},
},
},
},
},
map[string]interface{}{
"caseContent": []map[string]interface{}{
map[string]interface{}{
"message": map[string]interface{}{
"text": map[string]interface{}{
"text": []string{
"Final case",
},
},
},
},
},
},
})
if err != nil {
return err
}
json5 := string(tmpJSON5)
_, err = diagflow.NewCxFlow(ctx, "basic_flow", &diagflow.CxFlowArgs{
Parent: agent.ID(),
DisplayName: pulumi.String("MyFlow"),
Description: pulumi.String("Test Flow"),
NluSettings: &diagflow.CxFlowNluSettingsArgs{
ClassificationThreshold: pulumi.Float64(0.3),
ModelType: pulumi.String("MODEL_TYPE_STANDARD"),
},
EventHandlers: diagflow.CxFlowEventHandlerArray{
&diagflow.CxFlowEventHandlerArgs{
Event: pulumi.String("custom-event"),
TriggerFulfillment: &diagflow.CxFlowEventHandlerTriggerFulfillmentArgs{
ReturnPartialResponses: pulumi.Bool(false),
Messages: diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArray{
&diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArgs{
Text: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageTextArgs{
Texts: pulumi.StringArray{
pulumi.String("I didn't get that. Can you say it again?"),
},
},
},
},
},
},
&diagflow.CxFlowEventHandlerArgs{
Event: pulumi.String("sys.no-match-default"),
TriggerFulfillment: &diagflow.CxFlowEventHandlerTriggerFulfillmentArgs{
ReturnPartialResponses: pulumi.Bool(false),
Messages: diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArray{
&diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArgs{
Text: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageTextArgs{
Texts: pulumi.StringArray{
pulumi.String("Sorry, could you say that again?"),
},
},
},
},
},
},
&diagflow.CxFlowEventHandlerArgs{
Event: pulumi.String("sys.no-input-default"),
TriggerFulfillment: &diagflow.CxFlowEventHandlerTriggerFulfillmentArgs{
ReturnPartialResponses: pulumi.Bool(false),
Messages: diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArray{
&diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArgs{
Text: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageTextArgs{
Texts: pulumi.StringArray{
pulumi.String("One more time?"),
},
},
},
},
},
},
&diagflow.CxFlowEventHandlerArgs{
Event: pulumi.String("another-event"),
TriggerFulfillment: &diagflow.CxFlowEventHandlerTriggerFulfillmentArgs{
ReturnPartialResponses: pulumi.Bool(true),
Messages: diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArray{
&diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArgs{
Channel: pulumi.String("some-channel"),
Text: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageTextArgs{
Texts: pulumi.StringArray{
pulumi.String("Some text"),
},
},
},
&diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArgs{
Payload: pulumi.String(" {\"some-key\": \"some-value\", \"other-key\": [\"other-value\"]}\n"),
},
&diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArgs{
ConversationSuccess: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageConversationSuccessArgs{
Metadata: pulumi.String(" {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n"),
},
},
&diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArgs{
OutputAudioText: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs{
Text: pulumi.String("some output text"),
},
},
&diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArgs{
OutputAudioText: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs{
Ssml: pulumi.String(" <speak>Some example <say-as interpret-as=\"characters\">SSML XML</say-as></speak>\n"),
},
},
&diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArgs{
LiveAgentHandoff: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs{
Metadata: pulumi.String(" {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n"),
},
},
&diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArgs{
PlayAudio: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessagePlayAudioArgs{
AudioUri: pulumi.String("http://example.com/some-audio-file.mp3"),
},
},
&diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArgs{
TelephonyTransferCall: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs{
PhoneNumber: pulumi.String("1-234-567-8901"),
},
},
},
SetParameterActions: diagflow.CxFlowEventHandlerTriggerFulfillmentSetParameterActionArray{
&diagflow.CxFlowEventHandlerTriggerFulfillmentSetParameterActionArgs{
Parameter: pulumi.String("some-param"),
Value: pulumi.String("123.45"),
},
&diagflow.CxFlowEventHandlerTriggerFulfillmentSetParameterActionArgs{
Parameter: pulumi.String("another-param"),
Value: pulumi.String(json0),
},
&diagflow.CxFlowEventHandlerTriggerFulfillmentSetParameterActionArgs{
Parameter: pulumi.String("other-param"),
Value: pulumi.String(json1),
},
},
ConditionalCases: diagflow.CxFlowEventHandlerTriggerFulfillmentConditionalCaseArray{
&diagflow.CxFlowEventHandlerTriggerFulfillmentConditionalCaseArgs{
Cases: pulumi.String(json2),
},
},
},
},
},
TransitionRoutes: diagflow.CxFlowTransitionRouteArray{
&diagflow.CxFlowTransitionRouteArgs{
Condition: pulumi.String("true"),
TriggerFulfillment: &diagflow.CxFlowTransitionRouteTriggerFulfillmentArgs{
ReturnPartialResponses: pulumi.Bool(true),
Messages: diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageArray{
&diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageArgs{
Channel: pulumi.String("some-channel"),
Text: &diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageTextArgs{
Texts: pulumi.StringArray{
pulumi.String("Some text"),
},
},
},
&diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageArgs{
Payload: pulumi.String(" {\"some-key\": \"some-value\", \"other-key\": [\"other-value\"]}\n"),
},
&diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageArgs{
ConversationSuccess: &diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageConversationSuccessArgs{
Metadata: pulumi.String(" {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n"),
},
},
&diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageArgs{
OutputAudioText: &diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs{
Text: pulumi.String("some output text"),
},
},
&diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageArgs{
OutputAudioText: &diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs{
Ssml: pulumi.String(" <speak>Some example <say-as interpret-as=\"characters\">SSML XML</say-as></speak>\n"),
},
},
&diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageArgs{
LiveAgentHandoff: &diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageLiveAgentHandoffArgs{
Metadata: pulumi.String(" {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n"),
},
},
&diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageArgs{
PlayAudio: &diagflow.CxFlowTransitionRouteTriggerFulfillmentMessagePlayAudioArgs{
AudioUri: pulumi.String("http://example.com/some-audio-file.mp3"),
},
},
&diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageArgs{
TelephonyTransferCall: &diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageTelephonyTransferCallArgs{
PhoneNumber: pulumi.String("1-234-567-8901"),
},
},
},
SetParameterActions: diagflow.CxFlowTransitionRouteTriggerFulfillmentSetParameterActionArray{
&diagflow.CxFlowTransitionRouteTriggerFulfillmentSetParameterActionArgs{
Parameter: pulumi.String("some-param"),
Value: pulumi.String("123.45"),
},
&diagflow.CxFlowTransitionRouteTriggerFulfillmentSetParameterActionArgs{
Parameter: pulumi.String("another-param"),
Value: pulumi.String(json3),
},
&diagflow.CxFlowTransitionRouteTriggerFulfillmentSetParameterActionArgs{
Parameter: pulumi.String("other-param"),
Value: pulumi.String(json4),
},
},
ConditionalCases: diagflow.CxFlowTransitionRouteTriggerFulfillmentConditionalCaseArray{
&diagflow.CxFlowTransitionRouteTriggerFulfillmentConditionalCaseArgs{
Cases: pulumi.String(json5),
},
},
},
TargetFlow: agent.StartFlow,
},
},
AdvancedSettings: &diagflow.CxFlowAdvancedSettingsArgs{
AudioExportGcsDestination: &diagflow.CxFlowAdvancedSettingsAudioExportGcsDestinationArgs{
Uri: bucket.Url.ApplyT(func(url string) (string, error) {
return fmt.Sprintf("%v/prefix-", url), nil
}).(pulumi.StringOutput),
},
SpeechSettings: &diagflow.CxFlowAdvancedSettingsSpeechSettingsArgs{
EndpointerSensitivity: pulumi.Int(30),
NoSpeechTimeout: pulumi.String("3.500s"),
UseTimeoutBasedEndpointing: pulumi.Bool(true),
Models: pulumi.StringMap{
"name": pulumi.String("wrench"),
"mass": pulumi.String("1.3kg"),
"count": pulumi.String("3"),
},
},
DtmfSettings: &diagflow.CxFlowAdvancedSettingsDtmfSettingsArgs{
Enabled: pulumi.Bool(true),
MaxDigits: pulumi.Int(1),
FinishDigit: pulumi.String("#"),
},
LoggingSettings: &diagflow.CxFlowAdvancedSettingsLoggingSettingsArgs{
EnableStackdriverLogging: pulumi.Bool(true),
EnableInteractionLogging: pulumi.Bool(true),
EnableConsentBasedRedaction: pulumi.Bool(true),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var agent = new Gcp.Diagflow.CxAgent("agent", new()
{
DisplayName = "dialogflowcx-agent",
Location = "global",
DefaultLanguageCode = "en",
SupportedLanguageCodes = new[]
{
"fr",
"de",
"es",
},
TimeZone = "America/New_York",
Description = "Example description.",
AvatarUri = "https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png",
EnableStackdriverLogging = true,
EnableSpellCorrection = true,
SpeechToTextSettings = new Gcp.Diagflow.Inputs.CxAgentSpeechToTextSettingsArgs
{
EnableSpeechAdaptation = true,
},
});
var bucket = new Gcp.Storage.Bucket("bucket", new()
{
Name = "dialogflowcx-bucket",
Location = "US",
UniformBucketLevelAccess = true,
});
var basicFlow = new Gcp.Diagflow.CxFlow("basic_flow", new()
{
Parent = agent.Id,
DisplayName = "MyFlow",
Description = "Test Flow",
NluSettings = new Gcp.Diagflow.Inputs.CxFlowNluSettingsArgs
{
ClassificationThreshold = 0.3,
ModelType = "MODEL_TYPE_STANDARD",
},
EventHandlers = new[]
{
new Gcp.Diagflow.Inputs.CxFlowEventHandlerArgs
{
Event = "custom-event",
TriggerFulfillment = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentArgs
{
ReturnPartialResponses = false,
Messages = new[]
{
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageArgs
{
Text = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageTextArgs
{
Texts = new[]
{
"I didn't get that. Can you say it again?",
},
},
},
},
},
},
new Gcp.Diagflow.Inputs.CxFlowEventHandlerArgs
{
Event = "sys.no-match-default",
TriggerFulfillment = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentArgs
{
ReturnPartialResponses = false,
Messages = new[]
{
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageArgs
{
Text = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageTextArgs
{
Texts = new[]
{
"Sorry, could you say that again?",
},
},
},
},
},
},
new Gcp.Diagflow.Inputs.CxFlowEventHandlerArgs
{
Event = "sys.no-input-default",
TriggerFulfillment = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentArgs
{
ReturnPartialResponses = false,
Messages = new[]
{
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageArgs
{
Text = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageTextArgs
{
Texts = new[]
{
"One more time?",
},
},
},
},
},
},
new Gcp.Diagflow.Inputs.CxFlowEventHandlerArgs
{
Event = "another-event",
TriggerFulfillment = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentArgs
{
ReturnPartialResponses = true,
Messages = new[]
{
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageArgs
{
Channel = "some-channel",
Text = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageTextArgs
{
Texts = new[]
{
"Some text",
},
},
},
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageArgs
{
Payload = @" {""some-key"": ""some-value"", ""other-key"": [""other-value""]}
",
},
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageArgs
{
ConversationSuccess = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageConversationSuccessArgs
{
Metadata = @" {""some-metadata-key"": ""some-value"", ""other-metadata-key"": 1234}
",
},
},
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageArgs
{
OutputAudioText = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs
{
Text = "some output text",
},
},
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageArgs
{
OutputAudioText = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs
{
Ssml = @" <speak>Some example <say-as interpret-as=""characters"">SSML XML</say-as></speak>
",
},
},
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageArgs
{
LiveAgentHandoff = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs
{
Metadata = @" {""some-metadata-key"": ""some-value"", ""other-metadata-key"": 1234}
",
},
},
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageArgs
{
PlayAudio = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessagePlayAudioArgs
{
AudioUri = "http://example.com/some-audio-file.mp3",
},
},
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageArgs
{
TelephonyTransferCall = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs
{
PhoneNumber = "1-234-567-8901",
},
},
},
SetParameterActions = new[]
{
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentSetParameterActionArgs
{
Parameter = "some-param",
Value = "123.45",
},
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentSetParameterActionArgs
{
Parameter = "another-param",
Value = JsonSerializer.Serialize("abc"),
},
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentSetParameterActionArgs
{
Parameter = "other-param",
Value = JsonSerializer.Serialize(new[]
{
"foo",
}),
},
},
ConditionalCases = new[]
{
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentConditionalCaseArgs
{
Cases = JsonSerializer.Serialize(new[]
{
new Dictionary<string, object?>
{
["condition"] = "$sys.func.RAND() < 0.5",
["caseContent"] = new[]
{
new Dictionary<string, object?>
{
["message"] = new Dictionary<string, object?>
{
["text"] = new Dictionary<string, object?>
{
["text"] = new[]
{
"First case",
},
},
},
},
new Dictionary<string, object?>
{
["additionalCases"] = new Dictionary<string, object?>
{
["cases"] = new[]
{
new Dictionary<string, object?>
{
["condition"] = "$sys.func.RAND() < 0.2",
["caseContent"] = new[]
{
new Dictionary<string, object?>
{
["message"] = new Dictionary<string, object?>
{
["text"] = new Dictionary<string, object?>
{
["text"] = new[]
{
"Nested case",
},
},
},
},
},
},
},
},
},
},
},
new Dictionary<string, object?>
{
["caseContent"] = new[]
{
new Dictionary<string, object?>
{
["message"] = new Dictionary<string, object?>
{
["text"] = new Dictionary<string, object?>
{
["text"] = new[]
{
"Final case",
},
},
},
},
},
},
}),
},
},
},
},
},
TransitionRoutes = new[]
{
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteArgs
{
Condition = "true",
TriggerFulfillment = new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentArgs
{
ReturnPartialResponses = true,
Messages = new[]
{
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageArgs
{
Channel = "some-channel",
Text = new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageTextArgs
{
Texts = new[]
{
"Some text",
},
},
},
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageArgs
{
Payload = @" {""some-key"": ""some-value"", ""other-key"": [""other-value""]}
",
},
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageArgs
{
ConversationSuccess = new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageConversationSuccessArgs
{
Metadata = @" {""some-metadata-key"": ""some-value"", ""other-metadata-key"": 1234}
",
},
},
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageArgs
{
OutputAudioText = new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs
{
Text = "some output text",
},
},
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageArgs
{
OutputAudioText = new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs
{
Ssml = @" <speak>Some example <say-as interpret-as=""characters"">SSML XML</say-as></speak>
",
},
},
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageArgs
{
LiveAgentHandoff = new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageLiveAgentHandoffArgs
{
Metadata = @" {""some-metadata-key"": ""some-value"", ""other-metadata-key"": 1234}
",
},
},
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageArgs
{
PlayAudio = new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessagePlayAudioArgs
{
AudioUri = "http://example.com/some-audio-file.mp3",
},
},
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageArgs
{
TelephonyTransferCall = new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageTelephonyTransferCallArgs
{
PhoneNumber = "1-234-567-8901",
},
},
},
SetParameterActions = new[]
{
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentSetParameterActionArgs
{
Parameter = "some-param",
Value = "123.45",
},
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentSetParameterActionArgs
{
Parameter = "another-param",
Value = JsonSerializer.Serialize("abc"),
},
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentSetParameterActionArgs
{
Parameter = "other-param",
Value = JsonSerializer.Serialize(new[]
{
"foo",
}),
},
},
ConditionalCases = new[]
{
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentConditionalCaseArgs
{
Cases = JsonSerializer.Serialize(new[]
{
new Dictionary<string, object?>
{
["condition"] = "$sys.func.RAND() < 0.5",
["caseContent"] = new[]
{
new Dictionary<string, object?>
{
["message"] = new Dictionary<string, object?>
{
["text"] = new Dictionary<string, object?>
{
["text"] = new[]
{
"First case",
},
},
},
},
new Dictionary<string, object?>
{
["additionalCases"] = new Dictionary<string, object?>
{
["cases"] = new[]
{
new Dictionary<string, object?>
{
["condition"] = "$sys.func.RAND() < 0.2",
["caseContent"] = new[]
{
new Dictionary<string, object?>
{
["message"] = new Dictionary<string, object?>
{
["text"] = new Dictionary<string, object?>
{
["text"] = new[]
{
"Nested case",
},
},
},
},
},
},
},
},
},
},
},
new Dictionary<string, object?>
{
["caseContent"] = new[]
{
new Dictionary<string, object?>
{
["message"] = new Dictionary<string, object?>
{
["text"] = new Dictionary<string, object?>
{
["text"] = new[]
{
"Final case",
},
},
},
},
},
},
}),
},
},
},
TargetFlow = agent.StartFlow,
},
},
AdvancedSettings = new Gcp.Diagflow.Inputs.CxFlowAdvancedSettingsArgs
{
AudioExportGcsDestination = new Gcp.Diagflow.Inputs.CxFlowAdvancedSettingsAudioExportGcsDestinationArgs
{
Uri = bucket.Url.Apply(url => $"{url}/prefix-"),
},
SpeechSettings = new Gcp.Diagflow.Inputs.CxFlowAdvancedSettingsSpeechSettingsArgs
{
EndpointerSensitivity = 30,
NoSpeechTimeout = "3.500s",
UseTimeoutBasedEndpointing = true,
Models =
{
{ "name", "wrench" },
{ "mass", "1.3kg" },
{ "count", "3" },
},
},
DtmfSettings = new Gcp.Diagflow.Inputs.CxFlowAdvancedSettingsDtmfSettingsArgs
{
Enabled = true,
MaxDigits = 1,
FinishDigit = "#",
},
LoggingSettings = new Gcp.Diagflow.Inputs.CxFlowAdvancedSettingsLoggingSettingsArgs
{
EnableStackdriverLogging = true,
EnableInteractionLogging = true,
EnableConsentBasedRedaction = true,
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.diagflow.CxAgent;
import com.pulumi.gcp.diagflow.CxAgentArgs;
import com.pulumi.gcp.diagflow.inputs.CxAgentSpeechToTextSettingsArgs;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
import com.pulumi.gcp.diagflow.CxFlow;
import com.pulumi.gcp.diagflow.CxFlowArgs;
import com.pulumi.gcp.diagflow.inputs.CxFlowNluSettingsArgs;
import com.pulumi.gcp.diagflow.inputs.CxFlowEventHandlerArgs;
import com.pulumi.gcp.diagflow.inputs.CxFlowEventHandlerTriggerFulfillmentArgs;
import com.pulumi.gcp.diagflow.inputs.CxFlowTransitionRouteArgs;
import com.pulumi.gcp.diagflow.inputs.CxFlowTransitionRouteTriggerFulfillmentArgs;
import com.pulumi.gcp.diagflow.inputs.CxFlowAdvancedSettingsArgs;
import com.pulumi.gcp.diagflow.inputs.CxFlowAdvancedSettingsAudioExportGcsDestinationArgs;
import com.pulumi.gcp.diagflow.inputs.CxFlowAdvancedSettingsSpeechSettingsArgs;
import com.pulumi.gcp.diagflow.inputs.CxFlowAdvancedSettingsDtmfSettingsArgs;
import com.pulumi.gcp.diagflow.inputs.CxFlowAdvancedSettingsLoggingSettingsArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var agent = new CxAgent("agent", CxAgentArgs.builder()
.displayName("dialogflowcx-agent")
.location("global")
.defaultLanguageCode("en")
.supportedLanguageCodes(
"fr",
"de",
"es")
.timeZone("America/New_York")
.description("Example description.")
.avatarUri("https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png")
.enableStackdriverLogging(true)
.enableSpellCorrection(true)
.speechToTextSettings(CxAgentSpeechToTextSettingsArgs.builder()
.enableSpeechAdaptation(true)
.build())
.build());
var bucket = new Bucket("bucket", BucketArgs.builder()
.name("dialogflowcx-bucket")
.location("US")
.uniformBucketLevelAccess(true)
.build());
var basicFlow = new CxFlow("basicFlow", CxFlowArgs.builder()
.parent(agent.id())
.displayName("MyFlow")
.description("Test Flow")
.nluSettings(CxFlowNluSettingsArgs.builder()
.classificationThreshold(0.3)
.modelType("MODEL_TYPE_STANDARD")
.build())
.eventHandlers(
CxFlowEventHandlerArgs.builder()
.event("custom-event")
.triggerFulfillment(CxFlowEventHandlerTriggerFulfillmentArgs.builder()
.returnPartialResponses(false)
.messages(CxFlowEventHandlerTriggerFulfillmentMessageArgs.builder()
.text(CxFlowEventHandlerTriggerFulfillmentMessageTextArgs.builder()
.texts("I didn't get that. Can you say it again?")
.build())
.build())
.build())
.build(),
CxFlowEventHandlerArgs.builder()
.event("sys.no-match-default")
.triggerFulfillment(CxFlowEventHandlerTriggerFulfillmentArgs.builder()
.returnPartialResponses(false)
.messages(CxFlowEventHandlerTriggerFulfillmentMessageArgs.builder()
.text(CxFlowEventHandlerTriggerFulfillmentMessageTextArgs.builder()
.texts("Sorry, could you say that again?")
.build())
.build())
.build())
.build(),
CxFlowEventHandlerArgs.builder()
.event("sys.no-input-default")
.triggerFulfillment(CxFlowEventHandlerTriggerFulfillmentArgs.builder()
.returnPartialResponses(false)
.messages(CxFlowEventHandlerTriggerFulfillmentMessageArgs.builder()
.text(CxFlowEventHandlerTriggerFulfillmentMessageTextArgs.builder()
.texts("One more time?")
.build())
.build())
.build())
.build(),
CxFlowEventHandlerArgs.builder()
.event("another-event")
.triggerFulfillment(CxFlowEventHandlerTriggerFulfillmentArgs.builder()
.returnPartialResponses(true)
.messages(
CxFlowEventHandlerTriggerFulfillmentMessageArgs.builder()
.channel("some-channel")
.text(CxFlowEventHandlerTriggerFulfillmentMessageTextArgs.builder()
.texts("Some text")
.build())
.build(),
CxFlowEventHandlerTriggerFulfillmentMessageArgs.builder()
.payload("""
{"some-key": "some-value", "other-key": ["other-value"]}
""")
.build(),
CxFlowEventHandlerTriggerFulfillmentMessageArgs.builder()
.conversationSuccess(CxFlowEventHandlerTriggerFulfillmentMessageConversationSuccessArgs.builder()
.metadata("""
{"some-metadata-key": "some-value", "other-metadata-key": 1234}
""")
.build())
.build(),
CxFlowEventHandlerTriggerFulfillmentMessageArgs.builder()
.outputAudioText(CxFlowEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs.builder()
.text("some output text")
.build())
.build(),
CxFlowEventHandlerTriggerFulfillmentMessageArgs.builder()
.outputAudioText(CxFlowEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs.builder()
.ssml("""
<speak>Some example <say-as interpret-as="characters">SSML XML</say-as></speak>
""")
.build())
.build(),
CxFlowEventHandlerTriggerFulfillmentMessageArgs.builder()
.liveAgentHandoff(CxFlowEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs.builder()
.metadata("""
{"some-metadata-key": "some-value", "other-metadata-key": 1234}
""")
.build())
.build(),
CxFlowEventHandlerTriggerFulfillmentMessageArgs.builder()
.playAudio(CxFlowEventHandlerTriggerFulfillmentMessagePlayAudioArgs.builder()
.audioUri("http://example.com/some-audio-file.mp3")
.build())
.build(),
CxFlowEventHandlerTriggerFulfillmentMessageArgs.builder()
.telephonyTransferCall(CxFlowEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs.builder()
.phoneNumber("1-234-567-8901")
.build())
.build())
.setParameterActions(
CxFlowEventHandlerTriggerFulfillmentSetParameterActionArgs.builder()
.parameter("some-param")
.value("123.45")
.build(),
CxFlowEventHandlerTriggerFulfillmentSetParameterActionArgs.builder()
.parameter("another-param")
.value(serializeJson(
"abc"))
.build(),
CxFlowEventHandlerTriggerFulfillmentSetParameterActionArgs.builder()
.parameter("other-param")
.value(serializeJson(
jsonArray("foo")))
.build())
.conditionalCases(CxFlowEventHandlerTriggerFulfillmentConditionalCaseArgs.builder()
.cases(serializeJson(
jsonArray(
jsonObject(
jsonProperty("condition", "$sys.func.RAND() < 0.5"),
jsonProperty("caseContent", jsonArray(
jsonObject(
jsonProperty("message", jsonObject(
jsonProperty("text", jsonObject(
jsonProperty("text", jsonArray("First case"))
))
))
),
jsonObject(
jsonProperty("additionalCases", jsonObject(
jsonProperty("cases", jsonArray(jsonObject(
jsonProperty("condition", "$sys.func.RAND() < 0.2"),
jsonProperty("caseContent", jsonArray(jsonObject(
jsonProperty("message", jsonObject(
jsonProperty("text", jsonObject(
jsonProperty("text", jsonArray("Nested case"))
))
))
)))
)))
))
)
))
),
jsonObject(
jsonProperty("caseContent", jsonArray(jsonObject(
jsonProperty("message", jsonObject(
jsonProperty("text", jsonObject(
jsonProperty("text", jsonArray("Final case"))
))
))
)))
)
)))
.build())
.build())
.build())
.transitionRoutes(CxFlowTransitionRouteArgs.builder()
.condition("true")
.triggerFulfillment(CxFlowTransitionRouteTriggerFulfillmentArgs.builder()
.returnPartialResponses(true)
.messages(
CxFlowTransitionRouteTriggerFulfillmentMessageArgs.builder()
.channel("some-channel")
.text(CxFlowTransitionRouteTriggerFulfillmentMessageTextArgs.builder()
.texts("Some text")
.build())
.build(),
CxFlowTransitionRouteTriggerFulfillmentMessageArgs.builder()
.payload("""
{"some-key": "some-value", "other-key": ["other-value"]}
""")
.build(),
CxFlowTransitionRouteTriggerFulfillmentMessageArgs.builder()
.conversationSuccess(CxFlowTransitionRouteTriggerFulfillmentMessageConversationSuccessArgs.builder()
.metadata("""
{"some-metadata-key": "some-value", "other-metadata-key": 1234}
""")
.build())
.build(),
CxFlowTransitionRouteTriggerFulfillmentMessageArgs.builder()
.outputAudioText(CxFlowTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs.builder()
.text("some output text")
.build())
.build(),
CxFlowTransitionRouteTriggerFulfillmentMessageArgs.builder()
.outputAudioText(CxFlowTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs.builder()
.ssml("""
<speak>Some example <say-as interpret-as="characters">SSML XML</say-as></speak>
""")
.build())
.build(),
CxFlowTransitionRouteTriggerFulfillmentMessageArgs.builder()
.liveAgentHandoff(CxFlowTransitionRouteTriggerFulfillmentMessageLiveAgentHandoffArgs.builder()
.metadata("""
{"some-metadata-key": "some-value", "other-metadata-key": 1234}
""")
.build())
.build(),
CxFlowTransitionRouteTriggerFulfillmentMessageArgs.builder()
.playAudio(CxFlowTransitionRouteTriggerFulfillmentMessagePlayAudioArgs.builder()
.audioUri("http://example.com/some-audio-file.mp3")
.build())
.build(),
CxFlowTransitionRouteTriggerFulfillmentMessageArgs.builder()
.telephonyTransferCall(CxFlowTransitionRouteTriggerFulfillmentMessageTelephonyTransferCallArgs.builder()
.phoneNumber("1-234-567-8901")
.build())
.build())
.setParameterActions(
CxFlowTransitionRouteTriggerFulfillmentSetParameterActionArgs.builder()
.parameter("some-param")
.value("123.45")
.build(),
CxFlowTransitionRouteTriggerFulfillmentSetParameterActionArgs.builder()
.parameter("another-param")
.value(serializeJson(
"abc"))
.build(),
CxFlowTransitionRouteTriggerFulfillmentSetParameterActionArgs.builder()
.parameter("other-param")
.value(serializeJson(
jsonArray("foo")))
.build())
.conditionalCases(CxFlowTransitionRouteTriggerFulfillmentConditionalCaseArgs.builder()
.cases(serializeJson(
jsonArray(
jsonObject(
jsonProperty("condition", "$sys.func.RAND() < 0.5"),
jsonProperty("caseContent", jsonArray(
jsonObject(
jsonProperty("message", jsonObject(
jsonProperty("text", jsonObject(
jsonProperty("text", jsonArray("First case"))
))
))
),
jsonObject(
jsonProperty("additionalCases", jsonObject(
jsonProperty("cases", jsonArray(jsonObject(
jsonProperty("condition", "$sys.func.RAND() < 0.2"),
jsonProperty("caseContent", jsonArray(jsonObject(
jsonProperty("message", jsonObject(
jsonProperty("text", jsonObject(
jsonProperty("text", jsonArray("Nested case"))
))
))
)))
)))
))
)
))
),
jsonObject(
jsonProperty("caseContent", jsonArray(jsonObject(
jsonProperty("message", jsonObject(
jsonProperty("text", jsonObject(
jsonProperty("text", jsonArray("Final case"))
))
))
)))
)
)))
.build())
.build())
.targetFlow(agent.startFlow())
.build())
.advancedSettings(CxFlowAdvancedSettingsArgs.builder()
.audioExportGcsDestination(CxFlowAdvancedSettingsAudioExportGcsDestinationArgs.builder()
.uri(bucket.url().applyValue(url -> String.format("%s/prefix-", url)))
.build())
.speechSettings(CxFlowAdvancedSettingsSpeechSettingsArgs.builder()
.endpointerSensitivity(30)
.noSpeechTimeout("3.500s")
.useTimeoutBasedEndpointing(true)
.models(Map.ofEntries(
Map.entry("name", "wrench"),
Map.entry("mass", "1.3kg"),
Map.entry("count", "3")
))
.build())
.dtmfSettings(CxFlowAdvancedSettingsDtmfSettingsArgs.builder()
.enabled(true)
.maxDigits(1)
.finishDigit("#")
.build())
.loggingSettings(CxFlowAdvancedSettingsLoggingSettingsArgs.builder()
.enableStackdriverLogging(true)
.enableInteractionLogging(true)
.enableConsentBasedRedaction(true)
.build())
.build())
.build());
}
}
resources:
agent:
type: gcp:diagflow:CxAgent
properties:
displayName: dialogflowcx-agent
location: global
defaultLanguageCode: en
supportedLanguageCodes:
- fr
- de
- es
timeZone: America/New_York
description: Example description.
avatarUri: https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png
enableStackdriverLogging: true
enableSpellCorrection: true
speechToTextSettings:
enableSpeechAdaptation: true
bucket:
type: gcp:storage:Bucket
properties:
name: dialogflowcx-bucket
location: US
uniformBucketLevelAccess: true
basicFlow:
type: gcp:diagflow:CxFlow
name: basic_flow
properties:
parent: ${agent.id}
displayName: MyFlow
description: Test Flow
nluSettings:
classificationThreshold: 0.3
modelType: MODEL_TYPE_STANDARD
eventHandlers:
- event: custom-event
triggerFulfillment:
returnPartialResponses: false
messages:
- text:
texts:
- I didn't get that. Can you say it again?
- event: sys.no-match-default
triggerFulfillment:
returnPartialResponses: false
messages:
- text:
texts:
- Sorry, could you say that again?
- event: sys.no-input-default
triggerFulfillment:
returnPartialResponses: false
messages:
- text:
texts:
- One more time?
- event: another-event
triggerFulfillment:
returnPartialResponses: true
messages:
- channel: some-channel
text:
texts:
- Some text
- payload: |2
{"some-key": "some-value", "other-key": ["other-value"]}
- conversationSuccess:
metadata: |2
{"some-metadata-key": "some-value", "other-metadata-key": 1234}
- outputAudioText:
text: some output text
- outputAudioText:
ssml: |2
<speak>Some example <say-as interpret-as="characters">SSML XML</say-as></speak>
- liveAgentHandoff:
metadata: |2
{"some-metadata-key": "some-value", "other-metadata-key": 1234}
- playAudio:
audioUri: http://example.com/some-audio-file.mp3
- telephonyTransferCall:
phoneNumber: 1-234-567-8901
setParameterActions:
- parameter: some-param
value: '123.45'
- parameter: another-param
value:
fn::toJSON: abc
- parameter: other-param
value:
fn::toJSON:
- foo
conditionalCases:
- cases:
fn::toJSON:
- condition: $sys.func.RAND() < 0.5
caseContent:
- message:
text:
text:
- First case
- additionalCases:
cases:
- condition: $sys.func.RAND() < 0.2
caseContent:
- message:
text:
text:
- Nested case
- caseContent:
- message:
text:
text:
- Final case
transitionRoutes:
- condition: 'true'
triggerFulfillment:
returnPartialResponses: true
messages:
- channel: some-channel
text:
texts:
- Some text
- payload: |2
{"some-key": "some-value", "other-key": ["other-value"]}
- conversationSuccess:
metadata: |2
{"some-metadata-key": "some-value", "other-metadata-key": 1234}
- outputAudioText:
text: some output text
- outputAudioText:
ssml: |2
<speak>Some example <say-as interpret-as="characters">SSML XML</say-as></speak>
- liveAgentHandoff:
metadata: |2
{"some-metadata-key": "some-value", "other-metadata-key": 1234}
- playAudio:
audioUri: http://example.com/some-audio-file.mp3
- telephonyTransferCall:
phoneNumber: 1-234-567-8901
setParameterActions:
- parameter: some-param
value: '123.45'
- parameter: another-param
value:
fn::toJSON: abc
- parameter: other-param
value:
fn::toJSON:
- foo
conditionalCases:
- cases:
fn::toJSON:
- condition: $sys.func.RAND() < 0.5
caseContent:
- message:
text:
text:
- First case
- additionalCases:
cases:
- condition: $sys.func.RAND() < 0.2
caseContent:
- message:
text:
text:
- Nested case
- caseContent:
- message:
text:
text:
- Final case
targetFlow: ${agent.startFlow}
advancedSettings:
audioExportGcsDestination:
uri: ${bucket.url}/prefix-
speechSettings:
endpointerSensitivity: 30
noSpeechTimeout: 3.500s
useTimeoutBasedEndpointing: true
models:
name: wrench
mass: 1.3kg
count: '3'
dtmfSettings:
enabled: true
maxDigits: 1
finishDigit: '#'
loggingSettings:
enableStackdriverLogging: true
enableInteractionLogging: true
enableConsentBasedRedaction: true
Create CxFlow Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new CxFlow(name: string, args: CxFlowArgs, opts?: CustomResourceOptions);
@overload
def CxFlow(resource_name: str,
args: CxFlowArgs,
opts: Optional[ResourceOptions] = None)
@overload
def CxFlow(resource_name: str,
opts: Optional[ResourceOptions] = None,
display_name: Optional[str] = None,
advanced_settings: Optional[CxFlowAdvancedSettingsArgs] = None,
description: Optional[str] = None,
event_handlers: Optional[Sequence[CxFlowEventHandlerArgs]] = None,
is_default_start_flow: Optional[bool] = None,
language_code: Optional[str] = None,
nlu_settings: Optional[CxFlowNluSettingsArgs] = None,
parent: Optional[str] = None,
transition_route_groups: Optional[Sequence[str]] = None,
transition_routes: Optional[Sequence[CxFlowTransitionRouteArgs]] = None)
func NewCxFlow(ctx *Context, name string, args CxFlowArgs, opts ...ResourceOption) (*CxFlow, error)
public CxFlow(string name, CxFlowArgs args, CustomResourceOptions? opts = null)
public CxFlow(String name, CxFlowArgs args)
public CxFlow(String name, CxFlowArgs args, CustomResourceOptions options)
type: gcp:diagflow:CxFlow
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args CxFlowArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args CxFlowArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args CxFlowArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args CxFlowArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args CxFlowArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var cxFlowResource = new Gcp.Diagflow.CxFlow("cxFlowResource", new()
{
DisplayName = "string",
AdvancedSettings = new Gcp.Diagflow.Inputs.CxFlowAdvancedSettingsArgs
{
AudioExportGcsDestination = new Gcp.Diagflow.Inputs.CxFlowAdvancedSettingsAudioExportGcsDestinationArgs
{
Uri = "string",
},
DtmfSettings = new Gcp.Diagflow.Inputs.CxFlowAdvancedSettingsDtmfSettingsArgs
{
Enabled = false,
FinishDigit = "string",
MaxDigits = 0,
},
LoggingSettings = new Gcp.Diagflow.Inputs.CxFlowAdvancedSettingsLoggingSettingsArgs
{
EnableConsentBasedRedaction = false,
EnableInteractionLogging = false,
EnableStackdriverLogging = false,
},
SpeechSettings = new Gcp.Diagflow.Inputs.CxFlowAdvancedSettingsSpeechSettingsArgs
{
EndpointerSensitivity = 0,
Models =
{
{ "string", "string" },
},
NoSpeechTimeout = "string",
UseTimeoutBasedEndpointing = false,
},
},
Description = "string",
EventHandlers = new[]
{
new Gcp.Diagflow.Inputs.CxFlowEventHandlerArgs
{
Event = "string",
Name = "string",
TargetFlow = "string",
TargetPage = "string",
TriggerFulfillment = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentArgs
{
ConditionalCases = new[]
{
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentConditionalCaseArgs
{
Cases = "string",
},
},
Messages = new[]
{
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageArgs
{
Channel = "string",
ConversationSuccess = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageConversationSuccessArgs
{
Metadata = "string",
},
LiveAgentHandoff = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs
{
Metadata = "string",
},
OutputAudioText = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs
{
AllowPlaybackInterruption = false,
Ssml = "string",
Text = "string",
},
Payload = "string",
PlayAudio = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessagePlayAudioArgs
{
AudioUri = "string",
AllowPlaybackInterruption = false,
},
TelephonyTransferCall = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs
{
PhoneNumber = "string",
},
Text = new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentMessageTextArgs
{
AllowPlaybackInterruption = false,
Texts = new[]
{
"string",
},
},
},
},
ReturnPartialResponses = false,
SetParameterActions = new[]
{
new Gcp.Diagflow.Inputs.CxFlowEventHandlerTriggerFulfillmentSetParameterActionArgs
{
Parameter = "string",
Value = "string",
},
},
Tag = "string",
Webhook = "string",
},
},
},
IsDefaultStartFlow = false,
LanguageCode = "string",
NluSettings = new Gcp.Diagflow.Inputs.CxFlowNluSettingsArgs
{
ClassificationThreshold = 0,
ModelTrainingMode = "string",
ModelType = "string",
},
Parent = "string",
TransitionRouteGroups = new[]
{
"string",
},
TransitionRoutes = new[]
{
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteArgs
{
Condition = "string",
Intent = "string",
Name = "string",
TargetFlow = "string",
TargetPage = "string",
TriggerFulfillment = new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentArgs
{
ConditionalCases = new[]
{
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentConditionalCaseArgs
{
Cases = "string",
},
},
Messages = new[]
{
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageArgs
{
Channel = "string",
ConversationSuccess = new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageConversationSuccessArgs
{
Metadata = "string",
},
LiveAgentHandoff = new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageLiveAgentHandoffArgs
{
Metadata = "string",
},
OutputAudioText = new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs
{
AllowPlaybackInterruption = false,
Ssml = "string",
Text = "string",
},
Payload = "string",
PlayAudio = new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessagePlayAudioArgs
{
AudioUri = "string",
AllowPlaybackInterruption = false,
},
TelephonyTransferCall = new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageTelephonyTransferCallArgs
{
PhoneNumber = "string",
},
Text = new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentMessageTextArgs
{
AllowPlaybackInterruption = false,
Texts = new[]
{
"string",
},
},
},
},
ReturnPartialResponses = false,
SetParameterActions = new[]
{
new Gcp.Diagflow.Inputs.CxFlowTransitionRouteTriggerFulfillmentSetParameterActionArgs
{
Parameter = "string",
Value = "string",
},
},
Tag = "string",
Webhook = "string",
},
},
},
});
example, err := diagflow.NewCxFlow(ctx, "cxFlowResource", &diagflow.CxFlowArgs{
DisplayName: pulumi.String("string"),
AdvancedSettings: &diagflow.CxFlowAdvancedSettingsArgs{
AudioExportGcsDestination: &diagflow.CxFlowAdvancedSettingsAudioExportGcsDestinationArgs{
Uri: pulumi.String("string"),
},
DtmfSettings: &diagflow.CxFlowAdvancedSettingsDtmfSettingsArgs{
Enabled: pulumi.Bool(false),
FinishDigit: pulumi.String("string"),
MaxDigits: pulumi.Int(0),
},
LoggingSettings: &diagflow.CxFlowAdvancedSettingsLoggingSettingsArgs{
EnableConsentBasedRedaction: pulumi.Bool(false),
EnableInteractionLogging: pulumi.Bool(false),
EnableStackdriverLogging: pulumi.Bool(false),
},
SpeechSettings: &diagflow.CxFlowAdvancedSettingsSpeechSettingsArgs{
EndpointerSensitivity: pulumi.Int(0),
Models: pulumi.StringMap{
"string": pulumi.String("string"),
},
NoSpeechTimeout: pulumi.String("string"),
UseTimeoutBasedEndpointing: pulumi.Bool(false),
},
},
Description: pulumi.String("string"),
EventHandlers: diagflow.CxFlowEventHandlerArray{
&diagflow.CxFlowEventHandlerArgs{
Event: pulumi.String("string"),
Name: pulumi.String("string"),
TargetFlow: pulumi.String("string"),
TargetPage: pulumi.String("string"),
TriggerFulfillment: &diagflow.CxFlowEventHandlerTriggerFulfillmentArgs{
ConditionalCases: diagflow.CxFlowEventHandlerTriggerFulfillmentConditionalCaseArray{
&diagflow.CxFlowEventHandlerTriggerFulfillmentConditionalCaseArgs{
Cases: pulumi.String("string"),
},
},
Messages: diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArray{
&diagflow.CxFlowEventHandlerTriggerFulfillmentMessageArgs{
Channel: pulumi.String("string"),
ConversationSuccess: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageConversationSuccessArgs{
Metadata: pulumi.String("string"),
},
LiveAgentHandoff: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs{
Metadata: pulumi.String("string"),
},
OutputAudioText: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs{
AllowPlaybackInterruption: pulumi.Bool(false),
Ssml: pulumi.String("string"),
Text: pulumi.String("string"),
},
Payload: pulumi.String("string"),
PlayAudio: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessagePlayAudioArgs{
AudioUri: pulumi.String("string"),
AllowPlaybackInterruption: pulumi.Bool(false),
},
TelephonyTransferCall: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs{
PhoneNumber: pulumi.String("string"),
},
Text: &diagflow.CxFlowEventHandlerTriggerFulfillmentMessageTextArgs{
AllowPlaybackInterruption: pulumi.Bool(false),
Texts: pulumi.StringArray{
pulumi.String("string"),
},
},
},
},
ReturnPartialResponses: pulumi.Bool(false),
SetParameterActions: diagflow.CxFlowEventHandlerTriggerFulfillmentSetParameterActionArray{
&diagflow.CxFlowEventHandlerTriggerFulfillmentSetParameterActionArgs{
Parameter: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
Tag: pulumi.String("string"),
Webhook: pulumi.String("string"),
},
},
},
IsDefaultStartFlow: pulumi.Bool(false),
LanguageCode: pulumi.String("string"),
NluSettings: &diagflow.CxFlowNluSettingsArgs{
ClassificationThreshold: pulumi.Float64(0),
ModelTrainingMode: pulumi.String("string"),
ModelType: pulumi.String("string"),
},
Parent: pulumi.String("string"),
TransitionRouteGroups: pulumi.StringArray{
pulumi.String("string"),
},
TransitionRoutes: diagflow.CxFlowTransitionRouteArray{
&diagflow.CxFlowTransitionRouteArgs{
Condition: pulumi.String("string"),
Intent: pulumi.String("string"),
Name: pulumi.String("string"),
TargetFlow: pulumi.String("string"),
TargetPage: pulumi.String("string"),
TriggerFulfillment: &diagflow.CxFlowTransitionRouteTriggerFulfillmentArgs{
ConditionalCases: diagflow.CxFlowTransitionRouteTriggerFulfillmentConditionalCaseArray{
&diagflow.CxFlowTransitionRouteTriggerFulfillmentConditionalCaseArgs{
Cases: pulumi.String("string"),
},
},
Messages: diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageArray{
&diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageArgs{
Channel: pulumi.String("string"),
ConversationSuccess: &diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageConversationSuccessArgs{
Metadata: pulumi.String("string"),
},
LiveAgentHandoff: &diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageLiveAgentHandoffArgs{
Metadata: pulumi.String("string"),
},
OutputAudioText: &diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs{
AllowPlaybackInterruption: pulumi.Bool(false),
Ssml: pulumi.String("string"),
Text: pulumi.String("string"),
},
Payload: pulumi.String("string"),
PlayAudio: &diagflow.CxFlowTransitionRouteTriggerFulfillmentMessagePlayAudioArgs{
AudioUri: pulumi.String("string"),
AllowPlaybackInterruption: pulumi.Bool(false),
},
TelephonyTransferCall: &diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageTelephonyTransferCallArgs{
PhoneNumber: pulumi.String("string"),
},
Text: &diagflow.CxFlowTransitionRouteTriggerFulfillmentMessageTextArgs{
AllowPlaybackInterruption: pulumi.Bool(false),
Texts: pulumi.StringArray{
pulumi.String("string"),
},
},
},
},
ReturnPartialResponses: pulumi.Bool(false),
SetParameterActions: diagflow.CxFlowTransitionRouteTriggerFulfillmentSetParameterActionArray{
&diagflow.CxFlowTransitionRouteTriggerFulfillmentSetParameterActionArgs{
Parameter: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
Tag: pulumi.String("string"),
Webhook: pulumi.String("string"),
},
},
},
})
var cxFlowResource = new CxFlow("cxFlowResource", CxFlowArgs.builder()
.displayName("string")
.advancedSettings(CxFlowAdvancedSettingsArgs.builder()
.audioExportGcsDestination(CxFlowAdvancedSettingsAudioExportGcsDestinationArgs.builder()
.uri("string")
.build())
.dtmfSettings(CxFlowAdvancedSettingsDtmfSettingsArgs.builder()
.enabled(false)
.finishDigit("string")
.maxDigits(0)
.build())
.loggingSettings(CxFlowAdvancedSettingsLoggingSettingsArgs.builder()
.enableConsentBasedRedaction(false)
.enableInteractionLogging(false)
.enableStackdriverLogging(false)
.build())
.speechSettings(CxFlowAdvancedSettingsSpeechSettingsArgs.builder()
.endpointerSensitivity(0)
.models(Map.of("string", "string"))
.noSpeechTimeout("string")
.useTimeoutBasedEndpointing(false)
.build())
.build())
.description("string")
.eventHandlers(CxFlowEventHandlerArgs.builder()
.event("string")
.name("string")
.targetFlow("string")
.targetPage("string")
.triggerFulfillment(CxFlowEventHandlerTriggerFulfillmentArgs.builder()
.conditionalCases(CxFlowEventHandlerTriggerFulfillmentConditionalCaseArgs.builder()
.cases("string")
.build())
.messages(CxFlowEventHandlerTriggerFulfillmentMessageArgs.builder()
.channel("string")
.conversationSuccess(CxFlowEventHandlerTriggerFulfillmentMessageConversationSuccessArgs.builder()
.metadata("string")
.build())
.liveAgentHandoff(CxFlowEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs.builder()
.metadata("string")
.build())
.outputAudioText(CxFlowEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs.builder()
.allowPlaybackInterruption(false)
.ssml("string")
.text("string")
.build())
.payload("string")
.playAudio(CxFlowEventHandlerTriggerFulfillmentMessagePlayAudioArgs.builder()
.audioUri("string")
.allowPlaybackInterruption(false)
.build())
.telephonyTransferCall(CxFlowEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs.builder()
.phoneNumber("string")
.build())
.text(CxFlowEventHandlerTriggerFulfillmentMessageTextArgs.builder()
.allowPlaybackInterruption(false)
.texts("string")
.build())
.build())
.returnPartialResponses(false)
.setParameterActions(CxFlowEventHandlerTriggerFulfillmentSetParameterActionArgs.builder()
.parameter("string")
.value("string")
.build())
.tag("string")
.webhook("string")
.build())
.build())
.isDefaultStartFlow(false)
.languageCode("string")
.nluSettings(CxFlowNluSettingsArgs.builder()
.classificationThreshold(0)
.modelTrainingMode("string")
.modelType("string")
.build())
.parent("string")
.transitionRouteGroups("string")
.transitionRoutes(CxFlowTransitionRouteArgs.builder()
.condition("string")
.intent("string")
.name("string")
.targetFlow("string")
.targetPage("string")
.triggerFulfillment(CxFlowTransitionRouteTriggerFulfillmentArgs.builder()
.conditionalCases(CxFlowTransitionRouteTriggerFulfillmentConditionalCaseArgs.builder()
.cases("string")
.build())
.messages(CxFlowTransitionRouteTriggerFulfillmentMessageArgs.builder()
.channel("string")
.conversationSuccess(CxFlowTransitionRouteTriggerFulfillmentMessageConversationSuccessArgs.builder()
.metadata("string")
.build())
.liveAgentHandoff(CxFlowTransitionRouteTriggerFulfillmentMessageLiveAgentHandoffArgs.builder()
.metadata("string")
.build())
.outputAudioText(CxFlowTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs.builder()
.allowPlaybackInterruption(false)
.ssml("string")
.text("string")
.build())
.payload("string")
.playAudio(CxFlowTransitionRouteTriggerFulfillmentMessagePlayAudioArgs.builder()
.audioUri("string")
.allowPlaybackInterruption(false)
.build())
.telephonyTransferCall(CxFlowTransitionRouteTriggerFulfillmentMessageTelephonyTransferCallArgs.builder()
.phoneNumber("string")
.build())
.text(CxFlowTransitionRouteTriggerFulfillmentMessageTextArgs.builder()
.allowPlaybackInterruption(false)
.texts("string")
.build())
.build())
.returnPartialResponses(false)
.setParameterActions(CxFlowTransitionRouteTriggerFulfillmentSetParameterActionArgs.builder()
.parameter("string")
.value("string")
.build())
.tag("string")
.webhook("string")
.build())
.build())
.build());
cx_flow_resource = gcp.diagflow.CxFlow("cxFlowResource",
display_name="string",
advanced_settings={
"audio_export_gcs_destination": {
"uri": "string",
},
"dtmf_settings": {
"enabled": False,
"finish_digit": "string",
"max_digits": 0,
},
"logging_settings": {
"enable_consent_based_redaction": False,
"enable_interaction_logging": False,
"enable_stackdriver_logging": False,
},
"speech_settings": {
"endpointer_sensitivity": 0,
"models": {
"string": "string",
},
"no_speech_timeout": "string",
"use_timeout_based_endpointing": False,
},
},
description="string",
event_handlers=[{
"event": "string",
"name": "string",
"target_flow": "string",
"target_page": "string",
"trigger_fulfillment": {
"conditional_cases": [{
"cases": "string",
}],
"messages": [{
"channel": "string",
"conversation_success": {
"metadata": "string",
},
"live_agent_handoff": {
"metadata": "string",
},
"output_audio_text": {
"allow_playback_interruption": False,
"ssml": "string",
"text": "string",
},
"payload": "string",
"play_audio": {
"audio_uri": "string",
"allow_playback_interruption": False,
},
"telephony_transfer_call": {
"phone_number": "string",
},
"text": {
"allow_playback_interruption": False,
"texts": ["string"],
},
}],
"return_partial_responses": False,
"set_parameter_actions": [{
"parameter": "string",
"value": "string",
}],
"tag": "string",
"webhook": "string",
},
}],
is_default_start_flow=False,
language_code="string",
nlu_settings={
"classification_threshold": 0,
"model_training_mode": "string",
"model_type": "string",
},
parent="string",
transition_route_groups=["string"],
transition_routes=[{
"condition": "string",
"intent": "string",
"name": "string",
"target_flow": "string",
"target_page": "string",
"trigger_fulfillment": {
"conditional_cases": [{
"cases": "string",
}],
"messages": [{
"channel": "string",
"conversation_success": {
"metadata": "string",
},
"live_agent_handoff": {
"metadata": "string",
},
"output_audio_text": {
"allow_playback_interruption": False,
"ssml": "string",
"text": "string",
},
"payload": "string",
"play_audio": {
"audio_uri": "string",
"allow_playback_interruption": False,
},
"telephony_transfer_call": {
"phone_number": "string",
},
"text": {
"allow_playback_interruption": False,
"texts": ["string"],
},
}],
"return_partial_responses": False,
"set_parameter_actions": [{
"parameter": "string",
"value": "string",
}],
"tag": "string",
"webhook": "string",
},
}])
const cxFlowResource = new gcp.diagflow.CxFlow("cxFlowResource", {
displayName: "string",
advancedSettings: {
audioExportGcsDestination: {
uri: "string",
},
dtmfSettings: {
enabled: false,
finishDigit: "string",
maxDigits: 0,
},
loggingSettings: {
enableConsentBasedRedaction: false,
enableInteractionLogging: false,
enableStackdriverLogging: false,
},
speechSettings: {
endpointerSensitivity: 0,
models: {
string: "string",
},
noSpeechTimeout: "string",
useTimeoutBasedEndpointing: false,
},
},
description: "string",
eventHandlers: [{
event: "string",
name: "string",
targetFlow: "string",
targetPage: "string",
triggerFulfillment: {
conditionalCases: [{
cases: "string",
}],
messages: [{
channel: "string",
conversationSuccess: {
metadata: "string",
},
liveAgentHandoff: {
metadata: "string",
},
outputAudioText: {
allowPlaybackInterruption: false,
ssml: "string",
text: "string",
},
payload: "string",
playAudio: {
audioUri: "string",
allowPlaybackInterruption: false,
},
telephonyTransferCall: {
phoneNumber: "string",
},
text: {
allowPlaybackInterruption: false,
texts: ["string"],
},
}],
returnPartialResponses: false,
setParameterActions: [{
parameter: "string",
value: "string",
}],
tag: "string",
webhook: "string",
},
}],
isDefaultStartFlow: false,
languageCode: "string",
nluSettings: {
classificationThreshold: 0,
modelTrainingMode: "string",
modelType: "string",
},
parent: "string",
transitionRouteGroups: ["string"],
transitionRoutes: [{
condition: "string",
intent: "string",
name: "string",
targetFlow: "string",
targetPage: "string",
triggerFulfillment: {
conditionalCases: [{
cases: "string",
}],
messages: [{
channel: "string",
conversationSuccess: {
metadata: "string",
},
liveAgentHandoff: {
metadata: "string",
},
outputAudioText: {
allowPlaybackInterruption: false,
ssml: "string",
text: "string",
},
payload: "string",
playAudio: {
audioUri: "string",
allowPlaybackInterruption: false,
},
telephonyTransferCall: {
phoneNumber: "string",
},
text: {
allowPlaybackInterruption: false,
texts: ["string"],
},
}],
returnPartialResponses: false,
setParameterActions: [{
parameter: "string",
value: "string",
}],
tag: "string",
webhook: "string",
},
}],
});
type: gcp:diagflow:CxFlow
properties:
advancedSettings:
audioExportGcsDestination:
uri: string
dtmfSettings:
enabled: false
finishDigit: string
maxDigits: 0
loggingSettings:
enableConsentBasedRedaction: false
enableInteractionLogging: false
enableStackdriverLogging: false
speechSettings:
endpointerSensitivity: 0
models:
string: string
noSpeechTimeout: string
useTimeoutBasedEndpointing: false
description: string
displayName: string
eventHandlers:
- event: string
name: string
targetFlow: string
targetPage: string
triggerFulfillment:
conditionalCases:
- cases: string
messages:
- channel: string
conversationSuccess:
metadata: string
liveAgentHandoff:
metadata: string
outputAudioText:
allowPlaybackInterruption: false
ssml: string
text: string
payload: string
playAudio:
allowPlaybackInterruption: false
audioUri: string
telephonyTransferCall:
phoneNumber: string
text:
allowPlaybackInterruption: false
texts:
- string
returnPartialResponses: false
setParameterActions:
- parameter: string
value: string
tag: string
webhook: string
isDefaultStartFlow: false
languageCode: string
nluSettings:
classificationThreshold: 0
modelTrainingMode: string
modelType: string
parent: string
transitionRouteGroups:
- string
transitionRoutes:
- condition: string
intent: string
name: string
targetFlow: string
targetPage: string
triggerFulfillment:
conditionalCases:
- cases: string
messages:
- channel: string
conversationSuccess:
metadata: string
liveAgentHandoff:
metadata: string
outputAudioText:
allowPlaybackInterruption: false
ssml: string
text: string
payload: string
playAudio:
allowPlaybackInterruption: false
audioUri: string
telephonyTransferCall:
phoneNumber: string
text:
allowPlaybackInterruption: false
texts:
- string
returnPartialResponses: false
setParameterActions:
- parameter: string
value: string
tag: string
webhook: string
CxFlow Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The CxFlow resource accepts the following input properties:
- Display
Name string - The human-readable name of the flow.
- Advanced
Settings CxFlow Advanced Settings - Hierarchical advanced settings for this flow. The settings exposed at the lower level overrides the settings exposed at the higher level. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. Structure is documented below.
- Description string
- The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.
- Event
Handlers List<CxFlow Event Handler> - A flow's event handlers serve two purposes: They are responsible for handling events (e.g. no match, webhook errors) in the flow. They are inherited by every page's [event handlers][Page.event_handlers], which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow. Unlike transitionRoutes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored. Structure is documented below.
- Is
Default boolStart Flow Marks this as the Default Start Flow for an agent. When you create an agent, the Default Start Flow is created automatically. The Default Start Flow cannot be deleted; deleting the
gcp.diagflow.CxFlow
resource does nothing to the underlying GCP resources.Avoid having multiple
gcp.diagflow.CxFlow
resources linked to the same agent withis_default_start_flow = true
because they will compete to control a single Default Start Flow resource in GCP.- Language
Code string - The language of the following fields in flow: Flow.event_handlers.trigger_fulfillment.messages Flow.event_handlers.trigger_fulfillment.conditional_cases Flow.transition_routes.trigger_fulfillment.messages Flow.transition_routes.trigger_fulfillment.conditional_cases If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.
- Nlu
Settings CxFlow Nlu Settings - NLU related settings of the flow. Structure is documented below.
- Parent string
- The agent to create a flow for. Format: projects//locations//agents/.
- Transition
Route List<string>Groups - A flow's transition route group serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow. Format:projects//locations//agents//flows//transitionRouteGroups/.
- Transition
Routes List<CxFlow Transition Route> - A flow's transition routes serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition routes][Page.transition_routes] and can support use cases such as the user saying "help" or "can I talk to a human?", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow. TransitionRoutes are evalauted in the following order: TransitionRoutes with intent specified. TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow. Structure is documented below.
- Display
Name string - The human-readable name of the flow.
- Advanced
Settings CxFlow Advanced Settings Args - Hierarchical advanced settings for this flow. The settings exposed at the lower level overrides the settings exposed at the higher level. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. Structure is documented below.
- Description string
- The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.
- Event
Handlers []CxFlow Event Handler Args - A flow's event handlers serve two purposes: They are responsible for handling events (e.g. no match, webhook errors) in the flow. They are inherited by every page's [event handlers][Page.event_handlers], which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow. Unlike transitionRoutes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored. Structure is documented below.
- Is
Default boolStart Flow Marks this as the Default Start Flow for an agent. When you create an agent, the Default Start Flow is created automatically. The Default Start Flow cannot be deleted; deleting the
gcp.diagflow.CxFlow
resource does nothing to the underlying GCP resources.Avoid having multiple
gcp.diagflow.CxFlow
resources linked to the same agent withis_default_start_flow = true
because they will compete to control a single Default Start Flow resource in GCP.- Language
Code string - The language of the following fields in flow: Flow.event_handlers.trigger_fulfillment.messages Flow.event_handlers.trigger_fulfillment.conditional_cases Flow.transition_routes.trigger_fulfillment.messages Flow.transition_routes.trigger_fulfillment.conditional_cases If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.
- Nlu
Settings CxFlow Nlu Settings Args - NLU related settings of the flow. Structure is documented below.
- Parent string
- The agent to create a flow for. Format: projects//locations//agents/.
- Transition
Route []stringGroups - A flow's transition route group serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow. Format:projects//locations//agents//flows//transitionRouteGroups/.
- Transition
Routes []CxFlow Transition Route Args - A flow's transition routes serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition routes][Page.transition_routes] and can support use cases such as the user saying "help" or "can I talk to a human?", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow. TransitionRoutes are evalauted in the following order: TransitionRoutes with intent specified. TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow. Structure is documented below.
- display
Name String - The human-readable name of the flow.
- advanced
Settings CxFlow Advanced Settings - Hierarchical advanced settings for this flow. The settings exposed at the lower level overrides the settings exposed at the higher level. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. Structure is documented below.
- description String
- The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.
- event
Handlers List<CxFlow Event Handler> - A flow's event handlers serve two purposes: They are responsible for handling events (e.g. no match, webhook errors) in the flow. They are inherited by every page's [event handlers][Page.event_handlers], which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow. Unlike transitionRoutes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored. Structure is documented below.
- is
Default BooleanStart Flow Marks this as the Default Start Flow for an agent. When you create an agent, the Default Start Flow is created automatically. The Default Start Flow cannot be deleted; deleting the
gcp.diagflow.CxFlow
resource does nothing to the underlying GCP resources.Avoid having multiple
gcp.diagflow.CxFlow
resources linked to the same agent withis_default_start_flow = true
because they will compete to control a single Default Start Flow resource in GCP.- language
Code String - The language of the following fields in flow: Flow.event_handlers.trigger_fulfillment.messages Flow.event_handlers.trigger_fulfillment.conditional_cases Flow.transition_routes.trigger_fulfillment.messages Flow.transition_routes.trigger_fulfillment.conditional_cases If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.
- nlu
Settings CxFlow Nlu Settings - NLU related settings of the flow. Structure is documented below.
- parent String
- The agent to create a flow for. Format: projects//locations//agents/.
- transition
Route List<String>Groups - A flow's transition route group serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow. Format:projects//locations//agents//flows//transitionRouteGroups/.
- transition
Routes List<CxFlow Transition Route> - A flow's transition routes serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition routes][Page.transition_routes] and can support use cases such as the user saying "help" or "can I talk to a human?", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow. TransitionRoutes are evalauted in the following order: TransitionRoutes with intent specified. TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow. Structure is documented below.
- display
Name string - The human-readable name of the flow.
- advanced
Settings CxFlow Advanced Settings - Hierarchical advanced settings for this flow. The settings exposed at the lower level overrides the settings exposed at the higher level. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. Structure is documented below.
- description string
- The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.
- event
Handlers CxFlow Event Handler[] - A flow's event handlers serve two purposes: They are responsible for handling events (e.g. no match, webhook errors) in the flow. They are inherited by every page's [event handlers][Page.event_handlers], which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow. Unlike transitionRoutes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored. Structure is documented below.
- is
Default booleanStart Flow Marks this as the Default Start Flow for an agent. When you create an agent, the Default Start Flow is created automatically. The Default Start Flow cannot be deleted; deleting the
gcp.diagflow.CxFlow
resource does nothing to the underlying GCP resources.Avoid having multiple
gcp.diagflow.CxFlow
resources linked to the same agent withis_default_start_flow = true
because they will compete to control a single Default Start Flow resource in GCP.- language
Code string - The language of the following fields in flow: Flow.event_handlers.trigger_fulfillment.messages Flow.event_handlers.trigger_fulfillment.conditional_cases Flow.transition_routes.trigger_fulfillment.messages Flow.transition_routes.trigger_fulfillment.conditional_cases If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.
- nlu
Settings CxFlow Nlu Settings - NLU related settings of the flow. Structure is documented below.
- parent string
- The agent to create a flow for. Format: projects//locations//agents/.
- transition
Route string[]Groups - A flow's transition route group serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow. Format:projects//locations//agents//flows//transitionRouteGroups/.
- transition
Routes CxFlow Transition Route[] - A flow's transition routes serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition routes][Page.transition_routes] and can support use cases such as the user saying "help" or "can I talk to a human?", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow. TransitionRoutes are evalauted in the following order: TransitionRoutes with intent specified. TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow. Structure is documented below.
- display_
name str - The human-readable name of the flow.
- advanced_
settings CxFlow Advanced Settings Args - Hierarchical advanced settings for this flow. The settings exposed at the lower level overrides the settings exposed at the higher level. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. Structure is documented below.
- description str
- The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.
- event_
handlers Sequence[CxFlow Event Handler Args] - A flow's event handlers serve two purposes: They are responsible for handling events (e.g. no match, webhook errors) in the flow. They are inherited by every page's [event handlers][Page.event_handlers], which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow. Unlike transitionRoutes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored. Structure is documented below.
- is_
default_ boolstart_ flow Marks this as the Default Start Flow for an agent. When you create an agent, the Default Start Flow is created automatically. The Default Start Flow cannot be deleted; deleting the
gcp.diagflow.CxFlow
resource does nothing to the underlying GCP resources.Avoid having multiple
gcp.diagflow.CxFlow
resources linked to the same agent withis_default_start_flow = true
because they will compete to control a single Default Start Flow resource in GCP.- language_
code str - The language of the following fields in flow: Flow.event_handlers.trigger_fulfillment.messages Flow.event_handlers.trigger_fulfillment.conditional_cases Flow.transition_routes.trigger_fulfillment.messages Flow.transition_routes.trigger_fulfillment.conditional_cases If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.
- nlu_
settings CxFlow Nlu Settings Args - NLU related settings of the flow. Structure is documented below.
- parent str
- The agent to create a flow for. Format: projects//locations//agents/.
- transition_
route_ Sequence[str]groups - A flow's transition route group serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow. Format:projects//locations//agents//flows//transitionRouteGroups/.
- transition_
routes Sequence[CxFlow Transition Route Args] - A flow's transition routes serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition routes][Page.transition_routes] and can support use cases such as the user saying "help" or "can I talk to a human?", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow. TransitionRoutes are evalauted in the following order: TransitionRoutes with intent specified. TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow. Structure is documented below.
- display
Name String - The human-readable name of the flow.
- advanced
Settings Property Map - Hierarchical advanced settings for this flow. The settings exposed at the lower level overrides the settings exposed at the higher level. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. Structure is documented below.
- description String
- The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.
- event
Handlers List<Property Map> - A flow's event handlers serve two purposes: They are responsible for handling events (e.g. no match, webhook errors) in the flow. They are inherited by every page's [event handlers][Page.event_handlers], which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow. Unlike transitionRoutes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored. Structure is documented below.
- is
Default BooleanStart Flow Marks this as the Default Start Flow for an agent. When you create an agent, the Default Start Flow is created automatically. The Default Start Flow cannot be deleted; deleting the
gcp.diagflow.CxFlow
resource does nothing to the underlying GCP resources.Avoid having multiple
gcp.diagflow.CxFlow
resources linked to the same agent withis_default_start_flow = true
because they will compete to control a single Default Start Flow resource in GCP.- language
Code String - The language of the following fields in flow: Flow.event_handlers.trigger_fulfillment.messages Flow.event_handlers.trigger_fulfillment.conditional_cases Flow.transition_routes.trigger_fulfillment.messages Flow.transition_routes.trigger_fulfillment.conditional_cases If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.
- nlu
Settings Property Map - NLU related settings of the flow. Structure is documented below.
- parent String
- The agent to create a flow for. Format: projects//locations//agents/.
- transition
Route List<String>Groups - A flow's transition route group serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow. Format:projects//locations//agents//flows//transitionRouteGroups/.
- transition
Routes List<Property Map> - A flow's transition routes serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition routes][Page.transition_routes] and can support use cases such as the user saying "help" or "can I talk to a human?", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow. TransitionRoutes are evalauted in the following order: TransitionRoutes with intent specified. TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow. Structure is documented below.
Outputs
All input properties are implicitly available as output properties. Additionally, the CxFlow resource produces the following output properties:
Look up Existing CxFlow Resource
Get an existing CxFlow resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: CxFlowState, opts?: CustomResourceOptions): CxFlow
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
advanced_settings: Optional[CxFlowAdvancedSettingsArgs] = None,
description: Optional[str] = None,
display_name: Optional[str] = None,
event_handlers: Optional[Sequence[CxFlowEventHandlerArgs]] = None,
is_default_start_flow: Optional[bool] = None,
language_code: Optional[str] = None,
name: Optional[str] = None,
nlu_settings: Optional[CxFlowNluSettingsArgs] = None,
parent: Optional[str] = None,
transition_route_groups: Optional[Sequence[str]] = None,
transition_routes: Optional[Sequence[CxFlowTransitionRouteArgs]] = None) -> CxFlow
func GetCxFlow(ctx *Context, name string, id IDInput, state *CxFlowState, opts ...ResourceOption) (*CxFlow, error)
public static CxFlow Get(string name, Input<string> id, CxFlowState? state, CustomResourceOptions? opts = null)
public static CxFlow get(String name, Output<String> id, CxFlowState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Advanced
Settings CxFlow Advanced Settings - Hierarchical advanced settings for this flow. The settings exposed at the lower level overrides the settings exposed at the higher level. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. Structure is documented below.
- Description string
- The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.
- Display
Name string - The human-readable name of the flow.
- Event
Handlers List<CxFlow Event Handler> - A flow's event handlers serve two purposes: They are responsible for handling events (e.g. no match, webhook errors) in the flow. They are inherited by every page's [event handlers][Page.event_handlers], which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow. Unlike transitionRoutes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored. Structure is documented below.
- Is
Default boolStart Flow Marks this as the Default Start Flow for an agent. When you create an agent, the Default Start Flow is created automatically. The Default Start Flow cannot be deleted; deleting the
gcp.diagflow.CxFlow
resource does nothing to the underlying GCP resources.Avoid having multiple
gcp.diagflow.CxFlow
resources linked to the same agent withis_default_start_flow = true
because they will compete to control a single Default Start Flow resource in GCP.- Language
Code string - The language of the following fields in flow: Flow.event_handlers.trigger_fulfillment.messages Flow.event_handlers.trigger_fulfillment.conditional_cases Flow.transition_routes.trigger_fulfillment.messages Flow.transition_routes.trigger_fulfillment.conditional_cases If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.
- Name string
- The unique identifier of the flow. Format: projects//locations//agents//flows/.
- Nlu
Settings CxFlow Nlu Settings - NLU related settings of the flow. Structure is documented below.
- Parent string
- The agent to create a flow for. Format: projects//locations//agents/.
- Transition
Route List<string>Groups - A flow's transition route group serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow. Format:projects//locations//agents//flows//transitionRouteGroups/.
- Transition
Routes List<CxFlow Transition Route> - A flow's transition routes serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition routes][Page.transition_routes] and can support use cases such as the user saying "help" or "can I talk to a human?", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow. TransitionRoutes are evalauted in the following order: TransitionRoutes with intent specified. TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow. Structure is documented below.
- Advanced
Settings CxFlow Advanced Settings Args - Hierarchical advanced settings for this flow. The settings exposed at the lower level overrides the settings exposed at the higher level. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. Structure is documented below.
- Description string
- The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.
- Display
Name string - The human-readable name of the flow.
- Event
Handlers []CxFlow Event Handler Args - A flow's event handlers serve two purposes: They are responsible for handling events (e.g. no match, webhook errors) in the flow. They are inherited by every page's [event handlers][Page.event_handlers], which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow. Unlike transitionRoutes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored. Structure is documented below.
- Is
Default boolStart Flow Marks this as the Default Start Flow for an agent. When you create an agent, the Default Start Flow is created automatically. The Default Start Flow cannot be deleted; deleting the
gcp.diagflow.CxFlow
resource does nothing to the underlying GCP resources.Avoid having multiple
gcp.diagflow.CxFlow
resources linked to the same agent withis_default_start_flow = true
because they will compete to control a single Default Start Flow resource in GCP.- Language
Code string - The language of the following fields in flow: Flow.event_handlers.trigger_fulfillment.messages Flow.event_handlers.trigger_fulfillment.conditional_cases Flow.transition_routes.trigger_fulfillment.messages Flow.transition_routes.trigger_fulfillment.conditional_cases If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.
- Name string
- The unique identifier of the flow. Format: projects//locations//agents//flows/.
- Nlu
Settings CxFlow Nlu Settings Args - NLU related settings of the flow. Structure is documented below.
- Parent string
- The agent to create a flow for. Format: projects//locations//agents/.
- Transition
Route []stringGroups - A flow's transition route group serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow. Format:projects//locations//agents//flows//transitionRouteGroups/.
- Transition
Routes []CxFlow Transition Route Args - A flow's transition routes serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition routes][Page.transition_routes] and can support use cases such as the user saying "help" or "can I talk to a human?", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow. TransitionRoutes are evalauted in the following order: TransitionRoutes with intent specified. TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow. Structure is documented below.
- advanced
Settings CxFlow Advanced Settings - Hierarchical advanced settings for this flow. The settings exposed at the lower level overrides the settings exposed at the higher level. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. Structure is documented below.
- description String
- The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.
- display
Name String - The human-readable name of the flow.
- event
Handlers List<CxFlow Event Handler> - A flow's event handlers serve two purposes: They are responsible for handling events (e.g. no match, webhook errors) in the flow. They are inherited by every page's [event handlers][Page.event_handlers], which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow. Unlike transitionRoutes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored. Structure is documented below.
- is
Default BooleanStart Flow Marks this as the Default Start Flow for an agent. When you create an agent, the Default Start Flow is created automatically. The Default Start Flow cannot be deleted; deleting the
gcp.diagflow.CxFlow
resource does nothing to the underlying GCP resources.Avoid having multiple
gcp.diagflow.CxFlow
resources linked to the same agent withis_default_start_flow = true
because they will compete to control a single Default Start Flow resource in GCP.- language
Code String - The language of the following fields in flow: Flow.event_handlers.trigger_fulfillment.messages Flow.event_handlers.trigger_fulfillment.conditional_cases Flow.transition_routes.trigger_fulfillment.messages Flow.transition_routes.trigger_fulfillment.conditional_cases If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.
- name String
- The unique identifier of the flow. Format: projects//locations//agents//flows/.
- nlu
Settings CxFlow Nlu Settings - NLU related settings of the flow. Structure is documented below.
- parent String
- The agent to create a flow for. Format: projects//locations//agents/.
- transition
Route List<String>Groups - A flow's transition route group serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow. Format:projects//locations//agents//flows//transitionRouteGroups/.
- transition
Routes List<CxFlow Transition Route> - A flow's transition routes serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition routes][Page.transition_routes] and can support use cases such as the user saying "help" or "can I talk to a human?", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow. TransitionRoutes are evalauted in the following order: TransitionRoutes with intent specified. TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow. Structure is documented below.
- advanced
Settings CxFlow Advanced Settings - Hierarchical advanced settings for this flow. The settings exposed at the lower level overrides the settings exposed at the higher level. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. Structure is documented below.
- description string
- The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.
- display
Name string - The human-readable name of the flow.
- event
Handlers CxFlow Event Handler[] - A flow's event handlers serve two purposes: They are responsible for handling events (e.g. no match, webhook errors) in the flow. They are inherited by every page's [event handlers][Page.event_handlers], which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow. Unlike transitionRoutes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored. Structure is documented below.
- is
Default booleanStart Flow Marks this as the Default Start Flow for an agent. When you create an agent, the Default Start Flow is created automatically. The Default Start Flow cannot be deleted; deleting the
gcp.diagflow.CxFlow
resource does nothing to the underlying GCP resources.Avoid having multiple
gcp.diagflow.CxFlow
resources linked to the same agent withis_default_start_flow = true
because they will compete to control a single Default Start Flow resource in GCP.- language
Code string - The language of the following fields in flow: Flow.event_handlers.trigger_fulfillment.messages Flow.event_handlers.trigger_fulfillment.conditional_cases Flow.transition_routes.trigger_fulfillment.messages Flow.transition_routes.trigger_fulfillment.conditional_cases If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.
- name string
- The unique identifier of the flow. Format: projects//locations//agents//flows/.
- nlu
Settings CxFlow Nlu Settings - NLU related settings of the flow. Structure is documented below.
- parent string
- The agent to create a flow for. Format: projects//locations//agents/.
- transition
Route string[]Groups - A flow's transition route group serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow. Format:projects//locations//agents//flows//transitionRouteGroups/.
- transition
Routes CxFlow Transition Route[] - A flow's transition routes serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition routes][Page.transition_routes] and can support use cases such as the user saying "help" or "can I talk to a human?", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow. TransitionRoutes are evalauted in the following order: TransitionRoutes with intent specified. TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow. Structure is documented below.
- advanced_
settings CxFlow Advanced Settings Args - Hierarchical advanced settings for this flow. The settings exposed at the lower level overrides the settings exposed at the higher level. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. Structure is documented below.
- description str
- The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.
- display_
name str - The human-readable name of the flow.
- event_
handlers Sequence[CxFlow Event Handler Args] - A flow's event handlers serve two purposes: They are responsible for handling events (e.g. no match, webhook errors) in the flow. They are inherited by every page's [event handlers][Page.event_handlers], which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow. Unlike transitionRoutes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored. Structure is documented below.
- is_
default_ boolstart_ flow Marks this as the Default Start Flow for an agent. When you create an agent, the Default Start Flow is created automatically. The Default Start Flow cannot be deleted; deleting the
gcp.diagflow.CxFlow
resource does nothing to the underlying GCP resources.Avoid having multiple
gcp.diagflow.CxFlow
resources linked to the same agent withis_default_start_flow = true
because they will compete to control a single Default Start Flow resource in GCP.- language_
code str - The language of the following fields in flow: Flow.event_handlers.trigger_fulfillment.messages Flow.event_handlers.trigger_fulfillment.conditional_cases Flow.transition_routes.trigger_fulfillment.messages Flow.transition_routes.trigger_fulfillment.conditional_cases If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.
- name str
- The unique identifier of the flow. Format: projects//locations//agents//flows/.
- nlu_
settings CxFlow Nlu Settings Args - NLU related settings of the flow. Structure is documented below.
- parent str
- The agent to create a flow for. Format: projects//locations//agents/.
- transition_
route_ Sequence[str]groups - A flow's transition route group serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow. Format:projects//locations//agents//flows//transitionRouteGroups/.
- transition_
routes Sequence[CxFlow Transition Route Args] - A flow's transition routes serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition routes][Page.transition_routes] and can support use cases such as the user saying "help" or "can I talk to a human?", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow. TransitionRoutes are evalauted in the following order: TransitionRoutes with intent specified. TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow. Structure is documented below.
- advanced
Settings Property Map - Hierarchical advanced settings for this flow. The settings exposed at the lower level overrides the settings exposed at the higher level. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. Structure is documented below.
- description String
- The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.
- display
Name String - The human-readable name of the flow.
- event
Handlers List<Property Map> - A flow's event handlers serve two purposes: They are responsible for handling events (e.g. no match, webhook errors) in the flow. They are inherited by every page's [event handlers][Page.event_handlers], which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow. Unlike transitionRoutes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored. Structure is documented below.
- is
Default BooleanStart Flow Marks this as the Default Start Flow for an agent. When you create an agent, the Default Start Flow is created automatically. The Default Start Flow cannot be deleted; deleting the
gcp.diagflow.CxFlow
resource does nothing to the underlying GCP resources.Avoid having multiple
gcp.diagflow.CxFlow
resources linked to the same agent withis_default_start_flow = true
because they will compete to control a single Default Start Flow resource in GCP.- language
Code String - The language of the following fields in flow: Flow.event_handlers.trigger_fulfillment.messages Flow.event_handlers.trigger_fulfillment.conditional_cases Flow.transition_routes.trigger_fulfillment.messages Flow.transition_routes.trigger_fulfillment.conditional_cases If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.
- name String
- The unique identifier of the flow. Format: projects//locations//agents//flows/.
- nlu
Settings Property Map - NLU related settings of the flow. Structure is documented below.
- parent String
- The agent to create a flow for. Format: projects//locations//agents/.
- transition
Route List<String>Groups - A flow's transition route group serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow. Format:projects//locations//agents//flows//transitionRouteGroups/.
- transition
Routes List<Property Map> - A flow's transition routes serve two purposes: They are responsible for matching the user's first utterances in the flow. They are inherited by every page's [transition routes][Page.transition_routes] and can support use cases such as the user saying "help" or "can I talk to a human?", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow. TransitionRoutes are evalauted in the following order: TransitionRoutes with intent specified. TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow. Structure is documented below.
Supporting Types
CxFlowAdvancedSettings, CxFlowAdvancedSettingsArgs
- Audio
Export CxGcs Destination Flow Advanced Settings Audio Export Gcs Destination - If present, incoming audio is exported by Dialogflow to the configured Google Cloud Storage destination. Exposed at the following levels:
- Agent level
- Flow level Structure is documented below.
- Dtmf
Settings CxFlow Advanced Settings Dtmf Settings - Define behaviors for DTMF (dual tone multi frequency). DTMF settings does not override each other. DTMF settings set at different levels define DTMF detections running in parallel. Exposed at the following levels:
- Agent level
- Flow level
- Page level
- Parameter level Structure is documented below.
- Logging
Settings CxFlow Advanced Settings Logging Settings - Settings for logging. Settings for Dialogflow History, Contact Center messages, StackDriver logs, and speech logging. Exposed at the following levels:
- Agent level Structure is documented below.
- Speech
Settings CxFlow Advanced Settings Speech Settings - Settings for speech to text detection. Exposed at the following levels:
- Agent level
- Flow level
- Page level
- Parameter level Structure is documented below.
- Audio
Export CxGcs Destination Flow Advanced Settings Audio Export Gcs Destination - If present, incoming audio is exported by Dialogflow to the configured Google Cloud Storage destination. Exposed at the following levels:
- Agent level
- Flow level Structure is documented below.
- Dtmf
Settings CxFlow Advanced Settings Dtmf Settings - Define behaviors for DTMF (dual tone multi frequency). DTMF settings does not override each other. DTMF settings set at different levels define DTMF detections running in parallel. Exposed at the following levels:
- Agent level
- Flow level
- Page level
- Parameter level Structure is documented below.
- Logging
Settings CxFlow Advanced Settings Logging Settings - Settings for logging. Settings for Dialogflow History, Contact Center messages, StackDriver logs, and speech logging. Exposed at the following levels:
- Agent level Structure is documented below.
- Speech
Settings CxFlow Advanced Settings Speech Settings - Settings for speech to text detection. Exposed at the following levels:
- Agent level
- Flow level
- Page level
- Parameter level Structure is documented below.
- audio
Export CxGcs Destination Flow Advanced Settings Audio Export Gcs Destination - If present, incoming audio is exported by Dialogflow to the configured Google Cloud Storage destination. Exposed at the following levels:
- Agent level
- Flow level Structure is documented below.
- dtmf
Settings CxFlow Advanced Settings Dtmf Settings - Define behaviors for DTMF (dual tone multi frequency). DTMF settings does not override each other. DTMF settings set at different levels define DTMF detections running in parallel. Exposed at the following levels:
- Agent level
- Flow level
- Page level
- Parameter level Structure is documented below.
- logging
Settings CxFlow Advanced Settings Logging Settings - Settings for logging. Settings for Dialogflow History, Contact Center messages, StackDriver logs, and speech logging. Exposed at the following levels:
- Agent level Structure is documented below.
- speech
Settings CxFlow Advanced Settings Speech Settings - Settings for speech to text detection. Exposed at the following levels:
- Agent level
- Flow level
- Page level
- Parameter level Structure is documented below.
- audio
Export CxGcs Destination Flow Advanced Settings Audio Export Gcs Destination - If present, incoming audio is exported by Dialogflow to the configured Google Cloud Storage destination. Exposed at the following levels:
- Agent level
- Flow level Structure is documented below.
- dtmf
Settings CxFlow Advanced Settings Dtmf Settings - Define behaviors for DTMF (dual tone multi frequency). DTMF settings does not override each other. DTMF settings set at different levels define DTMF detections running in parallel. Exposed at the following levels:
- Agent level
- Flow level
- Page level
- Parameter level Structure is documented below.
- logging
Settings CxFlow Advanced Settings Logging Settings - Settings for logging. Settings for Dialogflow History, Contact Center messages, StackDriver logs, and speech logging. Exposed at the following levels:
- Agent level Structure is documented below.
- speech
Settings CxFlow Advanced Settings Speech Settings - Settings for speech to text detection. Exposed at the following levels:
- Agent level
- Flow level
- Page level
- Parameter level Structure is documented below.
- audio_
export_ Cxgcs_ destination Flow Advanced Settings Audio Export Gcs Destination - If present, incoming audio is exported by Dialogflow to the configured Google Cloud Storage destination. Exposed at the following levels:
- Agent level
- Flow level Structure is documented below.
- dtmf_
settings CxFlow Advanced Settings Dtmf Settings - Define behaviors for DTMF (dual tone multi frequency). DTMF settings does not override each other. DTMF settings set at different levels define DTMF detections running in parallel. Exposed at the following levels:
- Agent level
- Flow level
- Page level
- Parameter level Structure is documented below.
- logging_
settings CxFlow Advanced Settings Logging Settings - Settings for logging. Settings for Dialogflow History, Contact Center messages, StackDriver logs, and speech logging. Exposed at the following levels:
- Agent level Structure is documented below.
- speech_
settings CxFlow Advanced Settings Speech Settings - Settings for speech to text detection. Exposed at the following levels:
- Agent level
- Flow level
- Page level
- Parameter level Structure is documented below.
- audio
Export Property MapGcs Destination - If present, incoming audio is exported by Dialogflow to the configured Google Cloud Storage destination. Exposed at the following levels:
- Agent level
- Flow level Structure is documented below.
- dtmf
Settings Property Map - Define behaviors for DTMF (dual tone multi frequency). DTMF settings does not override each other. DTMF settings set at different levels define DTMF detections running in parallel. Exposed at the following levels:
- Agent level
- Flow level
- Page level
- Parameter level Structure is documented below.
- logging
Settings Property Map - Settings for logging. Settings for Dialogflow History, Contact Center messages, StackDriver logs, and speech logging. Exposed at the following levels:
- Agent level Structure is documented below.
- speech
Settings Property Map - Settings for speech to text detection. Exposed at the following levels:
- Agent level
- Flow level
- Page level
- Parameter level Structure is documented below.
CxFlowAdvancedSettingsAudioExportGcsDestination, CxFlowAdvancedSettingsAudioExportGcsDestinationArgs
- Uri string
- The Google Cloud Storage URI for the exported objects. Whether a full object name, or just a prefix, its usage depends on the Dialogflow operation. Format: gs://bucket/object-name-or-prefix
- Uri string
- The Google Cloud Storage URI for the exported objects. Whether a full object name, or just a prefix, its usage depends on the Dialogflow operation. Format: gs://bucket/object-name-or-prefix
- uri String
- The Google Cloud Storage URI for the exported objects. Whether a full object name, or just a prefix, its usage depends on the Dialogflow operation. Format: gs://bucket/object-name-or-prefix
- uri string
- The Google Cloud Storage URI for the exported objects. Whether a full object name, or just a prefix, its usage depends on the Dialogflow operation. Format: gs://bucket/object-name-or-prefix
- uri str
- The Google Cloud Storage URI for the exported objects. Whether a full object name, or just a prefix, its usage depends on the Dialogflow operation. Format: gs://bucket/object-name-or-prefix
- uri String
- The Google Cloud Storage URI for the exported objects. Whether a full object name, or just a prefix, its usage depends on the Dialogflow operation. Format: gs://bucket/object-name-or-prefix
CxFlowAdvancedSettingsDtmfSettings, CxFlowAdvancedSettingsDtmfSettingsArgs
- Enabled bool
- If true, incoming audio is processed for DTMF (dual tone multi frequency) events. For example, if the caller presses a button on their telephone keypad and DTMF processing is enabled, Dialogflow will detect the event (e.g. a "3" was pressed) in the incoming audio and pass the event to the bot to drive business logic (e.g. when 3 is pressed, return the account balance).
- Finish
Digit string - The digit that terminates a DTMF digit sequence.
- Max
Digits int - Max length of DTMF digits.
- Enabled bool
- If true, incoming audio is processed for DTMF (dual tone multi frequency) events. For example, if the caller presses a button on their telephone keypad and DTMF processing is enabled, Dialogflow will detect the event (e.g. a "3" was pressed) in the incoming audio and pass the event to the bot to drive business logic (e.g. when 3 is pressed, return the account balance).
- Finish
Digit string - The digit that terminates a DTMF digit sequence.
- Max
Digits int - Max length of DTMF digits.
- enabled Boolean
- If true, incoming audio is processed for DTMF (dual tone multi frequency) events. For example, if the caller presses a button on their telephone keypad and DTMF processing is enabled, Dialogflow will detect the event (e.g. a "3" was pressed) in the incoming audio and pass the event to the bot to drive business logic (e.g. when 3 is pressed, return the account balance).
- finish
Digit String - The digit that terminates a DTMF digit sequence.
- max
Digits Integer - Max length of DTMF digits.
- enabled boolean
- If true, incoming audio is processed for DTMF (dual tone multi frequency) events. For example, if the caller presses a button on their telephone keypad and DTMF processing is enabled, Dialogflow will detect the event (e.g. a "3" was pressed) in the incoming audio and pass the event to the bot to drive business logic (e.g. when 3 is pressed, return the account balance).
- finish
Digit string - The digit that terminates a DTMF digit sequence.
- max
Digits number - Max length of DTMF digits.
- enabled bool
- If true, incoming audio is processed for DTMF (dual tone multi frequency) events. For example, if the caller presses a button on their telephone keypad and DTMF processing is enabled, Dialogflow will detect the event (e.g. a "3" was pressed) in the incoming audio and pass the event to the bot to drive business logic (e.g. when 3 is pressed, return the account balance).
- finish_
digit str - The digit that terminates a DTMF digit sequence.
- max_
digits int - Max length of DTMF digits.
- enabled Boolean
- If true, incoming audio is processed for DTMF (dual tone multi frequency) events. For example, if the caller presses a button on their telephone keypad and DTMF processing is enabled, Dialogflow will detect the event (e.g. a "3" was pressed) in the incoming audio and pass the event to the bot to drive business logic (e.g. when 3 is pressed, return the account balance).
- finish
Digit String - The digit that terminates a DTMF digit sequence.
- max
Digits Number - Max length of DTMF digits.
CxFlowAdvancedSettingsLoggingSettings, CxFlowAdvancedSettingsLoggingSettingsArgs
- Enable
Consent boolBased Redaction - Enables consent-based end-user input redaction, if true, a pre-defined session parameter $session.params.conversation-redaction will be used to determine if the utterance should be redacted.
- Enable
Interaction boolLogging - Enables DF Interaction logging.
- Enable
Stackdriver boolLogging - Enables Google Cloud Logging.
- Enable
Consent boolBased Redaction - Enables consent-based end-user input redaction, if true, a pre-defined session parameter $session.params.conversation-redaction will be used to determine if the utterance should be redacted.
- Enable
Interaction boolLogging - Enables DF Interaction logging.
- Enable
Stackdriver boolLogging - Enables Google Cloud Logging.
- enable
Consent BooleanBased Redaction - Enables consent-based end-user input redaction, if true, a pre-defined session parameter $session.params.conversation-redaction will be used to determine if the utterance should be redacted.
- enable
Interaction BooleanLogging - Enables DF Interaction logging.
- enable
Stackdriver BooleanLogging - Enables Google Cloud Logging.
- enable
Consent booleanBased Redaction - Enables consent-based end-user input redaction, if true, a pre-defined session parameter $session.params.conversation-redaction will be used to determine if the utterance should be redacted.
- enable
Interaction booleanLogging - Enables DF Interaction logging.
- enable
Stackdriver booleanLogging - Enables Google Cloud Logging.
- enable_
consent_ boolbased_ redaction - Enables consent-based end-user input redaction, if true, a pre-defined session parameter $session.params.conversation-redaction will be used to determine if the utterance should be redacted.
- enable_
interaction_ boollogging - Enables DF Interaction logging.
- enable_
stackdriver_ boollogging - Enables Google Cloud Logging.
- enable
Consent BooleanBased Redaction - Enables consent-based end-user input redaction, if true, a pre-defined session parameter $session.params.conversation-redaction will be used to determine if the utterance should be redacted.
- enable
Interaction BooleanLogging - Enables DF Interaction logging.
- enable
Stackdriver BooleanLogging - Enables Google Cloud Logging.
CxFlowAdvancedSettingsSpeechSettings, CxFlowAdvancedSettingsSpeechSettingsArgs
- Endpointer
Sensitivity int - Sensitivity of the speech model that detects the end of speech. Scale from 0 to 100.
- Models Dictionary<string, string>
- Mapping from language to Speech-to-Text model. The mapped Speech-to-Text model will be selected for requests from its corresponding language. For more information, see Speech models. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
- No
Speech stringTimeout - Timeout before detecting no speech. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
- Use
Timeout boolBased Endpointing - Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.
- Endpointer
Sensitivity int - Sensitivity of the speech model that detects the end of speech. Scale from 0 to 100.
- Models map[string]string
- Mapping from language to Speech-to-Text model. The mapped Speech-to-Text model will be selected for requests from its corresponding language. For more information, see Speech models. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
- No
Speech stringTimeout - Timeout before detecting no speech. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
- Use
Timeout boolBased Endpointing - Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.
- endpointer
Sensitivity Integer - Sensitivity of the speech model that detects the end of speech. Scale from 0 to 100.
- models Map<String,String>
- Mapping from language to Speech-to-Text model. The mapped Speech-to-Text model will be selected for requests from its corresponding language. For more information, see Speech models. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
- no
Speech StringTimeout - Timeout before detecting no speech. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
- use
Timeout BooleanBased Endpointing - Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.
- endpointer
Sensitivity number - Sensitivity of the speech model that detects the end of speech. Scale from 0 to 100.
- models {[key: string]: string}
- Mapping from language to Speech-to-Text model. The mapped Speech-to-Text model will be selected for requests from its corresponding language. For more information, see Speech models. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
- no
Speech stringTimeout - Timeout before detecting no speech. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
- use
Timeout booleanBased Endpointing - Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.
- endpointer_
sensitivity int - Sensitivity of the speech model that detects the end of speech. Scale from 0 to 100.
- models Mapping[str, str]
- Mapping from language to Speech-to-Text model. The mapped Speech-to-Text model will be selected for requests from its corresponding language. For more information, see Speech models. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
- no_
speech_ strtimeout - Timeout before detecting no speech. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
- use_
timeout_ boolbased_ endpointing - Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.
- endpointer
Sensitivity Number - Sensitivity of the speech model that detects the end of speech. Scale from 0 to 100.
- models Map<String>
- Mapping from language to Speech-to-Text model. The mapped Speech-to-Text model will be selected for requests from its corresponding language. For more information, see Speech models. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
- no
Speech StringTimeout - Timeout before detecting no speech. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
- use
Timeout BooleanBased Endpointing - Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.
CxFlowEventHandler, CxFlowEventHandlerArgs
- Event string
- The name of the event to handle.
- Name string
- (Output) The unique identifier of this event handler.
- Target
Flow string - The target flow to transition to. Format: projects//locations//agents//flows/.
- Target
Page string - The target page to transition to. Format: projects//locations//agents//flows//pages/.
- Trigger
Fulfillment CxFlow Event Handler Trigger Fulfillment - The fulfillment to call when the event occurs. Handling webhook errors with a fulfillment enabled with webhook could cause infinite loop. It is invalid to specify such fulfillment for a handler handling webhooks. Structure is documented below.
- Event string
- The name of the event to handle.
- Name string
- (Output) The unique identifier of this event handler.
- Target
Flow string - The target flow to transition to. Format: projects//locations//agents//flows/.
- Target
Page string - The target page to transition to. Format: projects//locations//agents//flows//pages/.
- Trigger
Fulfillment CxFlow Event Handler Trigger Fulfillment - The fulfillment to call when the event occurs. Handling webhook errors with a fulfillment enabled with webhook could cause infinite loop. It is invalid to specify such fulfillment for a handler handling webhooks. Structure is documented below.
- event String
- The name of the event to handle.
- name String
- (Output) The unique identifier of this event handler.
- target
Flow String - The target flow to transition to. Format: projects//locations//agents//flows/.
- target
Page String - The target page to transition to. Format: projects//locations//agents//flows//pages/.
- trigger
Fulfillment CxFlow Event Handler Trigger Fulfillment - The fulfillment to call when the event occurs. Handling webhook errors with a fulfillment enabled with webhook could cause infinite loop. It is invalid to specify such fulfillment for a handler handling webhooks. Structure is documented below.
- event string
- The name of the event to handle.
- name string
- (Output) The unique identifier of this event handler.
- target
Flow string - The target flow to transition to. Format: projects//locations//agents//flows/.
- target
Page string - The target page to transition to. Format: projects//locations//agents//flows//pages/.
- trigger
Fulfillment CxFlow Event Handler Trigger Fulfillment - The fulfillment to call when the event occurs. Handling webhook errors with a fulfillment enabled with webhook could cause infinite loop. It is invalid to specify such fulfillment for a handler handling webhooks. Structure is documented below.
- event str
- The name of the event to handle.
- name str
- (Output) The unique identifier of this event handler.
- target_
flow str - The target flow to transition to. Format: projects//locations//agents//flows/.
- target_
page str - The target page to transition to. Format: projects//locations//agents//flows//pages/.
- trigger_
fulfillment CxFlow Event Handler Trigger Fulfillment - The fulfillment to call when the event occurs. Handling webhook errors with a fulfillment enabled with webhook could cause infinite loop. It is invalid to specify such fulfillment for a handler handling webhooks. Structure is documented below.
- event String
- The name of the event to handle.
- name String
- (Output) The unique identifier of this event handler.
- target
Flow String - The target flow to transition to. Format: projects//locations//agents//flows/.
- target
Page String - The target page to transition to. Format: projects//locations//agents//flows//pages/.
- trigger
Fulfillment Property Map - The fulfillment to call when the event occurs. Handling webhook errors with a fulfillment enabled with webhook could cause infinite loop. It is invalid to specify such fulfillment for a handler handling webhooks. Structure is documented below.
CxFlowEventHandlerTriggerFulfillment, CxFlowEventHandlerTriggerFulfillmentArgs
- Conditional
Cases List<CxFlow Event Handler Trigger Fulfillment Conditional Case> - Conditional cases for this fulfillment. Structure is documented below.
- Messages
List<Cx
Flow Event Handler Trigger Fulfillment Message> - The list of rich message responses to present to the user. Structure is documented below.
- Return
Partial boolResponses - 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.
- Set
Parameter List<CxActions Flow Event Handler Trigger Fulfillment Set Parameter Action> - Set parameter values before executing the webhook. Structure is documented below.
- Tag string
- The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.
- Webhook string
- The webhook to call. Format: projects//locations//agents//webhooks/.
- Conditional
Cases []CxFlow Event Handler Trigger Fulfillment Conditional Case - Conditional cases for this fulfillment. Structure is documented below.
- Messages
[]Cx
Flow Event Handler Trigger Fulfillment Message - The list of rich message responses to present to the user. Structure is documented below.
- Return
Partial boolResponses - 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.
- Set
Parameter []CxActions Flow Event Handler Trigger Fulfillment Set Parameter Action - Set parameter values before executing the webhook. Structure is documented below.
- Tag string
- The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.
- Webhook string
- The webhook to call. Format: projects//locations//agents//webhooks/.
- conditional
Cases List<CxFlow Event Handler Trigger Fulfillment Conditional Case> - Conditional cases for this fulfillment. Structure is documented below.
- messages
List<Cx
Flow Event Handler Trigger Fulfillment Message> - The list of rich message responses to present to the user. Structure is documented below.
- return
Partial BooleanResponses - 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.
- set
Parameter List<CxActions Flow Event Handler Trigger Fulfillment Set Parameter Action> - Set parameter values before executing the webhook. Structure is documented below.
- tag String
- The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.
- webhook String
- The webhook to call. Format: projects//locations//agents//webhooks/.
- conditional
Cases CxFlow Event Handler Trigger Fulfillment Conditional Case[] - Conditional cases for this fulfillment. Structure is documented below.
- messages
Cx
Flow Event Handler Trigger Fulfillment Message[] - The list of rich message responses to present to the user. Structure is documented below.
- return
Partial booleanResponses - 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.
- set
Parameter CxActions Flow Event Handler Trigger Fulfillment Set Parameter Action[] - Set parameter values before executing the webhook. Structure is documented below.
- tag string
- The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.
- webhook string
- The webhook to call. Format: projects//locations//agents//webhooks/.
- conditional_
cases Sequence[CxFlow Event Handler Trigger Fulfillment Conditional Case] - Conditional cases for this fulfillment. Structure is documented below.
- messages
Sequence[Cx
Flow Event Handler Trigger Fulfillment Message] - The list of rich message responses to present to the user. Structure is documented below.
- return_
partial_ boolresponses - 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.
- set_
parameter_ Sequence[Cxactions Flow Event Handler Trigger Fulfillment Set Parameter Action] - Set parameter values before executing the webhook. Structure is documented below.
- tag str
- The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.
- webhook str
- The webhook to call. Format: projects//locations//agents//webhooks/.
- conditional
Cases List<Property Map> - Conditional cases for this fulfillment. Structure is documented below.
- messages List<Property Map>
- The list of rich message responses to present to the user. Structure is documented below.
- return
Partial BooleanResponses - 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.
- set
Parameter List<Property Map>Actions - Set parameter values before executing the webhook. Structure is documented below.
- tag String
- The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.
- webhook String
- The webhook to call. Format: projects//locations//agents//webhooks/.
CxFlowEventHandlerTriggerFulfillmentConditionalCase, CxFlowEventHandlerTriggerFulfillmentConditionalCaseArgs
CxFlowEventHandlerTriggerFulfillmentMessage, CxFlowEventHandlerTriggerFulfillmentMessageArgs
- Channel string
- The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.
- Conversation
Success CxFlow Event Handler Trigger Fulfillment Message Conversation Success - Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.
Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.
- In a webhook response when you determine that you handled the customer issue. Structure is documented below.
- Live
Agent CxHandoff Flow Event Handler Trigger Fulfillment Message Live Agent Handoff - Indicates that the conversation should be handed off to a live agent.
Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.
- In a webhook response when you determine that the customer issue can only be handled by a human. Structure is documented below.
- Output
Audio CxText Flow Event Handler Trigger Fulfillment Message Output Audio Text - A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. Structure is documented below.
- Payload string
- A custom, platform-specific payload.
- Play
Audio CxFlow Event Handler Trigger Fulfillment Message Play Audio - Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- Telephony
Transfer CxCall Flow Event Handler Trigger Fulfillment Message Telephony Transfer Call - Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint. Structure is documented below.
- Text
Cx
Flow Event Handler Trigger Fulfillment Message Text - The text response message. Structure is documented below.
- Channel string
- The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.
- Conversation
Success CxFlow Event Handler Trigger Fulfillment Message Conversation Success - Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.
Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.
- In a webhook response when you determine that you handled the customer issue. Structure is documented below.
- Live
Agent CxHandoff Flow Event Handler Trigger Fulfillment Message Live Agent Handoff - Indicates that the conversation should be handed off to a live agent.
Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.
- In a webhook response when you determine that the customer issue can only be handled by a human. Structure is documented below.
- Output
Audio CxText Flow Event Handler Trigger Fulfillment Message Output Audio Text - A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. Structure is documented below.
- Payload string
- A custom, platform-specific payload.
- Play
Audio CxFlow Event Handler Trigger Fulfillment Message Play Audio - Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- Telephony
Transfer CxCall Flow Event Handler Trigger Fulfillment Message Telephony Transfer Call - Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint. Structure is documented below.
- Text
Cx
Flow Event Handler Trigger Fulfillment Message Text - The text response message. Structure is documented below.
- channel String
- The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.
- conversation
Success CxFlow Event Handler Trigger Fulfillment Message Conversation Success - Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.
Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.
- In a webhook response when you determine that you handled the customer issue. Structure is documented below.
- live
Agent CxHandoff Flow Event Handler Trigger Fulfillment Message Live Agent Handoff - Indicates that the conversation should be handed off to a live agent.
Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.
- In a webhook response when you determine that the customer issue can only be handled by a human. Structure is documented below.
- output
Audio CxText Flow Event Handler Trigger Fulfillment Message Output Audio Text - A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. Structure is documented below.
- payload String
- A custom, platform-specific payload.
- play
Audio CxFlow Event Handler Trigger Fulfillment Message Play Audio - Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephony
Transfer CxCall Flow Event Handler Trigger Fulfillment Message Telephony Transfer Call - Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint. Structure is documented below.
- text
Cx
Flow Event Handler Trigger Fulfillment Message Text - The text response message. Structure is documented below.
- channel string
- The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.
- conversation
Success CxFlow Event Handler Trigger Fulfillment Message Conversation Success - Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.
Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.
- In a webhook response when you determine that you handled the customer issue. Structure is documented below.
- live
Agent CxHandoff Flow Event Handler Trigger Fulfillment Message Live Agent Handoff - Indicates that the conversation should be handed off to a live agent.
Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.
- In a webhook response when you determine that the customer issue can only be handled by a human. Structure is documented below.
- output
Audio CxText Flow Event Handler Trigger Fulfillment Message Output Audio Text - A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. Structure is documented below.
- payload string
- A custom, platform-specific payload.
- play
Audio CxFlow Event Handler Trigger Fulfillment Message Play Audio - Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephony
Transfer CxCall Flow Event Handler Trigger Fulfillment Message Telephony Transfer Call - Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint. Structure is documented below.
- text
Cx
Flow Event Handler Trigger Fulfillment Message Text - The text response message. Structure is documented below.
- channel str
- The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.
- conversation_
success CxFlow Event Handler Trigger Fulfillment Message Conversation Success - Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.
Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.
- In a webhook response when you determine that you handled the customer issue. Structure is documented below.
- live_
agent_ Cxhandoff Flow Event Handler Trigger Fulfillment Message Live Agent Handoff - Indicates that the conversation should be handed off to a live agent.
Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.
- In a webhook response when you determine that the customer issue can only be handled by a human. Structure is documented below.
- output_
audio_ Cxtext Flow Event Handler Trigger Fulfillment Message Output Audio Text - A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. Structure is documented below.
- payload str
- A custom, platform-specific payload.
- play_
audio CxFlow Event Handler Trigger Fulfillment Message Play Audio - Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephony_
transfer_ Cxcall Flow Event Handler Trigger Fulfillment Message Telephony Transfer Call - Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint. Structure is documented below.
- text
Cx
Flow Event Handler Trigger Fulfillment Message Text - The text response message. Structure is documented below.
- channel String
- The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.
- conversation
Success Property Map - Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.
Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.
- In a webhook response when you determine that you handled the customer issue. Structure is documented below.
- live
Agent Property MapHandoff - Indicates that the conversation should be handed off to a live agent.
Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.
- In a webhook response when you determine that the customer issue can only be handled by a human. Structure is documented below.
- output
Audio Property MapText - A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. Structure is documented below.
- payload String
- A custom, platform-specific payload.
- play
Audio Property Map - Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephony
Transfer Property MapCall - Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint. Structure is documented below.
- text Property Map
- The text response message. Structure is documented below.
CxFlowEventHandlerTriggerFulfillmentMessageConversationSuccess, CxFlowEventHandlerTriggerFulfillmentMessageConversationSuccessArgs
- Metadata string
- Custom metadata. Dialogflow doesn't impose any structure on this.
- Metadata string
- Custom metadata. Dialogflow doesn't impose any structure on this.
- metadata String
- Custom metadata. Dialogflow doesn't impose any structure on this.
- metadata string
- Custom metadata. Dialogflow doesn't impose any structure on this.
- metadata str
- Custom metadata. Dialogflow doesn't impose any structure on this.
- metadata String
- Custom metadata. Dialogflow doesn't impose any structure on this.
CxFlowEventHandlerTriggerFulfillmentMessageLiveAgentHandoff, CxFlowEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs
- Metadata string
- Custom metadata. Dialogflow doesn't impose any structure on this.
- Metadata string
- Custom metadata. Dialogflow doesn't impose any structure on this.
- metadata String
- Custom metadata. Dialogflow doesn't impose any structure on this.
- metadata string
- Custom metadata. Dialogflow doesn't impose any structure on this.
- metadata str
- Custom metadata. Dialogflow doesn't impose any structure on this.
- metadata String
- Custom metadata. Dialogflow doesn't impose any structure on this.
CxFlowEventHandlerTriggerFulfillmentMessageOutputAudioText, CxFlowEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs
- Allow
Playback boolInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- Ssml string
- The SSML text to be synthesized. For more information, see SSML.
- Text string
- The raw text to be synthesized.
- Allow
Playback boolInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- Ssml string
- The SSML text to be synthesized. For more information, see SSML.
- Text string
- The raw text to be synthesized.
- allow
Playback BooleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- ssml String
- The SSML text to be synthesized. For more information, see SSML.
- text String
- The raw text to be synthesized.
- allow
Playback booleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- ssml string
- The SSML text to be synthesized. For more information, see SSML.
- text string
- The raw text to be synthesized.
- allow_
playback_ boolinterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- ssml str
- The SSML text to be synthesized. For more information, see SSML.
- text str
- The raw text to be synthesized.
- allow
Playback BooleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- ssml String
- The SSML text to be synthesized. For more information, see SSML.
- text String
- The raw text to be synthesized.
CxFlowEventHandlerTriggerFulfillmentMessagePlayAudio, CxFlowEventHandlerTriggerFulfillmentMessagePlayAudioArgs
- Audio
Uri string - URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- Allow
Playback boolInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- Audio
Uri string - URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- Allow
Playback boolInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- audio
Uri String - URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allow
Playback BooleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- audio
Uri string - URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allow
Playback booleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- audio_
uri str - URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allow_
playback_ boolinterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- audio
Uri String - URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allow
Playback BooleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
CxFlowEventHandlerTriggerFulfillmentMessageTelephonyTransferCall, CxFlowEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs
- Phone
Number string - Transfer the call to a phone number in E.164 format.
- Phone
Number string - Transfer the call to a phone number in E.164 format.
- phone
Number String - Transfer the call to a phone number in E.164 format.
- phone
Number string - Transfer the call to a phone number in E.164 format.
- phone_
number str - Transfer the call to a phone number in E.164 format.
- phone
Number String - Transfer the call to a phone number in E.164 format.
CxFlowEventHandlerTriggerFulfillmentMessageText, CxFlowEventHandlerTriggerFulfillmentMessageTextArgs
- Allow
Playback boolInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- Texts List<string>
- A collection of text responses.
- Allow
Playback boolInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- Texts []string
- A collection of text responses.
- allow
Playback BooleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- texts List<String>
- A collection of text responses.
- allow
Playback booleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- texts string[]
- A collection of text responses.
- allow_
playback_ boolinterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- texts Sequence[str]
- A collection of text responses.
- allow
Playback BooleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- texts List<String>
- A collection of text responses.
CxFlowEventHandlerTriggerFulfillmentSetParameterAction, CxFlowEventHandlerTriggerFulfillmentSetParameterActionArgs
CxFlowNluSettings, CxFlowNluSettingsArgs
- Classification
Threshold double - To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold. If the returned score value is less than the threshold value, then a no-match event will be triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the default of 0.3 is used.
- Model
Training stringMode - Indicates NLU model training mode.
- MODEL_TRAINING_MODE_AUTOMATIC: NLU model training is automatically triggered when a flow gets modified. User can also manually trigger model training in this mode.
- MODEL_TRAINING_MODE_MANUAL: User needs to manually trigger NLU model training. Best for large flows whose models take long time to train.
Possible values are:
MODEL_TRAINING_MODE_AUTOMATIC
,MODEL_TRAINING_MODE_MANUAL
.
- Model
Type string - Indicates the type of NLU model.
- MODEL_TYPE_STANDARD: Use standard NLU model.
- MODEL_TYPE_ADVANCED: Use advanced NLU model.
Possible values are:
MODEL_TYPE_STANDARD
,MODEL_TYPE_ADVANCED
.
- Classification
Threshold float64 - To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold. If the returned score value is less than the threshold value, then a no-match event will be triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the default of 0.3 is used.
- Model
Training stringMode - Indicates NLU model training mode.
- MODEL_TRAINING_MODE_AUTOMATIC: NLU model training is automatically triggered when a flow gets modified. User can also manually trigger model training in this mode.
- MODEL_TRAINING_MODE_MANUAL: User needs to manually trigger NLU model training. Best for large flows whose models take long time to train.
Possible values are:
MODEL_TRAINING_MODE_AUTOMATIC
,MODEL_TRAINING_MODE_MANUAL
.
- Model
Type string - Indicates the type of NLU model.
- MODEL_TYPE_STANDARD: Use standard NLU model.
- MODEL_TYPE_ADVANCED: Use advanced NLU model.
Possible values are:
MODEL_TYPE_STANDARD
,MODEL_TYPE_ADVANCED
.
- classification
Threshold Double - To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold. If the returned score value is less than the threshold value, then a no-match event will be triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the default of 0.3 is used.
- model
Training StringMode - Indicates NLU model training mode.
- MODEL_TRAINING_MODE_AUTOMATIC: NLU model training is automatically triggered when a flow gets modified. User can also manually trigger model training in this mode.
- MODEL_TRAINING_MODE_MANUAL: User needs to manually trigger NLU model training. Best for large flows whose models take long time to train.
Possible values are:
MODEL_TRAINING_MODE_AUTOMATIC
,MODEL_TRAINING_MODE_MANUAL
.
- model
Type String - Indicates the type of NLU model.
- MODEL_TYPE_STANDARD: Use standard NLU model.
- MODEL_TYPE_ADVANCED: Use advanced NLU model.
Possible values are:
MODEL_TYPE_STANDARD
,MODEL_TYPE_ADVANCED
.
- classification
Threshold number - To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold. If the returned score value is less than the threshold value, then a no-match event will be triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the default of 0.3 is used.
- model
Training stringMode - Indicates NLU model training mode.
- MODEL_TRAINING_MODE_AUTOMATIC: NLU model training is automatically triggered when a flow gets modified. User can also manually trigger model training in this mode.
- MODEL_TRAINING_MODE_MANUAL: User needs to manually trigger NLU model training. Best for large flows whose models take long time to train.
Possible values are:
MODEL_TRAINING_MODE_AUTOMATIC
,MODEL_TRAINING_MODE_MANUAL
.
- model
Type string - Indicates the type of NLU model.
- MODEL_TYPE_STANDARD: Use standard NLU model.
- MODEL_TYPE_ADVANCED: Use advanced NLU model.
Possible values are:
MODEL_TYPE_STANDARD
,MODEL_TYPE_ADVANCED
.
- classification_
threshold float - To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold. If the returned score value is less than the threshold value, then a no-match event will be triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the default of 0.3 is used.
- model_
training_ strmode - Indicates NLU model training mode.
- MODEL_TRAINING_MODE_AUTOMATIC: NLU model training is automatically triggered when a flow gets modified. User can also manually trigger model training in this mode.
- MODEL_TRAINING_MODE_MANUAL: User needs to manually trigger NLU model training. Best for large flows whose models take long time to train.
Possible values are:
MODEL_TRAINING_MODE_AUTOMATIC
,MODEL_TRAINING_MODE_MANUAL
.
- model_
type str - Indicates the type of NLU model.
- MODEL_TYPE_STANDARD: Use standard NLU model.
- MODEL_TYPE_ADVANCED: Use advanced NLU model.
Possible values are:
MODEL_TYPE_STANDARD
,MODEL_TYPE_ADVANCED
.
- classification
Threshold Number - To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold. If the returned score value is less than the threshold value, then a no-match event will be triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the default of 0.3 is used.
- model
Training StringMode - Indicates NLU model training mode.
- MODEL_TRAINING_MODE_AUTOMATIC: NLU model training is automatically triggered when a flow gets modified. User can also manually trigger model training in this mode.
- MODEL_TRAINING_MODE_MANUAL: User needs to manually trigger NLU model training. Best for large flows whose models take long time to train.
Possible values are:
MODEL_TRAINING_MODE_AUTOMATIC
,MODEL_TRAINING_MODE_MANUAL
.
- model
Type String - Indicates the type of NLU model.
- MODEL_TYPE_STANDARD: Use standard NLU model.
- MODEL_TYPE_ADVANCED: Use advanced NLU model.
Possible values are:
MODEL_TYPE_STANDARD
,MODEL_TYPE_ADVANCED
.
CxFlowTransitionRoute, CxFlowTransitionRouteArgs
- Condition string
- The condition to evaluate against form parameters or session parameters. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.
- Intent string
- The unique identifier of an Intent. Format: projects//locations//agents//intents/. Indicates that the transition can only happen when the given intent is matched. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.
- Name string
- (Output) The unique identifier of this transition route.
- Target
Flow string - The target flow to transition to. Format: projects//locations//agents//flows/.
- Target
Page string - The target page to transition to. Format: projects//locations//agents//flows//pages/.
- Trigger
Fulfillment CxFlow Transition Route Trigger Fulfillment - The fulfillment to call when the condition is satisfied. At least one of triggerFulfillment and target must be specified. When both are defined, triggerFulfillment is executed first. Structure is documented below.
- Condition string
- The condition to evaluate against form parameters or session parameters. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.
- Intent string
- The unique identifier of an Intent. Format: projects//locations//agents//intents/. Indicates that the transition can only happen when the given intent is matched. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.
- Name string
- (Output) The unique identifier of this transition route.
- Target
Flow string - The target flow to transition to. Format: projects//locations//agents//flows/.
- Target
Page string - The target page to transition to. Format: projects//locations//agents//flows//pages/.
- Trigger
Fulfillment CxFlow Transition Route Trigger Fulfillment - The fulfillment to call when the condition is satisfied. At least one of triggerFulfillment and target must be specified. When both are defined, triggerFulfillment is executed first. Structure is documented below.
- condition String
- The condition to evaluate against form parameters or session parameters. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.
- intent String
- The unique identifier of an Intent. Format: projects//locations//agents//intents/. Indicates that the transition can only happen when the given intent is matched. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.
- name String
- (Output) The unique identifier of this transition route.
- target
Flow String - The target flow to transition to. Format: projects//locations//agents//flows/.
- target
Page String - The target page to transition to. Format: projects//locations//agents//flows//pages/.
- trigger
Fulfillment CxFlow Transition Route Trigger Fulfillment - The fulfillment to call when the condition is satisfied. At least one of triggerFulfillment and target must be specified. When both are defined, triggerFulfillment is executed first. Structure is documented below.
- condition string
- The condition to evaluate against form parameters or session parameters. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.
- intent string
- The unique identifier of an Intent. Format: projects//locations//agents//intents/. Indicates that the transition can only happen when the given intent is matched. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.
- name string
- (Output) The unique identifier of this transition route.
- target
Flow string - The target flow to transition to. Format: projects//locations//agents//flows/.
- target
Page string - The target page to transition to. Format: projects//locations//agents//flows//pages/.
- trigger
Fulfillment CxFlow Transition Route Trigger Fulfillment - The fulfillment to call when the condition is satisfied. At least one of triggerFulfillment and target must be specified. When both are defined, triggerFulfillment is executed first. Structure is documented below.
- condition str
- The condition to evaluate against form parameters or session parameters. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.
- intent str
- The unique identifier of an Intent. Format: projects//locations//agents//intents/. Indicates that the transition can only happen when the given intent is matched. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.
- name str
- (Output) The unique identifier of this transition route.
- target_
flow str - The target flow to transition to. Format: projects//locations//agents//flows/.
- target_
page str - The target page to transition to. Format: projects//locations//agents//flows//pages/.
- trigger_
fulfillment CxFlow Transition Route Trigger Fulfillment - The fulfillment to call when the condition is satisfied. At least one of triggerFulfillment and target must be specified. When both are defined, triggerFulfillment is executed first. Structure is documented below.
- condition String
- The condition to evaluate against form parameters or session parameters. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.
- intent String
- The unique identifier of an Intent. Format: projects//locations//agents//intents/. Indicates that the transition can only happen when the given intent is matched. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.
- name String
- (Output) The unique identifier of this transition route.
- target
Flow String - The target flow to transition to. Format: projects//locations//agents//flows/.
- target
Page String - The target page to transition to. Format: projects//locations//agents//flows//pages/.
- trigger
Fulfillment Property Map - The fulfillment to call when the condition is satisfied. At least one of triggerFulfillment and target must be specified. When both are defined, triggerFulfillment is executed first. Structure is documented below.
CxFlowTransitionRouteTriggerFulfillment, CxFlowTransitionRouteTriggerFulfillmentArgs
- Conditional
Cases List<CxFlow Transition Route Trigger Fulfillment Conditional Case> - Conditional cases for this fulfillment. Structure is documented below.
- Messages
List<Cx
Flow Transition Route Trigger Fulfillment Message> - The list of rich message responses to present to the user. Structure is documented below.
- Return
Partial boolResponses - 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.
- Set
Parameter List<CxActions Flow Transition Route Trigger Fulfillment Set Parameter Action> - Set parameter values before executing the webhook. Structure is documented below.
- Tag string
- The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.
- Webhook string
- The webhook to call. Format: projects//locations//agents//webhooks/.
- Conditional
Cases []CxFlow Transition Route Trigger Fulfillment Conditional Case - Conditional cases for this fulfillment. Structure is documented below.
- Messages
[]Cx
Flow Transition Route Trigger Fulfillment Message - The list of rich message responses to present to the user. Structure is documented below.
- Return
Partial boolResponses - 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.
- Set
Parameter []CxActions Flow Transition Route Trigger Fulfillment Set Parameter Action - Set parameter values before executing the webhook. Structure is documented below.
- Tag string
- The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.
- Webhook string
- The webhook to call. Format: projects//locations//agents//webhooks/.
- conditional
Cases List<CxFlow Transition Route Trigger Fulfillment Conditional Case> - Conditional cases for this fulfillment. Structure is documented below.
- messages
List<Cx
Flow Transition Route Trigger Fulfillment Message> - The list of rich message responses to present to the user. Structure is documented below.
- return
Partial BooleanResponses - 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.
- set
Parameter List<CxActions Flow Transition Route Trigger Fulfillment Set Parameter Action> - Set parameter values before executing the webhook. Structure is documented below.
- tag String
- The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.
- webhook String
- The webhook to call. Format: projects//locations//agents//webhooks/.
- conditional
Cases CxFlow Transition Route Trigger Fulfillment Conditional Case[] - Conditional cases for this fulfillment. Structure is documented below.
- messages
Cx
Flow Transition Route Trigger Fulfillment Message[] - The list of rich message responses to present to the user. Structure is documented below.
- return
Partial booleanResponses - 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.
- set
Parameter CxActions Flow Transition Route Trigger Fulfillment Set Parameter Action[] - Set parameter values before executing the webhook. Structure is documented below.
- tag string
- The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.
- webhook string
- The webhook to call. Format: projects//locations//agents//webhooks/.
- conditional_
cases Sequence[CxFlow Transition Route Trigger Fulfillment Conditional Case] - Conditional cases for this fulfillment. Structure is documented below.
- messages
Sequence[Cx
Flow Transition Route Trigger Fulfillment Message] - The list of rich message responses to present to the user. Structure is documented below.
- return_
partial_ boolresponses - 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.
- set_
parameter_ Sequence[Cxactions Flow Transition Route Trigger Fulfillment Set Parameter Action] - Set parameter values before executing the webhook. Structure is documented below.
- tag str
- The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.
- webhook str
- The webhook to call. Format: projects//locations//agents//webhooks/.
- conditional
Cases List<Property Map> - Conditional cases for this fulfillment. Structure is documented below.
- messages List<Property Map>
- The list of rich message responses to present to the user. Structure is documented below.
- return
Partial BooleanResponses - 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.
- set
Parameter List<Property Map>Actions - Set parameter values before executing the webhook. Structure is documented below.
- tag String
- The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.
- webhook String
- The webhook to call. Format: projects//locations//agents//webhooks/.
CxFlowTransitionRouteTriggerFulfillmentConditionalCase, CxFlowTransitionRouteTriggerFulfillmentConditionalCaseArgs
CxFlowTransitionRouteTriggerFulfillmentMessage, CxFlowTransitionRouteTriggerFulfillmentMessageArgs
- Channel string
- The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.
- Conversation
Success CxFlow Transition Route Trigger Fulfillment Message Conversation Success - Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.
Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.
- In a webhook response when you determine that you handled the customer issue. Structure is documented below.
- Live
Agent CxHandoff Flow Transition Route Trigger Fulfillment Message Live Agent Handoff - Indicates that the conversation should be handed off to a live agent.
Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.
- In a webhook response when you determine that the customer issue can only be handled by a human. Structure is documented below.
- Output
Audio CxText Flow Transition Route Trigger Fulfillment Message Output Audio Text - A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. Structure is documented below.
- Payload string
- A custom, platform-specific payload.
- Play
Audio CxFlow Transition Route Trigger Fulfillment Message Play Audio - Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- Telephony
Transfer CxCall Flow Transition Route Trigger Fulfillment Message Telephony Transfer Call - Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint. Structure is documented below.
- Text
Cx
Flow Transition Route Trigger Fulfillment Message Text - The text response message. Structure is documented below.
- Channel string
- The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.
- Conversation
Success CxFlow Transition Route Trigger Fulfillment Message Conversation Success - Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.
Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.
- In a webhook response when you determine that you handled the customer issue. Structure is documented below.
- Live
Agent CxHandoff Flow Transition Route Trigger Fulfillment Message Live Agent Handoff - Indicates that the conversation should be handed off to a live agent.
Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.
- In a webhook response when you determine that the customer issue can only be handled by a human. Structure is documented below.
- Output
Audio CxText Flow Transition Route Trigger Fulfillment Message Output Audio Text - A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. Structure is documented below.
- Payload string
- A custom, platform-specific payload.
- Play
Audio CxFlow Transition Route Trigger Fulfillment Message Play Audio - Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- Telephony
Transfer CxCall Flow Transition Route Trigger Fulfillment Message Telephony Transfer Call - Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint. Structure is documented below.
- Text
Cx
Flow Transition Route Trigger Fulfillment Message Text - The text response message. Structure is documented below.
- channel String
- The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.
- conversation
Success CxFlow Transition Route Trigger Fulfillment Message Conversation Success - Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.
Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.
- In a webhook response when you determine that you handled the customer issue. Structure is documented below.
- live
Agent CxHandoff Flow Transition Route Trigger Fulfillment Message Live Agent Handoff - Indicates that the conversation should be handed off to a live agent.
Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.
- In a webhook response when you determine that the customer issue can only be handled by a human. Structure is documented below.
- output
Audio CxText Flow Transition Route Trigger Fulfillment Message Output Audio Text - A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. Structure is documented below.
- payload String
- A custom, platform-specific payload.
- play
Audio CxFlow Transition Route Trigger Fulfillment Message Play Audio - Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephony
Transfer CxCall Flow Transition Route Trigger Fulfillment Message Telephony Transfer Call - Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint. Structure is documented below.
- text
Cx
Flow Transition Route Trigger Fulfillment Message Text - The text response message. Structure is documented below.
- channel string
- The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.
- conversation
Success CxFlow Transition Route Trigger Fulfillment Message Conversation Success - Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.
Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.
- In a webhook response when you determine that you handled the customer issue. Structure is documented below.
- live
Agent CxHandoff Flow Transition Route Trigger Fulfillment Message Live Agent Handoff - Indicates that the conversation should be handed off to a live agent.
Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.
- In a webhook response when you determine that the customer issue can only be handled by a human. Structure is documented below.
- output
Audio CxText Flow Transition Route Trigger Fulfillment Message Output Audio Text - A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. Structure is documented below.
- payload string
- A custom, platform-specific payload.
- play
Audio CxFlow Transition Route Trigger Fulfillment Message Play Audio - Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephony
Transfer CxCall Flow Transition Route Trigger Fulfillment Message Telephony Transfer Call - Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint. Structure is documented below.
- text
Cx
Flow Transition Route Trigger Fulfillment Message Text - The text response message. Structure is documented below.
- channel str
- The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.
- conversation_
success CxFlow Transition Route Trigger Fulfillment Message Conversation Success - Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.
Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.
- In a webhook response when you determine that you handled the customer issue. Structure is documented below.
- live_
agent_ Cxhandoff Flow Transition Route Trigger Fulfillment Message Live Agent Handoff - Indicates that the conversation should be handed off to a live agent.
Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.
- In a webhook response when you determine that the customer issue can only be handled by a human. Structure is documented below.
- output_
audio_ Cxtext Flow Transition Route Trigger Fulfillment Message Output Audio Text - A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. Structure is documented below.
- payload str
- A custom, platform-specific payload.
- play_
audio CxFlow Transition Route Trigger Fulfillment Message Play Audio - Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephony_
transfer_ Cxcall Flow Transition Route Trigger Fulfillment Message Telephony Transfer Call - Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint. Structure is documented below.
- text
Cx
Flow Transition Route Trigger Fulfillment Message Text - The text response message. Structure is documented below.
- channel String
- The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.
- conversation
Success Property Map - Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.
Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.
- In a webhook response when you determine that you handled the customer issue. Structure is documented below.
- live
Agent Property MapHandoff - Indicates that the conversation should be handed off to a live agent.
Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.
You may set this, for example:
- In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.
- In a webhook response when you determine that the customer issue can only be handled by a human. Structure is documented below.
- output
Audio Property MapText - A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. Structure is documented below.
- payload String
- A custom, platform-specific payload.
- play
Audio Property Map - Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephony
Transfer Property MapCall - Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint. Structure is documented below.
- text Property Map
- The text response message. Structure is documented below.
CxFlowTransitionRouteTriggerFulfillmentMessageConversationSuccess, CxFlowTransitionRouteTriggerFulfillmentMessageConversationSuccessArgs
- Metadata string
- Custom metadata. Dialogflow doesn't impose any structure on this.
- Metadata string
- Custom metadata. Dialogflow doesn't impose any structure on this.
- metadata String
- Custom metadata. Dialogflow doesn't impose any structure on this.
- metadata string
- Custom metadata. Dialogflow doesn't impose any structure on this.
- metadata str
- Custom metadata. Dialogflow doesn't impose any structure on this.
- metadata String
- Custom metadata. Dialogflow doesn't impose any structure on this.
CxFlowTransitionRouteTriggerFulfillmentMessageLiveAgentHandoff, CxFlowTransitionRouteTriggerFulfillmentMessageLiveAgentHandoffArgs
- Metadata string
- Custom metadata. Dialogflow doesn't impose any structure on this.
- Metadata string
- Custom metadata. Dialogflow doesn't impose any structure on this.
- metadata String
- Custom metadata. Dialogflow doesn't impose any structure on this.
- metadata string
- Custom metadata. Dialogflow doesn't impose any structure on this.
- metadata str
- Custom metadata. Dialogflow doesn't impose any structure on this.
- metadata String
- Custom metadata. Dialogflow doesn't impose any structure on this.
CxFlowTransitionRouteTriggerFulfillmentMessageOutputAudioText, CxFlowTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs
- Allow
Playback boolInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- Ssml string
- The SSML text to be synthesized. For more information, see SSML.
- Text string
- The raw text to be synthesized.
- Allow
Playback boolInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- Ssml string
- The SSML text to be synthesized. For more information, see SSML.
- Text string
- The raw text to be synthesized.
- allow
Playback BooleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- ssml String
- The SSML text to be synthesized. For more information, see SSML.
- text String
- The raw text to be synthesized.
- allow
Playback booleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- ssml string
- The SSML text to be synthesized. For more information, see SSML.
- text string
- The raw text to be synthesized.
- allow_
playback_ boolinterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- ssml str
- The SSML text to be synthesized. For more information, see SSML.
- text str
- The raw text to be synthesized.
- allow
Playback BooleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- ssml String
- The SSML text to be synthesized. For more information, see SSML.
- text String
- The raw text to be synthesized.
CxFlowTransitionRouteTriggerFulfillmentMessagePlayAudio, CxFlowTransitionRouteTriggerFulfillmentMessagePlayAudioArgs
- Audio
Uri string - URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- Allow
Playback boolInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- Audio
Uri string - URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- Allow
Playback boolInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- audio
Uri String - URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allow
Playback BooleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- audio
Uri string - URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allow
Playback booleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- audio_
uri str - URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allow_
playback_ boolinterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- audio
Uri String - URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allow
Playback BooleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
CxFlowTransitionRouteTriggerFulfillmentMessageTelephonyTransferCall, CxFlowTransitionRouteTriggerFulfillmentMessageTelephonyTransferCallArgs
- Phone
Number string - Transfer the call to a phone number in E.164 format.
- Phone
Number string - Transfer the call to a phone number in E.164 format.
- phone
Number String - Transfer the call to a phone number in E.164 format.
- phone
Number string - Transfer the call to a phone number in E.164 format.
- phone_
number str - Transfer the call to a phone number in E.164 format.
- phone
Number String - Transfer the call to a phone number in E.164 format.
CxFlowTransitionRouteTriggerFulfillmentMessageText, CxFlowTransitionRouteTriggerFulfillmentMessageTextArgs
- Allow
Playback boolInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- Texts List<string>
- A collection of text responses.
- Allow
Playback boolInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- Texts []string
- A collection of text responses.
- allow
Playback BooleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- texts List<String>
- A collection of text responses.
- allow
Playback booleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- texts string[]
- A collection of text responses.
- allow_
playback_ boolinterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- texts Sequence[str]
- A collection of text responses.
- allow
Playback BooleanInterruption - (Output) Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.
- texts List<String>
- A collection of text responses.
CxFlowTransitionRouteTriggerFulfillmentSetParameterAction, CxFlowTransitionRouteTriggerFulfillmentSetParameterActionArgs
Import
Flow can be imported using any of these accepted formats:
{{parent}}/flows/{{name}}
{{parent}}/{{name}}
When using the pulumi import
command, Flow can be imported using one of the formats above. For example:
$ pulumi import gcp:diagflow/cxFlow:CxFlow default {{parent}}/flows/{{name}}
$ pulumi import gcp:diagflow/cxFlow:CxFlow default {{parent}}/{{name}}
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Google Cloud (GCP) Classic pulumi/pulumi-gcp
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
google-beta
Terraform Provider.