Webhook subscriptions disappearing in Public App after page refresh

Every time I create webhook subscriptions and then either:

  • Refresh the page
  • Navigate away and come back
  • Close and reopen the browser

All my webhook subscriptions and target URL settings are completely deleted/reset. The subscriptions don’t persist between sessions.

What I’ve tried:

  • Clearing browser cache
  • Testing in different browsers (Chrome, Firefox)
  • Incognito/private mode
  • Checking if there’s a “Save” or “Commit” button I’m missing (couldn’t find one)
  • Ensuring all required scopes are properly configured

Environment:

  • App type: Public App (OAuth)
  • Developer Account: Confirmed (banner showing “This is an app developer account”)
  • All required scopes are added and saved

Hey @NDory - thanks so much for posting in the Community!
I’d like to tag in some developers here to see if they have any insight on why your subscriptions aren’t persisting between sessions. @Phil_Vallender, @Bryantworks, and @Kevin-C - do any of you have any knowledge that will help identify the cause of this behavior?
Shane, Senior Community Moderator

Hi @NDory
“The issue you’re facing—where webhook subscriptions disappear after refreshing the page, navigating away, or closing the browser—is almost always caused by creating webhooks incorrectly in HubSpot. Here’s the proper approach and some points to ensure persistence:
Always Create Webhooks in the App Settings
Webhooks must be created inside your Developer Account → Your App → Webhooks section.
Creating them outside the app (e.g., in a temporary test UI) will make them ephemeral, meaning they will disappear once the session ends.
Deploy Your App After Adding Webhooks
Simply saving the webhook is not enough.
After adding or editing subscriptions, click Save and then Deploy the app.
Deployment is what tells HubSpot to persist your webhook subscriptions. Without deployment, any changes exist only temporarily in the draft state.
Ensure Your Target URL is Valid and Publicly Accessible
Webhooks require an HTTPS endpoint that is publicly reachable.
Localhost, private IPs, or self-signed certificates can cause HubSpot to silently discard subscriptions.
Make sure the URL returns a quick 200 OK response.
App Must Be Installed in At Least One Account
For Public OAuth apps, webhooks will only fully function if the app is installed in a HubSpot account.
If the app is not installed, webhooks may appear to work temporarily in the UI but will not persist.
Check Scopes and Reinstall if Needed
Whenever you add new scopes related to webhooks, save and redeploy the app.
After changing scopes, uninstall and reinstall the app in your test account to ensure all permissions are applied correctly.
Without reinstalling, HubSpot may prevent webhook subscriptions from persisting.
Avoid Making Changes in Draft Mode Only
HubSpot supports draft and deployed states.
Changes made only in draft mode will be discarded when you leave the page or close the browser.
Always make sure to deploy after saving.
Browser and Cache Issues Are Not the Cause
Clearing cache, trying different browsers, or using incognito mode does not affect webhook persistence.
The persistence issue is purely related to app configuration and deployment, not the client-side environment.
Verify After Deployment
After deploying, refresh the page and confirm your subscriptions are still listed.
If they are not, it could indicate a misconfiguration (e.g., wrong app selected, invalid URL, or missing installation).”

I hope this will help you out. Please mark it as Solution Accepted and upvote to help another Community member.

Thanks!