Build Monitoring notification channel configurations for email, Slack, PagerDuty, and webhooks.
Build Monitoring notification channel configurations for email, Slack, PagerDuty, webhooks, and Pub/Sub integrations.
Required Fields
channelsOutput will appear here...Build Cloud Monitoring notification channel configurations across email, Slack, PagerDuty, custom webhooks, and Pub/Sub. Most channel types other than webhook and Pub/Sub require a verification step (a confirmation email click, or an OAuth-based Slack app install) before Monitoring will actually deliver to them, a channel created via API in an unverified state silently accepts alert routing configuration pointed at it but never delivers anything until someone completes verification in the console. The Slack integration specifically needs a modern OAuth token from the Google Cloud Slack app, not a legacy incoming webhook URL, which is a common point of confusion for teams copying an old Slack integration pattern from another tool.
A team sets up a new PagerDuty and Slack notification channel pair for a critical alerting policy ahead of a product launch, tests the policy by manually triggering a test alert, and the Slack message never arrives even though PagerDuty fires correctly. Checking the Monitoring console shows the Slack channel sitting in an unverified state, because the channel was created via a Terraform apply with no one following up to complete the OAuth install step it requires. They use the builder to confirm the channel JSON itself is correctly formed, then complete the missing verification step in the console, after which the same alerting policy delivers to Slack on the next test fire.
webhook_tokenauth and pubsub channel types skip the human verification step entirely since there's no human inbox or app-install involved, making them the more reliable choice for anything you need working immediately after programmatic creation.
PagerDuty's service_key is the integration key for a specific PagerDuty service, not an account-wide API key, using the wrong kind of key is a common setup mistake that produces a channel that accepts creation but never actually triggers an incident.
A channel's enabled: false flag is easy to miss during a config review since the channel otherwise looks fully configured, it silently no-ops instead of erroring, verify enabled status specifically when debugging a 'this channel isn't working' report.
The builder requires channels to resolve as present, and treats each array entry as a NotificationChannel resource matching Monitoring's schema (type, displayName, labels, enabled); it validates the JSON shape but can't confirm a channel is actually verified or that credentials like service_key or auth_token are valid, that only happens against the live API.
Was this tool helpful?
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.