Skip to content

Approval Workflows: One-Click Remediation in Slack

Xplorr’s Slack bot includes interactive buttons on every recommendation. Your team can apply, dismiss, or snooze recommendations without leaving Slack. For high-value actions, an approval workflow ensures a manager signs off before anything happens.

When the bot shows a recommendation (via digest, query, or proactive alert), it includes action buttons:

  • Apply — Mark the recommendation as “in progress” (signals your team is acting on it)
  • Snooze 7d — Hide the recommendation for 7 days (useful for planned changes or maintenance windows)
  • Dismiss — Permanently dismiss the recommendation (it won’t appear again)
  • Details — Show the full recommendation details in a thread

These buttons work in both Slack and Microsoft Teams.

When someone clicks Apply on a recommendation where the estimated savings exceeds the org’s approval threshold (default: $500/mo), the bot triggers an approval workflow instead of applying immediately:

  1. The bot updates the original message to show “Approval Requested”
  2. A new message is posted tagging org admins with the recommendation details
  3. The admin sees Approve and Reject buttons
  4. When the admin clicks Approve, the recommendation status changes to “in progress” and the original message updates to show “Approved”
  5. If rejected, the recommendation stays open and the requester is notified

Every approval action is logged in the audit trail.

The default threshold is $500/mo in estimated savings. To change it:

  1. Go to Settings → General in the Xplorr console
  2. Find Approval threshold under the Cost Management section
  3. Set your preferred amount (e.g., $1,000/mo for larger orgs)

Setting it to 0 means all “Apply” actions require approval. Setting it very high effectively disables the workflow.

All approval requests are stored and queryable:

FieldDescription
Statuspending, approved, rejected, expired
Requested bySlack user who clicked Apply
ApproverAdmin who approved/rejected
RecommendationThe linked recommendation with savings estimate
ExpiryApprovals expire after 72 hours if not acted on

View approval history via Settings → Approvals in the console or the API:

GET /api/v1/approvals — List approval requests
GET /api/v1/approvals/:id — Get details
PATCH /api/v1/approvals/:id — Resolve (admin only)
┌─────────────────────────────────────────────────┐
│ 💡 Right-Sizing: Downsize i3.2xlarge → i3.xlarge │
│ │
│ Estimated Savings: $840.00/mo │
│ Provider: AWS │
│ Resource: i-0abc123def456 │
│ │
│ [Apply] [Snooze 7d] [Dismiss] [Details] │
└─────────────────────────────────────────────────┘
↓ (user clicks Apply, savings > $500)
┌─────────────────────────────────────────────────┐
│ ⏳ Approval Requested │
│ Downsize i3.2xlarge → i3.xlarge │
│ Savings: $840/mo exceeds threshold ($500). │
│ Sent for admin approval. │
│ │
│ Requested by @sarah | Approval ID: abc-123 │
└─────────────────────────────────────────────────┘
↓ (admin receives)
┌─────────────────────────────────────────────────┐
│ 🔐 Approval Required │
│ Requested by @sarah │
│ │
│ Downsize i3.2xlarge → i3.xlarge │
│ Estimated Savings: $840.00/mo │
│ Type: rightsizing | Provider: AWS │
│ │
│ ⚠️ This action exceeds the approval threshold. │
│ │
│ [Approve] [Reject] │
└─────────────────────────────────────────────────┘
↓ (admin clicks Approve)
┌─────────────────────────────────────────────────┐
│ ✅ Action Approved │
│ Downsize i3.2xlarge → i3.xlarge │
│ Resolved by @mike │
│ This recommendation will now be applied. │
└─────────────────────────────────────────────────┘