Skip to content

Use webhooks with HubSpot workflows

Last updated: January 20, 2022

Applies to:

Operations Hub Professional, Enterprise

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 three days, starting one minute after failure. Subsequent failures will be retried at increasing intervals, with a maximum gap of eight hours between tries. Learn about specific error code exceptions in HubSpot's developer documentation.

Learn more about webhooks in the developers webhooks documentation. If you have questions about your specific implementation of webhooks with HubSpot, reach out on the HubSpot Developers Forums.

 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 Send 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 Send 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 and copy the unique URL.
  • In the Webhook URL field in your webhook action, paste the URL.

When the webhook action is triggered, a JSON response body will be sent to the webhook containing all information about the contact, including form submissions, list memberships, and all contact property values. 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: