Skip to main content

Quickstart

Deploy your first Slack notification in under 5 minutes.

Event Types

See all supported AWS event types and their Slack message formats.

Module Reference

Browse every input variable and output value.

Examples

Complete, copy-paste ready Terraform examples.

What is AWS Notify Slack?

terraform-aws-notify-slack is a Terraform module that wires up AWS infrastructure to forward notifications to a Slack channel. It creates an SNS topic and an AWS Lambda function (Python 3.13) that parses incoming events and formats them as rich Slack messages.
module "notify_slack" {
  source  = "terraform-aws-modules/notify-slack/aws"
  version = "~> 7.0"

  sns_topic_name    = "slack-topic"
  slack_webhook_url = "https://hooks.slack.com/services/AAA/BBB/CCC"
  slack_channel     = "aws-notification"
  slack_username    = "reporter"
}

Supported event types

The Lambda function automatically detects and formats these AWS event types:

CloudWatch Alarms

Color-coded OK / ALARM / INSUFFICIENT_DATA states

GuardDuty Findings

Threat severity with links to the GuardDuty console

Security Hub

Inspector and Security Hub findings with compliance status

AWS Health Events

Service disruptions, scheduled changes, account notifications

AWS Backup

Backup job completion and failure notifications

Generic Messages

Any SNS message — plain text or structured JSON

Key features

  • Zero boilerplate — one module call creates the full SNS → Lambda → Slack pipeline
  • KMS encryption — store your webhook URL encrypted at rest with AWS KMS
  • VPC support — run the Lambda function inside your private VPC
  • Custom Lambda — bring your own Python function to override message formatting
  • SNS delivery logs — optional CloudWatch logging for SNS delivery status
  • Existing SNS topics — subscribe the Lambda to an SNS topic you already own
  • S3 artifact storage — optionally store Lambda packages in S3 instead of locally

Architecture

AWS Services (CloudWatch, GuardDuty, etc.)


   SNS Topic  ──────────────────────────────────┐
        │                                        │
        ▼                                        │
  Lambda Function                         (filter policy
  notify_slack.py                          optional)


  Slack Webhook URL
  (plaintext or KMS-encrypted)


  Slack Channel
The module uses terraform-aws-modules/lambda/aws under the hood to package and deploy the Lambda function.

Requirements

DependencyMinimum version
Terraform>= 1.5.7
AWS provider>= 6.28
Before deploying, set up an incoming webhook integration in your Slack workspace to obtain a webhook URL.

Build docs developers (and LLMs) love