Post every new Stripe payment to Slack before the receipt email lands.
Configure a lean payment alert workflow: Stripe listens for successful charges, formats the customer name and amount, then posts a clean message into your revenue channel.
Live message preview
#sales-wins
Stripe payment received
New Stripe payment: Maya Chen paid $149.00 for Studio annual plan.
Triggered from payment_intent.succeeded · just now
Workflow builder
Connect the trigger, shape the message, send it to Slack.
This screen uses realistic sample payment events. Paste your Slack webhook URL to send a real test request from the browser, or copy the safer backend function outline.
Use the channel name without the # symbol.
Optional for browser test. Store production webhook URLs as backend secrets.
Security note
Stripe signing secrets and Slack webhook URLs belong in backend secrets, never in frontend code.
Recent payment events
Demo data used for message previews.
| Customer | Product | Amount | Status |
|---|---|---|---|
| Maya Chen | Studio annual plan | $149.00 | succeeded |
| Owen Patel | Creator monthly plan | $39.00 | succeeded |
| Nadia Brooks | Team onboarding bundle | $249.00 | processing |
Backend function outline
Copy this into a serverless function and replace secrets with backend environment values.
// functions/stripe-to-slack.ts
// Store STRIPE_WEBHOOK_SECRET and SLACK_WEBHOOK_URL as backend secrets.
const message = {
text: "New Stripe payment: Maya Chen paid $149.00 for Studio annual plan.",
channel: "#sales-wins"
};
await fetch(Deno.env.get("SLACK_WEBHOOK_URL")!, {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify(message)
});