Create Linear issue from Stripe events
Turn disputes, failed payments, and churn events into triaged Linear issues with the right team, project, labels, and assignee — automatically.
Free trial · From $19/mo · No credit card required
The problem
Disputes don't wait. To create Linear issue from Stripe events in time to act on them, you want filing automated, with the right team, the right labels, assigned to whoever owns Trust & Safety this rotation. A chargeback at 11pm Friday is a problem you want triaged before Monday. The standard pattern today is a Zapier zap that calls Linear's API on a stripe webhook event. It works in demos. In production it loses attachments, posts duplicate issues on retries, and gets stuck in someone's inbox under a Linear project that hasn't been used in six months.
The Linear action treats this like the workflow it actually is. You configure team, project, label set, default assignee, priority, and a JSONata-templated title and description. The trigger fires, the issue appears in Linear with full context — dispute reason, customer email, invoice link, amount, evidence due date — and a back-link to the Stripe Dashboard. Idempotent. One stripe event, one Linear issue.
How create linear issue from stripe works
- 1
Connect Linear via OAuth
Click Connect Linear in the Outbound install. Choose which workspace, which teams to expose. Outbound stores a scoped token and reads your teams, projects, labels, and members for the config UI. - 2
Configure team, project, labels
Pick the team to file into, the project (or none), the labels to apply, the priority and default assignee. Each can be a static choice or a JSONata expression that resolves at run time off the Stripe event. - 3
Template title and description
Use JSONata to compose a useful title (e.g., Dispute on {{charge.dispute.amount}} from {{customer.email}}) and a Markdown description with the evidence link, dispute reason, and a back-link to the Stripe Dashboard. - 4
Publish the workflow
Drop the Linear action onto any Stripe Workflow trigger. The issue appears in Linear within seconds of the Stripe event, scoped and assigned correctly. The execution log shows the Linear issue identifier so you can jump straight to it.
trigger:
event: charge.dispute.created
steps:
- action: outbound.linear
config:
team: trust-safety
project: disputes
labels: [dispute, urgent]
priority: 1
assignee_email: ops-rotation@acme.com
title: "Dispute ${{charge.dispute.amount / 100}} — {{customer.email}}"
description: |
Reason: {{charge.dispute.reason}}
Evidence due: {{$fromMillis(charge.dispute.evidence_details.due_by * 1000)}}
Stripe: https://dashboard.stripe.com/disputes/{{charge.dispute.id}}Example workflow configuration
Screenshot of the Linear action panel inside the Stripe Workflow builder. Shows dropdown selectors for team, project, label chips, a priority selector, an assignee picker showing team member avatars, and JSONata-templated title and description fields with placeholders highlighted in cyan.
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 | — | |
| Dynamic team/project/assignee via templating | limited | |
| Setup time | ≈3 minutes | 15-25 minutes |
| Back-link to Stripe Dashboard built in | — | |
| Separate vendor account required | — |
Frequently asked questions
Can I assign the issue based on the dispute reason or amount?+
What happens if the same dispute fires the webhook twice?+
Can I add comments to an existing issue instead of creating a new one?+
Does it support sub-issues or relations?+
Which Stripe events make sense to wire to Linear?+
Related integrations
Send Stripe events to Discord
Pair with Linear: Linear for the tracked work, Discord for the noisy alert that gets the team's attention.
Send Stripe events through Resend
Companion action: notify the customer about the failed payment while you file the internal Linear issue.
Trigger Stripe from Linear
Coming with Inbound: close a Linear issue and trigger a Stripe refund or credit.