---
title: pulumi stack webhook new | CLI commands
url: /docs/iac/cli/commands/pulumi_stack_webhook_new/
---

[EXPERIMENTAL] Create a new stack webhook

## Synopsis

[EXPERIMENTAL] Create a new stack webhook.

Creates a webhook that delivers events for the specified stack to a
given URL.

When run interactively, prompts for required values that aren't
provided via flags. Pass --yes to accept defaults without prompting.

Supported formats: raw (default), slack, ms_teams, pulumi_deployments.

Returns 409 if a webhook with the same name already exists.

```
pulumi stack webhook new [flags]
```

## Examples

```
  # Create a webhook interactively
  pulumi stack webhook new

  # Create a webhook non-interactively
  pulumi stack webhook new --name "My Hook" --url https://example.com/hook --yes

  # Create a Slack webhook with specific event filters
  pulumi stack webhook new --name slack-alerts \
    --url https://hooks.slack.com/services/T00/B00/xxx \
    --format slack \
    --event update_succeeded --event update_failed --yes

  # Create a webhook and get the result as JSON
  pulumi stack webhook new --name "My Hook" --url https://example.com --yes --output json
```

## Options

```
      --active               Whether the webhook is active (default true)
      --event stringArray    An event type to subscribe to (repeatable)
      --group stringArray    An event group to subscribe to (repeatable)
  -h, --help                 help for new
      --hook-format string   The webhook format: raw, slack, ms_teams, or pulumi_deployments (default "raw")
      --name string          The webhook name (required)
      --output string        The output format: default (human-readable text) or json (default "default")
      --secret string        The HMAC key for signature verification
  -s, --stack string         The name of the stack to operate on. Defaults to the current stack
      --url string           The webhook payload URL, including protocol (e.g. https://example.com/hook)
  -y, --yes                  Skip prompts and proceed with default values
```

## Options inherited from parent commands

```
      --color string                 Colorize output. Choices are: always, never, raw, auto (default "auto")
  -C, --cwd string                   Run pulumi as if it had been started in another directory
      --disable-integrity-checking   Disable integrity checking of checkpoint files
  -e, --emoji                        Enable emojis in the output
  -Q, --fully-qualify-stack-names    Show fully-qualified stack names
      --logflow                      Flow log settings to child processes (like plugins)
      --logtostderr                  Log to stderr instead of to files
      --memprofilerate int           Enable more precise (and expensive) memory allocation profiles by setting runtime.MemProfileRate
      --non-interactive              Disable interactive mode for all commands
      --otel-traces string           Export OpenTelemetry traces to the specified endpoint. Use file:// for local JSON files, grpc:// for remote collectors
      --profiling string             Emit CPU and memory profiles and an execution trace to '[filename].[pid].{cpu,mem,trace}', respectively
      --tracing file:                Emit tracing to the specified endpoint. Use the file: scheme to write tracing data to a local file
  -v, --verbose int                  Enable verbose logging (e.g., v=3); anything >3 is very verbose
```

## SEE ALSO

* [pulumi stack webhook](/docs/iac/cli/commands/pulumi_stack_webhook/)	 - [EXPERIMENTAL] Manage stack webhooks


