Trigger Stripe Workflow from Linear issues
A Linear issue creation or status change kicks off a Stripe Workflow. Refunds, credits, plan changes — driven from the tool your team already uses to track work.
Inbound is in early access — join the waitlist for early invites.
The problem
Most teams trigger a Stripe action from Linear by copying a customer id out of an issue, switching tabs to the Stripe Dashboard, clicking through the customer page, and running the action by hand. That is exactly the kind of context switch automation is meant to kill. Outbound for Workflows ships seven outbound actions today; Inbound is the sibling product that closes the loop the other way.
Move a Linear issue into a Refund Approved status, and a Stripe Workflow fires: issue the refund, log it, notify the customer, update your database. The Linear trigger is signature-verified using a shared secret on the Linear webhook, idempotent on Linear's event id, and every triggered workflow shows up in the Outbound execution log. Inbound is pre-launch. The trigger ships when Inbound ships. Early access slots are going out to teams already running Outbound actions first.
How the Linear trigger works
- 1
Add the Linear webhook (when Inbound ships)
Inbound will give you a signed webhook URL to drop into Linear's outgoing webhooks settings. Pick which events to forward — issue.create, issue.update, comment.create, label.add — and which teams. - 2
Filter on the event in Stripe Workflows
The trigger surfaces the full Linear payload to the workflow. Use Stripe Workflows' filter step to gate on label, status, project, or any field — only fire the action when the issue moves into Refund Approved, for instance. - 3
Run any Outbound action in response
Inbound triggers + Outbound actions compose. A Linear status change can fire a Stripe refund, write to your Postgres, send a Resend email to the customer, and ping Discord — all from one workflow. - 4
Audit every trigger
Every inbound Linear event lands in the Outbound execution log with the Linear issue id, the matched workflow, and the actions it fired. No silent automations, no scrolling through Linear to figure out what ran.
# Inbound webhook config (preview)
trigger:
source: inbound.linear
on: issue.update
when: "{{previous.state.name}} != 'Refund Approved' and {{state.name}} = 'Refund Approved'"
workflow:
- action: stripe.refund
charge: "{{description ~> /charge_id:\\s*(ch_\\w+)/}}"
reason: requested_by_customer
- action: outbound.resend
to: "{{ description ~> /email:\\s*([^\\s]+)/ }}"
template_id: refund_processed
- action: outbound.discord
webhook_url: ${REFUNDS_CHANNEL}
content: "refund processed — see {{url}}"Example workflow configuration
Mock-up of the Inbound trigger settings page inside the Stripe Dashboard. Shows a Linear connection card with an OAuth-status indicator, a list of subscribed Linear events with checkboxes, a signed webhook URL with a copy button, and a recent-deliveries table showing inbound events from Linear with payloads, timestamps, and the workflows they triggered.
Outbound vs Zapier
| Outbound | Zapier | |
|---|---|---|
| Lives inside the Stripe Dashboard | — | |
| Pricing model | Bundled with Outbound | Per-task billing |
| Signature-verified inbound delivery | limited | |
| Idempotent on Linear event id | — | |
| Setup time | ≈3 minutes (when live) | 10–20 minutes |
| Direct chaining into Stripe actions | via a multi-step zap | |
| Available today | Pre-launch — join waitlist |
Frequently asked questions
When does Inbound launch?+
Will the Linear trigger work with the free Outbound tier?+
How does signature verification work?+
Can I filter which Linear issues fire workflows?+
Is there a sandbox to test before Inbound is GA?+
Related integrations
Trigger Stripe from Typeform
Another Inbound trigger: a Typeform submission kicks off a customer-creation workflow.
Trigger Stripe from any HTTPS POST
The generic version of this trigger. Useful if your tool isn't on the Inbound list yet.
Create Linear issues from Stripe
The outbound direction, live today. Stripe events become Linear issues.