Update Stripe subscriptions from your backend
Your backend sends a webhook with subscription updates, and Notis applies them to Stripe instantly—no manual sync.
Trigger
Webhook received
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
Action
Update Subscription
Updates an existing, non-canceled stripe subscription by its id, ensuring all referenced entity ids (e.g., prices, coupons) are valid and automatic tax liability is correctly specified if enabled.
Why this helps
Subscription changes (plan upgrades, downgrades, pause requests) often need manual Stripe updates, creating delays.
- Sync subscription changes from your app instantly
- Eliminate manual Stripe updates
- Enable in-app plan changes that flow to billing
- Reduce subscription data inconsistencies
Setup
Build it in a few focused steps.
- 1Connect Stripe to Notis.
- 2Create an automation: name it 'Webhook Subscription Update', use this prompt: 'When you receive a webhook with subscription updates (like plan change or pause request), apply that update to the subscription in Stripe', choose 'Incoming Webhook'.
- 3Notis gives you a webhook URL to add to your backend.
- 4Send POST requests to that URL when subscriptions change, including the subscription ID and changes (e.g., new plan, pause date).
- 5Test by triggering a subscription change in your app and verifying it updates in Stripe.
Questions about this workflow
What data should I send in the webhook?
Send the subscription ID and the changes you want: plan change, pause/resume, quantity update, etc.
Can I update multiple subscriptions at once?
Yes, send batch webhooks for each subscription, or Notis can handle them sequentially.
Will existing scheduled updates be overridden?
Notis applies your updates immediately. If there were pending changes, you'll need to re-configure them if needed.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Slack to Stripe. A trigger fires from one place; an action lands in another.
Slack triggers
Stripe actions
New Channel Created Trigger
Triggered when a new channel is created in Slack.
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.
Channel Message Received
Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.
Confirm payment intent
Confirms a stripe paymentintent to finalize a payment; a `return url` is necessary if the payment method requires customer redirection.
Direct Message Received
Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.
Create Customer
Creates a new customer in stripe, required for creating charges or subscriptions; an email is highly recommended for customer communications.
Message Reaction Added
Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.
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.
Message Reaction Removed
Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.
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.
Reaction Added Trigger
DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.
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`.
Reaction Removed Trigger
DEPRECATED: use `SLACK_MESSAGE_REACTION_REMOVED` instead. Triggered when a reaction is removed from a message.
Create product
Creates a new product in stripe, encoding the request as `application/x-www-form-urlencoded` by flattening nested structures.
New Bot Message Received Trigger
DEPRECATED: use `SLACK_CHANNEL_MESSAGE_RECEIVED` with `is_bot_message=true` instead. Triggered when a new bot message is posted to a Slack channel.
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 Slack 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.
