FINANCE

Detect duplicate and repeated-amount refund patterns and page on-call finance

Scans recent Stripe refunds in Snowflake for suspicious patterns like duplicate refunds on one charge or many identical-amount refunds in a window.

CategoryFinance
Enginesim
Difficultyadvanced
Triggerschedule
Steps6
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerSchedule every few hours
  • ActionPull recent refunds and charge IDs from StripeStripeStripe
  • ActionRun duplicate and identical-amount pattern queries in SnowflakeSnowflakeSnowflake
  • LogicContinue only if a pattern matches above threshold
  • ActionPage on-call finance via PagerDuty with recordsPagerDutyPagerDuty
  • OutputPost pattern detail to finance SlackSlack

What it does

Hunts for refund patterns that signal a mechanical or fraudulent problem rather than normal customer activity: the same charge refunded more than once, or a burst of identical-amount refunds across a merchant in a short window. These rarely happen by accident and warrant an immediate human look.

When to use it

Use this when refund automation or a bad deploy can issue duplicate or scripted refunds that drain money quietly. A volume-based detector might miss it if the totals look ordinary; this one keys on the *shape* of the refunds, not the count.

How it works

  1. 1A frequent schedule fires every few hours.
  2. 2Pull recent refunds and their charge IDs from Stripe.
  3. 3Load into Snowflake and run pattern queries for duplicate-per-charge and identical-amount clusters.
  4. 4Branch: continue only if any pattern matches above the configured count.
  5. 5Page on-call finance through PagerDuty with the pattern type and matching refund records.
  6. 6Post the same detail to the finance Slack channel for the wider team.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect StripeCustomers, subscriptions, payments.
  2. 2
    Connect SnowflakeWarehouses, queries, shares.
  3. 3
    Connect PagerDutyIncidents, on-call, escalations.
  4. 4
    Connect SlackChannels, DMs, threads, mentions.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.