The customer.subscription.created event fires the instant a new subscription exists. ChargeBell turns it into a ๐ new-subscriber alert in Slack โ carrying the MRR delta so the whole team can celebrate the win.
Updated July 6, 2026ยท6 min read
A Stripe new subscription alert in Slack is a message posted the moment someone subscribes โ so a silent webhook becomes a shared win. ChargeBell listens for Stripe's customer.subscription.created event and turns it into a plain-English ๐ new-subscriber alert that carries the MRR delta, dropped into the channel your team already watches (like #wins).
What customer.subscription.created means
customer.subscription.created is the Stripe event that fires the instant a subscription object is created for a customer. It's a one-time lifecycle event โ not a recurring one โ signalling that a new subscription now exists. It's the earliest, real-time signal that someone just signed up.
Created is not the same as paid
At creation the subscription status can be trialing, active, or incomplete. Stripe fires this event even for free trials, before any payment is due โ so the event on its own doesn't confirm money was collected. invoice.paid (billing reason subscription_create) is the reliable "payment collected" signal. That's why a good new-subscriber alert should be honest about status.
Why a Stripe new subscription alert in Slack matters
Momentum and morale โ every new subscriber lands in #wins in real time, so the whole team celebrates instead of finding out at the monthly review.
Fast reactions โ a fresh signup can trigger onboarding, a personal welcome, or a heads-up to success and sales while the customer is still warm.
Revenue you can feel โ the alert carries the MRR delta, so a signup isn't just a name โ it's a number the team can watch climb.
What a good new-subscriber alert includes
A raw Stripe webhook is a JSON blob with no math done. A good alert answers "who subscribed, to what, and what did it add to MRR?" at a glance. A new subscription is one of Stripe's four canonical MRR movements โ new business โ so the MRR delta is exactly what makes this alert worth reading. ChargeBell normalizes the subscription's recurring price to a monthly figure (an annual plan divided across the year) and shows the change, so you don't do the arithmetic yourself.
#wins
๐
ChargeBellApp
๐ New subscriber โ Acme Corp on Pro (monthly)
$49/mo ยท MRR delta +$49.00
Status: active ยท customer since today
Because trials fire this same event, ChargeBell surfaces the status right in the alert โ so a 14-day trial reads as a signup, not realized revenue, and its MRR delta counts when the trial converts.
#wins
๐
ChargeBellApp
๐ New subscriber โ jane@startup.io on Growth Annual
$1,200/yr โ +$100.00 MRR
Status: trialing ยท MRR counts on trial conversion
Fields ChargeBell can include
The plan and billing interval (monthly or annual)
The MRR delta, normalized to a monthly number
Subscription status โ active or trialing โ so you know if it's realized revenue yet
Customer name or email, when Stripe provides it
Trials, incomplete subs, and honest MRR
Stripe lets you decide when a subscriber counts toward MRR โ either when the subscription starts or when the first payment is received โ which affects whether a just-created (possibly trialing) subscription shows up as revenue right away. Because customer.subscription.created can be trialing or incomplete, ChargeBell doesn't pretend every alert is money in the bank. It shows the status alongside the MRR delta, so #wins stays a source of truth, not wishful thinking. For teams that only want confirmed revenue, monitoring subscriptions end-to-end โ signup, trial conversion, and payment โ gives the fuller picture.
Where to send it
Route new subscribers to a channel like #wins where the whole team can see them โ the classic use case for SaaS founders and paid communities alike. ChargeBell routes each alert type to the channel you choose, so wins go to #wins and problems go elsewhere.
How to set it up
1
Connect Stripe
One-click, read-only OAuth โ ChargeBell can see subscription events and can never move money or change anything.
2
Connect Slack and pick #wins
Add the app and choose the channel where new subscribers should post.
3
Enable the new subscriber alert
It's on by default. It carries the MRR delta, so no extra math to configure.
4
Send a test alert
Confirm the message looks right before your next real signup lands.
A raw webhook drops JSON with no MRR math; Stripe's own emails are per-customer receipts. ChargeBell posts a clean "New subscriber ๐ +$X MRR" line to the channel you pick.
Celebrate every new subscriber in Slack
Connect Stripe and Slack, pick #wins, and send a test alert. Free plan includes 100 alerts a month โ no card needed.
customer.subscription.created. It's sent the instant a subscription object is created for a customer, so it's the earliest real-time signal of a new signup. ChargeBell listens for it and posts a ๐ new-subscriber alert to Slack.
Does the alert show the MRR change?
Yes. ChargeBell normalizes the subscription's recurring price to a monthly figure โ annual plans spread across the year โ and includes the MRR delta in the alert, so a new subscriber reads as a number, not just a name.
What about free trials โ does the event still fire?
Yes. customer.subscription.created fires immediately even for trials, with the subscription in trialing status and no payment due yet. ChargeBell shows the status in the alert, so a trial reads as a signup, and its MRR counts when the trial converts.
Can I send new-subscriber alerts to a specific channel like #wins?
Yes. ChargeBell routes each alert type to the Slack channel you choose, so new subscribers can land in #wins while other alerts go elsewhere.
Does ChargeBell need write access to Stripe?
No. ChargeBell connects with official read-only OAuth. It can see subscription events to build alerts, but it can never move money or change anything in your Stripe account.