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.

Stripe logo

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 logo

Slack triggers

Stripe logo

Stripe actions

New Channel Created Trigger

Triggered when a new channel is created in Slack.

TriggerInstant

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.

ActionInstant

Channel Message Received

Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.

TriggerInstant

Confirm payment intent

Confirms a stripe paymentintent to finalize a payment; a `return url` is necessary if the payment method requires customer redirection.

ActionInstant

Direct Message Received

Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.

TriggerInstant

Create Customer

Creates a new customer in stripe, required for creating charges or subscriptions; an email is highly recommended for customer communications.

ActionInstant

Message Reaction Added

Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.

TriggerInstant

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.

ActionInstant

Message Reaction Removed

Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.

TriggerInstant

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.

ActionInstant

Reaction Added Trigger

DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.

TriggerInstant

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`.

ActionInstant

Reaction Removed Trigger

DEPRECATED: use `SLACK_MESSAGE_REACTION_REMOVED` instead. Triggered when a reaction is removed from a message.

TriggerInstant

Create product

Creates a new product in stripe, encoding the request as `application/x-www-form-urlencoded` by flattening nested structures.

ActionInstant

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.

TriggerInstant

Create Refund

Creates a full or partial refund in stripe, targeting either a specific charge id or a payment intent id.

ActionInstant

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.