Clarification on Webhooks — Are They App-Wide or User-Specific
SOLVE
Hi everyone,
I'm building a public app on HubSpot and planning to use webhooks to track events like contact creation, update, and deletion. I’ve gone through the documentation and have a quick clarification:
Are webhook subscriptions tied to the app itself, or can I programmatically create user-specific webhooks once a user authorizes my app via OAuth?
I understand that webhook subscriptions configured under the Webhooks feature tab in the app settings apply globally to all users who install the app. But is there any way to dynamically create or manage webhook subscriptions per user account after the app is installed? Or are we strictly limited to the static, app-wide subscriptions defined in the developer portal?
Clarification on Webhooks — Are They App-Wide or User-Specific
SOLVE
Hey @DSingh05 , great question. So yeah, webhooks in HubSpot public apps are tied to the app itself, not individual users or OAuth tokens. Even if you create subscriptions programmatically using the Webhooks API (/crm/v3/webhooks/{appId}/subscriptions), those subscriptions still apply globally to every portal that installs your app. There’s no built-in way to create user- or portal-specific webhook subscriptions after install.
If you need to apply user-specific behavior, the common workaround is to store user settings (based on portalId, for example) when they authorize your app. Then when your webhook receiver gets an event, you check that ID and run whatever logic makes sense for that user’s config. The webhook payload doesn’t always include who triggered the action, but you usually get enough context (like object ID and portal ID) to figure it out.
So yep — static, app-wide subscriptions are the only option for now. You can fine-tune them a bit with property-based filters when setting up the subscription, but those filters still apply globally.
Clarification on Webhooks — Are They App-Wide or User-Specific
SOLVE
Hey @DSingh05 , great question. So yeah, webhooks in HubSpot public apps are tied to the app itself, not individual users or OAuth tokens. Even if you create subscriptions programmatically using the Webhooks API (/crm/v3/webhooks/{appId}/subscriptions), those subscriptions still apply globally to every portal that installs your app. There’s no built-in way to create user- or portal-specific webhook subscriptions after install.
If you need to apply user-specific behavior, the common workaround is to store user settings (based on portalId, for example) when they authorize your app. Then when your webhook receiver gets an event, you check that ID and run whatever logic makes sense for that user’s config. The webhook payload doesn’t always include who triggered the action, but you usually get enough context (like object ID and portal ID) to figure it out.
So yep — static, app-wide subscriptions are the only option for now. You can fine-tune them a bit with property-based filters when setting up the subscription, but those filters still apply globally.
HubSpot’s AI-powered customer agent resolves up to 50% of customer queries instantly, with some customers reaching up to 90% resolution rates. Learn More.
Did you know that the Community is available in other languages? Join regional conversations by changing your language settings !