Loading…
Turns the refund approval that happens in a Slack thread into a signed verdict carrying the policy version and reviewer authority.
For: Support and finance teams approving refunds in Slack
Escalates refunds above the threshold into the named approver's queue.
Blocks an approval from a reviewer whose authority limit is below the amount.
Restrains a refund whose claim reference has already been settled.
# Slack Refund-Approval Dossier
# Fork: /decionis → "Connect a workflow" → refund_approval, then edit the
# thresholds here. Observation mode changes nothing in Slack.
apiVersion: decionis.dev/v1
kind: PolicyPack
metadata:
name: slack-refund-approval-dossier
surface: slack
workflow_key: refund_approval
standards: [SOC2-CC8.1, ISO27001-A.8.34]
defaults:
mode: shadow
emit_dossier: true
rules:
- name: threshold_routing
when: "action == 'refund.approve'"
decision: |
ALLOW IF refund_amount < 1000
ESCALATE IF refund_amount < 10000
BLOCK OTHERWISE
reason_code: refund_over_threshold
- name: reviewer_authority_check
when: "action == 'refund.approve'"
decision: |
BLOCK IF approver.authority_limit_usd < refund_amount
ALLOW OTHERWISE
reason_code: approver_authority_insufficient
- name: duplicate_claim_guard
when: "action == 'refund.approve'"
decision: |
RESTRAIN IF claim.reference in ledger.settled_references
ALLOW OTHERWISE
reason_code: duplicate_claim_reference
Fork it, change the thresholds to match your environment, and deploy in shadow mode first — it defaults to listen-only so nothing in your live pipeline changes.
Installs with no code. The Decionis app sits beside Slack approvals and records a Decision Dossier for every routed request.
1. Install Decionis from the Slack Marketplace.
2. /decionis → "Connect a workflow" → pick refund_approval (or any of the starter packs).
3. The app runs in observation mode out of the box: every Slack approval still
flows the same way, plus a signed Decision Dossier is recorded alongside it.