Skip to content

Notifications

CloudSlash posts to Slack when it finds waste, when thresholds are crossed, when s.a.u blocks a remediation, and weekly with a cost digest.

Setup

During cs init

The init wizard prompts for a Slack webhook URL:

  [4/7] Configuring AI and notifications...
        Slack webhook URL (Enter to skip): https://hooks.slack.com/services/T.../B.../...
        Slack notifications configured

Manual Configuration

Add to ~/.cloudslash/config.yaml:

notifications:
  slack:
    webhook_url: "https://hooks.slack.com/services/YOUR/WEBHOOK/URL"
    channel: "#infra-alerts"    # Optional: override default channel

Notification Types

Scan Complete

Sent after every daemon scan cycle:

☁️ CloudSlash Scan Complete
─────────────────────────────
Nodes Scanned    │ 10,420
Waste Detected   │ 847
Projected Savings│ $14,230/mo
Scan Time        │ 03:00 UTC

s.a.u Events

Sent when nodes are quarantined, approved, or rejected:

🔒 s.a.u block
crn:aws:us-east-1:ec2:instance:123:i-0abc
Resource quarantined: awaiting human review
✅ s.a.u approve
crn:aws:us-east-1:ec2:instance:123:i-0abc
Remediation authorized by operator

Threshold Breach

Alert when projected waste exceeds configured thresholds:

🚨 Threshold Breach
─────────────────────
Monthly Waste crossed threshold

Threshold: $10,000
Actual: $14,230

Configure thresholds in config.yaml:

notifications:
  thresholds:
    waste_cost_usd: 10000
    waste_count: 500

Weekly Digest

Automatic Monday 9:00 AM UTC summary:

📊 CloudSlash Weekly Digest
────────────────────────────
New Waste    │ +23 nodes
Resolved     │ -38 nodes
Net Savings  │ $2,100/mo

Top Items
• crn:aws:us-east-1:ec2:instance:123:i-old: $420/mo
• crn:gcp:us-central1:compute:instance:proj:idle-vm: $180/mo

Custom Webhooks

The notification system uses standard webhook POST requests with JSON payloads. You can point the webhook_url at any service that accepts Slack Block Kit format:

  • Microsoft Teams (via Slack-compatible webhook connector)
  • Discord (via /slack webhook endpoint)
  • PagerDuty (via Events API v2)
  • Custom HTTP endpoints