1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. diagflow
  5. CxWebhook
Google Cloud v9.0.0 published on Thursday, Sep 18, 2025 by Pulumi

gcp.diagflow.CxWebhook

Explore with Pulumi AI

gcp logo
Google Cloud v9.0.0 published on Thursday, Sep 18, 2025 by Pulumi

    Webhooks host the developer’s business logic. During a session, webhooks allow the developer to use the data extracted by Dialogflow’s natural language processing to generate dynamic responses, validate collected data, or trigger actions on the backend.

    To get more information about Webhook, see:

    Example Usage

    Dialogflowcx Webhook Standard

    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: [
            "it",
            "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 standardWebhook = new gcp.diagflow.CxWebhook("standard_webhook", {
        parent: agent.id,
        displayName: "MyFlow",
        genericWebService: {
            allowedCaCerts: ["BQA="],
            uri: "https://example.com",
            requestHeaders: {
                "example-key": "example-value",
            },
            webhookType: "STANDARD",
            oauthConfig: {
                clientId: "example-client-id",
                secretVersionForClientSecret: "projects/example-proj/secrets/example-secret/versions/example-version",
                tokenEndpoint: "https://example.com",
                scopes: ["example-scope"],
            },
            serviceAgentAuth: "NONE",
            secretVersionForUsernamePassword: "projects/example-proj/secrets/example-secret/versions/example-version",
            secretVersionsForRequestHeaders: [
                {
                    key: "example-key-1",
                    secretVersion: "projects/example-proj/secrets/example-secret/versions/example-version",
                },
                {
                    key: "example-key-2",
                    secretVersion: "projects/example-proj/secrets/example-secret/versions/example-version-2",
                },
            ],
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    agent = gcp.diagflow.CxAgent("agent",
        display_name="dialogflowcx-agent",
        location="global",
        default_language_code="en",
        supported_language_codes=[
            "it",
            "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,
        })
    standard_webhook = gcp.diagflow.CxWebhook("standard_webhook",
        parent=agent.id,
        display_name="MyFlow",
        generic_web_service={
            "allowed_ca_certs": ["BQA="],
            "uri": "https://example.com",
            "request_headers": {
                "example-key": "example-value",
            },
            "webhook_type": "STANDARD",
            "oauth_config": {
                "client_id": "example-client-id",
                "secret_version_for_client_secret": "projects/example-proj/secrets/example-secret/versions/example-version",
                "token_endpoint": "https://example.com",
                "scopes": ["example-scope"],
            },
            "service_agent_auth": "NONE",
            "secret_version_for_username_password": "projects/example-proj/secrets/example-secret/versions/example-version",
            "secret_versions_for_request_headers": [
                {
                    "key": "example-key-1",
                    "secret_version": "projects/example-proj/secrets/example-secret/versions/example-version",
                },
                {
                    "key": "example-key-2",
                    "secret_version": "projects/example-proj/secrets/example-secret/versions/example-version-2",
                },
            ],
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v9/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("it"),
    				pulumi.String("de"),
    				pulumi.String("es"),
    			},
    			TimeZone:                 pulumi.String("America/New_York"),
    			Description:              pulumi.String("Example description."),
    			AvatarUri:                pulumi.String("https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png"),
    			EnableStackdriverLogging: pulumi.Bool(true),
    			EnableSpellCorrection:    pulumi.Bool(true),
    			SpeechToTextSettings: &diagflow.CxAgentSpeechToTextSettingsArgs{
    				EnableSpeechAdaptation: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = diagflow.NewCxWebhook(ctx, "standard_webhook", &diagflow.CxWebhookArgs{
    			Parent:      agent.ID(),
    			DisplayName: pulumi.String("MyFlow"),
    			GenericWebService: &diagflow.CxWebhookGenericWebServiceArgs{
    				AllowedCaCerts: pulumi.StringArray{
    					pulumi.String("BQA="),
    				},
    				Uri: pulumi.String("https://example.com"),
    				RequestHeaders: pulumi.StringMap{
    					"example-key": pulumi.String("example-value"),
    				},
    				WebhookType: pulumi.String("STANDARD"),
    				OauthConfig: &diagflow.CxWebhookGenericWebServiceOauthConfigArgs{
    					ClientId:                     pulumi.String("example-client-id"),
    					SecretVersionForClientSecret: pulumi.String("projects/example-proj/secrets/example-secret/versions/example-version"),
    					TokenEndpoint:                pulumi.String("https://example.com"),
    					Scopes: pulumi.StringArray{
    						pulumi.String("example-scope"),
    					},
    				},
    				ServiceAgentAuth:                 pulumi.String("NONE"),
    				SecretVersionForUsernamePassword: pulumi.String("projects/example-proj/secrets/example-secret/versions/example-version"),
    				SecretVersionsForRequestHeaders: diagflow.CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArray{
    					&diagflow.CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs{
    						Key:           pulumi.String("example-key-1"),
    						SecretVersion: pulumi.String("projects/example-proj/secrets/example-secret/versions/example-version"),
    					},
    					&diagflow.CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs{
    						Key:           pulumi.String("example-key-2"),
    						SecretVersion: pulumi.String("projects/example-proj/secrets/example-secret/versions/example-version-2"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var agent = new Gcp.Diagflow.CxAgent("agent", new()
        {
            DisplayName = "dialogflowcx-agent",
            Location = "global",
            DefaultLanguageCode = "en",
            SupportedLanguageCodes = new[]
            {
                "it",
                "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 standardWebhook = new Gcp.Diagflow.CxWebhook("standard_webhook", new()
        {
            Parent = agent.Id,
            DisplayName = "MyFlow",
            GenericWebService = new Gcp.Diagflow.Inputs.CxWebhookGenericWebServiceArgs
            {
                AllowedCaCerts = new[]
                {
                    "BQA=",
                },
                Uri = "https://example.com",
                RequestHeaders = 
                {
                    { "example-key", "example-value" },
                },
                WebhookType = "STANDARD",
                OauthConfig = new Gcp.Diagflow.Inputs.CxWebhookGenericWebServiceOauthConfigArgs
                {
                    ClientId = "example-client-id",
                    SecretVersionForClientSecret = "projects/example-proj/secrets/example-secret/versions/example-version",
                    TokenEndpoint = "https://example.com",
                    Scopes = new[]
                    {
                        "example-scope",
                    },
                },
                ServiceAgentAuth = "NONE",
                SecretVersionForUsernamePassword = "projects/example-proj/secrets/example-secret/versions/example-version",
                SecretVersionsForRequestHeaders = new[]
                {
                    new Gcp.Diagflow.Inputs.CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs
                    {
                        Key = "example-key-1",
                        SecretVersion = "projects/example-proj/secrets/example-secret/versions/example-version",
                    },
                    new Gcp.Diagflow.Inputs.CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs
                    {
                        Key = "example-key-2",
                        SecretVersion = "projects/example-proj/secrets/example-secret/versions/example-version-2",
                    },
                },
            },
        });
    
    });
    
    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.CxWebhook;
    import com.pulumi.gcp.diagflow.CxWebhookArgs;
    import com.pulumi.gcp.diagflow.inputs.CxWebhookGenericWebServiceArgs;
    import com.pulumi.gcp.diagflow.inputs.CxWebhookGenericWebServiceOauthConfigArgs;
    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(            
                    "it",
                    "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 standardWebhook = new CxWebhook("standardWebhook", CxWebhookArgs.builder()
                .parent(agent.id())
                .displayName("MyFlow")
                .genericWebService(CxWebhookGenericWebServiceArgs.builder()
                    .allowedCaCerts("BQA=")
                    .uri("https://example.com")
                    .requestHeaders(Map.of("example-key", "example-value"))
                    .webhookType("STANDARD")
                    .oauthConfig(CxWebhookGenericWebServiceOauthConfigArgs.builder()
                        .clientId("example-client-id")
                        .secretVersionForClientSecret("projects/example-proj/secrets/example-secret/versions/example-version")
                        .tokenEndpoint("https://example.com")
                        .scopes("example-scope")
                        .build())
                    .serviceAgentAuth("NONE")
                    .secretVersionForUsernamePassword("projects/example-proj/secrets/example-secret/versions/example-version")
                    .secretVersionsForRequestHeaders(                
                        CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs.builder()
                            .key("example-key-1")
                            .secretVersion("projects/example-proj/secrets/example-secret/versions/example-version")
                            .build(),
                        CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs.builder()
                            .key("example-key-2")
                            .secretVersion("projects/example-proj/secrets/example-secret/versions/example-version-2")
                            .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      agent:
        type: gcp:diagflow:CxAgent
        properties:
          displayName: dialogflowcx-agent
          location: global
          defaultLanguageCode: en
          supportedLanguageCodes:
            - it
            - 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
      standardWebhook:
        type: gcp:diagflow:CxWebhook
        name: standard_webhook
        properties:
          parent: ${agent.id}
          displayName: MyFlow
          genericWebService:
            allowedCaCerts:
              - BQA=
            uri: https://example.com
            requestHeaders:
              example-key: example-value
            webhookType: STANDARD
            oauthConfig:
              clientId: example-client-id
              secretVersionForClientSecret: projects/example-proj/secrets/example-secret/versions/example-version
              tokenEndpoint: https://example.com
              scopes:
                - example-scope
            serviceAgentAuth: NONE
            secretVersionForUsernamePassword: projects/example-proj/secrets/example-secret/versions/example-version
            secretVersionsForRequestHeaders:
              - key: example-key-1
                secretVersion: projects/example-proj/secrets/example-secret/versions/example-version
              - key: example-key-2
                secretVersion: projects/example-proj/secrets/example-secret/versions/example-version-2
    

    Dialogflowcx Webhook Flexible

    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: [
            "it",
            "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 flexibleWebhook = new gcp.diagflow.CxWebhook("flexible_webhook", {
        parent: agent.id,
        displayName: "MyFlow",
        genericWebService: {
            uri: "https://example.com",
            requestHeaders: {
                "example-key": "example-value",
            },
            webhookType: "FLEXIBLE",
            oauthConfig: {
                clientId: "example-client-id",
                clientSecret: "projects/example-proj/secrets/example-secret/versions/example-version",
                tokenEndpoint: "https://example.com",
            },
            serviceAgentAuth: "NONE",
            httpMethod: "POST",
            requestBody: "{\"example-key\": \"example-value\"}",
            parameterMapping: {
                "example-parameter": "examplePath",
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    agent = gcp.diagflow.CxAgent("agent",
        display_name="dialogflowcx-agent",
        location="global",
        default_language_code="en",
        supported_language_codes=[
            "it",
            "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,
        })
    flexible_webhook = gcp.diagflow.CxWebhook("flexible_webhook",
        parent=agent.id,
        display_name="MyFlow",
        generic_web_service={
            "uri": "https://example.com",
            "request_headers": {
                "example-key": "example-value",
            },
            "webhook_type": "FLEXIBLE",
            "oauth_config": {
                "client_id": "example-client-id",
                "client_secret": "projects/example-proj/secrets/example-secret/versions/example-version",
                "token_endpoint": "https://example.com",
            },
            "service_agent_auth": "NONE",
            "http_method": "POST",
            "request_body": "{\"example-key\": \"example-value\"}",
            "parameter_mapping": {
                "example-parameter": "examplePath",
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v9/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("it"),
    				pulumi.String("de"),
    				pulumi.String("es"),
    			},
    			TimeZone:                 pulumi.String("America/New_York"),
    			Description:              pulumi.String("Example description."),
    			AvatarUri:                pulumi.String("https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png"),
    			EnableStackdriverLogging: pulumi.Bool(true),
    			EnableSpellCorrection:    pulumi.Bool(true),
    			SpeechToTextSettings: &diagflow.CxAgentSpeechToTextSettingsArgs{
    				EnableSpeechAdaptation: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = diagflow.NewCxWebhook(ctx, "flexible_webhook", &diagflow.CxWebhookArgs{
    			Parent:      agent.ID(),
    			DisplayName: pulumi.String("MyFlow"),
    			GenericWebService: &diagflow.CxWebhookGenericWebServiceArgs{
    				Uri: pulumi.String("https://example.com"),
    				RequestHeaders: pulumi.StringMap{
    					"example-key": pulumi.String("example-value"),
    				},
    				WebhookType: pulumi.String("FLEXIBLE"),
    				OauthConfig: &diagflow.CxWebhookGenericWebServiceOauthConfigArgs{
    					ClientId:      pulumi.String("example-client-id"),
    					ClientSecret:  pulumi.String("projects/example-proj/secrets/example-secret/versions/example-version"),
    					TokenEndpoint: pulumi.String("https://example.com"),
    				},
    				ServiceAgentAuth: pulumi.String("NONE"),
    				HttpMethod:       pulumi.String("POST"),
    				RequestBody:      pulumi.String("{\"example-key\": \"example-value\"}"),
    				ParameterMapping: pulumi.StringMap{
    					"example-parameter": pulumi.String("examplePath"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var agent = new Gcp.Diagflow.CxAgent("agent", new()
        {
            DisplayName = "dialogflowcx-agent",
            Location = "global",
            DefaultLanguageCode = "en",
            SupportedLanguageCodes = new[]
            {
                "it",
                "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 flexibleWebhook = new Gcp.Diagflow.CxWebhook("flexible_webhook", new()
        {
            Parent = agent.Id,
            DisplayName = "MyFlow",
            GenericWebService = new Gcp.Diagflow.Inputs.CxWebhookGenericWebServiceArgs
            {
                Uri = "https://example.com",
                RequestHeaders = 
                {
                    { "example-key", "example-value" },
                },
                WebhookType = "FLEXIBLE",
                OauthConfig = new Gcp.Diagflow.Inputs.CxWebhookGenericWebServiceOauthConfigArgs
                {
                    ClientId = "example-client-id",
                    ClientSecret = "projects/example-proj/secrets/example-secret/versions/example-version",
                    TokenEndpoint = "https://example.com",
                },
                ServiceAgentAuth = "NONE",
                HttpMethod = "POST",
                RequestBody = "{\"example-key\": \"example-value\"}",
                ParameterMapping = 
                {
                    { "example-parameter", "examplePath" },
                },
            },
        });
    
    });
    
    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.CxWebhook;
    import com.pulumi.gcp.diagflow.CxWebhookArgs;
    import com.pulumi.gcp.diagflow.inputs.CxWebhookGenericWebServiceArgs;
    import com.pulumi.gcp.diagflow.inputs.CxWebhookGenericWebServiceOauthConfigArgs;
    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(            
                    "it",
                    "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 flexibleWebhook = new CxWebhook("flexibleWebhook", CxWebhookArgs.builder()
                .parent(agent.id())
                .displayName("MyFlow")
                .genericWebService(CxWebhookGenericWebServiceArgs.builder()
                    .uri("https://example.com")
                    .requestHeaders(Map.of("example-key", "example-value"))
                    .webhookType("FLEXIBLE")
                    .oauthConfig(CxWebhookGenericWebServiceOauthConfigArgs.builder()
                        .clientId("example-client-id")
                        .clientSecret("projects/example-proj/secrets/example-secret/versions/example-version")
                        .tokenEndpoint("https://example.com")
                        .build())
                    .serviceAgentAuth("NONE")
                    .httpMethod("POST")
                    .requestBody("{\"example-key\": \"example-value\"}")
                    .parameterMapping(Map.of("example-parameter", "examplePath"))
                    .build())
                .build());
    
        }
    }
    
    resources:
      agent:
        type: gcp:diagflow:CxAgent
        properties:
          displayName: dialogflowcx-agent
          location: global
          defaultLanguageCode: en
          supportedLanguageCodes:
            - it
            - 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
      flexibleWebhook:
        type: gcp:diagflow:CxWebhook
        name: flexible_webhook
        properties:
          parent: ${agent.id}
          displayName: MyFlow
          genericWebService:
            uri: https://example.com
            requestHeaders:
              example-key: example-value
            webhookType: FLEXIBLE
            oauthConfig:
              clientId: example-client-id
              clientSecret: projects/example-proj/secrets/example-secret/versions/example-version
              tokenEndpoint: https://example.com
            serviceAgentAuth: NONE
            httpMethod: POST
            requestBody: '{"example-key": "example-value"}'
            parameterMapping:
              example-parameter: examplePath
    

    Dialogflowcx Webhook Service Directory Standard

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const agent = new gcp.diagflow.CxAgent("agent", {
        displayName: "dialogflowcx-agent",
        location: "us-central1",
        defaultLanguageCode: "en",
        supportedLanguageCodes: [
            "it",
            "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 standardWebhook = new gcp.diagflow.CxWebhook("standard_webhook", {
        parent: agent.id,
        displayName: "MyFlow",
        serviceDirectory: {
            service: "projects/example-proj/locations/us-central1/namespaces/example-namespace/services/example-service",
            genericWebService: {
                allowedCaCerts: ["BQA="],
                uri: "https://example.com",
                requestHeaders: {
                    "example-key": "example-value",
                },
                webhookType: "STANDARD",
                oauthConfig: {
                    clientId: "example-client-id",
                    secretVersionForClientSecret: "projects/example-proj/secrets/example-secret/versions/example-version",
                    tokenEndpoint: "https://example.com",
                    scopes: ["example-scope"],
                },
                serviceAgentAuth: "NONE",
                secretVersionForUsernamePassword: "projects/example-proj/secrets/example-secret/versions/example-version",
                secretVersionsForRequestHeaders: [
                    {
                        key: "example-key-1",
                        secretVersion: "projects/example-proj/secrets/example-secret/versions/example-version",
                    },
                    {
                        key: "example-key-2",
                        secretVersion: "projects/example-proj/secrets/example-secret/versions/example-version-2",
                    },
                ],
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    agent = gcp.diagflow.CxAgent("agent",
        display_name="dialogflowcx-agent",
        location="us-central1",
        default_language_code="en",
        supported_language_codes=[
            "it",
            "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,
        })
    standard_webhook = gcp.diagflow.CxWebhook("standard_webhook",
        parent=agent.id,
        display_name="MyFlow",
        service_directory={
            "service": "projects/example-proj/locations/us-central1/namespaces/example-namespace/services/example-service",
            "generic_web_service": {
                "allowed_ca_certs": ["BQA="],
                "uri": "https://example.com",
                "request_headers": {
                    "example-key": "example-value",
                },
                "webhook_type": "STANDARD",
                "oauth_config": {
                    "client_id": "example-client-id",
                    "secret_version_for_client_secret": "projects/example-proj/secrets/example-secret/versions/example-version",
                    "token_endpoint": "https://example.com",
                    "scopes": ["example-scope"],
                },
                "service_agent_auth": "NONE",
                "secret_version_for_username_password": "projects/example-proj/secrets/example-secret/versions/example-version",
                "secret_versions_for_request_headers": [
                    {
                        "key": "example-key-1",
                        "secret_version": "projects/example-proj/secrets/example-secret/versions/example-version",
                    },
                    {
                        "key": "example-key-2",
                        "secret_version": "projects/example-proj/secrets/example-secret/versions/example-version-2",
                    },
                ],
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v9/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("us-central1"),
    			DefaultLanguageCode: pulumi.String("en"),
    			SupportedLanguageCodes: pulumi.StringArray{
    				pulumi.String("it"),
    				pulumi.String("de"),
    				pulumi.String("es"),
    			},
    			TimeZone:                 pulumi.String("America/New_York"),
    			Description:              pulumi.String("Example description."),
    			AvatarUri:                pulumi.String("https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png"),
    			EnableStackdriverLogging: pulumi.Bool(true),
    			EnableSpellCorrection:    pulumi.Bool(true),
    			SpeechToTextSettings: &diagflow.CxAgentSpeechToTextSettingsArgs{
    				EnableSpeechAdaptation: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = diagflow.NewCxWebhook(ctx, "standard_webhook", &diagflow.CxWebhookArgs{
    			Parent:      agent.ID(),
    			DisplayName: pulumi.String("MyFlow"),
    			ServiceDirectory: &diagflow.CxWebhookServiceDirectoryArgs{
    				Service: pulumi.String("projects/example-proj/locations/us-central1/namespaces/example-namespace/services/example-service"),
    				GenericWebService: &diagflow.CxWebhookServiceDirectoryGenericWebServiceArgs{
    					AllowedCaCerts: pulumi.StringArray{
    						pulumi.String("BQA="),
    					},
    					Uri: pulumi.String("https://example.com"),
    					RequestHeaders: pulumi.StringMap{
    						"example-key": pulumi.String("example-value"),
    					},
    					WebhookType: pulumi.String("STANDARD"),
    					OauthConfig: &diagflow.CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs{
    						ClientId:                     pulumi.String("example-client-id"),
    						SecretVersionForClientSecret: pulumi.String("projects/example-proj/secrets/example-secret/versions/example-version"),
    						TokenEndpoint:                pulumi.String("https://example.com"),
    						Scopes: pulumi.StringArray{
    							pulumi.String("example-scope"),
    						},
    					},
    					ServiceAgentAuth:                 pulumi.String("NONE"),
    					SecretVersionForUsernamePassword: pulumi.String("projects/example-proj/secrets/example-secret/versions/example-version"),
    					SecretVersionsForRequestHeaders: diagflow.CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArray{
    						&diagflow.CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs{
    							Key:           pulumi.String("example-key-1"),
    							SecretVersion: pulumi.String("projects/example-proj/secrets/example-secret/versions/example-version"),
    						},
    						&diagflow.CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs{
    							Key:           pulumi.String("example-key-2"),
    							SecretVersion: pulumi.String("projects/example-proj/secrets/example-secret/versions/example-version-2"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var agent = new Gcp.Diagflow.CxAgent("agent", new()
        {
            DisplayName = "dialogflowcx-agent",
            Location = "us-central1",
            DefaultLanguageCode = "en",
            SupportedLanguageCodes = new[]
            {
                "it",
                "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 standardWebhook = new Gcp.Diagflow.CxWebhook("standard_webhook", new()
        {
            Parent = agent.Id,
            DisplayName = "MyFlow",
            ServiceDirectory = new Gcp.Diagflow.Inputs.CxWebhookServiceDirectoryArgs
            {
                Service = "projects/example-proj/locations/us-central1/namespaces/example-namespace/services/example-service",
                GenericWebService = new Gcp.Diagflow.Inputs.CxWebhookServiceDirectoryGenericWebServiceArgs
                {
                    AllowedCaCerts = new[]
                    {
                        "BQA=",
                    },
                    Uri = "https://example.com",
                    RequestHeaders = 
                    {
                        { "example-key", "example-value" },
                    },
                    WebhookType = "STANDARD",
                    OauthConfig = new Gcp.Diagflow.Inputs.CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs
                    {
                        ClientId = "example-client-id",
                        SecretVersionForClientSecret = "projects/example-proj/secrets/example-secret/versions/example-version",
                        TokenEndpoint = "https://example.com",
                        Scopes = new[]
                        {
                            "example-scope",
                        },
                    },
                    ServiceAgentAuth = "NONE",
                    SecretVersionForUsernamePassword = "projects/example-proj/secrets/example-secret/versions/example-version",
                    SecretVersionsForRequestHeaders = new[]
                    {
                        new Gcp.Diagflow.Inputs.CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs
                        {
                            Key = "example-key-1",
                            SecretVersion = "projects/example-proj/secrets/example-secret/versions/example-version",
                        },
                        new Gcp.Diagflow.Inputs.CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs
                        {
                            Key = "example-key-2",
                            SecretVersion = "projects/example-proj/secrets/example-secret/versions/example-version-2",
                        },
                    },
                },
            },
        });
    
    });
    
    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.CxWebhook;
    import com.pulumi.gcp.diagflow.CxWebhookArgs;
    import com.pulumi.gcp.diagflow.inputs.CxWebhookServiceDirectoryArgs;
    import com.pulumi.gcp.diagflow.inputs.CxWebhookServiceDirectoryGenericWebServiceArgs;
    import com.pulumi.gcp.diagflow.inputs.CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs;
    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("us-central1")
                .defaultLanguageCode("en")
                .supportedLanguageCodes(            
                    "it",
                    "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 standardWebhook = new CxWebhook("standardWebhook", CxWebhookArgs.builder()
                .parent(agent.id())
                .displayName("MyFlow")
                .serviceDirectory(CxWebhookServiceDirectoryArgs.builder()
                    .service("projects/example-proj/locations/us-central1/namespaces/example-namespace/services/example-service")
                    .genericWebService(CxWebhookServiceDirectoryGenericWebServiceArgs.builder()
                        .allowedCaCerts("BQA=")
                        .uri("https://example.com")
                        .requestHeaders(Map.of("example-key", "example-value"))
                        .webhookType("STANDARD")
                        .oauthConfig(CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs.builder()
                            .clientId("example-client-id")
                            .secretVersionForClientSecret("projects/example-proj/secrets/example-secret/versions/example-version")
                            .tokenEndpoint("https://example.com")
                            .scopes("example-scope")
                            .build())
                        .serviceAgentAuth("NONE")
                        .secretVersionForUsernamePassword("projects/example-proj/secrets/example-secret/versions/example-version")
                        .secretVersionsForRequestHeaders(                    
                            CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs.builder()
                                .key("example-key-1")
                                .secretVersion("projects/example-proj/secrets/example-secret/versions/example-version")
                                .build(),
                            CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs.builder()
                                .key("example-key-2")
                                .secretVersion("projects/example-proj/secrets/example-secret/versions/example-version-2")
                                .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      agent:
        type: gcp:diagflow:CxAgent
        properties:
          displayName: dialogflowcx-agent
          location: us-central1
          defaultLanguageCode: en
          supportedLanguageCodes:
            - it
            - 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
      standardWebhook:
        type: gcp:diagflow:CxWebhook
        name: standard_webhook
        properties:
          parent: ${agent.id}
          displayName: MyFlow
          serviceDirectory:
            service: projects/example-proj/locations/us-central1/namespaces/example-namespace/services/example-service
            genericWebService:
              allowedCaCerts:
                - BQA=
              uri: https://example.com
              requestHeaders:
                example-key: example-value
              webhookType: STANDARD
              oauthConfig:
                clientId: example-client-id
                secretVersionForClientSecret: projects/example-proj/secrets/example-secret/versions/example-version
                tokenEndpoint: https://example.com
                scopes:
                  - example-scope
              serviceAgentAuth: NONE
              secretVersionForUsernamePassword: projects/example-proj/secrets/example-secret/versions/example-version
              secretVersionsForRequestHeaders:
                - key: example-key-1
                  secretVersion: projects/example-proj/secrets/example-secret/versions/example-version
                - key: example-key-2
                  secretVersion: projects/example-proj/secrets/example-secret/versions/example-version-2
    

    Dialogflowcx Webhook Service Directory Flexible

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const agent = new gcp.diagflow.CxAgent("agent", {
        displayName: "dialogflowcx-agent",
        location: "us-central1",
        defaultLanguageCode: "en",
        supportedLanguageCodes: [
            "it",
            "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 flexibleWebhook = new gcp.diagflow.CxWebhook("flexible_webhook", {
        parent: agent.id,
        displayName: "MyFlow",
        serviceDirectory: {
            service: "projects/example-proj/locations/us-central1/namespaces/example-namespace/services/example-service",
            genericWebService: {
                uri: "https://example.com",
                requestHeaders: {
                    "example-key": "example-value",
                },
                webhookType: "FLEXIBLE",
                oauthConfig: {
                    clientId: "example-client-id",
                    clientSecret: "projects/example-proj/secrets/example-secret/versions/example-version",
                    tokenEndpoint: "https://example.com",
                },
                serviceAgentAuth: "NONE",
                httpMethod: "POST",
                requestBody: "{\"example-key\": \"example-value\"}",
                parameterMapping: {
                    "example-parameter": "examplePath",
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    agent = gcp.diagflow.CxAgent("agent",
        display_name="dialogflowcx-agent",
        location="us-central1",
        default_language_code="en",
        supported_language_codes=[
            "it",
            "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,
        })
    flexible_webhook = gcp.diagflow.CxWebhook("flexible_webhook",
        parent=agent.id,
        display_name="MyFlow",
        service_directory={
            "service": "projects/example-proj/locations/us-central1/namespaces/example-namespace/services/example-service",
            "generic_web_service": {
                "uri": "https://example.com",
                "request_headers": {
                    "example-key": "example-value",
                },
                "webhook_type": "FLEXIBLE",
                "oauth_config": {
                    "client_id": "example-client-id",
                    "client_secret": "projects/example-proj/secrets/example-secret/versions/example-version",
                    "token_endpoint": "https://example.com",
                },
                "service_agent_auth": "NONE",
                "http_method": "POST",
                "request_body": "{\"example-key\": \"example-value\"}",
                "parameter_mapping": {
                    "example-parameter": "examplePath",
                },
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v9/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("us-central1"),
    			DefaultLanguageCode: pulumi.String("en"),
    			SupportedLanguageCodes: pulumi.StringArray{
    				pulumi.String("it"),
    				pulumi.String("de"),
    				pulumi.String("es"),
    			},
    			TimeZone:                 pulumi.String("America/New_York"),
    			Description:              pulumi.String("Example description."),
    			AvatarUri:                pulumi.String("https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png"),
    			EnableStackdriverLogging: pulumi.Bool(true),
    			EnableSpellCorrection:    pulumi.Bool(true),
    			SpeechToTextSettings: &diagflow.CxAgentSpeechToTextSettingsArgs{
    				EnableSpeechAdaptation: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = diagflow.NewCxWebhook(ctx, "flexible_webhook", &diagflow.CxWebhookArgs{
    			Parent:      agent.ID(),
    			DisplayName: pulumi.String("MyFlow"),
    			ServiceDirectory: &diagflow.CxWebhookServiceDirectoryArgs{
    				Service: pulumi.String("projects/example-proj/locations/us-central1/namespaces/example-namespace/services/example-service"),
    				GenericWebService: &diagflow.CxWebhookServiceDirectoryGenericWebServiceArgs{
    					Uri: pulumi.String("https://example.com"),
    					RequestHeaders: pulumi.StringMap{
    						"example-key": pulumi.String("example-value"),
    					},
    					WebhookType: pulumi.String("FLEXIBLE"),
    					OauthConfig: &diagflow.CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs{
    						ClientId:      pulumi.String("example-client-id"),
    						ClientSecret:  pulumi.String("projects/example-proj/secrets/example-secret/versions/example-version"),
    						TokenEndpoint: pulumi.String("https://example.com"),
    					},
    					ServiceAgentAuth: pulumi.String("NONE"),
    					HttpMethod:       pulumi.String("POST"),
    					RequestBody:      pulumi.String("{\"example-key\": \"example-value\"}"),
    					ParameterMapping: pulumi.StringMap{
    						"example-parameter": pulumi.String("examplePath"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var agent = new Gcp.Diagflow.CxAgent("agent", new()
        {
            DisplayName = "dialogflowcx-agent",
            Location = "us-central1",
            DefaultLanguageCode = "en",
            SupportedLanguageCodes = new[]
            {
                "it",
                "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 flexibleWebhook = new Gcp.Diagflow.CxWebhook("flexible_webhook", new()
        {
            Parent = agent.Id,
            DisplayName = "MyFlow",
            ServiceDirectory = new Gcp.Diagflow.Inputs.CxWebhookServiceDirectoryArgs
            {
                Service = "projects/example-proj/locations/us-central1/namespaces/example-namespace/services/example-service",
                GenericWebService = new Gcp.Diagflow.Inputs.CxWebhookServiceDirectoryGenericWebServiceArgs
                {
                    Uri = "https://example.com",
                    RequestHeaders = 
                    {
                        { "example-key", "example-value" },
                    },
                    WebhookType = "FLEXIBLE",
                    OauthConfig = new Gcp.Diagflow.Inputs.CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs
                    {
                        ClientId = "example-client-id",
                        ClientSecret = "projects/example-proj/secrets/example-secret/versions/example-version",
                        TokenEndpoint = "https://example.com",
                    },
                    ServiceAgentAuth = "NONE",
                    HttpMethod = "POST",
                    RequestBody = "{\"example-key\": \"example-value\"}",
                    ParameterMapping = 
                    {
                        { "example-parameter", "examplePath" },
                    },
                },
            },
        });
    
    });
    
    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.CxWebhook;
    import com.pulumi.gcp.diagflow.CxWebhookArgs;
    import com.pulumi.gcp.diagflow.inputs.CxWebhookServiceDirectoryArgs;
    import com.pulumi.gcp.diagflow.inputs.CxWebhookServiceDirectoryGenericWebServiceArgs;
    import com.pulumi.gcp.diagflow.inputs.CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs;
    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("us-central1")
                .defaultLanguageCode("en")
                .supportedLanguageCodes(            
                    "it",
                    "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 flexibleWebhook = new CxWebhook("flexibleWebhook", CxWebhookArgs.builder()
                .parent(agent.id())
                .displayName("MyFlow")
                .serviceDirectory(CxWebhookServiceDirectoryArgs.builder()
                    .service("projects/example-proj/locations/us-central1/namespaces/example-namespace/services/example-service")
                    .genericWebService(CxWebhookServiceDirectoryGenericWebServiceArgs.builder()
                        .uri("https://example.com")
                        .requestHeaders(Map.of("example-key", "example-value"))
                        .webhookType("FLEXIBLE")
                        .oauthConfig(CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs.builder()
                            .clientId("example-client-id")
                            .clientSecret("projects/example-proj/secrets/example-secret/versions/example-version")
                            .tokenEndpoint("https://example.com")
                            .build())
                        .serviceAgentAuth("NONE")
                        .httpMethod("POST")
                        .requestBody("{\"example-key\": \"example-value\"}")
                        .parameterMapping(Map.of("example-parameter", "examplePath"))
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      agent:
        type: gcp:diagflow:CxAgent
        properties:
          displayName: dialogflowcx-agent
          location: us-central1
          defaultLanguageCode: en
          supportedLanguageCodes:
            - it
            - 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
      flexibleWebhook:
        type: gcp:diagflow:CxWebhook
        name: flexible_webhook
        properties:
          parent: ${agent.id}
          displayName: MyFlow
          serviceDirectory:
            service: projects/example-proj/locations/us-central1/namespaces/example-namespace/services/example-service
            genericWebService:
              uri: https://example.com
              requestHeaders:
                example-key: example-value
              webhookType: FLEXIBLE
              oauthConfig:
                clientId: example-client-id
                clientSecret: projects/example-proj/secrets/example-secret/versions/example-version
                tokenEndpoint: https://example.com
              serviceAgentAuth: NONE
              httpMethod: POST
              requestBody: '{"example-key": "example-value"}'
              parameterMapping:
                example-parameter: examplePath
    

    Create CxWebhook Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new CxWebhook(name: string, args: CxWebhookArgs, opts?: CustomResourceOptions);
    @overload
    def CxWebhook(resource_name: str,
                  args: CxWebhookArgs,
                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def CxWebhook(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  display_name: Optional[str] = None,
                  disabled: Optional[bool] = None,
                  enable_spell_correction: Optional[bool] = None,
                  enable_stackdriver_logging: Optional[bool] = None,
                  generic_web_service: Optional[CxWebhookGenericWebServiceArgs] = None,
                  parent: Optional[str] = None,
                  security_settings: Optional[str] = None,
                  service_directory: Optional[CxWebhookServiceDirectoryArgs] = None,
                  timeout: Optional[str] = None)
    func NewCxWebhook(ctx *Context, name string, args CxWebhookArgs, opts ...ResourceOption) (*CxWebhook, error)
    public CxWebhook(string name, CxWebhookArgs args, CustomResourceOptions? opts = null)
    public CxWebhook(String name, CxWebhookArgs args)
    public CxWebhook(String name, CxWebhookArgs args, CustomResourceOptions options)
    
    type: gcp:diagflow:CxWebhook
    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 CxWebhookArgs
    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 CxWebhookArgs
    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 CxWebhookArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CxWebhookArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CxWebhookArgs
    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 cxWebhookResource = new Gcp.Diagflow.CxWebhook("cxWebhookResource", new()
    {
        DisplayName = "string",
        Disabled = false,
        EnableSpellCorrection = false,
        EnableStackdriverLogging = false,
        GenericWebService = new Gcp.Diagflow.Inputs.CxWebhookGenericWebServiceArgs
        {
            Uri = "string",
            AllowedCaCerts = new[]
            {
                "string",
            },
            HttpMethod = "string",
            OauthConfig = new Gcp.Diagflow.Inputs.CxWebhookGenericWebServiceOauthConfigArgs
            {
                ClientId = "string",
                TokenEndpoint = "string",
                ClientSecret = "string",
                Scopes = new[]
                {
                    "string",
                },
                SecretVersionForClientSecret = "string",
            },
            ParameterMapping = 
            {
                { "string", "string" },
            },
            RequestBody = "string",
            RequestHeaders = 
            {
                { "string", "string" },
            },
            SecretVersionForUsernamePassword = "string",
            SecretVersionsForRequestHeaders = new[]
            {
                new Gcp.Diagflow.Inputs.CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs
                {
                    Key = "string",
                    SecretVersion = "string",
                },
            },
            ServiceAgentAuth = "string",
            WebhookType = "string",
        },
        Parent = "string",
        SecuritySettings = "string",
        ServiceDirectory = new Gcp.Diagflow.Inputs.CxWebhookServiceDirectoryArgs
        {
            Service = "string",
            GenericWebService = new Gcp.Diagflow.Inputs.CxWebhookServiceDirectoryGenericWebServiceArgs
            {
                Uri = "string",
                AllowedCaCerts = new[]
                {
                    "string",
                },
                HttpMethod = "string",
                OauthConfig = new Gcp.Diagflow.Inputs.CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs
                {
                    ClientId = "string",
                    TokenEndpoint = "string",
                    ClientSecret = "string",
                    Scopes = new[]
                    {
                        "string",
                    },
                    SecretVersionForClientSecret = "string",
                },
                ParameterMapping = 
                {
                    { "string", "string" },
                },
                RequestBody = "string",
                RequestHeaders = 
                {
                    { "string", "string" },
                },
                SecretVersionForUsernamePassword = "string",
                SecretVersionsForRequestHeaders = new[]
                {
                    new Gcp.Diagflow.Inputs.CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs
                    {
                        Key = "string",
                        SecretVersion = "string",
                    },
                },
                ServiceAgentAuth = "string",
                WebhookType = "string",
            },
        },
        Timeout = "string",
    });
    
    example, err := diagflow.NewCxWebhook(ctx, "cxWebhookResource", &diagflow.CxWebhookArgs{
    	DisplayName:              pulumi.String("string"),
    	Disabled:                 pulumi.Bool(false),
    	EnableSpellCorrection:    pulumi.Bool(false),
    	EnableStackdriverLogging: pulumi.Bool(false),
    	GenericWebService: &diagflow.CxWebhookGenericWebServiceArgs{
    		Uri: pulumi.String("string"),
    		AllowedCaCerts: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		HttpMethod: pulumi.String("string"),
    		OauthConfig: &diagflow.CxWebhookGenericWebServiceOauthConfigArgs{
    			ClientId:      pulumi.String("string"),
    			TokenEndpoint: pulumi.String("string"),
    			ClientSecret:  pulumi.String("string"),
    			Scopes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			SecretVersionForClientSecret: pulumi.String("string"),
    		},
    		ParameterMapping: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		RequestBody: pulumi.String("string"),
    		RequestHeaders: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		SecretVersionForUsernamePassword: pulumi.String("string"),
    		SecretVersionsForRequestHeaders: diagflow.CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArray{
    			&diagflow.CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs{
    				Key:           pulumi.String("string"),
    				SecretVersion: pulumi.String("string"),
    			},
    		},
    		ServiceAgentAuth: pulumi.String("string"),
    		WebhookType:      pulumi.String("string"),
    	},
    	Parent:           pulumi.String("string"),
    	SecuritySettings: pulumi.String("string"),
    	ServiceDirectory: &diagflow.CxWebhookServiceDirectoryArgs{
    		Service: pulumi.String("string"),
    		GenericWebService: &diagflow.CxWebhookServiceDirectoryGenericWebServiceArgs{
    			Uri: pulumi.String("string"),
    			AllowedCaCerts: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			HttpMethod: pulumi.String("string"),
    			OauthConfig: &diagflow.CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs{
    				ClientId:      pulumi.String("string"),
    				TokenEndpoint: pulumi.String("string"),
    				ClientSecret:  pulumi.String("string"),
    				Scopes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				SecretVersionForClientSecret: pulumi.String("string"),
    			},
    			ParameterMapping: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			RequestBody: pulumi.String("string"),
    			RequestHeaders: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			SecretVersionForUsernamePassword: pulumi.String("string"),
    			SecretVersionsForRequestHeaders: diagflow.CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArray{
    				&diagflow.CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs{
    					Key:           pulumi.String("string"),
    					SecretVersion: pulumi.String("string"),
    				},
    			},
    			ServiceAgentAuth: pulumi.String("string"),
    			WebhookType:      pulumi.String("string"),
    		},
    	},
    	Timeout: pulumi.String("string"),
    })
    
    var cxWebhookResource = new CxWebhook("cxWebhookResource", CxWebhookArgs.builder()
        .displayName("string")
        .disabled(false)
        .enableSpellCorrection(false)
        .enableStackdriverLogging(false)
        .genericWebService(CxWebhookGenericWebServiceArgs.builder()
            .uri("string")
            .allowedCaCerts("string")
            .httpMethod("string")
            .oauthConfig(CxWebhookGenericWebServiceOauthConfigArgs.builder()
                .clientId("string")
                .tokenEndpoint("string")
                .clientSecret("string")
                .scopes("string")
                .secretVersionForClientSecret("string")
                .build())
            .parameterMapping(Map.of("string", "string"))
            .requestBody("string")
            .requestHeaders(Map.of("string", "string"))
            .secretVersionForUsernamePassword("string")
            .secretVersionsForRequestHeaders(CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs.builder()
                .key("string")
                .secretVersion("string")
                .build())
            .serviceAgentAuth("string")
            .webhookType("string")
            .build())
        .parent("string")
        .securitySettings("string")
        .serviceDirectory(CxWebhookServiceDirectoryArgs.builder()
            .service("string")
            .genericWebService(CxWebhookServiceDirectoryGenericWebServiceArgs.builder()
                .uri("string")
                .allowedCaCerts("string")
                .httpMethod("string")
                .oauthConfig(CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs.builder()
                    .clientId("string")
                    .tokenEndpoint("string")
                    .clientSecret("string")
                    .scopes("string")
                    .secretVersionForClientSecret("string")
                    .build())
                .parameterMapping(Map.of("string", "string"))
                .requestBody("string")
                .requestHeaders(Map.of("string", "string"))
                .secretVersionForUsernamePassword("string")
                .secretVersionsForRequestHeaders(CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs.builder()
                    .key("string")
                    .secretVersion("string")
                    .build())
                .serviceAgentAuth("string")
                .webhookType("string")
                .build())
            .build())
        .timeout("string")
        .build());
    
    cx_webhook_resource = gcp.diagflow.CxWebhook("cxWebhookResource",
        display_name="string",
        disabled=False,
        enable_spell_correction=False,
        enable_stackdriver_logging=False,
        generic_web_service={
            "uri": "string",
            "allowed_ca_certs": ["string"],
            "http_method": "string",
            "oauth_config": {
                "client_id": "string",
                "token_endpoint": "string",
                "client_secret": "string",
                "scopes": ["string"],
                "secret_version_for_client_secret": "string",
            },
            "parameter_mapping": {
                "string": "string",
            },
            "request_body": "string",
            "request_headers": {
                "string": "string",
            },
            "secret_version_for_username_password": "string",
            "secret_versions_for_request_headers": [{
                "key": "string",
                "secret_version": "string",
            }],
            "service_agent_auth": "string",
            "webhook_type": "string",
        },
        parent="string",
        security_settings="string",
        service_directory={
            "service": "string",
            "generic_web_service": {
                "uri": "string",
                "allowed_ca_certs": ["string"],
                "http_method": "string",
                "oauth_config": {
                    "client_id": "string",
                    "token_endpoint": "string",
                    "client_secret": "string",
                    "scopes": ["string"],
                    "secret_version_for_client_secret": "string",
                },
                "parameter_mapping": {
                    "string": "string",
                },
                "request_body": "string",
                "request_headers": {
                    "string": "string",
                },
                "secret_version_for_username_password": "string",
                "secret_versions_for_request_headers": [{
                    "key": "string",
                    "secret_version": "string",
                }],
                "service_agent_auth": "string",
                "webhook_type": "string",
            },
        },
        timeout="string")
    
    const cxWebhookResource = new gcp.diagflow.CxWebhook("cxWebhookResource", {
        displayName: "string",
        disabled: false,
        enableSpellCorrection: false,
        enableStackdriverLogging: false,
        genericWebService: {
            uri: "string",
            allowedCaCerts: ["string"],
            httpMethod: "string",
            oauthConfig: {
                clientId: "string",
                tokenEndpoint: "string",
                clientSecret: "string",
                scopes: ["string"],
                secretVersionForClientSecret: "string",
            },
            parameterMapping: {
                string: "string",
            },
            requestBody: "string",
            requestHeaders: {
                string: "string",
            },
            secretVersionForUsernamePassword: "string",
            secretVersionsForRequestHeaders: [{
                key: "string",
                secretVersion: "string",
            }],
            serviceAgentAuth: "string",
            webhookType: "string",
        },
        parent: "string",
        securitySettings: "string",
        serviceDirectory: {
            service: "string",
            genericWebService: {
                uri: "string",
                allowedCaCerts: ["string"],
                httpMethod: "string",
                oauthConfig: {
                    clientId: "string",
                    tokenEndpoint: "string",
                    clientSecret: "string",
                    scopes: ["string"],
                    secretVersionForClientSecret: "string",
                },
                parameterMapping: {
                    string: "string",
                },
                requestBody: "string",
                requestHeaders: {
                    string: "string",
                },
                secretVersionForUsernamePassword: "string",
                secretVersionsForRequestHeaders: [{
                    key: "string",
                    secretVersion: "string",
                }],
                serviceAgentAuth: "string",
                webhookType: "string",
            },
        },
        timeout: "string",
    });
    
    type: gcp:diagflow:CxWebhook
    properties:
        disabled: false
        displayName: string
        enableSpellCorrection: false
        enableStackdriverLogging: false
        genericWebService:
            allowedCaCerts:
                - string
            httpMethod: string
            oauthConfig:
                clientId: string
                clientSecret: string
                scopes:
                    - string
                secretVersionForClientSecret: string
                tokenEndpoint: string
            parameterMapping:
                string: string
            requestBody: string
            requestHeaders:
                string: string
            secretVersionForUsernamePassword: string
            secretVersionsForRequestHeaders:
                - key: string
                  secretVersion: string
            serviceAgentAuth: string
            uri: string
            webhookType: string
        parent: string
        securitySettings: string
        serviceDirectory:
            genericWebService:
                allowedCaCerts:
                    - string
                httpMethod: string
                oauthConfig:
                    clientId: string
                    clientSecret: string
                    scopes:
                        - string
                    secretVersionForClientSecret: string
                    tokenEndpoint: string
                parameterMapping:
                    string: string
                requestBody: string
                requestHeaders:
                    string: string
                secretVersionForUsernamePassword: string
                secretVersionsForRequestHeaders:
                    - key: string
                      secretVersion: string
                serviceAgentAuth: string
                uri: string
                webhookType: string
            service: string
        timeout: string
    

    CxWebhook 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 CxWebhook resource accepts the following input properties:

    DisplayName string
    The human-readable name of the webhook, unique within the agent.
    Disabled bool
    Indicates whether the webhook is disabled.
    EnableSpellCorrection bool
    Deprecated. Indicates if automatic spell correction is enabled in detect intent requests.
    EnableStackdriverLogging bool
    Deprecated. Determines whether this agent should log conversation queries.
    GenericWebService CxWebhookGenericWebService
    Represents configuration for a generic web service. Structure is documented below.
    Parent string
    The agent to create a webhook for. Format: projects//locations//agents/.
    SecuritySettings string
    Deprecated. Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/.
    ServiceDirectory CxWebhookServiceDirectory
    Configuration for a Service Directory service. Structure is documented below.
    Timeout string
    Webhook execution timeout.
    DisplayName string
    The human-readable name of the webhook, unique within the agent.
    Disabled bool
    Indicates whether the webhook is disabled.
    EnableSpellCorrection bool
    Deprecated. Indicates if automatic spell correction is enabled in detect intent requests.
    EnableStackdriverLogging bool
    Deprecated. Determines whether this agent should log conversation queries.
    GenericWebService CxWebhookGenericWebServiceArgs
    Represents configuration for a generic web service. Structure is documented below.
    Parent string
    The agent to create a webhook for. Format: projects//locations//agents/.
    SecuritySettings string
    Deprecated. Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/.
    ServiceDirectory CxWebhookServiceDirectoryArgs
    Configuration for a Service Directory service. Structure is documented below.
    Timeout string
    Webhook execution timeout.
    displayName String
    The human-readable name of the webhook, unique within the agent.
    disabled Boolean
    Indicates whether the webhook is disabled.
    enableSpellCorrection Boolean
    Deprecated. Indicates if automatic spell correction is enabled in detect intent requests.
    enableStackdriverLogging Boolean
    Deprecated. Determines whether this agent should log conversation queries.
    genericWebService CxWebhookGenericWebService
    Represents configuration for a generic web service. Structure is documented below.
    parent String
    The agent to create a webhook for. Format: projects//locations//agents/.
    securitySettings String
    Deprecated. Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/.
    serviceDirectory CxWebhookServiceDirectory
    Configuration for a Service Directory service. Structure is documented below.
    timeout String
    Webhook execution timeout.
    displayName string
    The human-readable name of the webhook, unique within the agent.
    disabled boolean
    Indicates whether the webhook is disabled.
    enableSpellCorrection boolean
    Deprecated. Indicates if automatic spell correction is enabled in detect intent requests.
    enableStackdriverLogging boolean
    Deprecated. Determines whether this agent should log conversation queries.
    genericWebService CxWebhookGenericWebService
    Represents configuration for a generic web service. Structure is documented below.
    parent string
    The agent to create a webhook for. Format: projects//locations//agents/.
    securitySettings string
    Deprecated. Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/.
    serviceDirectory CxWebhookServiceDirectory
    Configuration for a Service Directory service. Structure is documented below.
    timeout string
    Webhook execution timeout.
    display_name str
    The human-readable name of the webhook, unique within the agent.
    disabled bool
    Indicates whether the webhook is disabled.
    enable_spell_correction bool
    Deprecated. Indicates if automatic spell correction is enabled in detect intent requests.
    enable_stackdriver_logging bool
    Deprecated. Determines whether this agent should log conversation queries.
    generic_web_service CxWebhookGenericWebServiceArgs
    Represents configuration for a generic web service. Structure is documented below.
    parent str
    The agent to create a webhook for. Format: projects//locations//agents/.
    security_settings str
    Deprecated. Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/.
    service_directory CxWebhookServiceDirectoryArgs
    Configuration for a Service Directory service. Structure is documented below.
    timeout str
    Webhook execution timeout.
    displayName String
    The human-readable name of the webhook, unique within the agent.
    disabled Boolean
    Indicates whether the webhook is disabled.
    enableSpellCorrection Boolean
    Deprecated. Indicates if automatic spell correction is enabled in detect intent requests.
    enableStackdriverLogging Boolean
    Deprecated. Determines whether this agent should log conversation queries.
    genericWebService Property Map
    Represents configuration for a generic web service. Structure is documented below.
    parent String
    The agent to create a webhook for. Format: projects//locations//agents/.
    securitySettings String
    Deprecated. Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/.
    serviceDirectory Property Map
    Configuration for a Service Directory service. Structure is documented below.
    timeout String
    Webhook execution timeout.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the CxWebhook resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The unique identifier of the webhook. Format: projects//locations//agents//webhooks/.
    StartFlow string
    Deprecated. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: projects//locations//agents//flows/.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The unique identifier of the webhook. Format: projects//locations//agents//webhooks/.
    StartFlow string
    Deprecated. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: projects//locations//agents//flows/.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The unique identifier of the webhook. Format: projects//locations//agents//webhooks/.
    startFlow String
    Deprecated. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: projects//locations//agents//flows/.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    The unique identifier of the webhook. Format: projects//locations//agents//webhooks/.
    startFlow string
    Deprecated. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: projects//locations//agents//flows/.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    The unique identifier of the webhook. Format: projects//locations//agents//webhooks/.
    start_flow str
    Deprecated. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: projects//locations//agents//flows/.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The unique identifier of the webhook. Format: projects//locations//agents//webhooks/.
    startFlow String
    Deprecated. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: projects//locations//agents//flows/.

    Look up Existing CxWebhook Resource

    Get an existing CxWebhook 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?: CxWebhookState, opts?: CustomResourceOptions): CxWebhook
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            disabled: Optional[bool] = None,
            display_name: Optional[str] = None,
            enable_spell_correction: Optional[bool] = None,
            enable_stackdriver_logging: Optional[bool] = None,
            generic_web_service: Optional[CxWebhookGenericWebServiceArgs] = None,
            name: Optional[str] = None,
            parent: Optional[str] = None,
            security_settings: Optional[str] = None,
            service_directory: Optional[CxWebhookServiceDirectoryArgs] = None,
            start_flow: Optional[str] = None,
            timeout: Optional[str] = None) -> CxWebhook
    func GetCxWebhook(ctx *Context, name string, id IDInput, state *CxWebhookState, opts ...ResourceOption) (*CxWebhook, error)
    public static CxWebhook Get(string name, Input<string> id, CxWebhookState? state, CustomResourceOptions? opts = null)
    public static CxWebhook get(String name, Output<String> id, CxWebhookState state, CustomResourceOptions options)
    resources:  _:    type: gcp:diagflow:CxWebhook    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.
    The following state arguments are supported:
    Disabled bool
    Indicates whether the webhook is disabled.
    DisplayName string
    The human-readable name of the webhook, unique within the agent.
    EnableSpellCorrection bool
    Deprecated. Indicates if automatic spell correction is enabled in detect intent requests.
    EnableStackdriverLogging bool
    Deprecated. Determines whether this agent should log conversation queries.
    GenericWebService CxWebhookGenericWebService
    Represents configuration for a generic web service. Structure is documented below.
    Name string
    The unique identifier of the webhook. Format: projects//locations//agents//webhooks/.
    Parent string
    The agent to create a webhook for. Format: projects//locations//agents/.
    SecuritySettings string
    Deprecated. Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/.
    ServiceDirectory CxWebhookServiceDirectory
    Configuration for a Service Directory service. Structure is documented below.
    StartFlow string
    Deprecated. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: projects//locations//agents//flows/.
    Timeout string
    Webhook execution timeout.
    Disabled bool
    Indicates whether the webhook is disabled.
    DisplayName string
    The human-readable name of the webhook, unique within the agent.
    EnableSpellCorrection bool
    Deprecated. Indicates if automatic spell correction is enabled in detect intent requests.
    EnableStackdriverLogging bool
    Deprecated. Determines whether this agent should log conversation queries.
    GenericWebService CxWebhookGenericWebServiceArgs
    Represents configuration for a generic web service. Structure is documented below.
    Name string
    The unique identifier of the webhook. Format: projects//locations//agents//webhooks/.
    Parent string
    The agent to create a webhook for. Format: projects//locations//agents/.
    SecuritySettings string
    Deprecated. Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/.
    ServiceDirectory CxWebhookServiceDirectoryArgs
    Configuration for a Service Directory service. Structure is documented below.
    StartFlow string
    Deprecated. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: projects//locations//agents//flows/.
    Timeout string
    Webhook execution timeout.
    disabled Boolean
    Indicates whether the webhook is disabled.
    displayName String
    The human-readable name of the webhook, unique within the agent.
    enableSpellCorrection Boolean
    Deprecated. Indicates if automatic spell correction is enabled in detect intent requests.
    enableStackdriverLogging Boolean
    Deprecated. Determines whether this agent should log conversation queries.
    genericWebService CxWebhookGenericWebService
    Represents configuration for a generic web service. Structure is documented below.
    name String
    The unique identifier of the webhook. Format: projects//locations//agents//webhooks/.
    parent String
    The agent to create a webhook for. Format: projects//locations//agents/.
    securitySettings String
    Deprecated. Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/.
    serviceDirectory CxWebhookServiceDirectory
    Configuration for a Service Directory service. Structure is documented below.
    startFlow String
    Deprecated. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: projects//locations//agents//flows/.
    timeout String
    Webhook execution timeout.
    disabled boolean
    Indicates whether the webhook is disabled.
    displayName string
    The human-readable name of the webhook, unique within the agent.
    enableSpellCorrection boolean
    Deprecated. Indicates if automatic spell correction is enabled in detect intent requests.
    enableStackdriverLogging boolean
    Deprecated. Determines whether this agent should log conversation queries.
    genericWebService CxWebhookGenericWebService
    Represents configuration for a generic web service. Structure is documented below.
    name string
    The unique identifier of the webhook. Format: projects//locations//agents//webhooks/.
    parent string
    The agent to create a webhook for. Format: projects//locations//agents/.
    securitySettings string
    Deprecated. Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/.
    serviceDirectory CxWebhookServiceDirectory
    Configuration for a Service Directory service. Structure is documented below.
    startFlow string
    Deprecated. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: projects//locations//agents//flows/.
    timeout string
    Webhook execution timeout.
    disabled bool
    Indicates whether the webhook is disabled.
    display_name str
    The human-readable name of the webhook, unique within the agent.
    enable_spell_correction bool
    Deprecated. Indicates if automatic spell correction is enabled in detect intent requests.
    enable_stackdriver_logging bool
    Deprecated. Determines whether this agent should log conversation queries.
    generic_web_service CxWebhookGenericWebServiceArgs
    Represents configuration for a generic web service. Structure is documented below.
    name str
    The unique identifier of the webhook. Format: projects//locations//agents//webhooks/.
    parent str
    The agent to create a webhook for. Format: projects//locations//agents/.
    security_settings str
    Deprecated. Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/.
    service_directory CxWebhookServiceDirectoryArgs
    Configuration for a Service Directory service. Structure is documented below.
    start_flow str
    Deprecated. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: projects//locations//agents//flows/.
    timeout str
    Webhook execution timeout.
    disabled Boolean
    Indicates whether the webhook is disabled.
    displayName String
    The human-readable name of the webhook, unique within the agent.
    enableSpellCorrection Boolean
    Deprecated. Indicates if automatic spell correction is enabled in detect intent requests.
    enableStackdriverLogging Boolean
    Deprecated. Determines whether this agent should log conversation queries.
    genericWebService Property Map
    Represents configuration for a generic web service. Structure is documented below.
    name String
    The unique identifier of the webhook. Format: projects//locations//agents//webhooks/.
    parent String
    The agent to create a webhook for. Format: projects//locations//agents/.
    securitySettings String
    Deprecated. Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/.
    serviceDirectory Property Map
    Configuration for a Service Directory service. Structure is documented below.
    startFlow String
    Deprecated. Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: projects//locations//agents//flows/.
    timeout String
    Webhook execution timeout.

    Supporting Types

    CxWebhookGenericWebService, CxWebhookGenericWebServiceArgs

    Uri string
    The webhook URI for receiving POST requests. It must use https protocol.
    AllowedCaCerts List<string>
    Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    HttpMethod string
    HTTP method for the flexible webhook calls. Standard webhook always uses POST. Possible values are: POST, GET, HEAD, PUT, DELETE, PATCH, OPTIONS.
    OauthConfig CxWebhookGenericWebServiceOauthConfig
    Represents configuration of OAuth client credential flow for 3rd party API authentication. Structure is documented below.
    ParameterMapping Dictionary<string, string>
    Maps the values extracted from specific fields of the flexible webhook response into session parameters.

    • Key: session parameter name
    • Value: field path in the webhook response
    RequestBody string
    Defines a custom JSON object as request body to send to flexible webhook.
    RequestHeaders Dictionary<string, string>
    The HTTP request headers to send together with webhook requests.
    SecretVersionForUsernamePassword string
    The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: projects/{project}/secrets/{secret}/versions/{version}
    SecretVersionsForRequestHeaders List<CxWebhookGenericWebServiceSecretVersionsForRequestHeader>
    The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both request_headers and secret_versions_for_request_headers, the value in secret_versions_for_request_headers will be used. Structure is documented below.
    ServiceAgentAuth string
    Indicate the auth token type generated from the Diglogflow service agent. The generated token is sent in the Authorization header. Possible values are: NONE, ID_TOKEN, ACCESS_TOKEN.
    WebhookType string
    Type of the webhook. Possible values are: STANDARD, FLEXIBLE.
    Uri string
    The webhook URI for receiving POST requests. It must use https protocol.
    AllowedCaCerts []string
    Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    HttpMethod string
    HTTP method for the flexible webhook calls. Standard webhook always uses POST. Possible values are: POST, GET, HEAD, PUT, DELETE, PATCH, OPTIONS.
    OauthConfig CxWebhookGenericWebServiceOauthConfig
    Represents configuration of OAuth client credential flow for 3rd party API authentication. Structure is documented below.
    ParameterMapping map[string]string
    Maps the values extracted from specific fields of the flexible webhook response into session parameters.

    • Key: session parameter name
    • Value: field path in the webhook response
    RequestBody string
    Defines a custom JSON object as request body to send to flexible webhook.
    RequestHeaders map[string]string
    The HTTP request headers to send together with webhook requests.
    SecretVersionForUsernamePassword string
    The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: projects/{project}/secrets/{secret}/versions/{version}
    SecretVersionsForRequestHeaders []CxWebhookGenericWebServiceSecretVersionsForRequestHeader
    The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both request_headers and secret_versions_for_request_headers, the value in secret_versions_for_request_headers will be used. Structure is documented below.
    ServiceAgentAuth string
    Indicate the auth token type generated from the Diglogflow service agent. The generated token is sent in the Authorization header. Possible values are: NONE, ID_TOKEN, ACCESS_TOKEN.
    WebhookType string
    Type of the webhook. Possible values are: STANDARD, FLEXIBLE.
    uri String
    The webhook URI for receiving POST requests. It must use https protocol.
    allowedCaCerts List<String>
    Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    httpMethod String
    HTTP method for the flexible webhook calls. Standard webhook always uses POST. Possible values are: POST, GET, HEAD, PUT, DELETE, PATCH, OPTIONS.
    oauthConfig CxWebhookGenericWebServiceOauthConfig
    Represents configuration of OAuth client credential flow for 3rd party API authentication. Structure is documented below.
    parameterMapping Map<String,String>
    Maps the values extracted from specific fields of the flexible webhook response into session parameters.

    • Key: session parameter name
    • Value: field path in the webhook response
    requestBody String
    Defines a custom JSON object as request body to send to flexible webhook.
    requestHeaders Map<String,String>
    The HTTP request headers to send together with webhook requests.
    secretVersionForUsernamePassword String
    The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: projects/{project}/secrets/{secret}/versions/{version}
    secretVersionsForRequestHeaders List<CxWebhookGenericWebServiceSecretVersionsForRequestHeader>
    The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both request_headers and secret_versions_for_request_headers, the value in secret_versions_for_request_headers will be used. Structure is documented below.
    serviceAgentAuth String
    Indicate the auth token type generated from the Diglogflow service agent. The generated token is sent in the Authorization header. Possible values are: NONE, ID_TOKEN, ACCESS_TOKEN.
    webhookType String
    Type of the webhook. Possible values are: STANDARD, FLEXIBLE.
    uri string
    The webhook URI for receiving POST requests. It must use https protocol.
    allowedCaCerts string[]
    Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    httpMethod string
    HTTP method for the flexible webhook calls. Standard webhook always uses POST. Possible values are: POST, GET, HEAD, PUT, DELETE, PATCH, OPTIONS.
    oauthConfig CxWebhookGenericWebServiceOauthConfig
    Represents configuration of OAuth client credential flow for 3rd party API authentication. Structure is documented below.
    parameterMapping {[key: string]: string}
    Maps the values extracted from specific fields of the flexible webhook response into session parameters.

    • Key: session parameter name
    • Value: field path in the webhook response
    requestBody string
    Defines a custom JSON object as request body to send to flexible webhook.
    requestHeaders {[key: string]: string}
    The HTTP request headers to send together with webhook requests.
    secretVersionForUsernamePassword string
    The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: projects/{project}/secrets/{secret}/versions/{version}
    secretVersionsForRequestHeaders CxWebhookGenericWebServiceSecretVersionsForRequestHeader[]
    The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both request_headers and secret_versions_for_request_headers, the value in secret_versions_for_request_headers will be used. Structure is documented below.
    serviceAgentAuth string
    Indicate the auth token type generated from the Diglogflow service agent. The generated token is sent in the Authorization header. Possible values are: NONE, ID_TOKEN, ACCESS_TOKEN.
    webhookType string
    Type of the webhook. Possible values are: STANDARD, FLEXIBLE.
    uri str
    The webhook URI for receiving POST requests. It must use https protocol.
    allowed_ca_certs Sequence[str]
    Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    http_method str
    HTTP method for the flexible webhook calls. Standard webhook always uses POST. Possible values are: POST, GET, HEAD, PUT, DELETE, PATCH, OPTIONS.
    oauth_config CxWebhookGenericWebServiceOauthConfig
    Represents configuration of OAuth client credential flow for 3rd party API authentication. Structure is documented below.
    parameter_mapping Mapping[str, str]
    Maps the values extracted from specific fields of the flexible webhook response into session parameters.

    • Key: session parameter name
    • Value: field path in the webhook response
    request_body str
    Defines a custom JSON object as request body to send to flexible webhook.
    request_headers Mapping[str, str]
    The HTTP request headers to send together with webhook requests.
    secret_version_for_username_password str
    The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: projects/{project}/secrets/{secret}/versions/{version}
    secret_versions_for_request_headers Sequence[CxWebhookGenericWebServiceSecretVersionsForRequestHeader]
    The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both request_headers and secret_versions_for_request_headers, the value in secret_versions_for_request_headers will be used. Structure is documented below.
    service_agent_auth str
    Indicate the auth token type generated from the Diglogflow service agent. The generated token is sent in the Authorization header. Possible values are: NONE, ID_TOKEN, ACCESS_TOKEN.
    webhook_type str
    Type of the webhook. Possible values are: STANDARD, FLEXIBLE.
    uri String
    The webhook URI for receiving POST requests. It must use https protocol.
    allowedCaCerts List<String>
    Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    httpMethod String
    HTTP method for the flexible webhook calls. Standard webhook always uses POST. Possible values are: POST, GET, HEAD, PUT, DELETE, PATCH, OPTIONS.
    oauthConfig Property Map
    Represents configuration of OAuth client credential flow for 3rd party API authentication. Structure is documented below.
    parameterMapping Map<String>
    Maps the values extracted from specific fields of the flexible webhook response into session parameters.

    • Key: session parameter name
    • Value: field path in the webhook response
    requestBody String
    Defines a custom JSON object as request body to send to flexible webhook.
    requestHeaders Map<String>
    The HTTP request headers to send together with webhook requests.
    secretVersionForUsernamePassword String
    The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: projects/{project}/secrets/{secret}/versions/{version}
    secretVersionsForRequestHeaders List<Property Map>
    The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both request_headers and secret_versions_for_request_headers, the value in secret_versions_for_request_headers will be used. Structure is documented below.
    serviceAgentAuth String
    Indicate the auth token type generated from the Diglogflow service agent. The generated token is sent in the Authorization header. Possible values are: NONE, ID_TOKEN, ACCESS_TOKEN.
    webhookType String
    Type of the webhook. Possible values are: STANDARD, FLEXIBLE.

    CxWebhookGenericWebServiceOauthConfig, CxWebhookGenericWebServiceOauthConfigArgs

    ClientId string
    The client ID provided by the 3rd party platform.
    TokenEndpoint string
    The token endpoint provided by the 3rd party platform to exchange an access token.
    ClientSecret string
    The client secret provided by the 3rd party platform. If the secret_version_for_client_secret field is set, this field will be ignored.
    Scopes List<string>
    The OAuth scopes to grant.
    SecretVersionForClientSecret string
    The name of the SecretManager secret version resource storing the client secret. If this field is set, the client_secret field will be ignored. Format: projects/{project}/secrets/{secret}/versions/{version}
    ClientId string
    The client ID provided by the 3rd party platform.
    TokenEndpoint string
    The token endpoint provided by the 3rd party platform to exchange an access token.
    ClientSecret string
    The client secret provided by the 3rd party platform. If the secret_version_for_client_secret field is set, this field will be ignored.
    Scopes []string
    The OAuth scopes to grant.
    SecretVersionForClientSecret string
    The name of the SecretManager secret version resource storing the client secret. If this field is set, the client_secret field will be ignored. Format: projects/{project}/secrets/{secret}/versions/{version}
    clientId String
    The client ID provided by the 3rd party platform.
    tokenEndpoint String
    The token endpoint provided by the 3rd party platform to exchange an access token.
    clientSecret String
    The client secret provided by the 3rd party platform. If the secret_version_for_client_secret field is set, this field will be ignored.
    scopes List<String>
    The OAuth scopes to grant.
    secretVersionForClientSecret String
    The name of the SecretManager secret version resource storing the client secret. If this field is set, the client_secret field will be ignored. Format: projects/{project}/secrets/{secret}/versions/{version}
    clientId string
    The client ID provided by the 3rd party platform.
    tokenEndpoint string
    The token endpoint provided by the 3rd party platform to exchange an access token.
    clientSecret string
    The client secret provided by the 3rd party platform. If the secret_version_for_client_secret field is set, this field will be ignored.
    scopes string[]
    The OAuth scopes to grant.
    secretVersionForClientSecret string
    The name of the SecretManager secret version resource storing the client secret. If this field is set, the client_secret field will be ignored. Format: projects/{project}/secrets/{secret}/versions/{version}
    client_id str
    The client ID provided by the 3rd party platform.
    token_endpoint str
    The token endpoint provided by the 3rd party platform to exchange an access token.
    client_secret str
    The client secret provided by the 3rd party platform. If the secret_version_for_client_secret field is set, this field will be ignored.
    scopes Sequence[str]
    The OAuth scopes to grant.
    secret_version_for_client_secret str
    The name of the SecretManager secret version resource storing the client secret. If this field is set, the client_secret field will be ignored. Format: projects/{project}/secrets/{secret}/versions/{version}
    clientId String
    The client ID provided by the 3rd party platform.
    tokenEndpoint String
    The token endpoint provided by the 3rd party platform to exchange an access token.
    clientSecret String
    The client secret provided by the 3rd party platform. If the secret_version_for_client_secret field is set, this field will be ignored.
    scopes List<String>
    The OAuth scopes to grant.
    secretVersionForClientSecret String
    The name of the SecretManager secret version resource storing the client secret. If this field is set, the client_secret field will be ignored. Format: projects/{project}/secrets/{secret}/versions/{version}

    CxWebhookGenericWebServiceSecretVersionsForRequestHeader, CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs

    Key string
    The identifier for this object. Format specified above.
    SecretVersion string
    The SecretManager secret version resource storing the header value. Format: projects/{project}/secrets/{secret}/versions/{version}
    Key string
    The identifier for this object. Format specified above.
    SecretVersion string
    The SecretManager secret version resource storing the header value. Format: projects/{project}/secrets/{secret}/versions/{version}
    key String
    The identifier for this object. Format specified above.
    secretVersion String
    The SecretManager secret version resource storing the header value. Format: projects/{project}/secrets/{secret}/versions/{version}
    key string
    The identifier for this object. Format specified above.
    secretVersion string
    The SecretManager secret version resource storing the header value. Format: projects/{project}/secrets/{secret}/versions/{version}
    key str
    The identifier for this object. Format specified above.
    secret_version str
    The SecretManager secret version resource storing the header value. Format: projects/{project}/secrets/{secret}/versions/{version}
    key String
    The identifier for this object. Format specified above.
    secretVersion String
    The SecretManager secret version resource storing the header value. Format: projects/{project}/secrets/{secret}/versions/{version}

    CxWebhookServiceDirectory, CxWebhookServiceDirectoryArgs

    Service string
    The name of Service Directory service.
    GenericWebService CxWebhookServiceDirectoryGenericWebService
    Represents configuration for a generic web service. Structure is documented below.
    Service string
    The name of Service Directory service.
    GenericWebService CxWebhookServiceDirectoryGenericWebService
    Represents configuration for a generic web service. Structure is documented below.
    service String
    The name of Service Directory service.
    genericWebService CxWebhookServiceDirectoryGenericWebService
    Represents configuration for a generic web service. Structure is documented below.
    service string
    The name of Service Directory service.
    genericWebService CxWebhookServiceDirectoryGenericWebService
    Represents configuration for a generic web service. Structure is documented below.
    service str
    The name of Service Directory service.
    generic_web_service CxWebhookServiceDirectoryGenericWebService
    Represents configuration for a generic web service. Structure is documented below.
    service String
    The name of Service Directory service.
    genericWebService Property Map
    Represents configuration for a generic web service. Structure is documented below.

    CxWebhookServiceDirectoryGenericWebService, CxWebhookServiceDirectoryGenericWebServiceArgs

    Uri string
    The webhook URI for receiving POST requests. It must use https protocol.
    AllowedCaCerts List<string>
    Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    HttpMethod string
    HTTP method for the flexible webhook calls. Standard webhook always uses POST. Possible values are: POST, GET, HEAD, PUT, DELETE, PATCH, OPTIONS.
    OauthConfig CxWebhookServiceDirectoryGenericWebServiceOauthConfig
    Represents configuration of OAuth client credential flow for 3rd party API authentication. Structure is documented below.
    ParameterMapping Dictionary<string, string>
    Maps the values extracted from specific fields of the flexible webhook response into session parameters.

    • Key: session parameter name
    • Value: field path in the webhook response
    RequestBody string
    Defines a custom JSON object as request body to send to flexible webhook.
    RequestHeaders Dictionary<string, string>
    The HTTP request headers to send together with webhook requests.
    SecretVersionForUsernamePassword string
    The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: projects/{project}/secrets/{secret}/versions/{version}
    SecretVersionsForRequestHeaders List<CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeader>
    The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both request_headers and secret_versions_for_request_headers, the value in secret_versions_for_request_headers will be used. Structure is documented below.
    ServiceAgentAuth string
    Indicate the auth token type generated from the Diglogflow service agent. The generated token is sent in the Authorization header. Possible values are: NONE, ID_TOKEN, ACCESS_TOKEN.
    WebhookType string
    Type of the webhook. Possible values are: STANDARD, FLEXIBLE.
    Uri string
    The webhook URI for receiving POST requests. It must use https protocol.
    AllowedCaCerts []string
    Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    HttpMethod string
    HTTP method for the flexible webhook calls. Standard webhook always uses POST. Possible values are: POST, GET, HEAD, PUT, DELETE, PATCH, OPTIONS.
    OauthConfig CxWebhookServiceDirectoryGenericWebServiceOauthConfig
    Represents configuration of OAuth client credential flow for 3rd party API authentication. Structure is documented below.
    ParameterMapping map[string]string
    Maps the values extracted from specific fields of the flexible webhook response into session parameters.

    • Key: session parameter name
    • Value: field path in the webhook response
    RequestBody string
    Defines a custom JSON object as request body to send to flexible webhook.
    RequestHeaders map[string]string
    The HTTP request headers to send together with webhook requests.
    SecretVersionForUsernamePassword string
    The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: projects/{project}/secrets/{secret}/versions/{version}
    SecretVersionsForRequestHeaders []CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeader
    The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both request_headers and secret_versions_for_request_headers, the value in secret_versions_for_request_headers will be used. Structure is documented below.
    ServiceAgentAuth string
    Indicate the auth token type generated from the Diglogflow service agent. The generated token is sent in the Authorization header. Possible values are: NONE, ID_TOKEN, ACCESS_TOKEN.
    WebhookType string
    Type of the webhook. Possible values are: STANDARD, FLEXIBLE.
    uri String
    The webhook URI for receiving POST requests. It must use https protocol.
    allowedCaCerts List<String>
    Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    httpMethod String
    HTTP method for the flexible webhook calls. Standard webhook always uses POST. Possible values are: POST, GET, HEAD, PUT, DELETE, PATCH, OPTIONS.
    oauthConfig CxWebhookServiceDirectoryGenericWebServiceOauthConfig
    Represents configuration of OAuth client credential flow for 3rd party API authentication. Structure is documented below.
    parameterMapping Map<String,String>
    Maps the values extracted from specific fields of the flexible webhook response into session parameters.

    • Key: session parameter name
    • Value: field path in the webhook response
    requestBody String
    Defines a custom JSON object as request body to send to flexible webhook.
    requestHeaders Map<String,String>
    The HTTP request headers to send together with webhook requests.
    secretVersionForUsernamePassword String
    The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: projects/{project}/secrets/{secret}/versions/{version}
    secretVersionsForRequestHeaders List<CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeader>
    The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both request_headers and secret_versions_for_request_headers, the value in secret_versions_for_request_headers will be used. Structure is documented below.
    serviceAgentAuth String
    Indicate the auth token type generated from the Diglogflow service agent. The generated token is sent in the Authorization header. Possible values are: NONE, ID_TOKEN, ACCESS_TOKEN.
    webhookType String
    Type of the webhook. Possible values are: STANDARD, FLEXIBLE.
    uri string
    The webhook URI for receiving POST requests. It must use https protocol.
    allowedCaCerts string[]
    Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    httpMethod string
    HTTP method for the flexible webhook calls. Standard webhook always uses POST. Possible values are: POST, GET, HEAD, PUT, DELETE, PATCH, OPTIONS.
    oauthConfig CxWebhookServiceDirectoryGenericWebServiceOauthConfig
    Represents configuration of OAuth client credential flow for 3rd party API authentication. Structure is documented below.
    parameterMapping {[key: string]: string}
    Maps the values extracted from specific fields of the flexible webhook response into session parameters.

    • Key: session parameter name
    • Value: field path in the webhook response
    requestBody string
    Defines a custom JSON object as request body to send to flexible webhook.
    requestHeaders {[key: string]: string}
    The HTTP request headers to send together with webhook requests.
    secretVersionForUsernamePassword string
    The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: projects/{project}/secrets/{secret}/versions/{version}
    secretVersionsForRequestHeaders CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeader[]
    The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both request_headers and secret_versions_for_request_headers, the value in secret_versions_for_request_headers will be used. Structure is documented below.
    serviceAgentAuth string
    Indicate the auth token type generated from the Diglogflow service agent. The generated token is sent in the Authorization header. Possible values are: NONE, ID_TOKEN, ACCESS_TOKEN.
    webhookType string
    Type of the webhook. Possible values are: STANDARD, FLEXIBLE.
    uri str
    The webhook URI for receiving POST requests. It must use https protocol.
    allowed_ca_certs Sequence[str]
    Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    http_method str
    HTTP method for the flexible webhook calls. Standard webhook always uses POST. Possible values are: POST, GET, HEAD, PUT, DELETE, PATCH, OPTIONS.
    oauth_config CxWebhookServiceDirectoryGenericWebServiceOauthConfig
    Represents configuration of OAuth client credential flow for 3rd party API authentication. Structure is documented below.
    parameter_mapping Mapping[str, str]
    Maps the values extracted from specific fields of the flexible webhook response into session parameters.

    • Key: session parameter name
    • Value: field path in the webhook response
    request_body str
    Defines a custom JSON object as request body to send to flexible webhook.
    request_headers Mapping[str, str]
    The HTTP request headers to send together with webhook requests.
    secret_version_for_username_password str
    The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: projects/{project}/secrets/{secret}/versions/{version}
    secret_versions_for_request_headers Sequence[CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeader]
    The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both request_headers and secret_versions_for_request_headers, the value in secret_versions_for_request_headers will be used. Structure is documented below.
    service_agent_auth str
    Indicate the auth token type generated from the Diglogflow service agent. The generated token is sent in the Authorization header. Possible values are: NONE, ID_TOKEN, ACCESS_TOKEN.
    webhook_type str
    Type of the webhook. Possible values are: STANDARD, FLEXIBLE.
    uri String
    The webhook URI for receiving POST requests. It must use https protocol.
    allowedCaCerts List<String>
    Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    httpMethod String
    HTTP method for the flexible webhook calls. Standard webhook always uses POST. Possible values are: POST, GET, HEAD, PUT, DELETE, PATCH, OPTIONS.
    oauthConfig Property Map
    Represents configuration of OAuth client credential flow for 3rd party API authentication. Structure is documented below.
    parameterMapping Map<String>
    Maps the values extracted from specific fields of the flexible webhook response into session parameters.

    • Key: session parameter name
    • Value: field path in the webhook response
    requestBody String
    Defines a custom JSON object as request body to send to flexible webhook.
    requestHeaders Map<String>
    The HTTP request headers to send together with webhook requests.
    secretVersionForUsernamePassword String
    The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: projects/{project}/secrets/{secret}/versions/{version}
    secretVersionsForRequestHeaders List<Property Map>
    The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both request_headers and secret_versions_for_request_headers, the value in secret_versions_for_request_headers will be used. Structure is documented below.
    serviceAgentAuth String
    Indicate the auth token type generated from the Diglogflow service agent. The generated token is sent in the Authorization header. Possible values are: NONE, ID_TOKEN, ACCESS_TOKEN.
    webhookType String
    Type of the webhook. Possible values are: STANDARD, FLEXIBLE.

    CxWebhookServiceDirectoryGenericWebServiceOauthConfig, CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs

    ClientId string
    The client ID provided by the 3rd party platform.
    TokenEndpoint string
    The token endpoint provided by the 3rd party platform to exchange an access token.
    ClientSecret string
    The client secret provided by the 3rd party platform. If the secret_version_for_client_secret field is set, this field will be ignored.
    Scopes List<string>
    The OAuth scopes to grant.
    SecretVersionForClientSecret string
    The name of the SecretManager secret version resource storing the client secret. If this field is set, the client_secret field will be ignored. Format: projects/{project}/secrets/{secret}/versions/{version}
    ClientId string
    The client ID provided by the 3rd party platform.
    TokenEndpoint string
    The token endpoint provided by the 3rd party platform to exchange an access token.
    ClientSecret string
    The client secret provided by the 3rd party platform. If the secret_version_for_client_secret field is set, this field will be ignored.
    Scopes []string
    The OAuth scopes to grant.
    SecretVersionForClientSecret string
    The name of the SecretManager secret version resource storing the client secret. If this field is set, the client_secret field will be ignored. Format: projects/{project}/secrets/{secret}/versions/{version}
    clientId String
    The client ID provided by the 3rd party platform.
    tokenEndpoint String
    The token endpoint provided by the 3rd party platform to exchange an access token.
    clientSecret String
    The client secret provided by the 3rd party platform. If the secret_version_for_client_secret field is set, this field will be ignored.
    scopes List<String>
    The OAuth scopes to grant.
    secretVersionForClientSecret String
    The name of the SecretManager secret version resource storing the client secret. If this field is set, the client_secret field will be ignored. Format: projects/{project}/secrets/{secret}/versions/{version}
    clientId string
    The client ID provided by the 3rd party platform.
    tokenEndpoint string
    The token endpoint provided by the 3rd party platform to exchange an access token.
    clientSecret string
    The client secret provided by the 3rd party platform. If the secret_version_for_client_secret field is set, this field will be ignored.
    scopes string[]
    The OAuth scopes to grant.
    secretVersionForClientSecret string
    The name of the SecretManager secret version resource storing the client secret. If this field is set, the client_secret field will be ignored. Format: projects/{project}/secrets/{secret}/versions/{version}
    client_id str
    The client ID provided by the 3rd party platform.
    token_endpoint str
    The token endpoint provided by the 3rd party platform to exchange an access token.
    client_secret str
    The client secret provided by the 3rd party platform. If the secret_version_for_client_secret field is set, this field will be ignored.
    scopes Sequence[str]
    The OAuth scopes to grant.
    secret_version_for_client_secret str
    The name of the SecretManager secret version resource storing the client secret. If this field is set, the client_secret field will be ignored. Format: projects/{project}/secrets/{secret}/versions/{version}
    clientId String
    The client ID provided by the 3rd party platform.
    tokenEndpoint String
    The token endpoint provided by the 3rd party platform to exchange an access token.
    clientSecret String
    The client secret provided by the 3rd party platform. If the secret_version_for_client_secret field is set, this field will be ignored.
    scopes List<String>
    The OAuth scopes to grant.
    secretVersionForClientSecret String
    The name of the SecretManager secret version resource storing the client secret. If this field is set, the client_secret field will be ignored. Format: projects/{project}/secrets/{secret}/versions/{version}

    CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeader, CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs

    Key string
    The identifier for this object. Format specified above.
    SecretVersion string
    The SecretManager secret version resource storing the header value. Format: projects/{project}/secrets/{secret}/versions/{version}
    Key string
    The identifier for this object. Format specified above.
    SecretVersion string
    The SecretManager secret version resource storing the header value. Format: projects/{project}/secrets/{secret}/versions/{version}
    key String
    The identifier for this object. Format specified above.
    secretVersion String
    The SecretManager secret version resource storing the header value. Format: projects/{project}/secrets/{secret}/versions/{version}
    key string
    The identifier for this object. Format specified above.
    secretVersion string
    The SecretManager secret version resource storing the header value. Format: projects/{project}/secrets/{secret}/versions/{version}
    key str
    The identifier for this object. Format specified above.
    secret_version str
    The SecretManager secret version resource storing the header value. Format: projects/{project}/secrets/{secret}/versions/{version}
    key String
    The identifier for this object. Format specified above.
    secretVersion String
    The SecretManager secret version resource storing the header value. Format: projects/{project}/secrets/{secret}/versions/{version}

    Import

    Webhook can be imported using any of these accepted formats:

    • {{parent}}/webhooks/{{name}}

    • {{parent}}/{{name}}

    When using the pulumi import command, Webhook can be imported using one of the formats above. For example:

    $ pulumi import gcp:diagflow/cxWebhook:CxWebhook default {{parent}}/webhooks/{{name}}
    
    $ pulumi import gcp:diagflow/cxWebhook:CxWebhook default {{parent}}/{{name}}
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud v9.0.0 published on Thursday, Sep 18, 2025 by Pulumi