Finance & Ops · n8n

Get Instant Slack Alerts Every Time a Stripe Refund Is Issued

Automatically sends a formatted Slack message to your team whenever a refund is processed in Stripe. Catch revenue leaks and respond to customer issues faster without manually checking your Stripe dashboard.

difficulty Beginnersetup 30 minresult Your team receives a real-time Slack notification with the refund amount, customer email, and reason every time Stripe processes a refund.
  1. 1

    Set up the Stripe Trigger node

    Add a Stripe Trigger node and connect your Stripe credentials (you will need a Stripe API key with webhook permissions). Set the Events field to listen for charge.refunded. n8n will generate a webhook URL — copy it and paste it into your Stripe Dashboard under Developers > Webhooks > Add Endpoint.

  2. 2

    Extract the refund details with a Set node

    Add a Set node after the Stripe Trigger. Create three fields: set amount to the expression {{$json.data.object.amount_refunded / 100}} to convert cents to dollars, set customer_email to {{$json.data.object.receipt_email}}, and set refund_reason to {{$json.data.object.refund_reason || 'No reason provided'}}. This makes the data clean and easy to reference.

  3. 3

    Send the alert to Slack

    Add a Slack node and connect your Slack OAuth credentials or incoming webhook URL. Set Resource to Message and Operation to Post. Set Channel to the channel name where alerts should go, such as #finance-alerts. In the Text field enter a message like: Refund issued: ${{$json.amount}} to {{$json.customer_email}} — Reason: {{$json.refund_reason}}. Save and activate the workflow.

Frequently asked questions

Do I need a paid Stripe plan to use webhooks?

No. Stripe webhooks are available on all plans including free test mode accounts. You just need to register the n8n webhook URL in your Stripe Dashboard under Developers > Webhooks.

What Slack permissions do I need?

If using Slack OAuth in n8n, your Slack app needs the `chat:write` scope. Alternatively you can create a free Slack Incoming Webhook from your Slack workspace settings and paste the URL directly into the Slack node as a credential.

Can I alert different Slack channels based on refund size?

Yes. Add an `IF` node between the Set node and the Slack node. Set the condition to check if `amount` is greater than your threshold, for example 100. Connect the true branch to a Slack node posting to `#urgent-finance` and the false branch to a Slack node posting to `#finance-alerts`.

About this recipe. Recipes on FlowRecipesHub are written for business owners, not developers, and are tested before publishing — how recipes get made. Some ingredient links are affiliate links that cost you nothing — full disclosure.