Approval Workflows: One-Click Remediation in Slack
Approval Workflows
Section titled “Approval Workflows”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.
One-click remediation
Section titled “One-click remediation”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.
Approval workflow for high-value actions
Section titled “Approval workflow for high-value actions”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:
- The bot updates the original message to show “Approval Requested”
- A new message is posted tagging org admins with the recommendation details
- The admin sees Approve and Reject buttons
- When the admin clicks Approve, the recommendation status changes to “in progress” and the original message updates to show “Approved”
- If rejected, the recommendation stays open and the requester is notified
Every approval action is logged in the audit trail.
Configuring the approval threshold
Section titled “Configuring the approval threshold”The default threshold is $500/mo in estimated savings. To change it:
- Go to Settings → General in the Xplorr console
- Find Approval threshold under the Cost Management section
- 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.
How approvals are tracked
Section titled “How approvals are tracked”All approval requests are stored and queryable:
| Field | Description |
|---|---|
| Status | pending, approved, rejected, expired |
| Requested by | Slack user who clicked Apply |
| Approver | Admin who approved/rejected |
| Recommendation | The linked recommendation with savings estimate |
| Expiry | Approvals 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 requestsGET /api/v1/approvals/:id — Get detailsPATCH /api/v1/approvals/:id — Resolve (admin only)Example flow
Section titled “Example flow”┌─────────────────────────────────────────────────┐│ 💡 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. │└─────────────────────────────────────────────────┘Related guides
Section titled “Related guides”- Recommendations — How Xplorr generates optimization suggestions
- Slack Bot Overview — Full bot capabilities
- Team Management — Roles and permissions