Send Stripe events to Discord without Zapier
Drop a Discord step into any Stripe Workflow. Templated messages, channel routing, idempotent delivery. Runs inside the Stripe Dashboard with a flat monthly fee.
Free trial · From $19/mo · No credit card required
The problem
Every team running Stripe wants a ka-ching channel in Discord. The standard playbook is to wire a Zapier zap from a Stripe webhook to a Discord webhook, pay per task, and pray it doesn't double-fire on a 5xx. It works, until it doesn't: duplicate pings on retry, rate-limit drops, no templating beyond what Zapier's UI gives you, and a separate bill that scales linearly with revenue events.
If you want to send Stripe events to Discord properly, you want it to live next to the billing data, dedupe on Stripe's invocation id, and cost a flat fee no matter how loud your week gets. That's what the Discord action does. You add it as a step in the Stripe Workflow builder, point it at a channel webhook, write a JSONata-templated message body, and ship. No external account, no per-task meter, no orphaned automation in someone else's dashboard.
How send stripe events to discord works
- 1
Install Outbound from the Marketplace
One click from the Stripe App Marketplace. The Discord action shows up immediately as a step type in the Workflow builder. No separate account, no API keys to copy around. - 2
Add a Discord webhook URL
Create a webhook in your Discord server settings, paste the URL into the action config. Outbound stores it encrypted at rest. You can configure one webhook per workflow or share across many. - 3
Template the message with JSONata
Reference any field on the triggering Stripe event: {{customer.email}}, {{invoice.amount_paid}}, {{charge.dispute.reason}}. JSONata gives you conditionals, arithmetic, and currency formatting without leaving the field. - 4
Publish the workflow
Stripe handles the trigger plumbing. Outbound handles delivery, retries, and dedup. The execution log shows every Discord post, status code, and which Stripe invocation it matched.
trigger:
event: invoice.paid
steps:
- action: outbound.discord
config:
webhook_url: ${DISCORD_WEBHOOK}
content: |
ka-ching — {{customer.email}} just paid
amount: ${{invoice.amount_paid / 100}}
plan: {{invoice.lines.data[0].description}}
link: https://dashboard.stripe.com/invoices/{{invoice.id}}
username: stripe-botExample workflow configuration
Screenshot of the Stripe Workflow builder showing a Discord action step. The right-hand config panel shows fields for webhook URL, message content with JSONata template placeholders like customer.email and invoice.amount_paid, and a username override. A small Outbound logo sits in the step header.
Outbound vs Zapier
| Outbound | Zapier | |
|---|---|---|
| Lives inside the Stripe Dashboard | — | |
| Pricing model | From $19/mo flat | $29.99/mo + per-task fees |
| Idempotent on Stripe invocation id | — | |
| Setup time | ≈2 minutes | 10-20 minutes |
| Templating language | JSONata | Zapier formatter steps |
| Execution log scoped to one Stripe account | — | |
| Separate vendor account required | — |
Frequently asked questions
Does this support Discord threads or just channels?+
What happens if Discord rate-limits us?+
Can I send rich embeds, not just plain content?+
How do I avoid duplicate pings on retry?+
Can I route different events to different channels?+
Related integrations
Send Stripe events to Telegram
Same pattern, different chat app. Solo founder pings and weekend escalation routes.
Append Stripe events to Notion
Use Discord for alerts, Notion for the durable log of every paid invoice.
Trigger Stripe workflows from Discord
Coming with Inbound: let a Discord command kick off a refund or credit workflow.