gcp.diagflow.CxPage
Explore with Pulumi AI
A Dialogflow CX conversation (session) can be described and visualized as a state machine. The states of a CX session are represented by pages.
To get more information about Page, see:
- API documentation
- How-to Guides
Example Usage
Dialogflowcx Page 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 myPage2 = new gcp.diagflow.CxPage("my_page2", {
    parent: agent.startFlow,
    displayName: "MyPage2",
});
const myWebhook = new gcp.diagflow.CxWebhook("my_webhook", {
    parent: agent.id,
    displayName: "MyWebhook",
    genericWebService: {
        uri: "https://example.com",
    },
});
const basicPage = new gcp.diagflow.CxPage("basic_page", {
    parent: agent.startFlow,
    displayName: "MyPage",
    entryFulfillment: {
        messages: [
            {
                channel: "some-channel",
                text: {
                    texts: ["Welcome to page"],
                },
            },
            {
                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"],
                            },
                        },
                    }],
                },
            ]),
        }],
    },
    eventHandlers: [{
        event: "some-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"],
                                },
                            },
                        }],
                    },
                ]),
            }],
        },
    }],
    form: {
        parameters: [{
            displayName: "param1",
            entityType: "projects/-/locations/-/agents/-/entityTypes/sys.date",
            defaultValue: JSON.stringify("2000-01-01"),
            fillBehavior: {
                initialPromptFulfillment: {
                    messages: [
                        {
                            channel: "some-channel",
                            text: {
                                texts: ["Please provide param1"],
                            },
                        },
                        {
                            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"],
                                        },
                                    },
                                }],
                            },
                        ]),
                    }],
                },
                repromptEventHandlers: [
                    {
                        event: "sys.no-match-1",
                        triggerFulfillment: {
                            returnPartialResponses: true,
                            webhook: myWebhook.id,
                            tag: "some-tag",
                            messages: [
                                {
                                    channel: "some-channel",
                                    text: {
                                        texts: ["Please provide param1"],
                                    },
                                },
                                {
                                    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"],
                                                },
                                            },
                                        }],
                                    },
                                ]),
                            }],
                        },
                    },
                    {
                        event: "sys.no-match-2",
                        targetFlow: agent.startFlow,
                    },
                    {
                        event: "sys.no-match-3",
                        targetPage: myPage2.id,
                    },
                ],
            },
            required: true,
            redact: true,
            advancedSettings: {
                dtmfSettings: {
                    enabled: true,
                    maxDigits: 1,
                    finishDigit: "#",
                },
            },
        }],
    },
    transitionRoutes: [{
        condition: "$page.params.status = 'FINAL'",
        triggerFulfillment: {
            messages: [
                {
                    channel: "some-channel",
                    text: {
                        texts: ["information completed, navigating to page 2"],
                    },
                },
                {
                    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"],
                                },
                            },
                        }],
                    },
                ]),
            }],
        },
        targetPage: myPage2.id,
    }],
    advancedSettings: {
        dtmfSettings: {
            enabled: true,
            maxDigits: 1,
            finishDigit: "#",
        },
    },
});
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,
    })
my_page2 = gcp.diagflow.CxPage("my_page2",
    parent=agent.start_flow,
    display_name="MyPage2")
my_webhook = gcp.diagflow.CxWebhook("my_webhook",
    parent=agent.id,
    display_name="MyWebhook",
    generic_web_service={
        "uri": "https://example.com",
    })
basic_page = gcp.diagflow.CxPage("basic_page",
    parent=agent.start_flow,
    display_name="MyPage",
    entry_fulfillment={
        "messages": [
            {
                "channel": "some-channel",
                "text": {
                    "texts": ["Welcome to page"],
                },
            },
            {
                "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"],
                            },
                        },
                    }],
                },
            ]),
        }],
    },
    event_handlers=[{
        "event": "some-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"],
                                },
                            },
                        }],
                    },
                ]),
            }],
        },
    }],
    form={
        "parameters": [{
            "display_name": "param1",
            "entity_type": "projects/-/locations/-/agents/-/entityTypes/sys.date",
            "default_value": json.dumps("2000-01-01"),
            "fill_behavior": {
                "initial_prompt_fulfillment": {
                    "messages": [
                        {
                            "channel": "some-channel",
                            "text": {
                                "texts": ["Please provide param1"],
                            },
                        },
                        {
                            "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"],
                                        },
                                    },
                                }],
                            },
                        ]),
                    }],
                },
                "reprompt_event_handlers": [
                    {
                        "event": "sys.no-match-1",
                        "trigger_fulfillment": {
                            "return_partial_responses": True,
                            "webhook": my_webhook.id,
                            "tag": "some-tag",
                            "messages": [
                                {
                                    "channel": "some-channel",
                                    "text": {
                                        "texts": ["Please provide param1"],
                                    },
                                },
                                {
                                    "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"],
                                                },
                                            },
                                        }],
                                    },
                                ]),
                            }],
                        },
                    },
                    {
                        "event": "sys.no-match-2",
                        "target_flow": agent.start_flow,
                    },
                    {
                        "event": "sys.no-match-3",
                        "target_page": my_page2.id,
                    },
                ],
            },
            "required": True,
            "redact": True,
            "advanced_settings": {
                "dtmf_settings": {
                    "enabled": True,
                    "max_digits": 1,
                    "finish_digit": "#",
                },
            },
        }],
    },
    transition_routes=[{
        "condition": "$page.params.status = 'FINAL'",
        "trigger_fulfillment": {
            "messages": [
                {
                    "channel": "some-channel",
                    "text": {
                        "texts": ["information completed, navigating to page 2"],
                    },
                },
                {
                    "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_page": my_page2.id,
    }],
    advanced_settings={
        "dtmf_settings": {
            "enabled": True,
            "max_digits": 1,
            "finish_digit": "#",
        },
    })
package main
import (
	"encoding/json"
	"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
		}
		myPage2, err := diagflow.NewCxPage(ctx, "my_page2", &diagflow.CxPageArgs{
			Parent:      agent.StartFlow,
			DisplayName: pulumi.String("MyPage2"),
		})
		if err != nil {
			return err
		}
		myWebhook, err := diagflow.NewCxWebhook(ctx, "my_webhook", &diagflow.CxWebhookArgs{
			Parent:      agent.ID(),
			DisplayName: pulumi.String("MyWebhook"),
			GenericWebService: &diagflow.CxWebhookGenericWebServiceArgs{
				Uri: pulumi.String("https://example.com"),
			},
		})
		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)
		tmpJSON6, err := json.Marshal("2000-01-01")
		if err != nil {
			return err
		}
		json6 := string(tmpJSON6)
		tmpJSON7, err := json.Marshal("abc")
		if err != nil {
			return err
		}
		json7 := string(tmpJSON7)
		tmpJSON8, err := json.Marshal([]string{
			"foo",
		})
		if err != nil {
			return err
		}
		json8 := string(tmpJSON8)
		tmpJSON9, 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
		}
		json9 := string(tmpJSON9)
		tmpJSON10, err := json.Marshal("abc")
		if err != nil {
			return err
		}
		json10 := string(tmpJSON10)
		tmpJSON11, err := json.Marshal([]string{
			"foo",
		})
		if err != nil {
			return err
		}
		json11 := string(tmpJSON11)
		tmpJSON12, 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
		}
		json12 := string(tmpJSON12)
		tmpJSON13, err := json.Marshal("abc")
		if err != nil {
			return err
		}
		json13 := string(tmpJSON13)
		tmpJSON14, err := json.Marshal([]string{
			"foo",
		})
		if err != nil {
			return err
		}
		json14 := string(tmpJSON14)
		tmpJSON15, 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
		}
		json15 := string(tmpJSON15)
		_, err = diagflow.NewCxPage(ctx, "basic_page", &diagflow.CxPageArgs{
			Parent:      agent.StartFlow,
			DisplayName: pulumi.String("MyPage"),
			EntryFulfillment: &diagflow.CxPageEntryFulfillmentArgs{
				Messages: diagflow.CxPageEntryFulfillmentMessageArray{
					&diagflow.CxPageEntryFulfillmentMessageArgs{
						Channel: pulumi.String("some-channel"),
						Text: &diagflow.CxPageEntryFulfillmentMessageTextArgs{
							Texts: pulumi.StringArray{
								pulumi.String("Welcome to page"),
							},
						},
					},
					&diagflow.CxPageEntryFulfillmentMessageArgs{
						Payload: pulumi.String("        {\"some-key\": \"some-value\", \"other-key\": [\"other-value\"]}\n"),
					},
					&diagflow.CxPageEntryFulfillmentMessageArgs{
						ConversationSuccess: &diagflow.CxPageEntryFulfillmentMessageConversationSuccessArgs{
							Metadata: pulumi.String("          {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n"),
						},
					},
					&diagflow.CxPageEntryFulfillmentMessageArgs{
						OutputAudioText: &diagflow.CxPageEntryFulfillmentMessageOutputAudioTextArgs{
							Text: pulumi.String("some output text"),
						},
					},
					&diagflow.CxPageEntryFulfillmentMessageArgs{
						OutputAudioText: &diagflow.CxPageEntryFulfillmentMessageOutputAudioTextArgs{
							Ssml: pulumi.String("          <speak>Some example <say-as interpret-as=\"characters\">SSML XML</say-as></speak>\n"),
						},
					},
					&diagflow.CxPageEntryFulfillmentMessageArgs{
						LiveAgentHandoff: &diagflow.CxPageEntryFulfillmentMessageLiveAgentHandoffArgs{
							Metadata: pulumi.String("          {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n"),
						},
					},
					&diagflow.CxPageEntryFulfillmentMessageArgs{
						PlayAudio: &diagflow.CxPageEntryFulfillmentMessagePlayAudioArgs{
							AudioUri: pulumi.String("http://example.com/some-audio-file.mp3"),
						},
					},
					&diagflow.CxPageEntryFulfillmentMessageArgs{
						TelephonyTransferCall: &diagflow.CxPageEntryFulfillmentMessageTelephonyTransferCallArgs{
							PhoneNumber: pulumi.String("1-234-567-8901"),
						},
					},
				},
				SetParameterActions: diagflow.CxPageEntryFulfillmentSetParameterActionArray{
					&diagflow.CxPageEntryFulfillmentSetParameterActionArgs{
						Parameter: pulumi.String("some-param"),
						Value:     pulumi.String("123.45"),
					},
					&diagflow.CxPageEntryFulfillmentSetParameterActionArgs{
						Parameter: pulumi.String("another-param"),
						Value:     pulumi.String(json0),
					},
					&diagflow.CxPageEntryFulfillmentSetParameterActionArgs{
						Parameter: pulumi.String("other-param"),
						Value:     pulumi.String(json1),
					},
				},
				ConditionalCases: diagflow.CxPageEntryFulfillmentConditionalCaseArray{
					&diagflow.CxPageEntryFulfillmentConditionalCaseArgs{
						Cases: pulumi.String(json2),
					},
				},
			},
			EventHandlers: diagflow.CxPageEventHandlerArray{
				&diagflow.CxPageEventHandlerArgs{
					Event: pulumi.String("some-event"),
					TriggerFulfillment: &diagflow.CxPageEventHandlerTriggerFulfillmentArgs{
						ReturnPartialResponses: pulumi.Bool(true),
						Messages: diagflow.CxPageEventHandlerTriggerFulfillmentMessageArray{
							&diagflow.CxPageEventHandlerTriggerFulfillmentMessageArgs{
								Channel: pulumi.String("some-channel"),
								Text: &diagflow.CxPageEventHandlerTriggerFulfillmentMessageTextArgs{
									Texts: pulumi.StringArray{
										pulumi.String("Some text"),
									},
								},
							},
							&diagflow.CxPageEventHandlerTriggerFulfillmentMessageArgs{
								Payload: pulumi.String("          {\"some-key\": \"some-value\", \"other-key\": [\"other-value\"]}\n"),
							},
							&diagflow.CxPageEventHandlerTriggerFulfillmentMessageArgs{
								ConversationSuccess: &diagflow.CxPageEventHandlerTriggerFulfillmentMessageConversationSuccessArgs{
									Metadata: pulumi.String("            {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n"),
								},
							},
							&diagflow.CxPageEventHandlerTriggerFulfillmentMessageArgs{
								OutputAudioText: &diagflow.CxPageEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs{
									Text: pulumi.String("some output text"),
								},
							},
							&diagflow.CxPageEventHandlerTriggerFulfillmentMessageArgs{
								OutputAudioText: &diagflow.CxPageEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs{
									Ssml: pulumi.String("            <speak>Some example <say-as interpret-as=\"characters\">SSML XML</say-as></speak>\n"),
								},
							},
							&diagflow.CxPageEventHandlerTriggerFulfillmentMessageArgs{
								LiveAgentHandoff: &diagflow.CxPageEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs{
									Metadata: pulumi.String("            {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n"),
								},
							},
							&diagflow.CxPageEventHandlerTriggerFulfillmentMessageArgs{
								PlayAudio: &diagflow.CxPageEventHandlerTriggerFulfillmentMessagePlayAudioArgs{
									AudioUri: pulumi.String("http://example.com/some-audio-file.mp3"),
								},
							},
							&diagflow.CxPageEventHandlerTriggerFulfillmentMessageArgs{
								TelephonyTransferCall: &diagflow.CxPageEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs{
									PhoneNumber: pulumi.String("1-234-567-8901"),
								},
							},
						},
						SetParameterActions: diagflow.CxPageEventHandlerTriggerFulfillmentSetParameterActionArray{
							&diagflow.CxPageEventHandlerTriggerFulfillmentSetParameterActionArgs{
								Parameter: pulumi.String("some-param"),
								Value:     pulumi.String("123.45"),
							},
							&diagflow.CxPageEventHandlerTriggerFulfillmentSetParameterActionArgs{
								Parameter: pulumi.String("another-param"),
								Value:     pulumi.String(json3),
							},
							&diagflow.CxPageEventHandlerTriggerFulfillmentSetParameterActionArgs{
								Parameter: pulumi.String("other-param"),
								Value:     pulumi.String(json4),
							},
						},
						ConditionalCases: diagflow.CxPageEventHandlerTriggerFulfillmentConditionalCaseArray{
							&diagflow.CxPageEventHandlerTriggerFulfillmentConditionalCaseArgs{
								Cases: pulumi.String(json5),
							},
						},
					},
				},
			},
			Form: &diagflow.CxPageFormArgs{
				Parameters: diagflow.CxPageFormParameterArray{
					&diagflow.CxPageFormParameterArgs{
						DisplayName:  pulumi.String("param1"),
						EntityType:   pulumi.String("projects/-/locations/-/agents/-/entityTypes/sys.date"),
						DefaultValue: pulumi.String(json6),
						FillBehavior: &diagflow.CxPageFormParameterFillBehaviorArgs{
							InitialPromptFulfillment: &diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentArgs{
								Messages: diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArray{
									&diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs{
										Channel: pulumi.String("some-channel"),
										Text: &diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageTextArgs{
											Texts: pulumi.StringArray{
												pulumi.String("Please provide param1"),
											},
										},
									},
									&diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs{
										Payload: pulumi.String("              {\"some-key\": \"some-value\", \"other-key\": [\"other-value\"]}\n"),
									},
									&diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs{
										ConversationSuccess: &diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageConversationSuccessArgs{
											Metadata: pulumi.String("                {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n"),
										},
									},
									&diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs{
										OutputAudioText: &diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageOutputAudioTextArgs{
											Text: pulumi.String("some output text"),
										},
									},
									&diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs{
										OutputAudioText: &diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageOutputAudioTextArgs{
											Ssml: pulumi.String("                <speak>Some example <say-as interpret-as=\"characters\">SSML XML</say-as></speak>\n"),
										},
									},
									&diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs{
										LiveAgentHandoff: &diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageLiveAgentHandoffArgs{
											Metadata: pulumi.String("                {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n"),
										},
									},
									&diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs{
										PlayAudio: &diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessagePlayAudioArgs{
											AudioUri: pulumi.String("http://example.com/some-audio-file.mp3"),
										},
									},
									&diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs{
										TelephonyTransferCall: &diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageTelephonyTransferCallArgs{
											PhoneNumber: pulumi.String("1-234-567-8901"),
										},
									},
								},
								SetParameterActions: diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentSetParameterActionArray{
									&diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentSetParameterActionArgs{
										Parameter: pulumi.String("some-param"),
										Value:     pulumi.String("123.45"),
									},
									&diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentSetParameterActionArgs{
										Parameter: pulumi.String("another-param"),
										Value:     pulumi.String(json7),
									},
									&diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentSetParameterActionArgs{
										Parameter: pulumi.String("other-param"),
										Value:     pulumi.String(json8),
									},
								},
								ConditionalCases: diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentConditionalCaseArray{
									&diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentConditionalCaseArgs{
										Cases: pulumi.String(json9),
									},
								},
							},
							RepromptEventHandlers: diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerArray{
								&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerArgs{
									Event: pulumi.String("sys.no-match-1"),
									TriggerFulfillment: &diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentArgs{
										ReturnPartialResponses: pulumi.Bool(true),
										Webhook:                myWebhook.ID(),
										Tag:                    pulumi.String("some-tag"),
										Messages: diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArray{
											&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs{
												Channel: pulumi.String("some-channel"),
												Text: &diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageTextArgs{
													Texts: pulumi.StringArray{
														pulumi.String("Please provide param1"),
													},
												},
											},
											&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs{
												Payload: pulumi.String("                {\"some-key\": \"some-value\", \"other-key\": [\"other-value\"]}\n"),
											},
											&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs{
												ConversationSuccess: &diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageConversationSuccessArgs{
													Metadata: pulumi.String("                  {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n"),
												},
											},
											&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs{
												OutputAudioText: &diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs{
													Text: pulumi.String("some output text"),
												},
											},
											&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs{
												OutputAudioText: &diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs{
													Ssml: pulumi.String("                  <speak>Some example <say-as interpret-as=\"characters\">SSML XML</say-as></speak>\n"),
												},
											},
											&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs{
												LiveAgentHandoff: &diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs{
													Metadata: pulumi.String("                  {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n"),
												},
											},
											&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs{
												PlayAudio: &diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessagePlayAudioArgs{
													AudioUri: pulumi.String("http://example.com/some-audio-file.mp3"),
												},
											},
											&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs{
												TelephonyTransferCall: &diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs{
													PhoneNumber: pulumi.String("1-234-567-8901"),
												},
											},
										},
										SetParameterActions: diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentSetParameterActionArray{
											&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentSetParameterActionArgs{
												Parameter: pulumi.String("some-param"),
												Value:     pulumi.String("123.45"),
											},
											&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentSetParameterActionArgs{
												Parameter: pulumi.String("another-param"),
												Value:     pulumi.String(json10),
											},
											&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentSetParameterActionArgs{
												Parameter: pulumi.String("other-param"),
												Value:     pulumi.String(json11),
											},
										},
										ConditionalCases: diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentConditionalCaseArray{
											&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentConditionalCaseArgs{
												Cases: pulumi.String(json12),
											},
										},
									},
								},
								&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerArgs{
									Event:      pulumi.String("sys.no-match-2"),
									TargetFlow: agent.StartFlow,
								},
								&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerArgs{
									Event:      pulumi.String("sys.no-match-3"),
									TargetPage: myPage2.ID(),
								},
							},
						},
						Required: pulumi.Bool(true),
						Redact:   pulumi.Bool(true),
						AdvancedSettings: &diagflow.CxPageFormParameterAdvancedSettingsArgs{
							DtmfSettings: &diagflow.CxPageFormParameterAdvancedSettingsDtmfSettingsArgs{
								Enabled:     pulumi.Bool(true),
								MaxDigits:   pulumi.Int(1),
								FinishDigit: pulumi.String("#"),
							},
						},
					},
				},
			},
			TransitionRoutes: diagflow.CxPageTransitionRouteArray{
				&diagflow.CxPageTransitionRouteArgs{
					Condition: pulumi.String("$page.params.status = 'FINAL'"),
					TriggerFulfillment: &diagflow.CxPageTransitionRouteTriggerFulfillmentArgs{
						Messages: diagflow.CxPageTransitionRouteTriggerFulfillmentMessageArray{
							&diagflow.CxPageTransitionRouteTriggerFulfillmentMessageArgs{
								Channel: pulumi.String("some-channel"),
								Text: &diagflow.CxPageTransitionRouteTriggerFulfillmentMessageTextArgs{
									Texts: pulumi.StringArray{
										pulumi.String("information completed, navigating to page 2"),
									},
								},
							},
							&diagflow.CxPageTransitionRouteTriggerFulfillmentMessageArgs{
								Payload: pulumi.String("          {\"some-key\": \"some-value\", \"other-key\": [\"other-value\"]}\n"),
							},
							&diagflow.CxPageTransitionRouteTriggerFulfillmentMessageArgs{
								ConversationSuccess: &diagflow.CxPageTransitionRouteTriggerFulfillmentMessageConversationSuccessArgs{
									Metadata: pulumi.String("            {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n"),
								},
							},
							&diagflow.CxPageTransitionRouteTriggerFulfillmentMessageArgs{
								OutputAudioText: &diagflow.CxPageTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs{
									Text: pulumi.String("some output text"),
								},
							},
							&diagflow.CxPageTransitionRouteTriggerFulfillmentMessageArgs{
								OutputAudioText: &diagflow.CxPageTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs{
									Ssml: pulumi.String("            <speak>Some example <say-as interpret-as=\"characters\">SSML XML</say-as></speak>\n"),
								},
							},
							&diagflow.CxPageTransitionRouteTriggerFulfillmentMessageArgs{
								LiveAgentHandoff: &diagflow.CxPageTransitionRouteTriggerFulfillmentMessageLiveAgentHandoffArgs{
									Metadata: pulumi.String("            {\"some-metadata-key\": \"some-value\", \"other-metadata-key\": 1234}\n"),
								},
							},
							&diagflow.CxPageTransitionRouteTriggerFulfillmentMessageArgs{
								PlayAudio: &diagflow.CxPageTransitionRouteTriggerFulfillmentMessagePlayAudioArgs{
									AudioUri: pulumi.String("http://example.com/some-audio-file.mp3"),
								},
							},
							&diagflow.CxPageTransitionRouteTriggerFulfillmentMessageArgs{
								TelephonyTransferCall: &diagflow.CxPageTransitionRouteTriggerFulfillmentMessageTelephonyTransferCallArgs{
									PhoneNumber: pulumi.String("1-234-567-8901"),
								},
							},
						},
						SetParameterActions: diagflow.CxPageTransitionRouteTriggerFulfillmentSetParameterActionArray{
							&diagflow.CxPageTransitionRouteTriggerFulfillmentSetParameterActionArgs{
								Parameter: pulumi.String("some-param"),
								Value:     pulumi.String("123.45"),
							},
							&diagflow.CxPageTransitionRouteTriggerFulfillmentSetParameterActionArgs{
								Parameter: pulumi.String("another-param"),
								Value:     pulumi.String(json13),
							},
							&diagflow.CxPageTransitionRouteTriggerFulfillmentSetParameterActionArgs{
								Parameter: pulumi.String("other-param"),
								Value:     pulumi.String(json14),
							},
						},
						ConditionalCases: diagflow.CxPageTransitionRouteTriggerFulfillmentConditionalCaseArray{
							&diagflow.CxPageTransitionRouteTriggerFulfillmentConditionalCaseArgs{
								Cases: pulumi.String(json15),
							},
						},
					},
					TargetPage: myPage2.ID(),
				},
			},
			AdvancedSettings: &diagflow.CxPageAdvancedSettingsArgs{
				DtmfSettings: &diagflow.CxPageAdvancedSettingsDtmfSettingsArgs{
					Enabled:     pulumi.Bool(true),
					MaxDigits:   pulumi.Int(1),
					FinishDigit: pulumi.String("#"),
				},
			},
		})
		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 myPage2 = new Gcp.Diagflow.CxPage("my_page2", new()
    {
        Parent = agent.StartFlow,
        DisplayName = "MyPage2",
    });
    var myWebhook = new Gcp.Diagflow.CxWebhook("my_webhook", new()
    {
        Parent = agent.Id,
        DisplayName = "MyWebhook",
        GenericWebService = new Gcp.Diagflow.Inputs.CxWebhookGenericWebServiceArgs
        {
            Uri = "https://example.com",
        },
    });
    var basicPage = new Gcp.Diagflow.CxPage("basic_page", new()
    {
        Parent = agent.StartFlow,
        DisplayName = "MyPage",
        EntryFulfillment = new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentArgs
        {
            Messages = new[]
            {
                new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageArgs
                {
                    Channel = "some-channel",
                    Text = new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageTextArgs
                    {
                        Texts = new[]
                        {
                            "Welcome to page",
                        },
                    },
                },
                new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageArgs
                {
                    Payload = @"        {""some-key"": ""some-value"", ""other-key"": [""other-value""]}
",
                },
                new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageArgs
                {
                    ConversationSuccess = new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageConversationSuccessArgs
                    {
                        Metadata = @"          {""some-metadata-key"": ""some-value"", ""other-metadata-key"": 1234}
",
                    },
                },
                new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageArgs
                {
                    OutputAudioText = new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageOutputAudioTextArgs
                    {
                        Text = "some output text",
                    },
                },
                new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageArgs
                {
                    OutputAudioText = new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageOutputAudioTextArgs
                    {
                        Ssml = @"          <speak>Some example <say-as interpret-as=""characters"">SSML XML</say-as></speak>
",
                    },
                },
                new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageArgs
                {
                    LiveAgentHandoff = new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageLiveAgentHandoffArgs
                    {
                        Metadata = @"          {""some-metadata-key"": ""some-value"", ""other-metadata-key"": 1234}
",
                    },
                },
                new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageArgs
                {
                    PlayAudio = new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessagePlayAudioArgs
                    {
                        AudioUri = "http://example.com/some-audio-file.mp3",
                    },
                },
                new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageArgs
                {
                    TelephonyTransferCall = new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageTelephonyTransferCallArgs
                    {
                        PhoneNumber = "1-234-567-8901",
                    },
                },
            },
            SetParameterActions = new[]
            {
                new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentSetParameterActionArgs
                {
                    Parameter = "some-param",
                    Value = "123.45",
                },
                new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentSetParameterActionArgs
                {
                    Parameter = "another-param",
                    Value = JsonSerializer.Serialize("abc"),
                },
                new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentSetParameterActionArgs
                {
                    Parameter = "other-param",
                    Value = JsonSerializer.Serialize(new[]
                    {
                        "foo",
                    }),
                },
            },
            ConditionalCases = new[]
            {
                new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentConditionalCaseArgs
                {
                    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",
                                            },
                                        },
                                    },
                                },
                            },
                        },
                    }),
                },
            },
        },
        EventHandlers = new[]
        {
            new Gcp.Diagflow.Inputs.CxPageEventHandlerArgs
            {
                Event = "some-event",
                TriggerFulfillment = new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentArgs
                {
                    ReturnPartialResponses = true,
                    Messages = new[]
                    {
                        new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageArgs
                        {
                            Channel = "some-channel",
                            Text = new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageTextArgs
                            {
                                Texts = new[]
                                {
                                    "Some text",
                                },
                            },
                        },
                        new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageArgs
                        {
                            Payload = @"          {""some-key"": ""some-value"", ""other-key"": [""other-value""]}
",
                        },
                        new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageArgs
                        {
                            ConversationSuccess = new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageConversationSuccessArgs
                            {
                                Metadata = @"            {""some-metadata-key"": ""some-value"", ""other-metadata-key"": 1234}
",
                            },
                        },
                        new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageArgs
                        {
                            OutputAudioText = new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs
                            {
                                Text = "some output text",
                            },
                        },
                        new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageArgs
                        {
                            OutputAudioText = new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs
                            {
                                Ssml = @"            <speak>Some example <say-as interpret-as=""characters"">SSML XML</say-as></speak>
",
                            },
                        },
                        new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageArgs
                        {
                            LiveAgentHandoff = new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs
                            {
                                Metadata = @"            {""some-metadata-key"": ""some-value"", ""other-metadata-key"": 1234}
",
                            },
                        },
                        new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageArgs
                        {
                            PlayAudio = new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessagePlayAudioArgs
                            {
                                AudioUri = "http://example.com/some-audio-file.mp3",
                            },
                        },
                        new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageArgs
                        {
                            TelephonyTransferCall = new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs
                            {
                                PhoneNumber = "1-234-567-8901",
                            },
                        },
                    },
                    SetParameterActions = new[]
                    {
                        new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentSetParameterActionArgs
                        {
                            Parameter = "some-param",
                            Value = "123.45",
                        },
                        new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentSetParameterActionArgs
                        {
                            Parameter = "another-param",
                            Value = JsonSerializer.Serialize("abc"),
                        },
                        new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentSetParameterActionArgs
                        {
                            Parameter = "other-param",
                            Value = JsonSerializer.Serialize(new[]
                            {
                                "foo",
                            }),
                        },
                    },
                    ConditionalCases = new[]
                    {
                        new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentConditionalCaseArgs
                        {
                            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",
                                                    },
                                                },
                                            },
                                        },
                                    },
                                },
                            }),
                        },
                    },
                },
            },
        },
        Form = new Gcp.Diagflow.Inputs.CxPageFormArgs
        {
            Parameters = new[]
            {
                new Gcp.Diagflow.Inputs.CxPageFormParameterArgs
                {
                    DisplayName = "param1",
                    EntityType = "projects/-/locations/-/agents/-/entityTypes/sys.date",
                    DefaultValue = JsonSerializer.Serialize("2000-01-01"),
                    FillBehavior = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorArgs
                    {
                        InitialPromptFulfillment = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentArgs
                        {
                            Messages = new[]
                            {
                                new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs
                                {
                                    Channel = "some-channel",
                                    Text = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageTextArgs
                                    {
                                        Texts = new[]
                                        {
                                            "Please provide param1",
                                        },
                                    },
                                },
                                new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs
                                {
                                    Payload = @"              {""some-key"": ""some-value"", ""other-key"": [""other-value""]}
",
                                },
                                new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs
                                {
                                    ConversationSuccess = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageConversationSuccessArgs
                                    {
                                        Metadata = @"                {""some-metadata-key"": ""some-value"", ""other-metadata-key"": 1234}
",
                                    },
                                },
                                new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs
                                {
                                    OutputAudioText = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageOutputAudioTextArgs
                                    {
                                        Text = "some output text",
                                    },
                                },
                                new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs
                                {
                                    OutputAudioText = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageOutputAudioTextArgs
                                    {
                                        Ssml = @"                <speak>Some example <say-as interpret-as=""characters"">SSML XML</say-as></speak>
",
                                    },
                                },
                                new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs
                                {
                                    LiveAgentHandoff = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageLiveAgentHandoffArgs
                                    {
                                        Metadata = @"                {""some-metadata-key"": ""some-value"", ""other-metadata-key"": 1234}
",
                                    },
                                },
                                new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs
                                {
                                    PlayAudio = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessagePlayAudioArgs
                                    {
                                        AudioUri = "http://example.com/some-audio-file.mp3",
                                    },
                                },
                                new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs
                                {
                                    TelephonyTransferCall = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageTelephonyTransferCallArgs
                                    {
                                        PhoneNumber = "1-234-567-8901",
                                    },
                                },
                            },
                            SetParameterActions = new[]
                            {
                                new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentSetParameterActionArgs
                                {
                                    Parameter = "some-param",
                                    Value = "123.45",
                                },
                                new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentSetParameterActionArgs
                                {
                                    Parameter = "another-param",
                                    Value = JsonSerializer.Serialize("abc"),
                                },
                                new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentSetParameterActionArgs
                                {
                                    Parameter = "other-param",
                                    Value = JsonSerializer.Serialize(new[]
                                    {
                                        "foo",
                                    }),
                                },
                            },
                            ConditionalCases = new[]
                            {
                                new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentConditionalCaseArgs
                                {
                                    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",
                                                            },
                                                        },
                                                    },
                                                },
                                            },
                                        },
                                    }),
                                },
                            },
                        },
                        RepromptEventHandlers = new[]
                        {
                            new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerArgs
                            {
                                Event = "sys.no-match-1",
                                TriggerFulfillment = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentArgs
                                {
                                    ReturnPartialResponses = true,
                                    Webhook = myWebhook.Id,
                                    Tag = "some-tag",
                                    Messages = new[]
                                    {
                                        new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs
                                        {
                                            Channel = "some-channel",
                                            Text = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageTextArgs
                                            {
                                                Texts = new[]
                                                {
                                                    "Please provide param1",
                                                },
                                            },
                                        },
                                        new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs
                                        {
                                            Payload = @"                {""some-key"": ""some-value"", ""other-key"": [""other-value""]}
",
                                        },
                                        new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs
                                        {
                                            ConversationSuccess = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageConversationSuccessArgs
                                            {
                                                Metadata = @"                  {""some-metadata-key"": ""some-value"", ""other-metadata-key"": 1234}
",
                                            },
                                        },
                                        new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs
                                        {
                                            OutputAudioText = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs
                                            {
                                                Text = "some output text",
                                            },
                                        },
                                        new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs
                                        {
                                            OutputAudioText = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs
                                            {
                                                Ssml = @"                  <speak>Some example <say-as interpret-as=""characters"">SSML XML</say-as></speak>
",
                                            },
                                        },
                                        new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs
                                        {
                                            LiveAgentHandoff = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs
                                            {
                                                Metadata = @"                  {""some-metadata-key"": ""some-value"", ""other-metadata-key"": 1234}
",
                                            },
                                        },
                                        new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs
                                        {
                                            PlayAudio = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessagePlayAudioArgs
                                            {
                                                AudioUri = "http://example.com/some-audio-file.mp3",
                                            },
                                        },
                                        new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs
                                        {
                                            TelephonyTransferCall = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs
                                            {
                                                PhoneNumber = "1-234-567-8901",
                                            },
                                        },
                                    },
                                    SetParameterActions = new[]
                                    {
                                        new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentSetParameterActionArgs
                                        {
                                            Parameter = "some-param",
                                            Value = "123.45",
                                        },
                                        new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentSetParameterActionArgs
                                        {
                                            Parameter = "another-param",
                                            Value = JsonSerializer.Serialize("abc"),
                                        },
                                        new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentSetParameterActionArgs
                                        {
                                            Parameter = "other-param",
                                            Value = JsonSerializer.Serialize(new[]
                                            {
                                                "foo",
                                            }),
                                        },
                                    },
                                    ConditionalCases = new[]
                                    {
                                        new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentConditionalCaseArgs
                                        {
                                            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",
                                                                    },
                                                                },
                                                            },
                                                        },
                                                    },
                                                },
                                            }),
                                        },
                                    },
                                },
                            },
                            new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerArgs
                            {
                                Event = "sys.no-match-2",
                                TargetFlow = agent.StartFlow,
                            },
                            new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerArgs
                            {
                                Event = "sys.no-match-3",
                                TargetPage = myPage2.Id,
                            },
                        },
                    },
                    Required = true,
                    Redact = true,
                    AdvancedSettings = new Gcp.Diagflow.Inputs.CxPageFormParameterAdvancedSettingsArgs
                    {
                        DtmfSettings = new Gcp.Diagflow.Inputs.CxPageFormParameterAdvancedSettingsDtmfSettingsArgs
                        {
                            Enabled = true,
                            MaxDigits = 1,
                            FinishDigit = "#",
                        },
                    },
                },
            },
        },
        TransitionRoutes = new[]
        {
            new Gcp.Diagflow.Inputs.CxPageTransitionRouteArgs
            {
                Condition = "$page.params.status = 'FINAL'",
                TriggerFulfillment = new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentArgs
                {
                    Messages = new[]
                    {
                        new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageArgs
                        {
                            Channel = "some-channel",
                            Text = new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageTextArgs
                            {
                                Texts = new[]
                                {
                                    "information completed, navigating to page 2",
                                },
                            },
                        },
                        new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageArgs
                        {
                            Payload = @"          {""some-key"": ""some-value"", ""other-key"": [""other-value""]}
",
                        },
                        new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageArgs
                        {
                            ConversationSuccess = new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageConversationSuccessArgs
                            {
                                Metadata = @"            {""some-metadata-key"": ""some-value"", ""other-metadata-key"": 1234}
",
                            },
                        },
                        new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageArgs
                        {
                            OutputAudioText = new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs
                            {
                                Text = "some output text",
                            },
                        },
                        new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageArgs
                        {
                            OutputAudioText = new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs
                            {
                                Ssml = @"            <speak>Some example <say-as interpret-as=""characters"">SSML XML</say-as></speak>
",
                            },
                        },
                        new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageArgs
                        {
                            LiveAgentHandoff = new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageLiveAgentHandoffArgs
                            {
                                Metadata = @"            {""some-metadata-key"": ""some-value"", ""other-metadata-key"": 1234}
",
                            },
                        },
                        new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageArgs
                        {
                            PlayAudio = new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessagePlayAudioArgs
                            {
                                AudioUri = "http://example.com/some-audio-file.mp3",
                            },
                        },
                        new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageArgs
                        {
                            TelephonyTransferCall = new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageTelephonyTransferCallArgs
                            {
                                PhoneNumber = "1-234-567-8901",
                            },
                        },
                    },
                    SetParameterActions = new[]
                    {
                        new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentSetParameterActionArgs
                        {
                            Parameter = "some-param",
                            Value = "123.45",
                        },
                        new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentSetParameterActionArgs
                        {
                            Parameter = "another-param",
                            Value = JsonSerializer.Serialize("abc"),
                        },
                        new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentSetParameterActionArgs
                        {
                            Parameter = "other-param",
                            Value = JsonSerializer.Serialize(new[]
                            {
                                "foo",
                            }),
                        },
                    },
                    ConditionalCases = new[]
                    {
                        new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentConditionalCaseArgs
                        {
                            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",
                                                    },
                                                },
                                            },
                                        },
                                    },
                                },
                            }),
                        },
                    },
                },
                TargetPage = myPage2.Id,
            },
        },
        AdvancedSettings = new Gcp.Diagflow.Inputs.CxPageAdvancedSettingsArgs
        {
            DtmfSettings = new Gcp.Diagflow.Inputs.CxPageAdvancedSettingsDtmfSettingsArgs
            {
                Enabled = true,
                MaxDigits = 1,
                FinishDigit = "#",
            },
        },
    });
});
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.CxPage;
import com.pulumi.gcp.diagflow.CxPageArgs;
import com.pulumi.gcp.diagflow.CxWebhook;
import com.pulumi.gcp.diagflow.CxWebhookArgs;
import com.pulumi.gcp.diagflow.inputs.CxWebhookGenericWebServiceArgs;
import com.pulumi.gcp.diagflow.inputs.CxPageEntryFulfillmentArgs;
import com.pulumi.gcp.diagflow.inputs.CxPageEventHandlerArgs;
import com.pulumi.gcp.diagflow.inputs.CxPageEventHandlerTriggerFulfillmentArgs;
import com.pulumi.gcp.diagflow.inputs.CxPageFormArgs;
import com.pulumi.gcp.diagflow.inputs.CxPageTransitionRouteArgs;
import com.pulumi.gcp.diagflow.inputs.CxPageTransitionRouteTriggerFulfillmentArgs;
import com.pulumi.gcp.diagflow.inputs.CxPageAdvancedSettingsArgs;
import com.pulumi.gcp.diagflow.inputs.CxPageAdvancedSettingsDtmfSettingsArgs;
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 myPage2 = new CxPage("myPage2", CxPageArgs.builder()
            .parent(agent.startFlow())
            .displayName("MyPage2")
            .build());
        var myWebhook = new CxWebhook("myWebhook", CxWebhookArgs.builder()
            .parent(agent.id())
            .displayName("MyWebhook")
            .genericWebService(CxWebhookGenericWebServiceArgs.builder()
                .uri("https://example.com")
                .build())
            .build());
        var basicPage = new CxPage("basicPage", CxPageArgs.builder()
            .parent(agent.startFlow())
            .displayName("MyPage")
            .entryFulfillment(CxPageEntryFulfillmentArgs.builder()
                .messages(                
                    CxPageEntryFulfillmentMessageArgs.builder()
                        .channel("some-channel")
                        .text(CxPageEntryFulfillmentMessageTextArgs.builder()
                            .texts("Welcome to page")
                            .build())
                        .build(),
                    CxPageEntryFulfillmentMessageArgs.builder()
                        .payload("""
        {"some-key": "some-value", "other-key": ["other-value"]}
                        """)
                        .build(),
                    CxPageEntryFulfillmentMessageArgs.builder()
                        .conversationSuccess(CxPageEntryFulfillmentMessageConversationSuccessArgs.builder()
                            .metadata("""
          {"some-metadata-key": "some-value", "other-metadata-key": 1234}
                            """)
                            .build())
                        .build(),
                    CxPageEntryFulfillmentMessageArgs.builder()
                        .outputAudioText(CxPageEntryFulfillmentMessageOutputAudioTextArgs.builder()
                            .text("some output text")
                            .build())
                        .build(),
                    CxPageEntryFulfillmentMessageArgs.builder()
                        .outputAudioText(CxPageEntryFulfillmentMessageOutputAudioTextArgs.builder()
                            .ssml("""
          <speak>Some example <say-as interpret-as="characters">SSML XML</say-as></speak>
                            """)
                            .build())
                        .build(),
                    CxPageEntryFulfillmentMessageArgs.builder()
                        .liveAgentHandoff(CxPageEntryFulfillmentMessageLiveAgentHandoffArgs.builder()
                            .metadata("""
          {"some-metadata-key": "some-value", "other-metadata-key": 1234}
                            """)
                            .build())
                        .build(),
                    CxPageEntryFulfillmentMessageArgs.builder()
                        .playAudio(CxPageEntryFulfillmentMessagePlayAudioArgs.builder()
                            .audioUri("http://example.com/some-audio-file.mp3")
                            .build())
                        .build(),
                    CxPageEntryFulfillmentMessageArgs.builder()
                        .telephonyTransferCall(CxPageEntryFulfillmentMessageTelephonyTransferCallArgs.builder()
                            .phoneNumber("1-234-567-8901")
                            .build())
                        .build())
                .setParameterActions(                
                    CxPageEntryFulfillmentSetParameterActionArgs.builder()
                        .parameter("some-param")
                        .value("123.45")
                        .build(),
                    CxPageEntryFulfillmentSetParameterActionArgs.builder()
                        .parameter("another-param")
                        .value(serializeJson(
                            "abc"))
                        .build(),
                    CxPageEntryFulfillmentSetParameterActionArgs.builder()
                        .parameter("other-param")
                        .value(serializeJson(
                            jsonArray("foo")))
                        .build())
                .conditionalCases(CxPageEntryFulfillmentConditionalCaseArgs.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())
            .eventHandlers(CxPageEventHandlerArgs.builder()
                .event("some-event")
                .triggerFulfillment(CxPageEventHandlerTriggerFulfillmentArgs.builder()
                    .returnPartialResponses(true)
                    .messages(                    
                        CxPageEventHandlerTriggerFulfillmentMessageArgs.builder()
                            .channel("some-channel")
                            .text(CxPageEventHandlerTriggerFulfillmentMessageTextArgs.builder()
                                .texts("Some text")
                                .build())
                            .build(),
                        CxPageEventHandlerTriggerFulfillmentMessageArgs.builder()
                            .payload("""
          {"some-key": "some-value", "other-key": ["other-value"]}
                            """)
                            .build(),
                        CxPageEventHandlerTriggerFulfillmentMessageArgs.builder()
                            .conversationSuccess(CxPageEventHandlerTriggerFulfillmentMessageConversationSuccessArgs.builder()
                                .metadata("""
            {"some-metadata-key": "some-value", "other-metadata-key": 1234}
                                """)
                                .build())
                            .build(),
                        CxPageEventHandlerTriggerFulfillmentMessageArgs.builder()
                            .outputAudioText(CxPageEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs.builder()
                                .text("some output text")
                                .build())
                            .build(),
                        CxPageEventHandlerTriggerFulfillmentMessageArgs.builder()
                            .outputAudioText(CxPageEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs.builder()
                                .ssml("""
            <speak>Some example <say-as interpret-as="characters">SSML XML</say-as></speak>
                                """)
                                .build())
                            .build(),
                        CxPageEventHandlerTriggerFulfillmentMessageArgs.builder()
                            .liveAgentHandoff(CxPageEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs.builder()
                                .metadata("""
            {"some-metadata-key": "some-value", "other-metadata-key": 1234}
                                """)
                                .build())
                            .build(),
                        CxPageEventHandlerTriggerFulfillmentMessageArgs.builder()
                            .playAudio(CxPageEventHandlerTriggerFulfillmentMessagePlayAudioArgs.builder()
                                .audioUri("http://example.com/some-audio-file.mp3")
                                .build())
                            .build(),
                        CxPageEventHandlerTriggerFulfillmentMessageArgs.builder()
                            .telephonyTransferCall(CxPageEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs.builder()
                                .phoneNumber("1-234-567-8901")
                                .build())
                            .build())
                    .setParameterActions(                    
                        CxPageEventHandlerTriggerFulfillmentSetParameterActionArgs.builder()
                            .parameter("some-param")
                            .value("123.45")
                            .build(),
                        CxPageEventHandlerTriggerFulfillmentSetParameterActionArgs.builder()
                            .parameter("another-param")
                            .value(serializeJson(
                                "abc"))
                            .build(),
                        CxPageEventHandlerTriggerFulfillmentSetParameterActionArgs.builder()
                            .parameter("other-param")
                            .value(serializeJson(
                                jsonArray("foo")))
                            .build())
                    .conditionalCases(CxPageEventHandlerTriggerFulfillmentConditionalCaseArgs.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())
            .form(CxPageFormArgs.builder()
                .parameters(CxPageFormParameterArgs.builder()
                    .displayName("param1")
                    .entityType("projects/-/locations/-/agents/-/entityTypes/sys.date")
                    .defaultValue(serializeJson(
                        "2000-01-01"))
                    .fillBehavior(CxPageFormParameterFillBehaviorArgs.builder()
                        .initialPromptFulfillment(CxPageFormParameterFillBehaviorInitialPromptFulfillmentArgs.builder()
                            .messages(                            
                                CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs.builder()
                                    .channel("some-channel")
                                    .text(CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageTextArgs.builder()
                                        .texts("Please provide param1")
                                        .build())
                                    .build(),
                                CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs.builder()
                                    .payload("""
              {"some-key": "some-value", "other-key": ["other-value"]}
                                    """)
                                    .build(),
                                CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs.builder()
                                    .conversationSuccess(CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageConversationSuccessArgs.builder()
                                        .metadata("""
                {"some-metadata-key": "some-value", "other-metadata-key": 1234}
                                        """)
                                        .build())
                                    .build(),
                                CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs.builder()
                                    .outputAudioText(CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageOutputAudioTextArgs.builder()
                                        .text("some output text")
                                        .build())
                                    .build(),
                                CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs.builder()
                                    .outputAudioText(CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageOutputAudioTextArgs.builder()
                                        .ssml("""
                <speak>Some example <say-as interpret-as="characters">SSML XML</say-as></speak>
                                        """)
                                        .build())
                                    .build(),
                                CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs.builder()
                                    .liveAgentHandoff(CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageLiveAgentHandoffArgs.builder()
                                        .metadata("""
                {"some-metadata-key": "some-value", "other-metadata-key": 1234}
                                        """)
                                        .build())
                                    .build(),
                                CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs.builder()
                                    .playAudio(CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessagePlayAudioArgs.builder()
                                        .audioUri("http://example.com/some-audio-file.mp3")
                                        .build())
                                    .build(),
                                CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs.builder()
                                    .telephonyTransferCall(CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageTelephonyTransferCallArgs.builder()
                                        .phoneNumber("1-234-567-8901")
                                        .build())
                                    .build())
                            .setParameterActions(                            
                                CxPageFormParameterFillBehaviorInitialPromptFulfillmentSetParameterActionArgs.builder()
                                    .parameter("some-param")
                                    .value("123.45")
                                    .build(),
                                CxPageFormParameterFillBehaviorInitialPromptFulfillmentSetParameterActionArgs.builder()
                                    .parameter("another-param")
                                    .value(serializeJson(
                                        "abc"))
                                    .build(),
                                CxPageFormParameterFillBehaviorInitialPromptFulfillmentSetParameterActionArgs.builder()
                                    .parameter("other-param")
                                    .value(serializeJson(
                                        jsonArray("foo")))
                                    .build())
                            .conditionalCases(CxPageFormParameterFillBehaviorInitialPromptFulfillmentConditionalCaseArgs.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())
                        .repromptEventHandlers(                        
                            CxPageFormParameterFillBehaviorRepromptEventHandlerArgs.builder()
                                .event("sys.no-match-1")
                                .triggerFulfillment(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentArgs.builder()
                                    .returnPartialResponses(true)
                                    .webhook(myWebhook.id())
                                    .tag("some-tag")
                                    .messages(                                    
                                        CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs.builder()
                                            .channel("some-channel")
                                            .text(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageTextArgs.builder()
                                                .texts("Please provide param1")
                                                .build())
                                            .build(),
                                        CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs.builder()
                                            .payload("""
                {"some-key": "some-value", "other-key": ["other-value"]}
                                            """)
                                            .build(),
                                        CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs.builder()
                                            .conversationSuccess(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageConversationSuccessArgs.builder()
                                                .metadata("""
                  {"some-metadata-key": "some-value", "other-metadata-key": 1234}
                                                """)
                                                .build())
                                            .build(),
                                        CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs.builder()
                                            .outputAudioText(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs.builder()
                                                .text("some output text")
                                                .build())
                                            .build(),
                                        CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs.builder()
                                            .outputAudioText(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs.builder()
                                                .ssml("""
                  <speak>Some example <say-as interpret-as="characters">SSML XML</say-as></speak>
                                                """)
                                                .build())
                                            .build(),
                                        CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs.builder()
                                            .liveAgentHandoff(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs.builder()
                                                .metadata("""
                  {"some-metadata-key": "some-value", "other-metadata-key": 1234}
                                                """)
                                                .build())
                                            .build(),
                                        CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs.builder()
                                            .playAudio(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessagePlayAudioArgs.builder()
                                                .audioUri("http://example.com/some-audio-file.mp3")
                                                .build())
                                            .build(),
                                        CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs.builder()
                                            .telephonyTransferCall(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs.builder()
                                                .phoneNumber("1-234-567-8901")
                                                .build())
                                            .build())
                                    .setParameterActions(                                    
                                        CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentSetParameterActionArgs.builder()
                                            .parameter("some-param")
                                            .value("123.45")
                                            .build(),
                                        CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentSetParameterActionArgs.builder()
                                            .parameter("another-param")
                                            .value(serializeJson(
                                                "abc"))
                                            .build(),
                                        CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentSetParameterActionArgs.builder()
                                            .parameter("other-param")
                                            .value(serializeJson(
                                                jsonArray("foo")))
                                            .build())
                                    .conditionalCases(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentConditionalCaseArgs.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(),
                            CxPageFormParameterFillBehaviorRepromptEventHandlerArgs.builder()
                                .event("sys.no-match-2")
                                .targetFlow(agent.startFlow())
                                .build(),
                            CxPageFormParameterFillBehaviorRepromptEventHandlerArgs.builder()
                                .event("sys.no-match-3")
                                .targetPage(myPage2.id())
                                .build())
                        .build())
                    .required("true")
                    .redact("true")
                    .advancedSettings(CxPageFormParameterAdvancedSettingsArgs.builder()
                        .dtmfSettings(CxPageFormParameterAdvancedSettingsDtmfSettingsArgs.builder()
                            .enabled(true)
                            .maxDigits(1)
                            .finishDigit("#")
                            .build())
                        .build())
                    .build())
                .build())
            .transitionRoutes(CxPageTransitionRouteArgs.builder()
                .condition("$page.params.status = 'FINAL'")
                .triggerFulfillment(CxPageTransitionRouteTriggerFulfillmentArgs.builder()
                    .messages(                    
                        CxPageTransitionRouteTriggerFulfillmentMessageArgs.builder()
                            .channel("some-channel")
                            .text(CxPageTransitionRouteTriggerFulfillmentMessageTextArgs.builder()
                                .texts("information completed, navigating to page 2")
                                .build())
                            .build(),
                        CxPageTransitionRouteTriggerFulfillmentMessageArgs.builder()
                            .payload("""
          {"some-key": "some-value", "other-key": ["other-value"]}
                            """)
                            .build(),
                        CxPageTransitionRouteTriggerFulfillmentMessageArgs.builder()
                            .conversationSuccess(CxPageTransitionRouteTriggerFulfillmentMessageConversationSuccessArgs.builder()
                                .metadata("""
            {"some-metadata-key": "some-value", "other-metadata-key": 1234}
                                """)
                                .build())
                            .build(),
                        CxPageTransitionRouteTriggerFulfillmentMessageArgs.builder()
                            .outputAudioText(CxPageTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs.builder()
                                .text("some output text")
                                .build())
                            .build(),
                        CxPageTransitionRouteTriggerFulfillmentMessageArgs.builder()
                            .outputAudioText(CxPageTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs.builder()
                                .ssml("""
            <speak>Some example <say-as interpret-as="characters">SSML XML</say-as></speak>
                                """)
                                .build())
                            .build(),
                        CxPageTransitionRouteTriggerFulfillmentMessageArgs.builder()
                            .liveAgentHandoff(CxPageTransitionRouteTriggerFulfillmentMessageLiveAgentHandoffArgs.builder()
                                .metadata("""
            {"some-metadata-key": "some-value", "other-metadata-key": 1234}
                                """)
                                .build())
                            .build(),
                        CxPageTransitionRouteTriggerFulfillmentMessageArgs.builder()
                            .playAudio(CxPageTransitionRouteTriggerFulfillmentMessagePlayAudioArgs.builder()
                                .audioUri("http://example.com/some-audio-file.mp3")
                                .build())
                            .build(),
                        CxPageTransitionRouteTriggerFulfillmentMessageArgs.builder()
                            .telephonyTransferCall(CxPageTransitionRouteTriggerFulfillmentMessageTelephonyTransferCallArgs.builder()
                                .phoneNumber("1-234-567-8901")
                                .build())
                            .build())
                    .setParameterActions(                    
                        CxPageTransitionRouteTriggerFulfillmentSetParameterActionArgs.builder()
                            .parameter("some-param")
                            .value("123.45")
                            .build(),
                        CxPageTransitionRouteTriggerFulfillmentSetParameterActionArgs.builder()
                            .parameter("another-param")
                            .value(serializeJson(
                                "abc"))
                            .build(),
                        CxPageTransitionRouteTriggerFulfillmentSetParameterActionArgs.builder()
                            .parameter("other-param")
                            .value(serializeJson(
                                jsonArray("foo")))
                            .build())
                    .conditionalCases(CxPageTransitionRouteTriggerFulfillmentConditionalCaseArgs.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())
                .targetPage(myPage2.id())
                .build())
            .advancedSettings(CxPageAdvancedSettingsArgs.builder()
                .dtmfSettings(CxPageAdvancedSettingsDtmfSettingsArgs.builder()
                    .enabled(true)
                    .maxDigits(1)
                    .finishDigit("#")
                    .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
  basicPage:
    type: gcp:diagflow:CxPage
    name: basic_page
    properties:
      parent: ${agent.startFlow}
      displayName: MyPage
      entryFulfillment:
        messages:
          - channel: some-channel
            text:
              texts:
                - Welcome to page
          - 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
      eventHandlers:
        - event: some-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
      form:
        parameters:
          - displayName: param1
            entityType: projects/-/locations/-/agents/-/entityTypes/sys.date
            defaultValue:
              fn::toJSON: 2000-01-01
            fillBehavior:
              initialPromptFulfillment:
                messages:
                  - channel: some-channel
                    text:
                      texts:
                        - Please provide param1
                  - 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
              repromptEventHandlers:
                - event: sys.no-match-1
                  triggerFulfillment:
                    returnPartialResponses: true
                    webhook: ${myWebhook.id}
                    tag: some-tag
                    messages:
                      - channel: some-channel
                        text:
                          texts:
                            - Please provide param1
                      - 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
                - event: sys.no-match-2
                  targetFlow: ${agent.startFlow}
                - event: sys.no-match-3
                  targetPage: ${myPage2.id}
            required: 'true'
            redact: 'true'
            advancedSettings:
              dtmfSettings:
                enabled: true
                maxDigits: 1
                finishDigit: '#'
      transitionRoutes:
        - condition: $page.params.status = 'FINAL'
          triggerFulfillment:
            messages:
              - channel: some-channel
                text:
                  texts:
                    - information completed, navigating to page 2
              - 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
          targetPage: ${myPage2.id}
      advancedSettings:
        dtmfSettings:
          enabled: true
          maxDigits: 1
          finishDigit: '#'
  myPage2:
    type: gcp:diagflow:CxPage
    name: my_page2
    properties:
      parent: ${agent.startFlow}
      displayName: MyPage2
  myWebhook:
    type: gcp:diagflow:CxWebhook
    name: my_webhook
    properties:
      parent: ${agent.id}
      displayName: MyWebhook
      genericWebService:
        uri: https://example.com
Create CxPage Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new CxPage(name: string, args: CxPageArgs, opts?: CustomResourceOptions);@overload
def CxPage(resource_name: str,
           args: CxPageArgs,
           opts: Optional[ResourceOptions] = None)
@overload
def CxPage(resource_name: str,
           opts: Optional[ResourceOptions] = None,
           display_name: Optional[str] = None,
           advanced_settings: Optional[CxPageAdvancedSettingsArgs] = None,
           entry_fulfillment: Optional[CxPageEntryFulfillmentArgs] = None,
           event_handlers: Optional[Sequence[CxPageEventHandlerArgs]] = None,
           form: Optional[CxPageFormArgs] = None,
           language_code: Optional[str] = None,
           parent: Optional[str] = None,
           transition_route_groups: Optional[Sequence[str]] = None,
           transition_routes: Optional[Sequence[CxPageTransitionRouteArgs]] = None)func NewCxPage(ctx *Context, name string, args CxPageArgs, opts ...ResourceOption) (*CxPage, error)public CxPage(string name, CxPageArgs args, CustomResourceOptions? opts = null)
public CxPage(String name, CxPageArgs args)
public CxPage(String name, CxPageArgs args, CustomResourceOptions options)
type: gcp:diagflow:CxPage
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 CxPageArgs
- 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 CxPageArgs
- 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 CxPageArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args CxPageArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args CxPageArgs
- 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 cxPageResource = new Gcp.Diagflow.CxPage("cxPageResource", new()
{
    DisplayName = "string",
    AdvancedSettings = new Gcp.Diagflow.Inputs.CxPageAdvancedSettingsArgs
    {
        DtmfSettings = new Gcp.Diagflow.Inputs.CxPageAdvancedSettingsDtmfSettingsArgs
        {
            Enabled = false,
            FinishDigit = "string",
            MaxDigits = 0,
        },
    },
    EntryFulfillment = new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentArgs
    {
        ConditionalCases = new[]
        {
            new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentConditionalCaseArgs
            {
                Cases = "string",
            },
        },
        Messages = new[]
        {
            new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageArgs
            {
                Channel = "string",
                ConversationSuccess = new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageConversationSuccessArgs
                {
                    Metadata = "string",
                },
                LiveAgentHandoff = new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageLiveAgentHandoffArgs
                {
                    Metadata = "string",
                },
                OutputAudioText = new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageOutputAudioTextArgs
                {
                    AllowPlaybackInterruption = false,
                    Ssml = "string",
                    Text = "string",
                },
                Payload = "string",
                PlayAudio = new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessagePlayAudioArgs
                {
                    AudioUri = "string",
                    AllowPlaybackInterruption = false,
                },
                TelephonyTransferCall = new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageTelephonyTransferCallArgs
                {
                    PhoneNumber = "string",
                },
                Text = new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentMessageTextArgs
                {
                    AllowPlaybackInterruption = false,
                    Texts = new[]
                    {
                        "string",
                    },
                },
            },
        },
        ReturnPartialResponses = false,
        SetParameterActions = new[]
        {
            new Gcp.Diagflow.Inputs.CxPageEntryFulfillmentSetParameterActionArgs
            {
                Parameter = "string",
                Value = "string",
            },
        },
        Tag = "string",
        Webhook = "string",
    },
    EventHandlers = new[]
    {
        new Gcp.Diagflow.Inputs.CxPageEventHandlerArgs
        {
            Event = "string",
            Name = "string",
            TargetFlow = "string",
            TargetPage = "string",
            TriggerFulfillment = new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentArgs
            {
                ConditionalCases = new[]
                {
                    new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentConditionalCaseArgs
                    {
                        Cases = "string",
                    },
                },
                Messages = new[]
                {
                    new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageArgs
                    {
                        Channel = "string",
                        ConversationSuccess = new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageConversationSuccessArgs
                        {
                            Metadata = "string",
                        },
                        LiveAgentHandoff = new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs
                        {
                            Metadata = "string",
                        },
                        OutputAudioText = new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs
                        {
                            AllowPlaybackInterruption = false,
                            Ssml = "string",
                            Text = "string",
                        },
                        Payload = "string",
                        PlayAudio = new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessagePlayAudioArgs
                        {
                            AudioUri = "string",
                            AllowPlaybackInterruption = false,
                        },
                        TelephonyTransferCall = new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs
                        {
                            PhoneNumber = "string",
                        },
                        Text = new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentMessageTextArgs
                        {
                            AllowPlaybackInterruption = false,
                            Texts = new[]
                            {
                                "string",
                            },
                        },
                    },
                },
                ReturnPartialResponses = false,
                SetParameterActions = new[]
                {
                    new Gcp.Diagflow.Inputs.CxPageEventHandlerTriggerFulfillmentSetParameterActionArgs
                    {
                        Parameter = "string",
                        Value = "string",
                    },
                },
                Tag = "string",
                Webhook = "string",
            },
        },
    },
    Form = new Gcp.Diagflow.Inputs.CxPageFormArgs
    {
        Parameters = new[]
        {
            new Gcp.Diagflow.Inputs.CxPageFormParameterArgs
            {
                AdvancedSettings = new Gcp.Diagflow.Inputs.CxPageFormParameterAdvancedSettingsArgs
                {
                    DtmfSettings = new Gcp.Diagflow.Inputs.CxPageFormParameterAdvancedSettingsDtmfSettingsArgs
                    {
                        Enabled = false,
                        FinishDigit = "string",
                        MaxDigits = 0,
                    },
                },
                DefaultValue = "string",
                DisplayName = "string",
                EntityType = "string",
                FillBehavior = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorArgs
                {
                    InitialPromptFulfillment = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentArgs
                    {
                        ConditionalCases = new[]
                        {
                            new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentConditionalCaseArgs
                            {
                                Cases = "string",
                            },
                        },
                        Messages = new[]
                        {
                            new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs
                            {
                                Channel = "string",
                                ConversationSuccess = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageConversationSuccessArgs
                                {
                                    Metadata = "string",
                                },
                                LiveAgentHandoff = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageLiveAgentHandoffArgs
                                {
                                    Metadata = "string",
                                },
                                OutputAudioText = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageOutputAudioTextArgs
                                {
                                    AllowPlaybackInterruption = false,
                                    Ssml = "string",
                                    Text = "string",
                                },
                                Payload = "string",
                                PlayAudio = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessagePlayAudioArgs
                                {
                                    AudioUri = "string",
                                    AllowPlaybackInterruption = false,
                                },
                                TelephonyTransferCall = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageTelephonyTransferCallArgs
                                {
                                    PhoneNumber = "string",
                                },
                                Text = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageTextArgs
                                {
                                    AllowPlaybackInterruption = false,
                                    Texts = new[]
                                    {
                                        "string",
                                    },
                                },
                            },
                        },
                        ReturnPartialResponses = false,
                        SetParameterActions = new[]
                        {
                            new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorInitialPromptFulfillmentSetParameterActionArgs
                            {
                                Parameter = "string",
                                Value = "string",
                            },
                        },
                        Tag = "string",
                        Webhook = "string",
                    },
                    RepromptEventHandlers = new[]
                    {
                        new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerArgs
                        {
                            Event = "string",
                            Name = "string",
                            TargetFlow = "string",
                            TargetPage = "string",
                            TriggerFulfillment = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentArgs
                            {
                                ConditionalCases = new[]
                                {
                                    new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentConditionalCaseArgs
                                    {
                                        Cases = "string",
                                    },
                                },
                                Messages = new[]
                                {
                                    new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs
                                    {
                                        Channel = "string",
                                        ConversationSuccess = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageConversationSuccessArgs
                                        {
                                            Metadata = "string",
                                        },
                                        LiveAgentHandoff = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs
                                        {
                                            Metadata = "string",
                                        },
                                        OutputAudioText = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs
                                        {
                                            AllowPlaybackInterruption = false,
                                            Ssml = "string",
                                            Text = "string",
                                        },
                                        Payload = "string",
                                        PlayAudio = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessagePlayAudioArgs
                                        {
                                            AudioUri = "string",
                                            AllowPlaybackInterruption = false,
                                        },
                                        TelephonyTransferCall = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs
                                        {
                                            PhoneNumber = "string",
                                        },
                                        Text = new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageTextArgs
                                        {
                                            AllowPlaybackInterruption = false,
                                            Texts = new[]
                                            {
                                                "string",
                                            },
                                        },
                                    },
                                },
                                ReturnPartialResponses = false,
                                SetParameterActions = new[]
                                {
                                    new Gcp.Diagflow.Inputs.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentSetParameterActionArgs
                                    {
                                        Parameter = "string",
                                        Value = "string",
                                    },
                                },
                                Tag = "string",
                                Webhook = "string",
                            },
                        },
                    },
                },
                IsList = false,
                Redact = false,
                Required = false,
            },
        },
    },
    LanguageCode = "string",
    Parent = "string",
    TransitionRouteGroups = new[]
    {
        "string",
    },
    TransitionRoutes = new[]
    {
        new Gcp.Diagflow.Inputs.CxPageTransitionRouteArgs
        {
            Condition = "string",
            Intent = "string",
            Name = "string",
            TargetFlow = "string",
            TargetPage = "string",
            TriggerFulfillment = new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentArgs
            {
                ConditionalCases = new[]
                {
                    new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentConditionalCaseArgs
                    {
                        Cases = "string",
                    },
                },
                Messages = new[]
                {
                    new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageArgs
                    {
                        Channel = "string",
                        ConversationSuccess = new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageConversationSuccessArgs
                        {
                            Metadata = "string",
                        },
                        LiveAgentHandoff = new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageLiveAgentHandoffArgs
                        {
                            Metadata = "string",
                        },
                        OutputAudioText = new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs
                        {
                            AllowPlaybackInterruption = false,
                            Ssml = "string",
                            Text = "string",
                        },
                        Payload = "string",
                        PlayAudio = new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessagePlayAudioArgs
                        {
                            AudioUri = "string",
                            AllowPlaybackInterruption = false,
                        },
                        TelephonyTransferCall = new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageTelephonyTransferCallArgs
                        {
                            PhoneNumber = "string",
                        },
                        Text = new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentMessageTextArgs
                        {
                            AllowPlaybackInterruption = false,
                            Texts = new[]
                            {
                                "string",
                            },
                        },
                    },
                },
                ReturnPartialResponses = false,
                SetParameterActions = new[]
                {
                    new Gcp.Diagflow.Inputs.CxPageTransitionRouteTriggerFulfillmentSetParameterActionArgs
                    {
                        Parameter = "string",
                        Value = "string",
                    },
                },
                Tag = "string",
                Webhook = "string",
            },
        },
    },
});
example, err := diagflow.NewCxPage(ctx, "cxPageResource", &diagflow.CxPageArgs{
	DisplayName: pulumi.String("string"),
	AdvancedSettings: &diagflow.CxPageAdvancedSettingsArgs{
		DtmfSettings: &diagflow.CxPageAdvancedSettingsDtmfSettingsArgs{
			Enabled:     pulumi.Bool(false),
			FinishDigit: pulumi.String("string"),
			MaxDigits:   pulumi.Int(0),
		},
	},
	EntryFulfillment: &diagflow.CxPageEntryFulfillmentArgs{
		ConditionalCases: diagflow.CxPageEntryFulfillmentConditionalCaseArray{
			&diagflow.CxPageEntryFulfillmentConditionalCaseArgs{
				Cases: pulumi.String("string"),
			},
		},
		Messages: diagflow.CxPageEntryFulfillmentMessageArray{
			&diagflow.CxPageEntryFulfillmentMessageArgs{
				Channel: pulumi.String("string"),
				ConversationSuccess: &diagflow.CxPageEntryFulfillmentMessageConversationSuccessArgs{
					Metadata: pulumi.String("string"),
				},
				LiveAgentHandoff: &diagflow.CxPageEntryFulfillmentMessageLiveAgentHandoffArgs{
					Metadata: pulumi.String("string"),
				},
				OutputAudioText: &diagflow.CxPageEntryFulfillmentMessageOutputAudioTextArgs{
					AllowPlaybackInterruption: pulumi.Bool(false),
					Ssml:                      pulumi.String("string"),
					Text:                      pulumi.String("string"),
				},
				Payload: pulumi.String("string"),
				PlayAudio: &diagflow.CxPageEntryFulfillmentMessagePlayAudioArgs{
					AudioUri:                  pulumi.String("string"),
					AllowPlaybackInterruption: pulumi.Bool(false),
				},
				TelephonyTransferCall: &diagflow.CxPageEntryFulfillmentMessageTelephonyTransferCallArgs{
					PhoneNumber: pulumi.String("string"),
				},
				Text: &diagflow.CxPageEntryFulfillmentMessageTextArgs{
					AllowPlaybackInterruption: pulumi.Bool(false),
					Texts: pulumi.StringArray{
						pulumi.String("string"),
					},
				},
			},
		},
		ReturnPartialResponses: pulumi.Bool(false),
		SetParameterActions: diagflow.CxPageEntryFulfillmentSetParameterActionArray{
			&diagflow.CxPageEntryFulfillmentSetParameterActionArgs{
				Parameter: pulumi.String("string"),
				Value:     pulumi.String("string"),
			},
		},
		Tag:     pulumi.String("string"),
		Webhook: pulumi.String("string"),
	},
	EventHandlers: diagflow.CxPageEventHandlerArray{
		&diagflow.CxPageEventHandlerArgs{
			Event:      pulumi.String("string"),
			Name:       pulumi.String("string"),
			TargetFlow: pulumi.String("string"),
			TargetPage: pulumi.String("string"),
			TriggerFulfillment: &diagflow.CxPageEventHandlerTriggerFulfillmentArgs{
				ConditionalCases: diagflow.CxPageEventHandlerTriggerFulfillmentConditionalCaseArray{
					&diagflow.CxPageEventHandlerTriggerFulfillmentConditionalCaseArgs{
						Cases: pulumi.String("string"),
					},
				},
				Messages: diagflow.CxPageEventHandlerTriggerFulfillmentMessageArray{
					&diagflow.CxPageEventHandlerTriggerFulfillmentMessageArgs{
						Channel: pulumi.String("string"),
						ConversationSuccess: &diagflow.CxPageEventHandlerTriggerFulfillmentMessageConversationSuccessArgs{
							Metadata: pulumi.String("string"),
						},
						LiveAgentHandoff: &diagflow.CxPageEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs{
							Metadata: pulumi.String("string"),
						},
						OutputAudioText: &diagflow.CxPageEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs{
							AllowPlaybackInterruption: pulumi.Bool(false),
							Ssml:                      pulumi.String("string"),
							Text:                      pulumi.String("string"),
						},
						Payload: pulumi.String("string"),
						PlayAudio: &diagflow.CxPageEventHandlerTriggerFulfillmentMessagePlayAudioArgs{
							AudioUri:                  pulumi.String("string"),
							AllowPlaybackInterruption: pulumi.Bool(false),
						},
						TelephonyTransferCall: &diagflow.CxPageEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs{
							PhoneNumber: pulumi.String("string"),
						},
						Text: &diagflow.CxPageEventHandlerTriggerFulfillmentMessageTextArgs{
							AllowPlaybackInterruption: pulumi.Bool(false),
							Texts: pulumi.StringArray{
								pulumi.String("string"),
							},
						},
					},
				},
				ReturnPartialResponses: pulumi.Bool(false),
				SetParameterActions: diagflow.CxPageEventHandlerTriggerFulfillmentSetParameterActionArray{
					&diagflow.CxPageEventHandlerTriggerFulfillmentSetParameterActionArgs{
						Parameter: pulumi.String("string"),
						Value:     pulumi.String("string"),
					},
				},
				Tag:     pulumi.String("string"),
				Webhook: pulumi.String("string"),
			},
		},
	},
	Form: &diagflow.CxPageFormArgs{
		Parameters: diagflow.CxPageFormParameterArray{
			&diagflow.CxPageFormParameterArgs{
				AdvancedSettings: &diagflow.CxPageFormParameterAdvancedSettingsArgs{
					DtmfSettings: &diagflow.CxPageFormParameterAdvancedSettingsDtmfSettingsArgs{
						Enabled:     pulumi.Bool(false),
						FinishDigit: pulumi.String("string"),
						MaxDigits:   pulumi.Int(0),
					},
				},
				DefaultValue: pulumi.String("string"),
				DisplayName:  pulumi.String("string"),
				EntityType:   pulumi.String("string"),
				FillBehavior: &diagflow.CxPageFormParameterFillBehaviorArgs{
					InitialPromptFulfillment: &diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentArgs{
						ConditionalCases: diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentConditionalCaseArray{
							&diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentConditionalCaseArgs{
								Cases: pulumi.String("string"),
							},
						},
						Messages: diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArray{
							&diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs{
								Channel: pulumi.String("string"),
								ConversationSuccess: &diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageConversationSuccessArgs{
									Metadata: pulumi.String("string"),
								},
								LiveAgentHandoff: &diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageLiveAgentHandoffArgs{
									Metadata: pulumi.String("string"),
								},
								OutputAudioText: &diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageOutputAudioTextArgs{
									AllowPlaybackInterruption: pulumi.Bool(false),
									Ssml:                      pulumi.String("string"),
									Text:                      pulumi.String("string"),
								},
								Payload: pulumi.String("string"),
								PlayAudio: &diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessagePlayAudioArgs{
									AudioUri:                  pulumi.String("string"),
									AllowPlaybackInterruption: pulumi.Bool(false),
								},
								TelephonyTransferCall: &diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageTelephonyTransferCallArgs{
									PhoneNumber: pulumi.String("string"),
								},
								Text: &diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageTextArgs{
									AllowPlaybackInterruption: pulumi.Bool(false),
									Texts: pulumi.StringArray{
										pulumi.String("string"),
									},
								},
							},
						},
						ReturnPartialResponses: pulumi.Bool(false),
						SetParameterActions: diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentSetParameterActionArray{
							&diagflow.CxPageFormParameterFillBehaviorInitialPromptFulfillmentSetParameterActionArgs{
								Parameter: pulumi.String("string"),
								Value:     pulumi.String("string"),
							},
						},
						Tag:     pulumi.String("string"),
						Webhook: pulumi.String("string"),
					},
					RepromptEventHandlers: diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerArray{
						&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerArgs{
							Event:      pulumi.String("string"),
							Name:       pulumi.String("string"),
							TargetFlow: pulumi.String("string"),
							TargetPage: pulumi.String("string"),
							TriggerFulfillment: &diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentArgs{
								ConditionalCases: diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentConditionalCaseArray{
									&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentConditionalCaseArgs{
										Cases: pulumi.String("string"),
									},
								},
								Messages: diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArray{
									&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs{
										Channel: pulumi.String("string"),
										ConversationSuccess: &diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageConversationSuccessArgs{
											Metadata: pulumi.String("string"),
										},
										LiveAgentHandoff: &diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs{
											Metadata: pulumi.String("string"),
										},
										OutputAudioText: &diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs{
											AllowPlaybackInterruption: pulumi.Bool(false),
											Ssml:                      pulumi.String("string"),
											Text:                      pulumi.String("string"),
										},
										Payload: pulumi.String("string"),
										PlayAudio: &diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessagePlayAudioArgs{
											AudioUri:                  pulumi.String("string"),
											AllowPlaybackInterruption: pulumi.Bool(false),
										},
										TelephonyTransferCall: &diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs{
											PhoneNumber: pulumi.String("string"),
										},
										Text: &diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageTextArgs{
											AllowPlaybackInterruption: pulumi.Bool(false),
											Texts: pulumi.StringArray{
												pulumi.String("string"),
											},
										},
									},
								},
								ReturnPartialResponses: pulumi.Bool(false),
								SetParameterActions: diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentSetParameterActionArray{
									&diagflow.CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentSetParameterActionArgs{
										Parameter: pulumi.String("string"),
										Value:     pulumi.String("string"),
									},
								},
								Tag:     pulumi.String("string"),
								Webhook: pulumi.String("string"),
							},
						},
					},
				},
				IsList:   pulumi.Bool(false),
				Redact:   pulumi.Bool(false),
				Required: pulumi.Bool(false),
			},
		},
	},
	LanguageCode: pulumi.String("string"),
	Parent:       pulumi.String("string"),
	TransitionRouteGroups: pulumi.StringArray{
		pulumi.String("string"),
	},
	TransitionRoutes: diagflow.CxPageTransitionRouteArray{
		&diagflow.CxPageTransitionRouteArgs{
			Condition:  pulumi.String("string"),
			Intent:     pulumi.String("string"),
			Name:       pulumi.String("string"),
			TargetFlow: pulumi.String("string"),
			TargetPage: pulumi.String("string"),
			TriggerFulfillment: &diagflow.CxPageTransitionRouteTriggerFulfillmentArgs{
				ConditionalCases: diagflow.CxPageTransitionRouteTriggerFulfillmentConditionalCaseArray{
					&diagflow.CxPageTransitionRouteTriggerFulfillmentConditionalCaseArgs{
						Cases: pulumi.String("string"),
					},
				},
				Messages: diagflow.CxPageTransitionRouteTriggerFulfillmentMessageArray{
					&diagflow.CxPageTransitionRouteTriggerFulfillmentMessageArgs{
						Channel: pulumi.String("string"),
						ConversationSuccess: &diagflow.CxPageTransitionRouteTriggerFulfillmentMessageConversationSuccessArgs{
							Metadata: pulumi.String("string"),
						},
						LiveAgentHandoff: &diagflow.CxPageTransitionRouteTriggerFulfillmentMessageLiveAgentHandoffArgs{
							Metadata: pulumi.String("string"),
						},
						OutputAudioText: &diagflow.CxPageTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs{
							AllowPlaybackInterruption: pulumi.Bool(false),
							Ssml:                      pulumi.String("string"),
							Text:                      pulumi.String("string"),
						},
						Payload: pulumi.String("string"),
						PlayAudio: &diagflow.CxPageTransitionRouteTriggerFulfillmentMessagePlayAudioArgs{
							AudioUri:                  pulumi.String("string"),
							AllowPlaybackInterruption: pulumi.Bool(false),
						},
						TelephonyTransferCall: &diagflow.CxPageTransitionRouteTriggerFulfillmentMessageTelephonyTransferCallArgs{
							PhoneNumber: pulumi.String("string"),
						},
						Text: &diagflow.CxPageTransitionRouteTriggerFulfillmentMessageTextArgs{
							AllowPlaybackInterruption: pulumi.Bool(false),
							Texts: pulumi.StringArray{
								pulumi.String("string"),
							},
						},
					},
				},
				ReturnPartialResponses: pulumi.Bool(false),
				SetParameterActions: diagflow.CxPageTransitionRouteTriggerFulfillmentSetParameterActionArray{
					&diagflow.CxPageTransitionRouteTriggerFulfillmentSetParameterActionArgs{
						Parameter: pulumi.String("string"),
						Value:     pulumi.String("string"),
					},
				},
				Tag:     pulumi.String("string"),
				Webhook: pulumi.String("string"),
			},
		},
	},
})
var cxPageResource = new CxPage("cxPageResource", CxPageArgs.builder()
    .displayName("string")
    .advancedSettings(CxPageAdvancedSettingsArgs.builder()
        .dtmfSettings(CxPageAdvancedSettingsDtmfSettingsArgs.builder()
            .enabled(false)
            .finishDigit("string")
            .maxDigits(0)
            .build())
        .build())
    .entryFulfillment(CxPageEntryFulfillmentArgs.builder()
        .conditionalCases(CxPageEntryFulfillmentConditionalCaseArgs.builder()
            .cases("string")
            .build())
        .messages(CxPageEntryFulfillmentMessageArgs.builder()
            .channel("string")
            .conversationSuccess(CxPageEntryFulfillmentMessageConversationSuccessArgs.builder()
                .metadata("string")
                .build())
            .liveAgentHandoff(CxPageEntryFulfillmentMessageLiveAgentHandoffArgs.builder()
                .metadata("string")
                .build())
            .outputAudioText(CxPageEntryFulfillmentMessageOutputAudioTextArgs.builder()
                .allowPlaybackInterruption(false)
                .ssml("string")
                .text("string")
                .build())
            .payload("string")
            .playAudio(CxPageEntryFulfillmentMessagePlayAudioArgs.builder()
                .audioUri("string")
                .allowPlaybackInterruption(false)
                .build())
            .telephonyTransferCall(CxPageEntryFulfillmentMessageTelephonyTransferCallArgs.builder()
                .phoneNumber("string")
                .build())
            .text(CxPageEntryFulfillmentMessageTextArgs.builder()
                .allowPlaybackInterruption(false)
                .texts("string")
                .build())
            .build())
        .returnPartialResponses(false)
        .setParameterActions(CxPageEntryFulfillmentSetParameterActionArgs.builder()
            .parameter("string")
            .value("string")
            .build())
        .tag("string")
        .webhook("string")
        .build())
    .eventHandlers(CxPageEventHandlerArgs.builder()
        .event("string")
        .name("string")
        .targetFlow("string")
        .targetPage("string")
        .triggerFulfillment(CxPageEventHandlerTriggerFulfillmentArgs.builder()
            .conditionalCases(CxPageEventHandlerTriggerFulfillmentConditionalCaseArgs.builder()
                .cases("string")
                .build())
            .messages(CxPageEventHandlerTriggerFulfillmentMessageArgs.builder()
                .channel("string")
                .conversationSuccess(CxPageEventHandlerTriggerFulfillmentMessageConversationSuccessArgs.builder()
                    .metadata("string")
                    .build())
                .liveAgentHandoff(CxPageEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs.builder()
                    .metadata("string")
                    .build())
                .outputAudioText(CxPageEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs.builder()
                    .allowPlaybackInterruption(false)
                    .ssml("string")
                    .text("string")
                    .build())
                .payload("string")
                .playAudio(CxPageEventHandlerTriggerFulfillmentMessagePlayAudioArgs.builder()
                    .audioUri("string")
                    .allowPlaybackInterruption(false)
                    .build())
                .telephonyTransferCall(CxPageEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs.builder()
                    .phoneNumber("string")
                    .build())
                .text(CxPageEventHandlerTriggerFulfillmentMessageTextArgs.builder()
                    .allowPlaybackInterruption(false)
                    .texts("string")
                    .build())
                .build())
            .returnPartialResponses(false)
            .setParameterActions(CxPageEventHandlerTriggerFulfillmentSetParameterActionArgs.builder()
                .parameter("string")
                .value("string")
                .build())
            .tag("string")
            .webhook("string")
            .build())
        .build())
    .form(CxPageFormArgs.builder()
        .parameters(CxPageFormParameterArgs.builder()
            .advancedSettings(CxPageFormParameterAdvancedSettingsArgs.builder()
                .dtmfSettings(CxPageFormParameterAdvancedSettingsDtmfSettingsArgs.builder()
                    .enabled(false)
                    .finishDigit("string")
                    .maxDigits(0)
                    .build())
                .build())
            .defaultValue("string")
            .displayName("string")
            .entityType("string")
            .fillBehavior(CxPageFormParameterFillBehaviorArgs.builder()
                .initialPromptFulfillment(CxPageFormParameterFillBehaviorInitialPromptFulfillmentArgs.builder()
                    .conditionalCases(CxPageFormParameterFillBehaviorInitialPromptFulfillmentConditionalCaseArgs.builder()
                        .cases("string")
                        .build())
                    .messages(CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs.builder()
                        .channel("string")
                        .conversationSuccess(CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageConversationSuccessArgs.builder()
                            .metadata("string")
                            .build())
                        .liveAgentHandoff(CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageLiveAgentHandoffArgs.builder()
                            .metadata("string")
                            .build())
                        .outputAudioText(CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageOutputAudioTextArgs.builder()
                            .allowPlaybackInterruption(false)
                            .ssml("string")
                            .text("string")
                            .build())
                        .payload("string")
                        .playAudio(CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessagePlayAudioArgs.builder()
                            .audioUri("string")
                            .allowPlaybackInterruption(false)
                            .build())
                        .telephonyTransferCall(CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageTelephonyTransferCallArgs.builder()
                            .phoneNumber("string")
                            .build())
                        .text(CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageTextArgs.builder()
                            .allowPlaybackInterruption(false)
                            .texts("string")
                            .build())
                        .build())
                    .returnPartialResponses(false)
                    .setParameterActions(CxPageFormParameterFillBehaviorInitialPromptFulfillmentSetParameterActionArgs.builder()
                        .parameter("string")
                        .value("string")
                        .build())
                    .tag("string")
                    .webhook("string")
                    .build())
                .repromptEventHandlers(CxPageFormParameterFillBehaviorRepromptEventHandlerArgs.builder()
                    .event("string")
                    .name("string")
                    .targetFlow("string")
                    .targetPage("string")
                    .triggerFulfillment(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentArgs.builder()
                        .conditionalCases(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentConditionalCaseArgs.builder()
                            .cases("string")
                            .build())
                        .messages(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs.builder()
                            .channel("string")
                            .conversationSuccess(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageConversationSuccessArgs.builder()
                                .metadata("string")
                                .build())
                            .liveAgentHandoff(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs.builder()
                                .metadata("string")
                                .build())
                            .outputAudioText(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs.builder()
                                .allowPlaybackInterruption(false)
                                .ssml("string")
                                .text("string")
                                .build())
                            .payload("string")
                            .playAudio(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessagePlayAudioArgs.builder()
                                .audioUri("string")
                                .allowPlaybackInterruption(false)
                                .build())
                            .telephonyTransferCall(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs.builder()
                                .phoneNumber("string")
                                .build())
                            .text(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageTextArgs.builder()
                                .allowPlaybackInterruption(false)
                                .texts("string")
                                .build())
                            .build())
                        .returnPartialResponses(false)
                        .setParameterActions(CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentSetParameterActionArgs.builder()
                            .parameter("string")
                            .value("string")
                            .build())
                        .tag("string")
                        .webhook("string")
                        .build())
                    .build())
                .build())
            .isList(false)
            .redact(false)
            .required(false)
            .build())
        .build())
    .languageCode("string")
    .parent("string")
    .transitionRouteGroups("string")
    .transitionRoutes(CxPageTransitionRouteArgs.builder()
        .condition("string")
        .intent("string")
        .name("string")
        .targetFlow("string")
        .targetPage("string")
        .triggerFulfillment(CxPageTransitionRouteTriggerFulfillmentArgs.builder()
            .conditionalCases(CxPageTransitionRouteTriggerFulfillmentConditionalCaseArgs.builder()
                .cases("string")
                .build())
            .messages(CxPageTransitionRouteTriggerFulfillmentMessageArgs.builder()
                .channel("string")
                .conversationSuccess(CxPageTransitionRouteTriggerFulfillmentMessageConversationSuccessArgs.builder()
                    .metadata("string")
                    .build())
                .liveAgentHandoff(CxPageTransitionRouteTriggerFulfillmentMessageLiveAgentHandoffArgs.builder()
                    .metadata("string")
                    .build())
                .outputAudioText(CxPageTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs.builder()
                    .allowPlaybackInterruption(false)
                    .ssml("string")
                    .text("string")
                    .build())
                .payload("string")
                .playAudio(CxPageTransitionRouteTriggerFulfillmentMessagePlayAudioArgs.builder()
                    .audioUri("string")
                    .allowPlaybackInterruption(false)
                    .build())
                .telephonyTransferCall(CxPageTransitionRouteTriggerFulfillmentMessageTelephonyTransferCallArgs.builder()
                    .phoneNumber("string")
                    .build())
                .text(CxPageTransitionRouteTriggerFulfillmentMessageTextArgs.builder()
                    .allowPlaybackInterruption(false)
                    .texts("string")
                    .build())
                .build())
            .returnPartialResponses(false)
            .setParameterActions(CxPageTransitionRouteTriggerFulfillmentSetParameterActionArgs.builder()
                .parameter("string")
                .value("string")
                .build())
            .tag("string")
            .webhook("string")
            .build())
        .build())
    .build());
cx_page_resource = gcp.diagflow.CxPage("cxPageResource",
    display_name="string",
    advanced_settings={
        "dtmf_settings": {
            "enabled": False,
            "finish_digit": "string",
            "max_digits": 0,
        },
    },
    entry_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",
    },
    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",
        },
    }],
    form={
        "parameters": [{
            "advanced_settings": {
                "dtmf_settings": {
                    "enabled": False,
                    "finish_digit": "string",
                    "max_digits": 0,
                },
            },
            "default_value": "string",
            "display_name": "string",
            "entity_type": "string",
            "fill_behavior": {
                "initial_prompt_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",
                },
                "reprompt_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_list": False,
            "redact": False,
            "required": False,
        }],
    },
    language_code="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 cxPageResource = new gcp.diagflow.CxPage("cxPageResource", {
    displayName: "string",
    advancedSettings: {
        dtmfSettings: {
            enabled: false,
            finishDigit: "string",
            maxDigits: 0,
        },
    },
    entryFulfillment: {
        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",
    },
    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",
        },
    }],
    form: {
        parameters: [{
            advancedSettings: {
                dtmfSettings: {
                    enabled: false,
                    finishDigit: "string",
                    maxDigits: 0,
                },
            },
            defaultValue: "string",
            displayName: "string",
            entityType: "string",
            fillBehavior: {
                initialPromptFulfillment: {
                    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",
                },
                repromptEventHandlers: [{
                    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",
                    },
                }],
            },
            isList: false,
            redact: false,
            required: false,
        }],
    },
    languageCode: "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:CxPage
properties:
    advancedSettings:
        dtmfSettings:
            enabled: false
            finishDigit: string
            maxDigits: 0
    displayName: string
    entryFulfillment:
        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
    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
    form:
        parameters:
            - advancedSettings:
                dtmfSettings:
                    enabled: false
                    finishDigit: string
                    maxDigits: 0
              defaultValue: string
              displayName: string
              entityType: string
              fillBehavior:
                initialPromptFulfillment:
                    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
                repromptEventHandlers:
                    - 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
              isList: false
              redact: false
              required: false
    languageCode: 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
CxPage 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 CxPage resource accepts the following input properties:
- DisplayName string
- The human-readable name of the page, unique within the agent.
- AdvancedSettings CxPage Advanced Settings 
- Hierarchical advanced settings for this page. 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.
- EntryFulfillment CxPage Entry Fulfillment 
- The fulfillment to call when the session is entering the page. Structure is documented below.
- EventHandlers List<CxPage Event Handler> 
- Handlers associated with the page to handle events such as webhook errors, no match or no input. Structure is documented below.
- Form
CxPage Form 
- The form associated with the page, used for collecting parameters relevant to the page. Structure is documented below.
- LanguageCode string
- The language of the following fields in page: Page.entry_fulfillment.messages Page.entry_fulfillment.conditional_cases Page.event_handlers.trigger_fulfillment.messages Page.event_handlers.trigger_fulfillment.conditional_cases Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases Page.form.parameters.fill_behavior.reprompt_event_handlers.messages Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases Page.transition_routes.trigger_fulfillment.messages Page.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.
- Parent string
- The flow to create a page for. Format: projects//locations//agents//flows/.
- TransitionRoute List<string>Groups 
- Ordered list of TransitionRouteGroups associated with the page. Transition route groups must be unique within a page. If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route > page's transition route group > flow's transition routes. If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. Format:projects//locations//agents//flows//transitionRouteGroups/.
- TransitionRoutes List<CxPage Transition Route> 
- A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: TransitionRoutes defined in the page with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in flow with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in the page with only condition specified. TransitionRoutes defined in the transition route groups with only condition specified. Structure is documented below.
- DisplayName string
- The human-readable name of the page, unique within the agent.
- AdvancedSettings CxPage Advanced Settings Args 
- Hierarchical advanced settings for this page. 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.
- EntryFulfillment CxPage Entry Fulfillment Args 
- The fulfillment to call when the session is entering the page. Structure is documented below.
- EventHandlers []CxPage Event Handler Args 
- Handlers associated with the page to handle events such as webhook errors, no match or no input. Structure is documented below.
- Form
CxPage Form Args 
- The form associated with the page, used for collecting parameters relevant to the page. Structure is documented below.
- LanguageCode string
- The language of the following fields in page: Page.entry_fulfillment.messages Page.entry_fulfillment.conditional_cases Page.event_handlers.trigger_fulfillment.messages Page.event_handlers.trigger_fulfillment.conditional_cases Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases Page.form.parameters.fill_behavior.reprompt_event_handlers.messages Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases Page.transition_routes.trigger_fulfillment.messages Page.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.
- Parent string
- The flow to create a page for. Format: projects//locations//agents//flows/.
- TransitionRoute []stringGroups 
- Ordered list of TransitionRouteGroups associated with the page. Transition route groups must be unique within a page. If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route > page's transition route group > flow's transition routes. If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. Format:projects//locations//agents//flows//transitionRouteGroups/.
- TransitionRoutes []CxPage Transition Route Args 
- A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: TransitionRoutes defined in the page with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in flow with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in the page with only condition specified. TransitionRoutes defined in the transition route groups with only condition specified. Structure is documented below.
- displayName String
- The human-readable name of the page, unique within the agent.
- advancedSettings CxPage Advanced Settings 
- Hierarchical advanced settings for this page. 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.
- entryFulfillment CxPage Entry Fulfillment 
- The fulfillment to call when the session is entering the page. Structure is documented below.
- eventHandlers List<CxPage Event Handler> 
- Handlers associated with the page to handle events such as webhook errors, no match or no input. Structure is documented below.
- form
CxPage Form 
- The form associated with the page, used for collecting parameters relevant to the page. Structure is documented below.
- languageCode String
- The language of the following fields in page: Page.entry_fulfillment.messages Page.entry_fulfillment.conditional_cases Page.event_handlers.trigger_fulfillment.messages Page.event_handlers.trigger_fulfillment.conditional_cases Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases Page.form.parameters.fill_behavior.reprompt_event_handlers.messages Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases Page.transition_routes.trigger_fulfillment.messages Page.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.
- parent String
- The flow to create a page for. Format: projects//locations//agents//flows/.
- transitionRoute List<String>Groups 
- Ordered list of TransitionRouteGroups associated with the page. Transition route groups must be unique within a page. If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route > page's transition route group > flow's transition routes. If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. Format:projects//locations//agents//flows//transitionRouteGroups/.
- transitionRoutes List<CxPage Transition Route> 
- A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: TransitionRoutes defined in the page with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in flow with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in the page with only condition specified. TransitionRoutes defined in the transition route groups with only condition specified. Structure is documented below.
- displayName string
- The human-readable name of the page, unique within the agent.
- advancedSettings CxPage Advanced Settings 
- Hierarchical advanced settings for this page. 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.
- entryFulfillment CxPage Entry Fulfillment 
- The fulfillment to call when the session is entering the page. Structure is documented below.
- eventHandlers CxPage Event Handler[] 
- Handlers associated with the page to handle events such as webhook errors, no match or no input. Structure is documented below.
- form
CxPage Form 
- The form associated with the page, used for collecting parameters relevant to the page. Structure is documented below.
- languageCode string
- The language of the following fields in page: Page.entry_fulfillment.messages Page.entry_fulfillment.conditional_cases Page.event_handlers.trigger_fulfillment.messages Page.event_handlers.trigger_fulfillment.conditional_cases Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases Page.form.parameters.fill_behavior.reprompt_event_handlers.messages Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases Page.transition_routes.trigger_fulfillment.messages Page.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.
- parent string
- The flow to create a page for. Format: projects//locations//agents//flows/.
- transitionRoute string[]Groups 
- Ordered list of TransitionRouteGroups associated with the page. Transition route groups must be unique within a page. If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route > page's transition route group > flow's transition routes. If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. Format:projects//locations//agents//flows//transitionRouteGroups/.
- transitionRoutes CxPage Transition Route[] 
- A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: TransitionRoutes defined in the page with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in flow with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in the page with only condition specified. TransitionRoutes defined in the transition route groups with only condition specified. Structure is documented below.
- display_name str
- The human-readable name of the page, unique within the agent.
- advanced_settings CxPage Advanced Settings Args 
- Hierarchical advanced settings for this page. 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.
- entry_fulfillment CxPage Entry Fulfillment Args 
- The fulfillment to call when the session is entering the page. Structure is documented below.
- event_handlers Sequence[CxPage Event Handler Args] 
- Handlers associated with the page to handle events such as webhook errors, no match or no input. Structure is documented below.
- form
CxPage Form Args 
- The form associated with the page, used for collecting parameters relevant to the page. Structure is documented below.
- language_code str
- The language of the following fields in page: Page.entry_fulfillment.messages Page.entry_fulfillment.conditional_cases Page.event_handlers.trigger_fulfillment.messages Page.event_handlers.trigger_fulfillment.conditional_cases Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases Page.form.parameters.fill_behavior.reprompt_event_handlers.messages Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases Page.transition_routes.trigger_fulfillment.messages Page.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.
- parent str
- The flow to create a page for. Format: projects//locations//agents//flows/.
- transition_route_ Sequence[str]groups 
- Ordered list of TransitionRouteGroups associated with the page. Transition route groups must be unique within a page. If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route > page's transition route group > flow's transition routes. If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. Format:projects//locations//agents//flows//transitionRouteGroups/.
- transition_routes Sequence[CxPage Transition Route Args] 
- A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: TransitionRoutes defined in the page with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in flow with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in the page with only condition specified. TransitionRoutes defined in the transition route groups with only condition specified. Structure is documented below.
- displayName String
- The human-readable name of the page, unique within the agent.
- advancedSettings Property Map
- Hierarchical advanced settings for this page. 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.
- entryFulfillment Property Map
- The fulfillment to call when the session is entering the page. Structure is documented below.
- eventHandlers List<Property Map>
- Handlers associated with the page to handle events such as webhook errors, no match or no input. Structure is documented below.
- form Property Map
- The form associated with the page, used for collecting parameters relevant to the page. Structure is documented below.
- languageCode String
- The language of the following fields in page: Page.entry_fulfillment.messages Page.entry_fulfillment.conditional_cases Page.event_handlers.trigger_fulfillment.messages Page.event_handlers.trigger_fulfillment.conditional_cases Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases Page.form.parameters.fill_behavior.reprompt_event_handlers.messages Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases Page.transition_routes.trigger_fulfillment.messages Page.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.
- parent String
- The flow to create a page for. Format: projects//locations//agents//flows/.
- transitionRoute List<String>Groups 
- Ordered list of TransitionRouteGroups associated with the page. Transition route groups must be unique within a page. If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route > page's transition route group > flow's transition routes. If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. Format:projects//locations//agents//flows//transitionRouteGroups/.
- transitionRoutes List<Property Map>
- A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: TransitionRoutes defined in the page with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in flow with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in the page with only condition specified. TransitionRoutes defined in the transition route groups with only condition specified. Structure is documented below.
Outputs
All input properties are implicitly available as output properties. Additionally, the CxPage resource produces the following output properties:
Look up Existing CxPage Resource
Get an existing CxPage 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?: CxPageState, opts?: CustomResourceOptions): CxPage@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        advanced_settings: Optional[CxPageAdvancedSettingsArgs] = None,
        display_name: Optional[str] = None,
        entry_fulfillment: Optional[CxPageEntryFulfillmentArgs] = None,
        event_handlers: Optional[Sequence[CxPageEventHandlerArgs]] = None,
        form: Optional[CxPageFormArgs] = None,
        language_code: Optional[str] = None,
        name: Optional[str] = None,
        parent: Optional[str] = None,
        transition_route_groups: Optional[Sequence[str]] = None,
        transition_routes: Optional[Sequence[CxPageTransitionRouteArgs]] = None) -> CxPagefunc GetCxPage(ctx *Context, name string, id IDInput, state *CxPageState, opts ...ResourceOption) (*CxPage, error)public static CxPage Get(string name, Input<string> id, CxPageState? state, CustomResourceOptions? opts = null)public static CxPage get(String name, Output<String> id, CxPageState state, CustomResourceOptions options)resources:  _:    type: gcp:diagflow:CxPage    get:      id: ${id}- 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.
- AdvancedSettings CxPage Advanced Settings 
- Hierarchical advanced settings for this page. 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.
- DisplayName string
- The human-readable name of the page, unique within the agent.
- EntryFulfillment CxPage Entry Fulfillment 
- The fulfillment to call when the session is entering the page. Structure is documented below.
- EventHandlers List<CxPage Event Handler> 
- Handlers associated with the page to handle events such as webhook errors, no match or no input. Structure is documented below.
- Form
CxPage Form 
- The form associated with the page, used for collecting parameters relevant to the page. Structure is documented below.
- LanguageCode string
- The language of the following fields in page: Page.entry_fulfillment.messages Page.entry_fulfillment.conditional_cases Page.event_handlers.trigger_fulfillment.messages Page.event_handlers.trigger_fulfillment.conditional_cases Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases Page.form.parameters.fill_behavior.reprompt_event_handlers.messages Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases Page.transition_routes.trigger_fulfillment.messages Page.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 page. Format: projects//locations//agents//flows//pages/.
- Parent string
- The flow to create a page for. Format: projects//locations//agents//flows/.
- TransitionRoute List<string>Groups 
- Ordered list of TransitionRouteGroups associated with the page. Transition route groups must be unique within a page. If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route > page's transition route group > flow's transition routes. If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. Format:projects//locations//agents//flows//transitionRouteGroups/.
- TransitionRoutes List<CxPage Transition Route> 
- A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: TransitionRoutes defined in the page with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in flow with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in the page with only condition specified. TransitionRoutes defined in the transition route groups with only condition specified. Structure is documented below.
- AdvancedSettings CxPage Advanced Settings Args 
- Hierarchical advanced settings for this page. 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.
- DisplayName string
- The human-readable name of the page, unique within the agent.
- EntryFulfillment CxPage Entry Fulfillment Args 
- The fulfillment to call when the session is entering the page. Structure is documented below.
- EventHandlers []CxPage Event Handler Args 
- Handlers associated with the page to handle events such as webhook errors, no match or no input. Structure is documented below.
- Form
CxPage Form Args 
- The form associated with the page, used for collecting parameters relevant to the page. Structure is documented below.
- LanguageCode string
- The language of the following fields in page: Page.entry_fulfillment.messages Page.entry_fulfillment.conditional_cases Page.event_handlers.trigger_fulfillment.messages Page.event_handlers.trigger_fulfillment.conditional_cases Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases Page.form.parameters.fill_behavior.reprompt_event_handlers.messages Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases Page.transition_routes.trigger_fulfillment.messages Page.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 page. Format: projects//locations//agents//flows//pages/.
- Parent string
- The flow to create a page for. Format: projects//locations//agents//flows/.
- TransitionRoute []stringGroups 
- Ordered list of TransitionRouteGroups associated with the page. Transition route groups must be unique within a page. If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route > page's transition route group > flow's transition routes. If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. Format:projects//locations//agents//flows//transitionRouteGroups/.
- TransitionRoutes []CxPage Transition Route Args 
- A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: TransitionRoutes defined in the page with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in flow with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in the page with only condition specified. TransitionRoutes defined in the transition route groups with only condition specified. Structure is documented below.
- advancedSettings CxPage Advanced Settings 
- Hierarchical advanced settings for this page. 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.
- displayName String
- The human-readable name of the page, unique within the agent.
- entryFulfillment CxPage Entry Fulfillment 
- The fulfillment to call when the session is entering the page. Structure is documented below.
- eventHandlers List<CxPage Event Handler> 
- Handlers associated with the page to handle events such as webhook errors, no match or no input. Structure is documented below.
- form
CxPage Form 
- The form associated with the page, used for collecting parameters relevant to the page. Structure is documented below.
- languageCode String
- The language of the following fields in page: Page.entry_fulfillment.messages Page.entry_fulfillment.conditional_cases Page.event_handlers.trigger_fulfillment.messages Page.event_handlers.trigger_fulfillment.conditional_cases Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases Page.form.parameters.fill_behavior.reprompt_event_handlers.messages Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases Page.transition_routes.trigger_fulfillment.messages Page.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 page. Format: projects//locations//agents//flows//pages/.
- parent String
- The flow to create a page for. Format: projects//locations//agents//flows/.
- transitionRoute List<String>Groups 
- Ordered list of TransitionRouteGroups associated with the page. Transition route groups must be unique within a page. If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route > page's transition route group > flow's transition routes. If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. Format:projects//locations//agents//flows//transitionRouteGroups/.
- transitionRoutes List<CxPage Transition Route> 
- A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: TransitionRoutes defined in the page with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in flow with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in the page with only condition specified. TransitionRoutes defined in the transition route groups with only condition specified. Structure is documented below.
- advancedSettings CxPage Advanced Settings 
- Hierarchical advanced settings for this page. 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.
- displayName string
- The human-readable name of the page, unique within the agent.
- entryFulfillment CxPage Entry Fulfillment 
- The fulfillment to call when the session is entering the page. Structure is documented below.
- eventHandlers CxPage Event Handler[] 
- Handlers associated with the page to handle events such as webhook errors, no match or no input. Structure is documented below.
- form
CxPage Form 
- The form associated with the page, used for collecting parameters relevant to the page. Structure is documented below.
- languageCode string
- The language of the following fields in page: Page.entry_fulfillment.messages Page.entry_fulfillment.conditional_cases Page.event_handlers.trigger_fulfillment.messages Page.event_handlers.trigger_fulfillment.conditional_cases Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases Page.form.parameters.fill_behavior.reprompt_event_handlers.messages Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases Page.transition_routes.trigger_fulfillment.messages Page.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 page. Format: projects//locations//agents//flows//pages/.
- parent string
- The flow to create a page for. Format: projects//locations//agents//flows/.
- transitionRoute string[]Groups 
- Ordered list of TransitionRouteGroups associated with the page. Transition route groups must be unique within a page. If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route > page's transition route group > flow's transition routes. If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. Format:projects//locations//agents//flows//transitionRouteGroups/.
- transitionRoutes CxPage Transition Route[] 
- A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: TransitionRoutes defined in the page with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in flow with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in the page with only condition specified. TransitionRoutes defined in the transition route groups with only condition specified. Structure is documented below.
- advanced_settings CxPage Advanced Settings Args 
- Hierarchical advanced settings for this page. 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.
- display_name str
- The human-readable name of the page, unique within the agent.
- entry_fulfillment CxPage Entry Fulfillment Args 
- The fulfillment to call when the session is entering the page. Structure is documented below.
- event_handlers Sequence[CxPage Event Handler Args] 
- Handlers associated with the page to handle events such as webhook errors, no match or no input. Structure is documented below.
- form
CxPage Form Args 
- The form associated with the page, used for collecting parameters relevant to the page. Structure is documented below.
- language_code str
- The language of the following fields in page: Page.entry_fulfillment.messages Page.entry_fulfillment.conditional_cases Page.event_handlers.trigger_fulfillment.messages Page.event_handlers.trigger_fulfillment.conditional_cases Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases Page.form.parameters.fill_behavior.reprompt_event_handlers.messages Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases Page.transition_routes.trigger_fulfillment.messages Page.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 page. Format: projects//locations//agents//flows//pages/.
- parent str
- The flow to create a page for. Format: projects//locations//agents//flows/.
- transition_route_ Sequence[str]groups 
- Ordered list of TransitionRouteGroups associated with the page. Transition route groups must be unique within a page. If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route > page's transition route group > flow's transition routes. If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. Format:projects//locations//agents//flows//transitionRouteGroups/.
- transition_routes Sequence[CxPage Transition Route Args] 
- A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: TransitionRoutes defined in the page with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in flow with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in the page with only condition specified. TransitionRoutes defined in the transition route groups with only condition specified. Structure is documented below.
- advancedSettings Property Map
- Hierarchical advanced settings for this page. 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.
- displayName String
- The human-readable name of the page, unique within the agent.
- entryFulfillment Property Map
- The fulfillment to call when the session is entering the page. Structure is documented below.
- eventHandlers List<Property Map>
- Handlers associated with the page to handle events such as webhook errors, no match or no input. Structure is documented below.
- form Property Map
- The form associated with the page, used for collecting parameters relevant to the page. Structure is documented below.
- languageCode String
- The language of the following fields in page: Page.entry_fulfillment.messages Page.entry_fulfillment.conditional_cases Page.event_handlers.trigger_fulfillment.messages Page.event_handlers.trigger_fulfillment.conditional_cases Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases Page.form.parameters.fill_behavior.reprompt_event_handlers.messages Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases Page.transition_routes.trigger_fulfillment.messages Page.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 page. Format: projects//locations//agents//flows//pages/.
- parent String
- The flow to create a page for. Format: projects//locations//agents//flows/.
- transitionRoute List<String>Groups 
- Ordered list of TransitionRouteGroups associated with the page. Transition route groups must be unique within a page. If multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route > page's transition route group > flow's transition routes. If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. Format:projects//locations//agents//flows//transitionRouteGroups/.
- transitionRoutes List<Property Map>
- A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow. When we are in a certain page, the TransitionRoutes are evalauted in the following order: TransitionRoutes defined in the page with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in flow with intent specified. TransitionRoutes defined in the transition route groups with intent specified. TransitionRoutes defined in the page with only condition specified. TransitionRoutes defined in the transition route groups with only condition specified. Structure is documented below.
Supporting Types
CxPageAdvancedSettings, CxPageAdvancedSettingsArgs        
- DtmfSettings CxPage 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.
 
- DtmfSettings CxPage 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.
 
- dtmfSettings CxPage 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.
 
- dtmfSettings CxPage 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.
 
- dtmf_settings CxPage 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.
 
- dtmfSettings 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.
 
CxPageAdvancedSettingsDtmfSettings, CxPageAdvancedSettingsDtmfSettingsArgs            
- 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).
- FinishDigit string
- The digit that terminates a DTMF digit sequence.
- MaxDigits 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).
- FinishDigit string
- The digit that terminates a DTMF digit sequence.
- MaxDigits 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).
- finishDigit String
- The digit that terminates a DTMF digit sequence.
- maxDigits 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).
- finishDigit string
- The digit that terminates a DTMF digit sequence.
- maxDigits 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).
- finishDigit String
- The digit that terminates a DTMF digit sequence.
- maxDigits Number
- Max length of DTMF digits.
CxPageEntryFulfillment, CxPageEntryFulfillmentArgs        
- ConditionalCases List<CxPage Entry Fulfillment Conditional Case> 
- Conditional cases for this fulfillment. Structure is documented below.
- Messages
List<CxPage Entry Fulfillment Message> 
- The list of rich message responses to present to the user. Structure is documented below.
- ReturnPartial 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.
- SetParameter List<CxActions Page Entry 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/.
- ConditionalCases []CxPage Entry Fulfillment Conditional Case 
- Conditional cases for this fulfillment. Structure is documented below.
- Messages
[]CxPage Entry Fulfillment Message 
- The list of rich message responses to present to the user. Structure is documented below.
- ReturnPartial 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.
- SetParameter []CxActions Page Entry 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/.
- conditionalCases List<CxPage Entry Fulfillment Conditional Case> 
- Conditional cases for this fulfillment. Structure is documented below.
- messages
List<CxPage Entry Fulfillment Message> 
- The list of rich message responses to present to the user. Structure is documented below.
- returnPartial 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.
- setParameter List<CxActions Page Entry 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/.
- conditionalCases CxPage Entry Fulfillment Conditional Case[] 
- Conditional cases for this fulfillment. Structure is documented below.
- messages
CxPage Entry Fulfillment Message[] 
- The list of rich message responses to present to the user. Structure is documented below.
- returnPartial 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.
- setParameter CxActions Page Entry 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[CxPage Entry Fulfillment Conditional Case] 
- Conditional cases for this fulfillment. Structure is documented below.
- messages
Sequence[CxPage Entry 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 Page Entry 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/.
- conditionalCases 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.
- returnPartial 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.
- setParameter 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/.
CxPageEntryFulfillmentConditionalCase, CxPageEntryFulfillmentConditionalCaseArgs            
CxPageEntryFulfillmentMessage, CxPageEntryFulfillmentMessageArgs          
- 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.
- ConversationSuccess CxPage Entry 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.
 
- LiveAgent CxHandoff Page Entry 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.
 
- OutputAudio CxText Page Entry 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.
- PlayAudio CxPage Entry Fulfillment Message Play Audio 
- Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- TelephonyTransfer CxCall Page Entry 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
CxPage Entry 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.
- ConversationSuccess CxPage Entry 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.
 
- LiveAgent CxHandoff Page Entry 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.
 
- OutputAudio CxText Page Entry 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.
- PlayAudio CxPage Entry Fulfillment Message Play Audio 
- Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- TelephonyTransfer CxCall Page Entry 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
CxPage Entry 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.
- conversationSuccess CxPage Entry 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.
 
- liveAgent CxHandoff Page Entry 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.
 
- outputAudio CxText Page Entry 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.
- playAudio CxPage Entry Fulfillment Message Play Audio 
- Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephonyTransfer CxCall Page Entry 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
CxPage Entry 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.
- conversationSuccess CxPage Entry 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.
 
- liveAgent CxHandoff Page Entry 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.
 
- outputAudio CxText Page Entry 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.
- playAudio CxPage Entry Fulfillment Message Play Audio 
- Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephonyTransfer CxCall Page Entry 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
CxPage Entry 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 CxPage Entry 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 Page Entry 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 Page Entry 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 CxPage Entry 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 Page Entry 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
CxPage Entry 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.
- conversationSuccess 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.
 
- liveAgent 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.
 
- outputAudio 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.
- playAudio Property Map
- Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephonyTransfer 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.
CxPageEntryFulfillmentMessageConversationSuccess, CxPageEntryFulfillmentMessageConversationSuccessArgs              
- 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.
CxPageEntryFulfillmentMessageLiveAgentHandoff, CxPageEntryFulfillmentMessageLiveAgentHandoffArgs                
- 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.
CxPageEntryFulfillmentMessageOutputAudioText, CxPageEntryFulfillmentMessageOutputAudioTextArgs                
- AllowPlayback 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.
- AllowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
CxPageEntryFulfillmentMessagePlayAudio, CxPageEntryFulfillmentMessagePlayAudioArgs              
- AudioUri string
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- AllowPlayback 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.
- AudioUri string
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- AllowPlayback 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.
- audioUri String
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allowPlayback 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.
- audioUri string
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allowPlayback 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.
- audioUri String
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allowPlayback 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.
CxPageEntryFulfillmentMessageTelephonyTransferCall, CxPageEntryFulfillmentMessageTelephonyTransferCallArgs                
- PhoneNumber string
- Transfer the call to a phone number in E.164 format.
- PhoneNumber string
- Transfer the call to a phone number in E.164 format.
- phoneNumber String
- Transfer the call to a phone number in E.164 format.
- phoneNumber 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.
- phoneNumber String
- Transfer the call to a phone number in E.164 format.
CxPageEntryFulfillmentMessageText, CxPageEntryFulfillmentMessageTextArgs            
- AllowPlayback 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.
- AllowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
CxPageEntryFulfillmentSetParameterAction, CxPageEntryFulfillmentSetParameterActionArgs              
CxPageEventHandler, CxPageEventHandlerArgs        
- Event string
- The name of the event to handle.
- Name string
- (Output) The unique identifier of this event handler.
- TargetFlow string
- The target flow to transition to. Format: projects//locations//agents//flows/.
- TargetPage string
- The target page to transition to. Format: projects//locations//agents//flows//pages/.
- TriggerFulfillment CxPage 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.
- TargetFlow string
- The target flow to transition to. Format: projects//locations//agents//flows/.
- TargetPage string
- The target page to transition to. Format: projects//locations//agents//flows//pages/.
- TriggerFulfillment CxPage 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.
- targetFlow String
- The target flow to transition to. Format: projects//locations//agents//flows/.
- targetPage String
- The target page to transition to. Format: projects//locations//agents//flows//pages/.
- triggerFulfillment CxPage 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.
- targetFlow string
- The target flow to transition to. Format: projects//locations//agents//flows/.
- targetPage string
- The target page to transition to. Format: projects//locations//agents//flows//pages/.
- triggerFulfillment CxPage 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 CxPage 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.
- targetFlow String
- The target flow to transition to. Format: projects//locations//agents//flows/.
- targetPage String
- The target page to transition to. Format: projects//locations//agents//flows//pages/.
- triggerFulfillment 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.
CxPageEventHandlerTriggerFulfillment, CxPageEventHandlerTriggerFulfillmentArgs            
- ConditionalCases List<CxPage Event Handler Trigger Fulfillment Conditional Case> 
- Conditional cases for this fulfillment. Structure is documented below.
- Messages
List<CxPage Event Handler Trigger Fulfillment Message> 
- The list of rich message responses to present to the user. Structure is documented below.
- ReturnPartial 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.
- SetParameter List<CxActions Page 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/.
- ConditionalCases []CxPage Event Handler Trigger Fulfillment Conditional Case 
- Conditional cases for this fulfillment. Structure is documented below.
- Messages
[]CxPage Event Handler Trigger Fulfillment Message 
- The list of rich message responses to present to the user. Structure is documented below.
- ReturnPartial 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.
- SetParameter []CxActions Page 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/.
- conditionalCases List<CxPage Event Handler Trigger Fulfillment Conditional Case> 
- Conditional cases for this fulfillment. Structure is documented below.
- messages
List<CxPage Event Handler Trigger Fulfillment Message> 
- The list of rich message responses to present to the user. Structure is documented below.
- returnPartial 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.
- setParameter List<CxActions Page 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/.
- conditionalCases CxPage Event Handler Trigger Fulfillment Conditional Case[] 
- Conditional cases for this fulfillment. Structure is documented below.
- messages
CxPage Event Handler Trigger Fulfillment Message[] 
- The list of rich message responses to present to the user. Structure is documented below.
- returnPartial 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.
- setParameter CxActions Page 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[CxPage Event Handler Trigger Fulfillment Conditional Case] 
- Conditional cases for this fulfillment. Structure is documented below.
- messages
Sequence[CxPage 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 Page 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/.
- conditionalCases 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.
- returnPartial 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.
- setParameter 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/.
CxPageEventHandlerTriggerFulfillmentConditionalCase, CxPageEventHandlerTriggerFulfillmentConditionalCaseArgs                
CxPageEventHandlerTriggerFulfillmentMessage, CxPageEventHandlerTriggerFulfillmentMessageArgs              
- 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.
- ConversationSuccess CxPage 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.
 
- LiveAgent CxHandoff Page 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.
 
- OutputAudio CxText Page 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.
- PlayAudio CxPage 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.
- TelephonyTransfer CxCall Page 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
CxPage 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.
- ConversationSuccess CxPage 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.
 
- LiveAgent CxHandoff Page 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.
 
- OutputAudio CxText Page 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.
- PlayAudio CxPage 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.
- TelephonyTransfer CxCall Page 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
CxPage 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.
- conversationSuccess CxPage 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.
 
- liveAgent CxHandoff Page 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.
 
- outputAudio CxText Page 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.
- playAudio CxPage 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.
- telephonyTransfer CxCall Page 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
CxPage 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.
- conversationSuccess CxPage 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.
 
- liveAgent CxHandoff Page 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.
 
- outputAudio CxText Page 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.
- playAudio CxPage 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.
- telephonyTransfer CxCall Page 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
CxPage 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 CxPage 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 Page 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 Page 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 CxPage 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 Page 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
CxPage 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.
- conversationSuccess 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.
 
- liveAgent 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.
 
- outputAudio 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.
- playAudio Property Map
- Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephonyTransfer 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.
CxPageEventHandlerTriggerFulfillmentMessageConversationSuccess, CxPageEventHandlerTriggerFulfillmentMessageConversationSuccessArgs                  
- 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.
CxPageEventHandlerTriggerFulfillmentMessageLiveAgentHandoff, CxPageEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs                    
- 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.
CxPageEventHandlerTriggerFulfillmentMessageOutputAudioText, CxPageEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs                    
- AllowPlayback 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.
- AllowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
CxPageEventHandlerTriggerFulfillmentMessagePlayAudio, CxPageEventHandlerTriggerFulfillmentMessagePlayAudioArgs                  
- AudioUri string
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- AllowPlayback 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.
- AudioUri string
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- AllowPlayback 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.
- audioUri String
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allowPlayback 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.
- audioUri string
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allowPlayback 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.
- audioUri String
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allowPlayback 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.
CxPageEventHandlerTriggerFulfillmentMessageTelephonyTransferCall, CxPageEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs                    
- PhoneNumber string
- Transfer the call to a phone number in E.164 format.
- PhoneNumber string
- Transfer the call to a phone number in E.164 format.
- phoneNumber String
- Transfer the call to a phone number in E.164 format.
- phoneNumber 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.
- phoneNumber String
- Transfer the call to a phone number in E.164 format.
CxPageEventHandlerTriggerFulfillmentMessageText, CxPageEventHandlerTriggerFulfillmentMessageTextArgs                
- AllowPlayback 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.
- AllowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
CxPageEventHandlerTriggerFulfillmentSetParameterAction, CxPageEventHandlerTriggerFulfillmentSetParameterActionArgs                  
CxPageForm, CxPageFormArgs      
- Parameters
List<CxPage Form Parameter> 
- Parameters to collect from the user. Structure is documented below.
- Parameters
[]CxPage Form Parameter 
- Parameters to collect from the user. Structure is documented below.
- parameters
List<CxPage Form Parameter> 
- Parameters to collect from the user. Structure is documented below.
- parameters
CxPage Form Parameter[] 
- Parameters to collect from the user. Structure is documented below.
- parameters
Sequence[CxPage Form Parameter] 
- Parameters to collect from the user. Structure is documented below.
- parameters List<Property Map>
- Parameters to collect from the user. Structure is documented below.
CxPageFormParameter, CxPageFormParameterArgs        
- AdvancedSettings CxPage Form Parameter Advanced Settings 
- Hierarchical advanced settings for this parameter. 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.
- DefaultValue string
- The default value of an optional parameter. If the parameter is required, the default value will be ignored.
- DisplayName string
- The human-readable name of the parameter, unique within the form.
- EntityType string
- The entity type of the parameter. Format: projects/-/locations/-/agents/-/entityTypes/ for system entity types (for example, projects/-/locations/-/agents/-/entityTypes/sys.date), or projects//locations//agents//entityTypes/ for developer entity types.
- FillBehavior CxPage Form Parameter Fill Behavior 
- Defines fill behavior for the parameter. Structure is documented below.
- IsList bool
- Indicates whether the parameter represents a list of values.
- Redact bool
- Indicates whether the parameter content should be redacted in log. If redaction is enabled, the parameter content will be replaced by parameter name during logging. Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.
- Required bool
- Indicates whether the parameter is required. Optional parameters will not trigger prompts; however, they are filled if the user specifies them. Required parameters must be filled before form filling concludes.
- AdvancedSettings CxPage Form Parameter Advanced Settings 
- Hierarchical advanced settings for this parameter. 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.
- DefaultValue string
- The default value of an optional parameter. If the parameter is required, the default value will be ignored.
- DisplayName string
- The human-readable name of the parameter, unique within the form.
- EntityType string
- The entity type of the parameter. Format: projects/-/locations/-/agents/-/entityTypes/ for system entity types (for example, projects/-/locations/-/agents/-/entityTypes/sys.date), or projects//locations//agents//entityTypes/ for developer entity types.
- FillBehavior CxPage Form Parameter Fill Behavior 
- Defines fill behavior for the parameter. Structure is documented below.
- IsList bool
- Indicates whether the parameter represents a list of values.
- Redact bool
- Indicates whether the parameter content should be redacted in log. If redaction is enabled, the parameter content will be replaced by parameter name during logging. Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.
- Required bool
- Indicates whether the parameter is required. Optional parameters will not trigger prompts; however, they are filled if the user specifies them. Required parameters must be filled before form filling concludes.
- advancedSettings CxPage Form Parameter Advanced Settings 
- Hierarchical advanced settings for this parameter. 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.
- defaultValue String
- The default value of an optional parameter. If the parameter is required, the default value will be ignored.
- displayName String
- The human-readable name of the parameter, unique within the form.
- entityType String
- The entity type of the parameter. Format: projects/-/locations/-/agents/-/entityTypes/ for system entity types (for example, projects/-/locations/-/agents/-/entityTypes/sys.date), or projects//locations//agents//entityTypes/ for developer entity types.
- fillBehavior CxPage Form Parameter Fill Behavior 
- Defines fill behavior for the parameter. Structure is documented below.
- isList Boolean
- Indicates whether the parameter represents a list of values.
- redact Boolean
- Indicates whether the parameter content should be redacted in log. If redaction is enabled, the parameter content will be replaced by parameter name during logging. Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.
- required Boolean
- Indicates whether the parameter is required. Optional parameters will not trigger prompts; however, they are filled if the user specifies them. Required parameters must be filled before form filling concludes.
- advancedSettings CxPage Form Parameter Advanced Settings 
- Hierarchical advanced settings for this parameter. 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.
- defaultValue string
- The default value of an optional parameter. If the parameter is required, the default value will be ignored.
- displayName string
- The human-readable name of the parameter, unique within the form.
- entityType string
- The entity type of the parameter. Format: projects/-/locations/-/agents/-/entityTypes/ for system entity types (for example, projects/-/locations/-/agents/-/entityTypes/sys.date), or projects//locations//agents//entityTypes/ for developer entity types.
- fillBehavior CxPage Form Parameter Fill Behavior 
- Defines fill behavior for the parameter. Structure is documented below.
- isList boolean
- Indicates whether the parameter represents a list of values.
- redact boolean
- Indicates whether the parameter content should be redacted in log. If redaction is enabled, the parameter content will be replaced by parameter name during logging. Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.
- required boolean
- Indicates whether the parameter is required. Optional parameters will not trigger prompts; however, they are filled if the user specifies them. Required parameters must be filled before form filling concludes.
- advanced_settings CxPage Form Parameter Advanced Settings 
- Hierarchical advanced settings for this parameter. 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.
- default_value str
- The default value of an optional parameter. If the parameter is required, the default value will be ignored.
- display_name str
- The human-readable name of the parameter, unique within the form.
- entity_type str
- The entity type of the parameter. Format: projects/-/locations/-/agents/-/entityTypes/ for system entity types (for example, projects/-/locations/-/agents/-/entityTypes/sys.date), or projects//locations//agents//entityTypes/ for developer entity types.
- fill_behavior CxPage Form Parameter Fill Behavior 
- Defines fill behavior for the parameter. Structure is documented below.
- is_list bool
- Indicates whether the parameter represents a list of values.
- redact bool
- Indicates whether the parameter content should be redacted in log. If redaction is enabled, the parameter content will be replaced by parameter name during logging. Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.
- required bool
- Indicates whether the parameter is required. Optional parameters will not trigger prompts; however, they are filled if the user specifies them. Required parameters must be filled before form filling concludes.
- advancedSettings Property Map
- Hierarchical advanced settings for this parameter. 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.
- defaultValue String
- The default value of an optional parameter. If the parameter is required, the default value will be ignored.
- displayName String
- The human-readable name of the parameter, unique within the form.
- entityType String
- The entity type of the parameter. Format: projects/-/locations/-/agents/-/entityTypes/ for system entity types (for example, projects/-/locations/-/agents/-/entityTypes/sys.date), or projects//locations//agents//entityTypes/ for developer entity types.
- fillBehavior Property Map
- Defines fill behavior for the parameter. Structure is documented below.
- isList Boolean
- Indicates whether the parameter represents a list of values.
- redact Boolean
- Indicates whether the parameter content should be redacted in log. If redaction is enabled, the parameter content will be replaced by parameter name during logging. Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.
- required Boolean
- Indicates whether the parameter is required. Optional parameters will not trigger prompts; however, they are filled if the user specifies them. Required parameters must be filled before form filling concludes.
CxPageFormParameterAdvancedSettings, CxPageFormParameterAdvancedSettingsArgs            
- DtmfSettings CxPage Form Parameter 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.
 
- DtmfSettings CxPage Form Parameter 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.
 
- dtmfSettings CxPage Form Parameter 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.
 
- dtmfSettings CxPage Form Parameter 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.
 
- dtmf_settings CxPage Form Parameter 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.
 
- dtmfSettings 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.
 
CxPageFormParameterAdvancedSettingsDtmfSettings, CxPageFormParameterAdvancedSettingsDtmfSettingsArgs                
- 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).
- FinishDigit string
- The digit that terminates a DTMF digit sequence.
- MaxDigits 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).
- FinishDigit string
- The digit that terminates a DTMF digit sequence.
- MaxDigits 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).
- finishDigit String
- The digit that terminates a DTMF digit sequence.
- maxDigits 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).
- finishDigit string
- The digit that terminates a DTMF digit sequence.
- maxDigits 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).
- finishDigit String
- The digit that terminates a DTMF digit sequence.
- maxDigits Number
- Max length of DTMF digits.
CxPageFormParameterFillBehavior, CxPageFormParameterFillBehaviorArgs            
- InitialPrompt CxFulfillment Page Form Parameter Fill Behavior Initial Prompt Fulfillment 
- The fulfillment to provide the initial prompt that the agent can present to the user in order to fill the parameter. Structure is documented below.
- RepromptEvent List<CxHandlers Page Form Parameter Fill Behavior Reprompt Event Handler> 
- The handlers for parameter-level events, used to provide reprompt for the parameter or transition to a different page/flow. The supported events are:- sys.no-match-, where N can be from 1 to 6
- sys.no-match-default
- sys.no-input-, where N can be from 1 to 6
- sys.no-input-default
- sys.invalid-parameter [initialPromptFulfillment][initialPromptFulfillment] provides the first prompt for the parameter. If the user's response does not fill the parameter, a no-match/no-input event will be triggered, and the fulfillment associated with the sys.no-match-1/sys.no-input-1 handler (if defined) will be called to provide a prompt. The sys.no-match-2/sys.no-input-2 handler (if defined) will respond to the next no-match/no-input event, and so on. A sys.no-match-default or sys.no-input-default handler will be used to handle all following no-match/no-input events after all numbered no-match/no-input handlers for the parameter are consumed. A sys.invalid-parameter handler can be defined to handle the case where the parameter values have been invalidated by webhook. For example, if the user's response fill the parameter, however the parameter was invalidated by webhook, the fulfillment associated with the sys.invalid-parameter handler (if defined) will be called to provide a prompt. If the event handler for the corresponding event can't be found on the parameter, initialPromptFulfillment will be re-prompted. Structure is documented below.
 
- InitialPrompt CxFulfillment Page Form Parameter Fill Behavior Initial Prompt Fulfillment 
- The fulfillment to provide the initial prompt that the agent can present to the user in order to fill the parameter. Structure is documented below.
- RepromptEvent []CxHandlers Page Form Parameter Fill Behavior Reprompt Event Handler 
- The handlers for parameter-level events, used to provide reprompt for the parameter or transition to a different page/flow. The supported events are:- sys.no-match-, where N can be from 1 to 6
- sys.no-match-default
- sys.no-input-, where N can be from 1 to 6
- sys.no-input-default
- sys.invalid-parameter [initialPromptFulfillment][initialPromptFulfillment] provides the first prompt for the parameter. If the user's response does not fill the parameter, a no-match/no-input event will be triggered, and the fulfillment associated with the sys.no-match-1/sys.no-input-1 handler (if defined) will be called to provide a prompt. The sys.no-match-2/sys.no-input-2 handler (if defined) will respond to the next no-match/no-input event, and so on. A sys.no-match-default or sys.no-input-default handler will be used to handle all following no-match/no-input events after all numbered no-match/no-input handlers for the parameter are consumed. A sys.invalid-parameter handler can be defined to handle the case where the parameter values have been invalidated by webhook. For example, if the user's response fill the parameter, however the parameter was invalidated by webhook, the fulfillment associated with the sys.invalid-parameter handler (if defined) will be called to provide a prompt. If the event handler for the corresponding event can't be found on the parameter, initialPromptFulfillment will be re-prompted. Structure is documented below.
 
- initialPrompt CxFulfillment Page Form Parameter Fill Behavior Initial Prompt Fulfillment 
- The fulfillment to provide the initial prompt that the agent can present to the user in order to fill the parameter. Structure is documented below.
- repromptEvent List<CxHandlers Page Form Parameter Fill Behavior Reprompt Event Handler> 
- The handlers for parameter-level events, used to provide reprompt for the parameter or transition to a different page/flow. The supported events are:- sys.no-match-, where N can be from 1 to 6
- sys.no-match-default
- sys.no-input-, where N can be from 1 to 6
- sys.no-input-default
- sys.invalid-parameter [initialPromptFulfillment][initialPromptFulfillment] provides the first prompt for the parameter. If the user's response does not fill the parameter, a no-match/no-input event will be triggered, and the fulfillment associated with the sys.no-match-1/sys.no-input-1 handler (if defined) will be called to provide a prompt. The sys.no-match-2/sys.no-input-2 handler (if defined) will respond to the next no-match/no-input event, and so on. A sys.no-match-default or sys.no-input-default handler will be used to handle all following no-match/no-input events after all numbered no-match/no-input handlers for the parameter are consumed. A sys.invalid-parameter handler can be defined to handle the case where the parameter values have been invalidated by webhook. For example, if the user's response fill the parameter, however the parameter was invalidated by webhook, the fulfillment associated with the sys.invalid-parameter handler (if defined) will be called to provide a prompt. If the event handler for the corresponding event can't be found on the parameter, initialPromptFulfillment will be re-prompted. Structure is documented below.
 
- initialPrompt CxFulfillment Page Form Parameter Fill Behavior Initial Prompt Fulfillment 
- The fulfillment to provide the initial prompt that the agent can present to the user in order to fill the parameter. Structure is documented below.
- repromptEvent CxHandlers Page Form Parameter Fill Behavior Reprompt Event Handler[] 
- The handlers for parameter-level events, used to provide reprompt for the parameter or transition to a different page/flow. The supported events are:- sys.no-match-, where N can be from 1 to 6
- sys.no-match-default
- sys.no-input-, where N can be from 1 to 6
- sys.no-input-default
- sys.invalid-parameter [initialPromptFulfillment][initialPromptFulfillment] provides the first prompt for the parameter. If the user's response does not fill the parameter, a no-match/no-input event will be triggered, and the fulfillment associated with the sys.no-match-1/sys.no-input-1 handler (if defined) will be called to provide a prompt. The sys.no-match-2/sys.no-input-2 handler (if defined) will respond to the next no-match/no-input event, and so on. A sys.no-match-default or sys.no-input-default handler will be used to handle all following no-match/no-input events after all numbered no-match/no-input handlers for the parameter are consumed. A sys.invalid-parameter handler can be defined to handle the case where the parameter values have been invalidated by webhook. For example, if the user's response fill the parameter, however the parameter was invalidated by webhook, the fulfillment associated with the sys.invalid-parameter handler (if defined) will be called to provide a prompt. If the event handler for the corresponding event can't be found on the parameter, initialPromptFulfillment will be re-prompted. Structure is documented below.
 
- initial_prompt_ Cxfulfillment Page Form Parameter Fill Behavior Initial Prompt Fulfillment 
- The fulfillment to provide the initial prompt that the agent can present to the user in order to fill the parameter. Structure is documented below.
- reprompt_event_ Sequence[Cxhandlers Page Form Parameter Fill Behavior Reprompt Event Handler] 
- The handlers for parameter-level events, used to provide reprompt for the parameter or transition to a different page/flow. The supported events are:- sys.no-match-, where N can be from 1 to 6
- sys.no-match-default
- sys.no-input-, where N can be from 1 to 6
- sys.no-input-default
- sys.invalid-parameter [initialPromptFulfillment][initialPromptFulfillment] provides the first prompt for the parameter. If the user's response does not fill the parameter, a no-match/no-input event will be triggered, and the fulfillment associated with the sys.no-match-1/sys.no-input-1 handler (if defined) will be called to provide a prompt. The sys.no-match-2/sys.no-input-2 handler (if defined) will respond to the next no-match/no-input event, and so on. A sys.no-match-default or sys.no-input-default handler will be used to handle all following no-match/no-input events after all numbered no-match/no-input handlers for the parameter are consumed. A sys.invalid-parameter handler can be defined to handle the case where the parameter values have been invalidated by webhook. For example, if the user's response fill the parameter, however the parameter was invalidated by webhook, the fulfillment associated with the sys.invalid-parameter handler (if defined) will be called to provide a prompt. If the event handler for the corresponding event can't be found on the parameter, initialPromptFulfillment will be re-prompted. Structure is documented below.
 
- initialPrompt Property MapFulfillment 
- The fulfillment to provide the initial prompt that the agent can present to the user in order to fill the parameter. Structure is documented below.
- repromptEvent List<Property Map>Handlers 
- The handlers for parameter-level events, used to provide reprompt for the parameter or transition to a different page/flow. The supported events are:- sys.no-match-, where N can be from 1 to 6
- sys.no-match-default
- sys.no-input-, where N can be from 1 to 6
- sys.no-input-default
- sys.invalid-parameter [initialPromptFulfillment][initialPromptFulfillment] provides the first prompt for the parameter. If the user's response does not fill the parameter, a no-match/no-input event will be triggered, and the fulfillment associated with the sys.no-match-1/sys.no-input-1 handler (if defined) will be called to provide a prompt. The sys.no-match-2/sys.no-input-2 handler (if defined) will respond to the next no-match/no-input event, and so on. A sys.no-match-default or sys.no-input-default handler will be used to handle all following no-match/no-input events after all numbered no-match/no-input handlers for the parameter are consumed. A sys.invalid-parameter handler can be defined to handle the case where the parameter values have been invalidated by webhook. For example, if the user's response fill the parameter, however the parameter was invalidated by webhook, the fulfillment associated with the sys.invalid-parameter handler (if defined) will be called to provide a prompt. If the event handler for the corresponding event can't be found on the parameter, initialPromptFulfillment will be re-prompted. Structure is documented below.
 
CxPageFormParameterFillBehaviorInitialPromptFulfillment, CxPageFormParameterFillBehaviorInitialPromptFulfillmentArgs                  
- ConditionalCases List<CxPage Form Parameter Fill Behavior Initial Prompt Fulfillment Conditional Case> 
- Conditional cases for this fulfillment. Structure is documented below.
- Messages
List<CxPage Form Parameter Fill Behavior Initial Prompt Fulfillment Message> 
- The list of rich message responses to present to the user. Structure is documented below.
- ReturnPartial 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.
- SetParameter List<CxActions Page Form Parameter Fill Behavior Initial Prompt 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/.
- ConditionalCases []CxPage Form Parameter Fill Behavior Initial Prompt Fulfillment Conditional Case 
- Conditional cases for this fulfillment. Structure is documented below.
- Messages
[]CxPage Form Parameter Fill Behavior Initial Prompt Fulfillment Message 
- The list of rich message responses to present to the user. Structure is documented below.
- ReturnPartial 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.
- SetParameter []CxActions Page Form Parameter Fill Behavior Initial Prompt 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/.
- conditionalCases List<CxPage Form Parameter Fill Behavior Initial Prompt Fulfillment Conditional Case> 
- Conditional cases for this fulfillment. Structure is documented below.
- messages
List<CxPage Form Parameter Fill Behavior Initial Prompt Fulfillment Message> 
- The list of rich message responses to present to the user. Structure is documented below.
- returnPartial 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.
- setParameter List<CxActions Page Form Parameter Fill Behavior Initial Prompt 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/.
- conditionalCases CxPage Form Parameter Fill Behavior Initial Prompt Fulfillment Conditional Case[] 
- Conditional cases for this fulfillment. Structure is documented below.
- messages
CxPage Form Parameter Fill Behavior Initial Prompt Fulfillment Message[] 
- The list of rich message responses to present to the user. Structure is documented below.
- returnPartial 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.
- setParameter CxActions Page Form Parameter Fill Behavior Initial Prompt 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[CxPage Form Parameter Fill Behavior Initial Prompt Fulfillment Conditional Case] 
- Conditional cases for this fulfillment. Structure is documented below.
- messages
Sequence[CxPage Form Parameter Fill Behavior Initial Prompt 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 Page Form Parameter Fill Behavior Initial Prompt 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/.
- conditionalCases 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.
- returnPartial 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.
- setParameter 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/.
CxPageFormParameterFillBehaviorInitialPromptFulfillmentConditionalCase, CxPageFormParameterFillBehaviorInitialPromptFulfillmentConditionalCaseArgs                      
CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessage, CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageArgs                    
- 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.
- ConversationSuccess CxPage Form Parameter Fill Behavior Initial Prompt 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.
 
- LiveAgent CxHandoff Page Form Parameter Fill Behavior Initial Prompt 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.
 
- OutputAudio CxText Page Form Parameter Fill Behavior Initial Prompt 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.
- PlayAudio CxPage Form Parameter Fill Behavior Initial Prompt Fulfillment Message Play Audio 
- Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- TelephonyTransfer CxCall Page Form Parameter Fill Behavior Initial Prompt 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
CxPage Form Parameter Fill Behavior Initial Prompt 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.
- ConversationSuccess CxPage Form Parameter Fill Behavior Initial Prompt 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.
 
- LiveAgent CxHandoff Page Form Parameter Fill Behavior Initial Prompt 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.
 
- OutputAudio CxText Page Form Parameter Fill Behavior Initial Prompt 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.
- PlayAudio CxPage Form Parameter Fill Behavior Initial Prompt Fulfillment Message Play Audio 
- Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- TelephonyTransfer CxCall Page Form Parameter Fill Behavior Initial Prompt 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
CxPage Form Parameter Fill Behavior Initial Prompt 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.
- conversationSuccess CxPage Form Parameter Fill Behavior Initial Prompt 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.
 
- liveAgent CxHandoff Page Form Parameter Fill Behavior Initial Prompt 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.
 
- outputAudio CxText Page Form Parameter Fill Behavior Initial Prompt 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.
- playAudio CxPage Form Parameter Fill Behavior Initial Prompt Fulfillment Message Play Audio 
- Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephonyTransfer CxCall Page Form Parameter Fill Behavior Initial Prompt 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
CxPage Form Parameter Fill Behavior Initial Prompt 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.
- conversationSuccess CxPage Form Parameter Fill Behavior Initial Prompt 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.
 
- liveAgent CxHandoff Page Form Parameter Fill Behavior Initial Prompt 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.
 
- outputAudio CxText Page Form Parameter Fill Behavior Initial Prompt 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.
- playAudio CxPage Form Parameter Fill Behavior Initial Prompt Fulfillment Message Play Audio 
- Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephonyTransfer CxCall Page Form Parameter Fill Behavior Initial Prompt 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
CxPage Form Parameter Fill Behavior Initial Prompt 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 CxPage Form Parameter Fill Behavior Initial Prompt 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 Page Form Parameter Fill Behavior Initial Prompt 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 Page Form Parameter Fill Behavior Initial Prompt 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 CxPage Form Parameter Fill Behavior Initial Prompt 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 Page Form Parameter Fill Behavior Initial Prompt 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
CxPage Form Parameter Fill Behavior Initial Prompt 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.
- conversationSuccess 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.
 
- liveAgent 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.
 
- outputAudio 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.
- playAudio Property Map
- Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephonyTransfer 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.
CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageConversationSuccess, CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageConversationSuccessArgs                        
- 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.
CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageLiveAgentHandoff, CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageLiveAgentHandoffArgs                          
- 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.
CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageOutputAudioText, CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageOutputAudioTextArgs                          
- AllowPlayback 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.
- AllowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessagePlayAudio, CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessagePlayAudioArgs                        
- AudioUri string
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- AllowPlayback 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.
- AudioUri string
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- AllowPlayback 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.
- audioUri String
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allowPlayback 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.
- audioUri string
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allowPlayback 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.
- audioUri String
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allowPlayback 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.
CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageTelephonyTransferCall, CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageTelephonyTransferCallArgs                          
- PhoneNumber string
- Transfer the call to a phone number in E.164 format.
- PhoneNumber string
- Transfer the call to a phone number in E.164 format.
- phoneNumber String
- Transfer the call to a phone number in E.164 format.
- phoneNumber 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.
- phoneNumber String
- Transfer the call to a phone number in E.164 format.
CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageText, CxPageFormParameterFillBehaviorInitialPromptFulfillmentMessageTextArgs                      
- AllowPlayback 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.
- AllowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
CxPageFormParameterFillBehaviorInitialPromptFulfillmentSetParameterAction, CxPageFormParameterFillBehaviorInitialPromptFulfillmentSetParameterActionArgs                        
CxPageFormParameterFillBehaviorRepromptEventHandler, CxPageFormParameterFillBehaviorRepromptEventHandlerArgs                  
- Event string
- The name of the event to handle.
- Name string
- (Output) The unique identifier of this event handler.
- TargetFlow string
- The target flow to transition to. Format: projects//locations//agents//flows/.
- TargetPage string
- The target page to transition to. Format: projects//locations//agents//flows//pages/.
- TriggerFulfillment CxPage Form Parameter Fill Behavior Reprompt 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.
- TargetFlow string
- The target flow to transition to. Format: projects//locations//agents//flows/.
- TargetPage string
- The target page to transition to. Format: projects//locations//agents//flows//pages/.
- TriggerFulfillment CxPage Form Parameter Fill Behavior Reprompt 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.
- targetFlow String
- The target flow to transition to. Format: projects//locations//agents//flows/.
- targetPage String
- The target page to transition to. Format: projects//locations//agents//flows//pages/.
- triggerFulfillment CxPage Form Parameter Fill Behavior Reprompt 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.
- targetFlow string
- The target flow to transition to. Format: projects//locations//agents//flows/.
- targetPage string
- The target page to transition to. Format: projects//locations//agents//flows//pages/.
- triggerFulfillment CxPage Form Parameter Fill Behavior Reprompt 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 CxPage Form Parameter Fill Behavior Reprompt 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.
- targetFlow String
- The target flow to transition to. Format: projects//locations//agents//flows/.
- targetPage String
- The target page to transition to. Format: projects//locations//agents//flows//pages/.
- triggerFulfillment 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.
CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillment, CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentArgs                      
- ConditionalCases List<CxPage Form Parameter Fill Behavior Reprompt Event Handler Trigger Fulfillment Conditional Case> 
- Conditional cases for this fulfillment. Structure is documented below.
- Messages
List<CxPage Form Parameter Fill Behavior Reprompt Event Handler Trigger Fulfillment Message> 
- The list of rich message responses to present to the user. Structure is documented below.
- ReturnPartial 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.
- SetParameter List<CxActions Page Form Parameter Fill Behavior Reprompt 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/.
- ConditionalCases []CxPage Form Parameter Fill Behavior Reprompt Event Handler Trigger Fulfillment Conditional Case 
- Conditional cases for this fulfillment. Structure is documented below.
- Messages
[]CxPage Form Parameter Fill Behavior Reprompt Event Handler Trigger Fulfillment Message 
- The list of rich message responses to present to the user. Structure is documented below.
- ReturnPartial 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.
- SetParameter []CxActions Page Form Parameter Fill Behavior Reprompt 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/.
- conditionalCases List<CxPage Form Parameter Fill Behavior Reprompt Event Handler Trigger Fulfillment Conditional Case> 
- Conditional cases for this fulfillment. Structure is documented below.
- messages
List<CxPage Form Parameter Fill Behavior Reprompt Event Handler Trigger Fulfillment Message> 
- The list of rich message responses to present to the user. Structure is documented below.
- returnPartial 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.
- setParameter List<CxActions Page Form Parameter Fill Behavior Reprompt 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/.
- conditionalCases CxPage Form Parameter Fill Behavior Reprompt Event Handler Trigger Fulfillment Conditional Case[] 
- Conditional cases for this fulfillment. Structure is documented below.
- messages
CxPage Form Parameter Fill Behavior Reprompt Event Handler Trigger Fulfillment Message[] 
- The list of rich message responses to present to the user. Structure is documented below.
- returnPartial 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.
- setParameter CxActions Page Form Parameter Fill Behavior Reprompt 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[CxPage Form Parameter Fill Behavior Reprompt Event Handler Trigger Fulfillment Conditional Case] 
- Conditional cases for this fulfillment. Structure is documented below.
- messages
Sequence[CxPage Form Parameter Fill Behavior Reprompt 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 Page Form Parameter Fill Behavior Reprompt 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/.
- conditionalCases 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.
- returnPartial 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.
- setParameter 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/.
CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentConditionalCase, CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentConditionalCaseArgs                          
CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessage, CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageArgs                        
- 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.
- ConversationSuccess CxPage Form Parameter Fill Behavior Reprompt 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.
 
- LiveAgent CxHandoff Page Form Parameter Fill Behavior Reprompt 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.
 
- OutputAudio CxText Page Form Parameter Fill Behavior Reprompt 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.
- PlayAudio CxPage Form Parameter Fill Behavior Reprompt 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.
- TelephonyTransfer CxCall Page Form Parameter Fill Behavior Reprompt 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
CxPage Form Parameter Fill Behavior Reprompt 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.
- ConversationSuccess CxPage Form Parameter Fill Behavior Reprompt 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.
 
- LiveAgent CxHandoff Page Form Parameter Fill Behavior Reprompt 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.
 
- OutputAudio CxText Page Form Parameter Fill Behavior Reprompt 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.
- PlayAudio CxPage Form Parameter Fill Behavior Reprompt 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.
- TelephonyTransfer CxCall Page Form Parameter Fill Behavior Reprompt 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
CxPage Form Parameter Fill Behavior Reprompt 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.
- conversationSuccess CxPage Form Parameter Fill Behavior Reprompt 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.
 
- liveAgent CxHandoff Page Form Parameter Fill Behavior Reprompt 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.
 
- outputAudio CxText Page Form Parameter Fill Behavior Reprompt 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.
- playAudio CxPage Form Parameter Fill Behavior Reprompt 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.
- telephonyTransfer CxCall Page Form Parameter Fill Behavior Reprompt 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
CxPage Form Parameter Fill Behavior Reprompt 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.
- conversationSuccess CxPage Form Parameter Fill Behavior Reprompt 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.
 
- liveAgent CxHandoff Page Form Parameter Fill Behavior Reprompt 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.
 
- outputAudio CxText Page Form Parameter Fill Behavior Reprompt 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.
- playAudio CxPage Form Parameter Fill Behavior Reprompt 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.
- telephonyTransfer CxCall Page Form Parameter Fill Behavior Reprompt 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
CxPage Form Parameter Fill Behavior Reprompt 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 CxPage Form Parameter Fill Behavior Reprompt 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 Page Form Parameter Fill Behavior Reprompt 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 Page Form Parameter Fill Behavior Reprompt 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 CxPage Form Parameter Fill Behavior Reprompt 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 Page Form Parameter Fill Behavior Reprompt 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
CxPage Form Parameter Fill Behavior Reprompt 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.
- conversationSuccess 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.
 
- liveAgent 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.
 
- outputAudio 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.
- playAudio Property Map
- Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephonyTransfer 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.
CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageConversationSuccess, CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageConversationSuccessArgs                            
- 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.
CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageLiveAgentHandoff, CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageLiveAgentHandoffArgs                              
- 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.
CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageOutputAudioText, CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageOutputAudioTextArgs                              
- AllowPlayback 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.
- AllowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessagePlayAudio, CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessagePlayAudioArgs                            
- AudioUri string
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- AllowPlayback 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.
- AudioUri string
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- AllowPlayback 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.
- audioUri String
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allowPlayback 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.
- audioUri string
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allowPlayback 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.
- audioUri String
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allowPlayback 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.
CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageTelephonyTransferCall, CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageTelephonyTransferCallArgs                              
- PhoneNumber string
- Transfer the call to a phone number in E.164 format.
- PhoneNumber string
- Transfer the call to a phone number in E.164 format.
- phoneNumber String
- Transfer the call to a phone number in E.164 format.
- phoneNumber 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.
- phoneNumber String
- Transfer the call to a phone number in E.164 format.
CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageText, CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentMessageTextArgs                          
- AllowPlayback 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.
- AllowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentSetParameterAction, CxPageFormParameterFillBehaviorRepromptEventHandlerTriggerFulfillmentSetParameterActionArgs                            
CxPageTransitionRoute, CxPageTransitionRouteArgs        
- 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.
- TargetFlow string
- The target flow to transition to. Format: projects//locations//agents//flows/.
- TargetPage string
- The target page to transition to. Format: projects//locations//agents//flows//pages/.
- TriggerFulfillment CxPage 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.
- TargetFlow string
- The target flow to transition to. Format: projects//locations//agents//flows/.
- TargetPage string
- The target page to transition to. Format: projects//locations//agents//flows//pages/.
- TriggerFulfillment CxPage 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.
- targetFlow String
- The target flow to transition to. Format: projects//locations//agents//flows/.
- targetPage String
- The target page to transition to. Format: projects//locations//agents//flows//pages/.
- triggerFulfillment CxPage 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.
- targetFlow string
- The target flow to transition to. Format: projects//locations//agents//flows/.
- targetPage string
- The target page to transition to. Format: projects//locations//agents//flows//pages/.
- triggerFulfillment CxPage 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 CxPage 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.
- targetFlow String
- The target flow to transition to. Format: projects//locations//agents//flows/.
- targetPage String
- The target page to transition to. Format: projects//locations//agents//flows//pages/.
- triggerFulfillment 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.
CxPageTransitionRouteTriggerFulfillment, CxPageTransitionRouteTriggerFulfillmentArgs            
- ConditionalCases List<CxPage Transition Route Trigger Fulfillment Conditional Case> 
- Conditional cases for this fulfillment. Structure is documented below.
- Messages
List<CxPage Transition Route Trigger Fulfillment Message> 
- The list of rich message responses to present to the user. Structure is documented below.
- ReturnPartial 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.
- SetParameter List<CxActions Page 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/.
- ConditionalCases []CxPage Transition Route Trigger Fulfillment Conditional Case 
- Conditional cases for this fulfillment. Structure is documented below.
- Messages
[]CxPage Transition Route Trigger Fulfillment Message 
- The list of rich message responses to present to the user. Structure is documented below.
- ReturnPartial 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.
- SetParameter []CxActions Page 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/.
- conditionalCases List<CxPage Transition Route Trigger Fulfillment Conditional Case> 
- Conditional cases for this fulfillment. Structure is documented below.
- messages
List<CxPage Transition Route Trigger Fulfillment Message> 
- The list of rich message responses to present to the user. Structure is documented below.
- returnPartial 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.
- setParameter List<CxActions Page 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/.
- conditionalCases CxPage Transition Route Trigger Fulfillment Conditional Case[] 
- Conditional cases for this fulfillment. Structure is documented below.
- messages
CxPage Transition Route Trigger Fulfillment Message[] 
- The list of rich message responses to present to the user. Structure is documented below.
- returnPartial 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.
- setParameter CxActions Page 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[CxPage Transition Route Trigger Fulfillment Conditional Case] 
- Conditional cases for this fulfillment. Structure is documented below.
- messages
Sequence[CxPage 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 Page 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/.
- conditionalCases 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.
- returnPartial 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.
- setParameter 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/.
CxPageTransitionRouteTriggerFulfillmentConditionalCase, CxPageTransitionRouteTriggerFulfillmentConditionalCaseArgs                
CxPageTransitionRouteTriggerFulfillmentMessage, CxPageTransitionRouteTriggerFulfillmentMessageArgs              
- 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.
- ConversationSuccess CxPage 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.
 
- LiveAgent CxHandoff Page 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.
 
- OutputAudio CxText Page 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.
- PlayAudio CxPage 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.
- TelephonyTransfer CxCall Page 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
CxPage 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.
- ConversationSuccess CxPage 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.
 
- LiveAgent CxHandoff Page 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.
 
- OutputAudio CxText Page 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.
- PlayAudio CxPage 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.
- TelephonyTransfer CxCall Page 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
CxPage 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.
- conversationSuccess CxPage 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.
 
- liveAgent CxHandoff Page 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.
 
- outputAudio CxText Page 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.
- playAudio CxPage 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.
- telephonyTransfer CxCall Page 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
CxPage 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.
- conversationSuccess CxPage 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.
 
- liveAgent CxHandoff Page 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.
 
- outputAudio CxText Page 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.
- playAudio CxPage 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.
- telephonyTransfer CxCall Page 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
CxPage 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 CxPage 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 Page 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 Page 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 CxPage 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 Page 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
CxPage 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.
- conversationSuccess 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.
 
- liveAgent 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.
 
- outputAudio 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.
- playAudio Property Map
- Specifies an audio clip to be played by the client as part of the response. Structure is documented below.
- telephonyTransfer 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.
CxPageTransitionRouteTriggerFulfillmentMessageConversationSuccess, CxPageTransitionRouteTriggerFulfillmentMessageConversationSuccessArgs                  
- 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.
CxPageTransitionRouteTriggerFulfillmentMessageLiveAgentHandoff, CxPageTransitionRouteTriggerFulfillmentMessageLiveAgentHandoffArgs                    
- 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.
CxPageTransitionRouteTriggerFulfillmentMessageOutputAudioText, CxPageTransitionRouteTriggerFulfillmentMessageOutputAudioTextArgs                    
- AllowPlayback 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.
- AllowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
CxPageTransitionRouteTriggerFulfillmentMessagePlayAudio, CxPageTransitionRouteTriggerFulfillmentMessagePlayAudioArgs                  
- AudioUri string
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- AllowPlayback 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.
- AudioUri string
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- AllowPlayback 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.
- audioUri String
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allowPlayback 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.
- audioUri string
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allowPlayback 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.
- audioUri String
- URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.
- allowPlayback 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.
CxPageTransitionRouteTriggerFulfillmentMessageTelephonyTransferCall, CxPageTransitionRouteTriggerFulfillmentMessageTelephonyTransferCallArgs                    
- PhoneNumber string
- Transfer the call to a phone number in E.164 format.
- PhoneNumber string
- Transfer the call to a phone number in E.164 format.
- phoneNumber String
- Transfer the call to a phone number in E.164 format.
- phoneNumber 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.
- phoneNumber String
- Transfer the call to a phone number in E.164 format.
CxPageTransitionRouteTriggerFulfillmentMessageText, CxPageTransitionRouteTriggerFulfillmentMessageTextArgs                
- AllowPlayback 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.
- AllowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
- allowPlayback 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.
CxPageTransitionRouteTriggerFulfillmentSetParameterAction, CxPageTransitionRouteTriggerFulfillmentSetParameterActionArgs                  
Import
Page can be imported using any of these accepted formats:
- {{parent}}/pages/{{name}}
- {{parent}}/{{name}}
When using the pulumi import command, Page can be imported using one of the formats above. For example:
$ pulumi import gcp:diagflow/cxPage:CxPage default {{parent}}/pages/{{name}}
$ pulumi import gcp:diagflow/cxPage:CxPage 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-betaTerraform Provider.