Stop billing when projects are declined
When a client declines a project or you kill an initiative in Linear, you still have to remember to cancel the Stripe subscription. Notis handles it: issue marked declined, subscription cancels automatically.
Trigger
Issue Updated Trigger
Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.
Action
Cancel subscription
Cancels a customer's active stripe subscription at the end of the current billing period, with options to invoice immediately for metered usage and prorate charges for unused time.
Why this helps
Declined projects linger as active subscriptions in Stripe, burning money until you remember to cancel—a cognitive tax that leads to wasted revenue.
- Subscriptions cancel instantly when projects are declined—no lingering charges
- No manual Stripe navigation to cancel subscriptions
- Billing stops automatically; less money wasted on dead projects
- One clear action (marking as declined) triggers everything else
Setup
Build it in a few focused steps.
- 1Connect Linear and Stripe to Notis.
- 2Create automation: 'When a Linear issue is marked declined or cancelled, cancel the associated subscription in Stripe.'
- 3Tell Notis which Linear statuses indicate a project is truly dead (e.g., 'status=declined' or 'label=cancelled').
- 4Set your notification channel so Notis confirms each subscription cancellation.
- 5Test by marking a Linear issue as declined and verifying the Stripe subscription cancels.
Questions about this workflow
How does Notis know which Stripe subscription to cancel?
Notis links the Linear issue to the subscription via customer name, email, or a subscription ID you include in the issue. That link ensures the right subscription is cancelled.
Can I prorate charges for partial billing periods?
Yes. Tell Notis to cancel with proration enabled, and Stripe will credit unused time back to the customer.
What if I want to pause instead of cancel?
You can configure Notis to mark the subscription as 'paused' (via a custom status in Stripe) instead of fully cancelling. You define what 'declined' means for your workflow.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Linear to Stripe. A trigger fires from one place; an action lands in another.
Linear triggers
Stripe actions
Comment Received Trigger
Triggered when a comment is received.
Cancel subscription
Cancels a customer's active stripe subscription at the end of the current billing period, with options to invoice immediately for metered usage and prorate charges for unused time.
Issue Created Trigger
Triggered when a new issue is created.
Confirm payment intent
Confirms a stripe paymentintent to finalize a payment; a `return url` is necessary if the payment method requires customer redirection.
Issue Updated Trigger
Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.
Create Customer
Creates a new customer in stripe, required for creating charges or subscriptions; an email is highly recommended for customer communications.
Private Team Comment Created
Fires when a new comment is posted on an issue in a private Linear team (polled with the connected user's token).
Create an invoice
Creates a new draft stripe invoice for a customer; use to revise an existing invoice, bill for a specific subscription (which must belong to the customer), or apply detailed customizations.
Private Team Issue Created
Fires when a new issue appears in a private Linear team (polled with the connected user's token).
Create payment intent
Creates a stripe paymentintent to initiate and process a customer's payment; using `application fee amount` for a connected account requires the `stripe-account` header.
Private Team Issue Properties Updated
Fires when properties on an issue change in a private Linear team (polled with the connected user's token).
Create a price
Creates a new stripe price for a product, defining its charges (one-time or recurring) and billing scheme; requires either an existing `product` id or `product data`.
Project Created
Fires when a new Linear project is created. Covers projects in both public and private teams — polls with the connected user's token, so visibility matches what the connected user can see in Linear.
Create product
Creates a new product in stripe, encoding the request as `application/x-www-form-urlencoded` by flattening nested structures.
Project Properties Updated
Fires when properties on a Linear project change (status, lead, target date, priority, etc.). Covers projects in both public and private teams — polls with the connected user's token.
Create Refund
Creates a full or partial refund in stripe, targeting either a specific charge id or a payment intent id.
Connect any two apps with Notis in the middle.
Not just Linear and Stripe. Any combination from 985+ integrations.
When this happens · Trigger
Do this · Action
Save your first hour today.
7 days free trial with 20$ free usage included.
No card. Works with personal or business Stripe.
