Skip to main content
AWS Integration Guide

AWS CloudWatch Alerts in Slack & Microsoft Teams

AM

Alex Morgan · Principal Engineer

Alex Morgan is a principal engineer at SyncRivo, focused on platform architecture, reliability engineering, and the infrastructure powering real-time messaging interoperability. LinkedIn

April 9, 2026 · 10 min read

Route CloudWatch alarms and EventBridge events to every platform your cloud teams use — simultaneously. SNS → SyncRivo → Slack + Teams + Webex. No Lambda, no code.

How It Works

CloudWatch AlarmSNS TopicSyncRivo WebhookSlack + Teams + Webex

Subscribe your SNS topic to SyncRivo once. All CloudWatch alarms on that topic fan out to every connected messaging platform automatically.

CloudWatch Event Types SyncRivo Routes

Any AWS event deliverable via SNS is accepted — CloudWatch Alarms, EventBridge rules, RDS events, EC2 state changes, and more.

CloudWatch Alarms

Metric threshold alarms routed to SRE Slack channels and engineering Teams channels the moment state changes to ALARM.

Composite Alarms

CloudWatch Composite Alarm firings (multiple conditions) delivered to on-call channels with full context from the SNS payload.

OK Resolutions

Alarm state changes to OK broadcast to incident channels so teams know issues are resolved without checking the AWS console.

EventBridge Rules

CloudWatch Events / EventBridge rule triggers — EC2 state changes, RDS events, ECS task failures — routed to relevant team channels.

Multi-Account Routing

SNS topics from multiple AWS accounts routed to appropriate channels per account — one SyncRivo endpoint handles all accounts.

RDS & Infrastructure Events

RDS instance events, Auto Scaling notifications, and AWS Health events delivered to infrastructure team channels in real time.

How to Connect CloudWatch to Slack & Teams

Setup takes under 15 minutes. No Lambda or code required.

  1. 1
    Connect your messaging platforms
    In SyncRivo, authorize your Slack workspace and Microsoft Teams tenant via OAuth2. Optionally add Webex, Google Chat, or Zoom.
  2. 2
    Create a SyncRivo inbound webhook endpoint
    In SyncRivo, add a new Webhook source and copy the generated HTTPS URL. SyncRivo automatically handles SNS subscription confirmation.
  3. 3
    Subscribe your SNS topic to SyncRivo
    In AWS Console → SNS → Topics → your alarm topic → Create Subscription. Protocol: HTTPS. Endpoint: your SyncRivo URL. SyncRivo auto-confirms the subscription.
  4. 4
    Configure CloudWatch Alarm SNS action
    In CloudWatch, create or edit an alarm. Under Notifications, add an action: send to your SNS topic when state changes to ALARM (and optionally OK and INSUFFICIENT_DATA).
  5. 5
    Set routing rules and test
    In SyncRivo, configure channel mappings for the SNS source. Trigger a CloudWatch alarm (or use the SNS "Publish message" test) and verify delivery to all configured channels.

CloudWatch → Messaging Platform Routing Matrix

Example routing for cloud engineering teams using AWS across multi-platform organizations.

CloudWatch / AWS EventSyncRivo Routes ToResult
Alarm state: ALARM (p99 latency)→ Slack #sre-alerts + Teams #engineering-incidentsSRE and engineering leadership notified immediately
Alarm state: OK (resolved)→ All subscribed channelsAll-clear broadcast to all incident channels
Composite Alarm firing→ Slack #sre-on-call + PagerDuty escalationMulti-condition alert with on-call notification
RDS event: failover→ Slack #database-sre + Teams #platform-engDatabase team and platform team both notified
EC2 state: stopped unexpectedly→ Slack #infra-alertsInfrastructure team notified for investigation
Multi-account alarm (prod + staging)→ Separate channels per account via routing rulesAccount-scoped routing from a single SyncRivo endpoint

DIY Lambda vs SyncRivo for CloudWatch Notifications

CapabilityDIY LambdaSyncRivo
Setup time2–4 hours (code + IAM + deploy)~15 minutes (no code)
Fan-out to Teams + Slack simultaneously✗ Requires separate code paths✓ One endpoint, configurable fan-out
Add Webex / Google Chat / Zoom✗ Requires new Lambda code✓ Add destination in SyncRivo UI
Multi-account support✗ Requires IAM cross-account setup✓ Multiple SNS subscriptions to one endpoint
Ongoing maintenanceCode changes, dependency updates, IAM drift✓ Zero maintenance
SOC 2 audit trail for alert delivery✗ Custom logging required✓ Full event log built-in
Cold start latency on alertUp to 500ms+ on cold Lambda✓ Sub-100ms delivery

Frequently Asked Questions

Can AWS CloudWatch send alerts to Slack?

Yes. AWS CloudWatch Alarms can trigger SNS topics, and SNS can deliver to an HTTP endpoint or Lambda function that posts to Slack. For a simpler path without Lambda, SyncRivo accepts CloudWatch SNS notifications directly — configure an SNS subscription pointing to your SyncRivo webhook endpoint, and SyncRivo routes the alarm to Slack instantly.

How do I send AWS CloudWatch alarms to Microsoft Teams?

AWS does not have a native Teams integration for CloudWatch. The standard approach is CloudWatch Alarm → SNS Topic → HTTP endpoint that forwards to Teams. SyncRivo acts as that endpoint: subscribe your SNS topic to your SyncRivo webhook URL, and SyncRivo fans the alarm to Teams, Slack, Webex, Google Chat, and Zoom simultaneously — no Lambda needed.

What is the easiest way to route CloudWatch alarms to both Slack and Teams?

Create an SNS topic for your CloudWatch alarms. Subscribe that SNS topic to your SyncRivo inbound webhook URL. In SyncRivo, configure channel mappings to deliver to your Slack #sre-alerts channel AND your Teams incident channel simultaneously. One SNS subscription — both platforms receive the alarm in real time.

Does SyncRivo support AWS SNS webhook subscriptions?

Yes. SyncRivo supports AWS SNS HTTP/HTTPS endpoint subscriptions. When you subscribe an SNS topic to a SyncRivo webhook URL, SyncRivo automatically handles the SNS subscription confirmation request. After confirmation, all SNS messages (including CloudWatch alarm notifications) are routed to your configured messaging destinations.

What CloudWatch event types can SyncRivo route?

SyncRivo routes any event that AWS SNS can deliver to an HTTP endpoint: CloudWatch Alarm state changes (OK, ALARM, INSUFFICIENT_DATA), CloudWatch Composite Alarm firings, CloudWatch Events/EventBridge rule triggers, RDS events, EC2 instance state changes, and any other SNS-delivered AWS event type.

Can SyncRivo route CloudWatch alarms from multiple AWS accounts to a single Slack workspace?

Yes. Create an SNS topic in each AWS account and subscribe each SNS topic to the same SyncRivo webhook endpoint. In SyncRivo, routing rules can differentiate by account (using the SNS message subject or TopicArn) to route each account's alarms to the appropriate Slack channel or Teams channel.

How does SyncRivo compare to using Lambda for CloudWatch Slack/Teams notifications?

Lambda solutions require writing and maintaining code, managing IAM permissions, handling SNS message parsing, and separately implementing Teams and Slack notification logic. SyncRivo replaces all of this with zero-code configuration: subscribe SNS to SyncRivo, configure channel mappings in the UI. No Lambda cold starts, no code to maintain, and you get fan-out to 5 platforms with a single configuration.

Route CloudWatch alarms to every team — no Lambda

Free plan available. No credit card required. One SNS subscription — all your platforms in 15 minutes.