Rather have us handle this? We set this up for clients every day.
See the Service
Guides / HubSpot

HubSpot Webhook Configuration

Setting up workflow-based webhooks in HubSpot to trigger events in our middleware.

Last verified: April 2026

How HubSpot Webhooks Work

HubSpot doesn’t have a traditional webhook system where you register a URL and pick events. Instead, webhooks are triggered through workflows. You create a workflow with a trigger condition, and one of the actions in that workflow sends a webhook to our endpoint.

This is more flexible in some ways (you can add conditions and branching before the webhook fires) but less straightforward than platforms with dedicated webhook settings.

You’ll need a Professional or Enterprise HubSpot plan to access workflows with webhook actions.

Step-by-Step Setup

1. Open Workflows

  1. Log into HubSpot
  2. Navigate to Automations, then Workflows
  3. Click to create a new workflow
  4. Choose the workflow type based on what you want to trigger on — Contact-based, Deal-based, or Company-based

2. Set the Enrollment Trigger

This determines when the workflow runs. Common triggers we use:

  • Contact property change: When a specific field is updated (e.g., lifecycle stage changes)
  • Deal stage change: When a deal moves to a specific pipeline stage
  • Form submission: When a contact fills out a specific form
  • Contact created: When a new contact is added to HubSpot

Choose the trigger that matches your integration requirements. We’ll specify which trigger to use.

3. Add the Webhook Action

  1. In the workflow editor, add a new action after the trigger
  2. Search for webhook in the action list — you should see an option to send a webhook or trigger a webhook
  3. Set the method to POST
  4. Enter the webhook URL we provided
  5. Configure the request body — HubSpot lets you include specific properties from the enrolled record

4. Select the Payload Properties

Choose which properties to include in the webhook payload. At minimum, we usually need:

  • The record ID (hs_object_id)
  • The properties relevant to the integration (names, emails, deal amount, etc.)
  • Any custom properties we created for the integration

Don’t include everything — keep the payload focused on what the integration needs.

5. Activate the Workflow

  1. Review the workflow settings
  2. Choose whether to enroll existing records that match the criteria, or only new events going forward
  3. Turn the workflow on

Which Triggers We Typically Use

Use CaseTrigger TypeNotes
New lead routingContact createdSends new contacts to external system
Deal syncDeal stage changeFires when deals move stages
Form captureForm submissionRoutes form data to another platform
Status updateProperty changeWhen specific field changes value

Limitations

  • One-way only. HubSpot workflow webhooks send data out. They don’t receive responses that update HubSpot records. For two-way sync, we handle the return path through the API.
  • No retry configuration. If the webhook delivery fails, HubSpot may retry, but you don’t have control over the retry schedule.
  • Rate limits apply. Workflows have execution limits based on your HubSpot plan.
  • Payload size. You’re limited to the properties you select — you can’t send the entire record with all associations in a single webhook.
Ready to get your systems connected? No pitch. Just a conversation about what's possible.
Start a conversation

Common Issues

Webhook Action Not Available

The webhook action requires a Professional or Enterprise plan. If you don’t see it in the action list, check your plan level.

Workflow Not Firing

If the trigger conditions are too narrow, the workflow may not enroll any records. Test with a broad trigger first, then narrow it down once you’ve confirmed it works.

Wrong Data in Payload

If the properties in the payload don’t match what we need, edit the webhook action and update the included properties. You don’t need to recreate the workflow.

Workflow Fires Too Often

If a property change trigger fires on every edit (not just the change you care about), add an if/then branch to the workflow that checks the specific property value before sending the webhook.

Next Steps

Need help with the full integration?

This guide covers the setup. If you want us to handle the integration end to end, we can do that.

See Integration Services