# Using Webhooks to Update User Status in Real-Time

**URL:** <https://forum.nocodework.com/t/using-webhooks-to-update-user-status-in-real-time/228>\
**Category:** General\
**Tags:** bubble\
**Created:** [July 28, 2025, 9:31am UTC](https://forum.nocodework.com/t/using-webhooks-to-update-user-status-in-real-time/228 "2025-07-28T09:31:20Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sagar\_Patwal](https://avatars.discourse-cdn.com/v4/letter/s/e19b73/32.png) [@Sagar\_Patwal](https://forum.nocodework.com/u/Sagar_Patwal)\
**Post date:** [July 28, 2025, 9:31am UTC](https://forum.nocodework.com/t/using-webhooks-to-update-user-status-in-real-time/228/1 "2025-07-28T09:31:20Z")

</div>

When you offer subscriptions in your Bubble app, things like payment failures, cancellations, or trial expirations happen on Stripe’s side — not directly in Bubble.

This is where webhooks come in.

What it means:

A webhook is Stripe’s way of notifying your Bubble app when an important event happens, like:

A user’s trial ends  
A payment succeeds or fails  
A user cancels their subscription  
A subscription is renewed, paused, or expired

How to use it in Bubble:

1. Create an API endpoint in your Bubble backend workflows (e.g.stripe-webhook)
2. In Stripe, add this endpoint under Developers \> Webhooks
3. Listen for events like:  
(a)invoice.payment\_failed  
(b)customer.subscription.updated  
(c)customer.subscription.deleted
4. When Stripe hits your endpoint, update the user’s status in your Bubble database (e.g., set is\_active = no if payment failed)

Why it’s powerful:

(1) Keeps your app in sync with Stripe  
(2)No need to poll or manually check Stripe status  
(3)Enables automation like locking premium content if payment fails

Thanks
