Trigger Stripe Workflow from Discord commands
Use Discord as a control plane for Stripe. A slash command or specific message fires a Stripe Workflow — refunds, credits, plan changes, on demand from the channel.
Inbound is in early access — join the waitlist for early invites.
The problem
It sounds niche until you see it in practice. Small teams already use Discord as a half-baked ops console — someone types ! refund cu_abc123 in a channel and a human reads it, switches to the Stripe Dashboard, and runs the refund by hand. The teams that want to trigger stripe workflow from discord properly today build a custom Discord bot with discord.js, host it themselves, wire it to the Stripe API, and maintain it. That's a lot of code for a few slash commands.
Inbound's Discord trigger gives you the bot and the receiver for free. Register a slash command (/refund, /credit, /upgrade), tie it to an inbound webhook, and the command's arguments land as a signed Stripe Workflow trigger. The workflow does the rest — runs the refund, posts the confirmation back to the channel, logs to Postgres, files a Linear issue if it failed. Discord becomes a legitimate, audited control plane. Inbound is pre-launch — join the waitlist below.
How trigger stripe workflow from discord works
- 1
Register a Discord slash command
When Inbound ships, the dashboard will walk you through registering a slash command in your Discord app (e.g., /refund charge:CHARGE_ID reason:REASON). Discord enforces argument types — strings, integers, choices, user mentions. - 2
Wire the interaction endpoint
Discord interactions hit Inbound's signed endpoint. Inbound verifies Discord's Ed25519 signature on every interaction (Discord requires this), dedupes on the interaction id, and triggers the matched workflow. - 3
Authorize who can fire what
The trigger payload includes the invoking Discord user, the role list, and the channel. The workflow filter step gates on role (only Ops can /refund) or channel (only #ops-private can run /credit). Anyone else gets a polite rejection back in Discord. - 4
Reply from the workflow
Discord interactions expect a response. The workflow can ack immediately (ephemeral 'processing...') and follow up with the result. The follow-up posts back to the same channel via the Discord action — full round-trip inside one Stripe Workflow.
# Inbound webhook config (preview)
trigger:
source: inbound.discord
application_id: "123456789012345678"
command: refund
workflow:
filter:
role: ops
channel: "#refunds"
- action: stripe.refund.create
charge: "{{ options.charge }}"
reason: "{{ options.reason }}"
- action: outbound.discord
webhook_url: "{{ channel.webhook_url }}"
content: |
<@{{ user.id }}> refund processed
charge: {{ options.charge }}
amount: ${{ stripe.refund.amount / 100 }}Example workflow configuration
Mock-up of the Discord inbound trigger config inside the Stripe Dashboard. Shows a Discord application connection card, an Ed25519 public key field, a slash-command registration helper with copy-pasteable command JSON, a per-command workflow mapping table, and a recent-interactions log showing slash commands, the invoking user, and the workflow outcome.
Outbound vs Zapier
| Outbound | Zapier | |
|---|---|---|
| Lives inside the Stripe Dashboard | — | |
| Pricing model | Bundled with Outbound | $29.99/mo + per-task fees |
| Discord Ed25519 signature verified | limited | |
| Role + channel gating built-in | — | |
| Setup time | ≈10 minutes (when live) | Hours, mostly Discord bot setup |
| Direct chaining into Stripe + Outbound actions | via a multi-step zap | |
| Available today | Pre-launch — join waitlist | true |
Frequently asked questions
Isn't this a security risk — running Stripe refunds from a chat?+
How does Discord interaction signing work?+
Can the same trigger handle multiple slash commands?+
What about button interactions and modals?+
Is this really used in production, or is it a curiosity?+
Related integrations
Send Stripe events to Discord
The outbound direction, live today. Stripe events become Discord channel messages.
Trigger Stripe from any HTTPS POST
If Discord isn't your control plane, the generic webhook trigger fits any other system.
Trigger Stripe from Linear
For more structured approval flows, Linear status changes are a better trigger than chat commands.