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

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 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., #sales or #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 code
  • receipt_email — customer email, when available
  • metadata — any custom fields you attached to the payment intent
  • id — 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.

Pipedrive Deal to Slack + Sheets
PRONTO PARA USAR

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 →