1. Registry
  2. Packages
  3. Zenduty Provider
  4. API Docs
  5. WebhookConfiguration
Viewing docs for zenduty 2.2.0
published on Friday, Oct 30, 2026 by zenduty
zenduty
Viewing docs for zenduty 2.2.0
published on Friday, Oct 30, 2026 by zenduty

    zenduty.WebhookConfiguration sends account events (on-call changes, incident lifecycle) to an HTTPS endpoint.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as zenduty from "@pulumi/zenduty";
    
    const opsBus = new zenduty.WebhookConfiguration("ops_bus", {
        url: "https://hooks.example.com/zenduty",
        events: [
            "incident_create",
            "incident_acknowledge",
            "incident_resolve",
            "oncall_change",
        ],
        filter: JSON.stringify({
            team: "platform",
        }),
        authSecretKey: webhookSigningSecret,
        apiKey: webhookApiKey,
    });
    
    import pulumi
    import json
    import pulumi_zenduty as zenduty
    
    ops_bus = zenduty.WebhookConfiguration("ops_bus",
        url="https://hooks.example.com/zenduty",
        events=[
            "incident_create",
            "incident_acknowledge",
            "incident_resolve",
            "oncall_change",
        ],
        filter=json.dumps({
            "team": "platform",
        }),
        auth_secret_key=webhook_signing_secret,
        api_key=webhook_api_key)
    
    package main
    
    import (
    	"encoding/json"
    
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/zenduty/v2/zenduty"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"team": "platform",
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		_, err = zenduty.NewWebhookConfiguration(ctx, "ops_bus", &zenduty.WebhookConfigurationArgs{
    			Url: pulumi.String("https://hooks.example.com/zenduty"),
    			Events: pulumi.StringArray{
    				pulumi.String("incident_create"),
    				pulumi.String("incident_acknowledge"),
    				pulumi.String("incident_resolve"),
    				pulumi.String("oncall_change"),
    			},
    			Filter:        pulumi.String(json0),
    			AuthSecretKey: pulumi.Any(webhookSigningSecret),
    			ApiKey:        pulumi.Any(webhookApiKey),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using System.Text.Json;
    using Pulumi;
    using Zenduty = Pulumi.Zenduty;
    
    return await Deployment.RunAsync(() => 
    {
        var opsBus = new Zenduty.WebhookConfiguration("ops_bus", new()
        {
            Url = "https://hooks.example.com/zenduty",
            Events = new[]
            {
                "incident_create",
                "incident_acknowledge",
                "incident_resolve",
                "oncall_change",
            },
            Filter = JsonSerializer.Serialize(new Dictionary<string, object?>
            {
                ["team"] = "platform",
            }),
            AuthSecretKey = webhookSigningSecret,
            ApiKey = webhookApiKey,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.zenduty.WebhookConfiguration;
    import com.pulumi.zenduty.WebhookConfigurationArgs;
    import static com.pulumi.codegen.internal.Serialization.*;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var opsBus = new WebhookConfiguration("opsBus", WebhookConfigurationArgs.builder()
                .url("https://hooks.example.com/zenduty")
                .events(            
                    "incident_create",
                    "incident_acknowledge",
                    "incident_resolve",
                    "oncall_change")
                .filter(serializeJson(
                    jsonObject(
                        jsonProperty("team", "platform")
                    )))
                .authSecretKey(webhookSigningSecret)
                .apiKey(webhookApiKey)
                .build());
    
        }
    }
    
    resources:
      opsBus:
        type: zenduty:WebhookConfiguration
        name: ops_bus
        properties:
          url: https://hooks.example.com/zenduty
          events:
            - incident_create
            - incident_acknowledge
            - incident_resolve
            - oncall_change
          filter:
            fn::toJSON:
              team: platform
          authSecretKey: ${webhookSigningSecret}
          apiKey: ${webhookApiKey}
    
    Example coming soon!
    

    Create WebhookConfiguration Resource

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

    Constructor syntax

    new WebhookConfiguration(name: string, args: WebhookConfigurationArgs, opts?: CustomResourceOptions);
    @overload
    def WebhookConfiguration(resource_name: str,
                             args: WebhookConfigurationArgs,
                             opts: Optional[ResourceOptions] = None)
    
    @overload
    def WebhookConfiguration(resource_name: str,
                             opts: Optional[ResourceOptions] = None,
                             events: Optional[Sequence[str]] = None,
                             url: Optional[str] = None,
                             api_key: Optional[str] = None,
                             auth_secret_key: Optional[str] = None,
                             filter: Optional[str] = None,
                             webhook_configuration_id: Optional[str] = None)
    func NewWebhookConfiguration(ctx *Context, name string, args WebhookConfigurationArgs, opts ...ResourceOption) (*WebhookConfiguration, error)
    public WebhookConfiguration(string name, WebhookConfigurationArgs args, CustomResourceOptions? opts = null)
    public WebhookConfiguration(String name, WebhookConfigurationArgs args)
    public WebhookConfiguration(String name, WebhookConfigurationArgs args, CustomResourceOptions options)
    
    type: zenduty:WebhookConfiguration
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "zenduty_webhook_configuration" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args WebhookConfigurationArgs
    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 WebhookConfigurationArgs
    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 WebhookConfigurationArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args WebhookConfigurationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args WebhookConfigurationArgs
    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 webhookConfigurationResource = new Zenduty.WebhookConfiguration("webhookConfigurationResource", new()
    {
        Events = new[]
        {
            "string",
        },
        Url = "string",
        ApiKey = "string",
        AuthSecretKey = "string",
        Filter = "string",
        WebhookConfigurationId = "string",
    });
    
    example, err := zenduty.NewWebhookConfiguration(ctx, "webhookConfigurationResource", &zenduty.WebhookConfigurationArgs{
    	Events: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Url:                    pulumi.String("string"),
    	ApiKey:                 pulumi.String("string"),
    	AuthSecretKey:          pulumi.String("string"),
    	Filter:                 pulumi.String("string"),
    	WebhookConfigurationId: pulumi.String("string"),
    })
    
    resource "zenduty_webhook_configuration" "webhookConfigurationResource" {
      lifecycle {
        create_before_destroy = true
      }
      events                   = ["string"]
      url                      = "string"
      api_key                  = "string"
      auth_secret_key          = "string"
      filter                   = "string"
      webhook_configuration_id = "string"
    }
    
    var webhookConfigurationResource = new WebhookConfiguration("webhookConfigurationResource", WebhookConfigurationArgs.builder()
        .events("string")
        .url("string")
        .apiKey("string")
        .authSecretKey("string")
        .filter("string")
        .webhookConfigurationId("string")
        .build());
    
    webhook_configuration_resource = zenduty.WebhookConfiguration("webhookConfigurationResource",
        events=["string"],
        url="string",
        api_key="string",
        auth_secret_key="string",
        filter="string",
        webhook_configuration_id="string")
    
    const webhookConfigurationResource = new zenduty.WebhookConfiguration("webhookConfigurationResource", {
        events: ["string"],
        url: "string",
        apiKey: "string",
        authSecretKey: "string",
        filter: "string",
        webhookConfigurationId: "string",
    });
    
    type: zenduty:WebhookConfiguration
    properties:
        apiKey: string
        authSecretKey: string
        events:
            - string
        filter: string
        url: string
        webhookConfigurationId: string
    

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

    Events List<string>
    Events to deliver, one or more of oncall_change, incident_create, incident_acknowledge, incident_resolve.
    Url string
    HTTPS endpoint that receives the events. The API resolves the host on write and rejects private or unresolvable addresses. URLs are unique.
    ApiKey string

    API key sent with deliveries.

    The API never returns auth_secret_key and api_key (reads return masked values), so the provider keeps the configured values in state and does not detect out-of-band changes to them. Every update sends the configured filter, auth_secret_key and api_key, so removing one from the configuration clears it on the next apply. After an import the secrets are absent from state and configuration: add them before the next apply that touches the webhook, or that apply clears them.

    AuthSecretKey string
    Secret used to sign deliveries.
    Filter string
    JSON filter applied to events before delivery; use jsonencode().
    WebhookConfigurationId string
    The unique_id of the webhook configuration.
    Events []string
    Events to deliver, one or more of oncall_change, incident_create, incident_acknowledge, incident_resolve.
    Url string
    HTTPS endpoint that receives the events. The API resolves the host on write and rejects private or unresolvable addresses. URLs are unique.
    ApiKey string

    API key sent with deliveries.

    The API never returns auth_secret_key and api_key (reads return masked values), so the provider keeps the configured values in state and does not detect out-of-band changes to them. Every update sends the configured filter, auth_secret_key and api_key, so removing one from the configuration clears it on the next apply. After an import the secrets are absent from state and configuration: add them before the next apply that touches the webhook, or that apply clears them.

    AuthSecretKey string
    Secret used to sign deliveries.
    Filter string
    JSON filter applied to events before delivery; use jsonencode().
    WebhookConfigurationId string
    The unique_id of the webhook configuration.
    events list(string)
    Events to deliver, one or more of oncall_change, incident_create, incident_acknowledge, incident_resolve.
    url string
    HTTPS endpoint that receives the events. The API resolves the host on write and rejects private or unresolvable addresses. URLs are unique.
    api_key string

    API key sent with deliveries.

    The API never returns auth_secret_key and api_key (reads return masked values), so the provider keeps the configured values in state and does not detect out-of-band changes to them. Every update sends the configured filter, auth_secret_key and api_key, so removing one from the configuration clears it on the next apply. After an import the secrets are absent from state and configuration: add them before the next apply that touches the webhook, or that apply clears them.

    auth_secret_key string
    Secret used to sign deliveries.
    filter string
    JSON filter applied to events before delivery; use jsonencode().
    webhook_configuration_id string
    The unique_id of the webhook configuration.
    events List<String>
    Events to deliver, one or more of oncall_change, incident_create, incident_acknowledge, incident_resolve.
    url String
    HTTPS endpoint that receives the events. The API resolves the host on write and rejects private or unresolvable addresses. URLs are unique.
    apiKey String

    API key sent with deliveries.

    The API never returns auth_secret_key and api_key (reads return masked values), so the provider keeps the configured values in state and does not detect out-of-band changes to them. Every update sends the configured filter, auth_secret_key and api_key, so removing one from the configuration clears it on the next apply. After an import the secrets are absent from state and configuration: add them before the next apply that touches the webhook, or that apply clears them.

    authSecretKey String
    Secret used to sign deliveries.
    filter String
    JSON filter applied to events before delivery; use jsonencode().
    webhookConfigurationId String
    The unique_id of the webhook configuration.
    events string[]
    Events to deliver, one or more of oncall_change, incident_create, incident_acknowledge, incident_resolve.
    url string
    HTTPS endpoint that receives the events. The API resolves the host on write and rejects private or unresolvable addresses. URLs are unique.
    apiKey string

    API key sent with deliveries.

    The API never returns auth_secret_key and api_key (reads return masked values), so the provider keeps the configured values in state and does not detect out-of-band changes to them. Every update sends the configured filter, auth_secret_key and api_key, so removing one from the configuration clears it on the next apply. After an import the secrets are absent from state and configuration: add them before the next apply that touches the webhook, or that apply clears them.

    authSecretKey string
    Secret used to sign deliveries.
    filter string
    JSON filter applied to events before delivery; use jsonencode().
    webhookConfigurationId string
    The unique_id of the webhook configuration.
    events Sequence[str]
    Events to deliver, one or more of oncall_change, incident_create, incident_acknowledge, incident_resolve.
    url str
    HTTPS endpoint that receives the events. The API resolves the host on write and rejects private or unresolvable addresses. URLs are unique.
    api_key str

    API key sent with deliveries.

    The API never returns auth_secret_key and api_key (reads return masked values), so the provider keeps the configured values in state and does not detect out-of-band changes to them. Every update sends the configured filter, auth_secret_key and api_key, so removing one from the configuration clears it on the next apply. After an import the secrets are absent from state and configuration: add them before the next apply that touches the webhook, or that apply clears them.

    auth_secret_key str
    Secret used to sign deliveries.
    filter str
    JSON filter applied to events before delivery; use jsonencode().
    webhook_configuration_id str
    The unique_id of the webhook configuration.
    events List<String>
    Events to deliver, one or more of oncall_change, incident_create, incident_acknowledge, incident_resolve.
    url String
    HTTPS endpoint that receives the events. The API resolves the host on write and rejects private or unresolvable addresses. URLs are unique.
    apiKey String

    API key sent with deliveries.

    The API never returns auth_secret_key and api_key (reads return masked values), so the provider keeps the configured values in state and does not detect out-of-band changes to them. Every update sends the configured filter, auth_secret_key and api_key, so removing one from the configuration clears it on the next apply. After an import the secrets are absent from state and configuration: add them before the next apply that touches the webhook, or that apply clears them.

    authSecretKey String
    Secret used to sign deliveries.
    filter String
    JSON filter applied to events before delivery; use jsonencode().
    webhookConfigurationId String
    The unique_id of the webhook configuration.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing WebhookConfiguration Resource

    Get an existing WebhookConfiguration 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?: WebhookConfigurationState, opts?: CustomResourceOptions): WebhookConfiguration
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            api_key: Optional[str] = None,
            auth_secret_key: Optional[str] = None,
            events: Optional[Sequence[str]] = None,
            filter: Optional[str] = None,
            url: Optional[str] = None,
            webhook_configuration_id: Optional[str] = None) -> WebhookConfiguration
    func GetWebhookConfiguration(ctx *Context, name string, id IDInput, state *WebhookConfigurationState, opts ...ResourceOption) (*WebhookConfiguration, error)
    public static WebhookConfiguration Get(string name, Input<string> id, WebhookConfigurationState? state, CustomResourceOptions? opts = null)
    public static WebhookConfiguration get(String name, Output<String> id, WebhookConfigurationState state, CustomResourceOptions options)
    resources:  _:    type: zenduty:WebhookConfiguration    get:      id: ${id}
    import {
      to = zenduty_webhook_configuration.example
      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:
    ApiKey string

    API key sent with deliveries.

    The API never returns auth_secret_key and api_key (reads return masked values), so the provider keeps the configured values in state and does not detect out-of-band changes to them. Every update sends the configured filter, auth_secret_key and api_key, so removing one from the configuration clears it on the next apply. After an import the secrets are absent from state and configuration: add them before the next apply that touches the webhook, or that apply clears them.

    AuthSecretKey string
    Secret used to sign deliveries.
    Events List<string>
    Events to deliver, one or more of oncall_change, incident_create, incident_acknowledge, incident_resolve.
    Filter string
    JSON filter applied to events before delivery; use jsonencode().
    Url string
    HTTPS endpoint that receives the events. The API resolves the host on write and rejects private or unresolvable addresses. URLs are unique.
    WebhookConfigurationId string
    The unique_id of the webhook configuration.
    ApiKey string

    API key sent with deliveries.

    The API never returns auth_secret_key and api_key (reads return masked values), so the provider keeps the configured values in state and does not detect out-of-band changes to them. Every update sends the configured filter, auth_secret_key and api_key, so removing one from the configuration clears it on the next apply. After an import the secrets are absent from state and configuration: add them before the next apply that touches the webhook, or that apply clears them.

    AuthSecretKey string
    Secret used to sign deliveries.
    Events []string
    Events to deliver, one or more of oncall_change, incident_create, incident_acknowledge, incident_resolve.
    Filter string
    JSON filter applied to events before delivery; use jsonencode().
    Url string
    HTTPS endpoint that receives the events. The API resolves the host on write and rejects private or unresolvable addresses. URLs are unique.
    WebhookConfigurationId string
    The unique_id of the webhook configuration.
    api_key string

    API key sent with deliveries.

    The API never returns auth_secret_key and api_key (reads return masked values), so the provider keeps the configured values in state and does not detect out-of-band changes to them. Every update sends the configured filter, auth_secret_key and api_key, so removing one from the configuration clears it on the next apply. After an import the secrets are absent from state and configuration: add them before the next apply that touches the webhook, or that apply clears them.

    auth_secret_key string
    Secret used to sign deliveries.
    events list(string)
    Events to deliver, one or more of oncall_change, incident_create, incident_acknowledge, incident_resolve.
    filter string
    JSON filter applied to events before delivery; use jsonencode().
    url string
    HTTPS endpoint that receives the events. The API resolves the host on write and rejects private or unresolvable addresses. URLs are unique.
    webhook_configuration_id string
    The unique_id of the webhook configuration.
    apiKey String

    API key sent with deliveries.

    The API never returns auth_secret_key and api_key (reads return masked values), so the provider keeps the configured values in state and does not detect out-of-band changes to them. Every update sends the configured filter, auth_secret_key and api_key, so removing one from the configuration clears it on the next apply. After an import the secrets are absent from state and configuration: add them before the next apply that touches the webhook, or that apply clears them.

    authSecretKey String
    Secret used to sign deliveries.
    events List<String>
    Events to deliver, one or more of oncall_change, incident_create, incident_acknowledge, incident_resolve.
    filter String
    JSON filter applied to events before delivery; use jsonencode().
    url String
    HTTPS endpoint that receives the events. The API resolves the host on write and rejects private or unresolvable addresses. URLs are unique.
    webhookConfigurationId String
    The unique_id of the webhook configuration.
    apiKey string

    API key sent with deliveries.

    The API never returns auth_secret_key and api_key (reads return masked values), so the provider keeps the configured values in state and does not detect out-of-band changes to them. Every update sends the configured filter, auth_secret_key and api_key, so removing one from the configuration clears it on the next apply. After an import the secrets are absent from state and configuration: add them before the next apply that touches the webhook, or that apply clears them.

    authSecretKey string
    Secret used to sign deliveries.
    events string[]
    Events to deliver, one or more of oncall_change, incident_create, incident_acknowledge, incident_resolve.
    filter string
    JSON filter applied to events before delivery; use jsonencode().
    url string
    HTTPS endpoint that receives the events. The API resolves the host on write and rejects private or unresolvable addresses. URLs are unique.
    webhookConfigurationId string
    The unique_id of the webhook configuration.
    api_key str

    API key sent with deliveries.

    The API never returns auth_secret_key and api_key (reads return masked values), so the provider keeps the configured values in state and does not detect out-of-band changes to them. Every update sends the configured filter, auth_secret_key and api_key, so removing one from the configuration clears it on the next apply. After an import the secrets are absent from state and configuration: add them before the next apply that touches the webhook, or that apply clears them.

    auth_secret_key str
    Secret used to sign deliveries.
    events Sequence[str]
    Events to deliver, one or more of oncall_change, incident_create, incident_acknowledge, incident_resolve.
    filter str
    JSON filter applied to events before delivery; use jsonencode().
    url str
    HTTPS endpoint that receives the events. The API resolves the host on write and rejects private or unresolvable addresses. URLs are unique.
    webhook_configuration_id str
    The unique_id of the webhook configuration.
    apiKey String

    API key sent with deliveries.

    The API never returns auth_secret_key and api_key (reads return masked values), so the provider keeps the configured values in state and does not detect out-of-band changes to them. Every update sends the configured filter, auth_secret_key and api_key, so removing one from the configuration clears it on the next apply. After an import the secrets are absent from state and configuration: add them before the next apply that touches the webhook, or that apply clears them.

    authSecretKey String
    Secret used to sign deliveries.
    events List<String>
    Events to deliver, one or more of oncall_change, incident_create, incident_acknowledge, incident_resolve.
    filter String
    JSON filter applied to events before delivery; use jsonencode().
    url String
    HTTPS endpoint that receives the events. The API resolves the host on write and rejects private or unresolvable addresses. URLs are unique.
    webhookConfigurationId String
    The unique_id of the webhook configuration.

    Import

    hcl

    resource “zenduty_webhook_configuration” “ops_bus” {

    }

    $ pulumi import zenduty:index/webhookConfiguration:WebhookConfiguration ops_bus webhook_configuration_id`
    

    $ terraform state show zenduty_webhook_configuration.ops_bus

    * copy the output data and paste inside zenduty_webhook_configuration.ops_bus resource block, remove the id attribute and add the secrets

    $ pulumi preview to verify the import

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

    Package Details

    Repository
    zenduty zenduty/terraform-provider-zenduty
    License
    Notes
    This Pulumi package is based on the zenduty Terraform Provider.
    zenduty
    Viewing docs for zenduty 2.2.0
    published on Friday, Oct 30, 2026 by zenduty

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial