There's a new version of the HubSpot API

As of November 30, 2022, HubSpot API keys are no longer a supported authentication method for accessing HubSpot APIs. Instead, you should use a private app access token or OAuth to authenticate API calls. Learn more about this change and how to migrate an API key integration to use a private app instead.

Using webhooks in workflows

Last updated December 12, 2023

Notes:
  • The webhooks used in workflows are completely separate from the webhooks sent for an OAuth app that would be managed through the Webhooks API. For more details about that type of webhook, please see the documentation here.
  • Webhook actions are only available with an Operations Hub Professional or Enterprise subscription. See this article for more details.
  • Webhook actions are regulated 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.
  • Only contact-based workflows will include the most recent property value plus any historical property values in the associated payload. Other workflow types (e.g. deal-based workflows) will solely include the most recent property value and any historical values will not be included in the payload.

For more details on setting up a webhook action in a workflow, see this knowledge article.

The webhook will POST the data for the object going through the workflow. The data will be the exact same data you'd get when pulling that object using the relevant object API.

Webhooks follow these rules for connecting and retrying requests:

  • Workflows wait up to three seconds to connect to a tcp socket. If this fails, HubSpot will retry.
  • Workflows wait up to 30 seconds for a response (aka request timeout).
  • Workflows will not retry after receiving 4XX series response status codes.
    • One exception to this rule is 429 rate limit errors; workflows will automatically retry after receiving a 429 response, and will respect the Retry-After header if present. Retry-After is recorded in miliseconds.
  • Workflows will retry after receiving a 5xx series error.
    • When we encounter a 5xx error, the request will be retried over the next 3 days before failing permanently.
  • Workflows will issue webhook attempts at up to 20 requests per second.