Last modified: August 22, 2025
Legacy apps are still supported by HubSpot, but don’t have access to the latest app features. Learn more about the new developer platform.
Limitations
The following limitations apply to webhook subscriptions in private apps:- If you’re currently enrolled in the CRM development tools beta, private apps created in a project do not currently support webhook subscriptions. You can still follow the instructions in this article to create standalone private apps, separate from the ones you create in your projects, to create webhook subscriptions.
- Managing your private app’s webhook subscriptions via API is not currently supported. Subscriptions can only be managed in your private app settings.
- A limit of 1000 webhook subscriptions applies per private app.
Create a webhook in your private app
- In your HubSpot account, click the settings icon in the main navigation bar.
- In the left sidebar menu, navigate to Integrations > Private Apps.
- Click the name of your private app. If you haven’t created a private app yet, follow the instructions in this article to create one.
- Click the Webhooks tab.
- Click Edit webhooks.
- Under Target URL, enter the URL that HubSpot will make a
POST
request to when events trigger. - Click Create subscription.
- In the right panel, configure your subscription:
- Select the object types that you want to subscribe to, then select the events associated with those objects (e.g., created, merged, deleted) that will trigger HubSpot to send a request to the endpoint you configured.
- If you select an object type that requires scopes your app hasn’t been authorized for, you’ll be prompted to add those scopes to your app.
- If you select Property changed for the event type, you can then select any of the associated object properties that you want to subscribe to changes for.
- Click Subscribe.

- If you don’t want your webhook subscriptions to be active immediately, or if you want to delete a subscription you mistakenly created, you can hover over the webhook and manage its status, unsubscribe to delete it, or review the subscription details. If you’ve configured multiple webhook subscriptions, you can edit their statuses in bulk by selecting the checkboxes next to each one then clicking Activate or Pause.

- When you’re ready to save your changes, click Commit changes in the top right.
POST
requests to your Target URL once any of the events associated with your active subscriptions are triggered.
Please note:For each private app, HubSpot sets a concurrency limit of 10 requests when sending subscription event data. This concurrency limit is the maximum number of in-flight requests that HubSpot will attempt at a time. Each request can contain up to 100 events.
Review and test webhook subscriptions
On the Webhooks tab of your private app, you can review, edit, and test all your configured subscriptions.
- To edit a subscription, hover over it then click Edit subscriptions.
- Hover over an existing subscription to pause, activate, or delete it. You can also click Create subscription to configure a new webhook.
- When you’re done making changes, click Commit changes in the top right. If the changes you made required changes to your private app’s scopes, you’ll be prompted to confirm the scope changes.
- To test a webhook subscription, hover over it then click View details.
- In the right panel, review the details of your webhook subscription, including the event payload that HubSpot will send in the request.
- To test that your target URL is working properly, click Test. This will send the listed sample event payload to your configured target URL, and the resulting response from your endpoint will appear at the bottom of the panel.

X-HubSpot-Signature
header with a SHA-256 hash that’s built using your private app’s client secret along with data from the request itself. You can find your private app’s client secret by navigating to the Auth tab in your private app’s settings, then clicking Show secret.

Check webhook subscription logs
To help you debug and analyze the volume of your configured subscriptions, webhook triggers and the corresponding responses from your endpoint will be provided in your private app logs.- On the details page of your private app, click the Logs tab.
- Click Webhooks.
- Review the history of your event subscription triggers, which includes both successful and unsuccessful API requests that HubSpot performed. At the top of the table, you can click the dropdown menus to filter by subscription type, status, time period, or you can search for specific log entries by batch ID or log ID.

- To get more details about a log entry, click the entry to see additional details about when the event triggered, what fields were included in the payload, along with other metadata for the event.