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.
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
terraform-aws-modules/lambda/aws under the hood to package and deploy the Lambda function.
Requirements
| Dependency | Minimum 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.