How to Set Up Automated Slack Alerts for New Stripe Sales
Every time a customer pays you, you should know about it immediately — not when you check your dashboard an hour later. Setting up automated Slack alerts for new Stripe sales takes about 20 minutes in
Every time a customer pays you, you should know about it immediately — not when you check your dashboard an hour later. Setting up automated Slack alerts for new Stripe sales takes about 20 minutes in n8n and gives your entire team real-time visibility into revenue without anyone having to babysit a browser tab.
This guide walks through the exact setup: connecting Stripe as a trigger, formatting a useful alert message, and posting it to the right Slack channel automatically.
What You Need Before Starting
Before opening n8n, make sure you have the following ready:
- An n8n instance — either cloud or self-hosted
- A Stripe account with API access (test mode works fine for building)
- A Slack workspace where you have permission to create or use an app
- A Slack channel where alerts should land (e.g.,
#salesor#revenue)
You'll also need to create a Slack app and generate an OAuth token with the chat:write scope. Go to api.slack.com/apps, create a new app from scratch, add the Bot Token Scope, install the app to your workspace, and copy the Bot User OAuth Token. That token is what n8n uses to post messages.
Setting Up the Stripe Trigger
In n8n, create a new workflow and add a Stripe Trigger node as your starting point. This node listens for events coming directly from Stripe via webhook — no polling, no delay.
Configure it to listen for the payment_intent.succeeded event. This fires every time a payment is successfully completed, regardless of whether it came from a one-time charge, a subscription renewal, or a checkout session.
- Set the trigger event to
payment_intent.succeeded - Copy the webhook URL that n8n generates
- Go to Stripe Dashboard → Developers → Webhooks → Add endpoint
- Paste the n8n webhook URL and select the same event type
- Save and note the webhook signing secret — add it to the n8n node for signature verification
At this point, your workflow will activate every time a real payment succeeds in Stripe. If you're building in test mode, use the Stripe CLI or dashboard to send a test event and confirm the trigger fires correctly.
Formatting the Alert Message
Raw Stripe webhook data contains everything — but most of it is noise for a Slack alert. Between the Stripe Trigger and the Slack node, add a Set node to extract and format only what matters.
From the payment_intent.succeeded payload, the most useful fields are:
amount— the charge amount in the smallest currency unit (divide by 100 for USD)currency— three-letter currency codereceipt_email— customer email, when availablemetadata— any custom fields you attached to the payment intentid— the payment intent ID, useful for quick reference
In the Set node, create an expression like this for the amount: {{ ($json.data.object.amount / 100).toFixed(2) }}. Build a clean message string — something like: New sale: ${{ amount }} {{ currency.toUpperCase() }} from {{ receipt_email }}. Keep it scannable. The goal is that anyone reading the Slack channel instantly understands what happened without clicking anything.
Posting to Slack
Add a Slack node after your Set node. Connect it using the Bot Token OAuth credential you created earlier.
Set the operation to Send Message and configure:
- Channel: the name or ID of your target channel (e.g.,
#sales) - Text: reference the formatted message from your Set node
- Username: give the bot a recognizable name like "Stripe Alerts"
- Icon: optionally set an emoji like
:moneybag:for visual context
If you want richer formatting — collapsed sections, clickable links to the Stripe dashboard, color-coded sidebars — use the Blocks option instead of plain text and pass a Slack Block Kit JSON payload. For most teams, plain text is sufficient and easier to maintain.
Once the node is configured, activate the workflow. From this point, every successful Stripe payment will generate a Slack message automatically with no manual intervention required.
Extending the Workflow
Once the core alert is working, it's straightforward to extend it. Common additions include:
- Filtering by amount — only alert for sales above a certain threshold
- Routing to different channels based on product type or metadata tags
- Adding a Google Sheets or Airtable node to log each sale to a spreadsheet simultaneously
- Triggering a follow-up action — like adding the customer to a CRM or sending a personalized confirmation email
Each of these additions follows the same pattern: add a node, map the fields you need, connect it in sequence or in parallel. n8n's visual editor makes it easy to see the full data flow and debug individual steps without redeploying anything.
If you'd rather start from a tested, production-ready version of this setup instead of building from scratch, there are ready-made n8n templates available that include Stripe-to-Slack workflows pre-configured with error handling and formatting built in — saving the setup time entirely.
The combination of Stripe webhooks and Slack notifications is one of the highest-value automations a small team can run. Revenue visibility in real time changes how quickly you can respond to trends, catch payment issues, and keep your team aligned without scheduled check-ins or manual reporting.

Ja construimos isso pra voce
Nao comece do zero. O Pipedrive Deal to Slack + Sheets e um workflow n8n pronto para instalar que faz exatamente isso — em minutos, nao horas.
Instalar por $29 →