Stripe subscription canceled alert in Slack (customer.subscription.deleted)

Stripe sends customer.subscription.deleted when a subscription ends, which can be weeks after the customer clicked cancel. ChargeBell alerts when the cancellation is scheduled.

ChargeBell product team

Updated October 1, 2026. 6 min read.

How we check provider claims

A Stripe subscription canceled alert in Slack tells your team when a customer leaves, with the plan and the MRR you lose. ChargeBell posts when a customer schedules a cancellation and when Stripe sends customer.subscription.deleted. You hear about a scheduled cancellation the day it happens, while the customer still has access.

What customer.subscription.deleted means

Stripe sends customer.subscription.deleted when a subscription ends. That happens when you cancel it right away through the API or Dashboard, when a subscription set to cancel at period end reaches that date, or when Stripe cancels it after failed payment retries, if your Billing settings tell it to. By the time this event arrives, the subscription is already over.

After it fires, the subscription status is canceled, Stripe stops creating invoices for it, and canceled_at records the time.

Scheduled cancellations and cancel_at_period_end

Most customers cancel at the end of the period they paid for. Stripe sets cancel_at_period_end to true and sends customer.subscription.updated. It only sends customer.subscription.deleted later, when the period ends. An alert that waits for the deleted event can be weeks late.

ChargeBell posts as soon as cancel_at_period_end turns on. When the period ends and Stripe sends the deleted event, ChargeBell does not post a second time. If the customer turns the cancellation off, ChargeBell posts a "Cancellation reversed" alert.

Why send cancellations to Slack

Churn is the recurring revenue you lose when customers cancel. Founders often find out days later in a Stripe report, when it is too late to ask why or offer help. A Slack alert gives you the gap between the cancel click and the end of the paid period.

  • Each cancellation shows up in a channel like #revenue, without anyone opening a dashboard.
  • You can send a win-back email or an exit survey while the customer still uses the product.
  • The alert shows the MRR lost, so the size of each cancellation is clear.

Voluntary and involuntary churn

Stripe stores the cause in cancellation_details.reason. The values are cancellation_requested, payment_failed, and payment_disputed. The ChargeBell alert does not include the reason. Use the View in Stripe button to open the subscription and check it.

  • Voluntary, cancellation_requested. The customer canceled in the Customer Portal, through support, or in your app. A win-back offer or exit survey fits here.
  • Involuntary, payment_failed. Stripe canceled the subscription after the payment retries in your Billing settings ran out. A card update request can often save these.

Stripe does not always know why

Customer feedback, such as too_expensive or switched_service, is only in cancellation_details.feedback if your cancel flow collected it. The free-text comment works the same way.

What the Slack alert shows

The title reads "A subscriber canceled" with the monthly amount. Below it is the plan name and the date the subscription ends. An MRR impact field shows the loss. A scheduled cancellation looks like this.

# revenue

ChargeBellAPP

๐Ÿ˜• A subscriber canceled ($49.00/month)

Pro Monthly ยท subscription ends Oct 24, 2026

MRR impact: โˆ’$49.00/mo

An immediate cancellation, such as Stripe ending a subscription after its last retry, posts when the subscription is deleted.

# revenue

ChargeBellAPP

๐Ÿ˜• A subscriber canceled ($100.00/month)

Team Annual ยท subscription ended

MRR impact: โˆ’$100.00/mo

Fields ChargeBell can include

  • The plan name and its monthly price
  • The MRR lost, as a monthly amount
  • The end date, for scheduled cancellations
  • A View in Stripe button that opens the subscription

How to set up a Stripe subscription canceled alert in Slack

  1. 1

    Connect Stripe

    Approve ChargeBell's read-only Stripe app. It reads subscription events and cannot cancel, refund, or change anything.

  2. 2

    Connect Slack and pick a channel

    Add the ChargeBell Slack app and choose where cancellations post, such as #revenue or #founders.

  3. 3

    Check the subscription canceled alert

    It is on by default and covers both scheduled and immediate cancellations.

  4. 4

    Send a test alert

    Check the message in Slack before the next real cancellation.

Key takeaways

  • customer.subscription.deleted fires when a subscription ends, which can be weeks after the customer canceled.
  • ChargeBell alerts when cancel_at_period_end turns on, then stays quiet when the deleted event arrives.
  • Each alert shows the plan, the end date, and the MRR lost.
  • Check cancellation_details.reason in Stripe to tell voluntary from involuntary churn.

Key terms

Frequently asked questions

Which Stripe event fires when a subscription is canceled?

customer.subscription.deleted fires when the subscription ends. If the customer cancels at period end, Stripe first sends customer.subscription.updated with cancel_at_period_end set to true. ChargeBell alerts on that update, so you hear about it right away.

Will I get two alerts for one cancellation?

No. ChargeBell posts once when the cancellation is scheduled and skips the deleted event for the same subscription at period end.

Can the alert tell me why the customer canceled?

No. The alert shows the plan, the MRR lost, and the end date. Open the subscription in Stripe and check cancellation_details.reason. Customer feedback is only there if your cancel flow collected it.

What if the customer changes their mind?

If cancel_at_period_end turns off after ChargeBell posted the cancellation, ChargeBell posts a Cancellation reversed alert with the MRR that stays.

Does ChargeBell need write access to Stripe?

No. ChargeBell connects through a read-only Stripe app. It reads subscription events to build alerts and cannot cancel, refund, or change your Stripe account.

Primary sources

We checked event definitions and comparison details against these provider docs and pricing pages.