Use webhooks in workflows to pass information from HubSpot to another web application.
There are a variety of uses for webhooks, such as sending data and pushing notifications.
Examples of popular use cases for webhooks include:
Posting HubSpot contacts data to another system, such as a CRM, when that contact fills out a particular form on your site.
Sending deal data to an external shipment-handling system to create a purchase order.
Sending chat alerts from your external system to your company's chat stream that lets employees know something important has happened.
HubSpot regulates webhook traffic separately from other workflow processes. This is done to streamline workflow and webhook performance. When a webhook is slow or times out, the workflow action may take longer than expected to execute.
Please note: HubSpot will retry failed webhooks for up to 3 days.
For more information on the technical aspects of webhooks, check out our developers documentation.
Set up a webhook in your workflow
- In your HubSpot account, navigate to Automation > Workflows.
- Click the name of the workflow.
- Click the + icon to add an action.
- In the right panel, select Trigger a webhook.
- Enter the webhook URL. Webhook URLs are restricted to a secure protocol and must begin with HTTPS.
- Select the Use Request Signature checkbox to authenticate any requests to your webhook and enter your App ID. Learn how to verify request signatures.
- Click Save.
Please note: the Trigger a webhook action only supports the POST method.
Test your webhook
After you create your workflow with a webhook action, you can run a quick test with a dummy webhook URL. In your browser, navigate to https://webhook.site and copy the unique URL that is automatically created. In the Webhook URL field in your webhook action, paste the URL.
The example below shows the request body of the webhook above, which reveals meta information about a specific contact, including contact information, form submissions, list memberships, etc. When the workflow action was triggered, HubSpot sent the contact's entire record formatted in JSON to the specified URL.
The receiving system can then parse the JSON data, and use it for its own application.
Please note: historical property values will only be returned in contact-based workflows. Webhooks used in all other workflow types will only return the most recent value.
Verify request signatures in workflow webhooks
Where you've selected Request signature in the Authentication section for your Trigger a webhook action, HubSpot will populate the webhook with a X-HubSpot-Signature header with a SHA-256 hash of the concatenation of the app-secret for your application, the HTTP method, the URI, and the unparsed body. Learn more about this in the developers documentation.
To verify that the requests received at your URL are from HubSpot: