HubSpot Workflow Action

Call any REST API from a HubSpot workflow

POST, GET, PUT, PATCH, or DELETE to any REST API from inside a HubSpot workflow. Use HubSpot personalization tokens in the URL, headers, and JSON body. Map any response field back to a CRM property and branch the workflow on the result. No custom code required.

Free trial available · 1,000+ HubSpot installs · Built by a HubSpot Solutions Partner

Three things that matter

Built for the work HubSpot workflows are already doing

RevOps and HubSpot admins increasingly need to call external APIs from inside a workflow - to score a lead, enrich a contact, push data to Clay or n8n, sync to a warehouse, or open a Zendesk ticket. API Webhook Connector makes that a workflow-native action you configure once and reuse everywhere.

Workflow-native, not bolted on

Configured inside HubSpot's workflow editor. Optional Toolbox dashboard for testing, replay, and deeper debugging. No separate platform to learn, no JavaScript to maintain.

Response data flows back

Map any path in the response JSON to a HubSpot property, then branch the workflow on what came back. Most webhook tools fire and forget.

Logged where you already debug

Outputs land in HubSpot's standard workflow execution history. Full redacted request and response details available in the Toolbox History tab when you need them.

Use case 01 · Lead routing

Route, score, and qualify form submissions through any API

Most teams have an internal service that knows things HubSpot doesn't - product usage, account tier, fraud signals, lead routing rules, customer health. Pipe the new lead through the service, save the response, and route the contact based on what came back. All in the same workflow, all in real time.

The example to the right runs on every demo request. It POSTs the contact email and domain to /leads/score, saves the returned lead_score and account_id to CRM properties, and routes the contact based on the score.

  • Lead scoring and qualification
    Score new contacts against your model and route to AE, SDR, or nurture in real time.
  • Customer 360 lookups
    Pull product usage, MRR, or support history into HubSpot when a deal opens or a ticket is created.
  • Fraud and abuse signals
    Reject high-risk leads before they hit the SDR queue.
Example: Score and route demo requests
Trigger enrollment for contacts
When this happens
Group 1
Form submission: Demo Request any number of times anytime
+
1. API Webhook Connector

POST to /leads/score, save lead_score and account_id

Click to see configuration
+
2. Branch

Check branches in order: Score >= 80, Score 40-79, and None met.

3 branches - click to see paths
+
End

Click each action to see its configuration.

Example: Push to a Zapier Catch Hook the second a customer is born
Trigger enrollment for contacts
When this happens
Group 1
Lifecycle stage = Customer any number of times anytime
+
1. API Webhook Connector

POST to Zapier Catch Hook with new customer payload

Click to see configuration
+
End

Make.com, n8n, and Pipedream catch hooks work the same way.

Use case 02 · Zapier, Make, n8n

Use HubSpot workflows as the instant trigger for Zapier, Make, or n8n

Zapier's native HubSpot trigger polls every 1 to 15 minutes depending on plan. The API Webhook Connector pushes events to a Zapier Catch Hook, Make webhook, or n8n webhook in sub-second time, with a payload you control completely.

Treat HubSpot as the source of truth and let middleware handle only the downstream side. The right tool for each job, without paying twice for triggers and actions.

  • Sub-second event delivery
    Skip the polling delay. The workflow fires the moment a property changes or a deal moves stage.
  • Custom payload shape
    Send only the fields each Zap or scenario needs. No oversized payloads, no Filter steps eating tasks.
  • Lower middleware spend
    A Catch Hook trigger does not consume a task on most plans. Only the downstream actions do.
Use case 03 · Clay enrichment

Send HubSpot leads to Clay the moment they enter a workflow

Clay enrichment works best when it runs on fresh signal. The API Webhook Connector fires a POST to your Clay webhook the second a contact is created, a form is submitted, or a lifecycle stage changes. The enriched data flows back into HubSpot as a property update on the next workflow step.

Skip the polling delays of standard CRM-to-Clay syncs. Trigger Clay exactly when the workflow needs the data.

  • Real-time enrichment
    Demo requests get enriched before the SDR sees the lead.
  • Controlled payload
    Send only the fields Clay needs. Skip the import filtering Clay's native HubSpot connector forces.
  • Branch on enrichment result
    Clay returns ICP fit and segment data. Use it to route the contact in the same workflow.
Example: Enrich a new contact in Clay before SDR outreach
Trigger enrollment for contacts
When this happens
Group 1
Form submission: Demo Request any number of times anytime
+
1. API Webhook Connector

POST to Clay webhook source with contact payload

Click to see configuration
+
End

Clay writes back to HubSpot when enrichment completes.

Example: Open a Zendesk ticket from a priority support form
Trigger enrollment for contacts
When this happens
Group 1
Form submission: Priority support request any number of times anytime
+
1. API Webhook Connector

POST to Zendesk Tickets API to create a ticket

Click to see configuration
+
2. Set property value

Save Zendesk ticket ID to the contact

+
End

Direct call to api.v2/tickets. No Zapier or Make in the middle.

Use case 04 · Zendesk tickets

Open Zendesk tickets directly from a HubSpot workflow

Most teams route HubSpot signals to Zendesk through Zapier or Make. The API Webhook Connector hits Zendesk's Tickets API directly, with subject, body, requester, priority, and tags built from HubSpot tokens. The new ticket ID comes back and stores on the contact.

One less middleware tool, one less subscription, full control over the ticket fields Zendesk receives. Authenticate with Basic Auth using a Zendesk email and API token, or with an OAuth bearer token.

  • Priority support requests
    Form flagged urgent → ticket created with priority: high and tagged for the right group.
  • Customer onboarding
    Deal closed-won → onboarding ticket assigned to the implementation team.
  • Account health alerts
    Health score drops below threshold → ticket opened for the CSM with the latest signals attached.
Use case 05 · HubSpot to HubSpot APIs

Call HubSpot APIs the workflow editor doesn't expose

The workflow builder can update the enrolled record. It cannot re-trigger form-based enrollments, modify related records like the parent company or line items, touch custom object associations, or reach most fields on User records.

Calling HubSpot's API from inside the workflow fixes that. Pass a Private App access token in the Authorization header, then POST or PATCH the resource you need. The example to the right submits the contact to a HubSpot form via the official Forms API so every workflow that enrolls on that form fires - the cleanest fix for contacts that arrive via import, chatbot, or another HubSpot portal and bypass the form path entirely.

  • Re-enroll in form-triggered workflows
    POST to the Forms API so workflows that enroll on a form submission also fire for contacts that arrived via import, chatbot, or another HubSpot portal.
  • Update parent company from a contact
    Push enriched industry, employee count, or HQ city back to the associated company without a parallel company workflow.
  • Modify line items on closed-won deals
    Apply discounts, set tax flags, or recalculate quantities across every line item attached to the deal.
  • Touch custom objects and associations
    Create or update custom object records, set association labels, and write to fields the workflow editor doesn't list.
Example: Submit a HubSpot form via API to re-enroll a contact
Trigger enrollment for contacts
When this happens
Group 1
Lead source = Imported or external API any number of times anytime
+
1. API Webhook Connector

POST to HubSpot Forms API to simulate a form submission

Click to see configuration
+
End

Authenticated Forms API call with a Private App token (forms scope).

More patterns

Anything reachable over HTTP fits a HubSpot workflow now

Six more patterns teams ship in their first month with the API Webhook Connector.

AI and LLM APIs

Call OpenAI, Anthropic Claude, or your own model gateway directly. Classify leads, generate emails, summarize meeting notes, score intent.

Email and phone validation

Send form submissions to NeverBounce, ZeroBounce, or Twilio Lookup. Branch on validity and block junk before it pollutes your CRM.

Sync to data warehouses

POST CRM events to Snowflake, BigQuery, Postgres, or Segment in real time. Skip the daily export job and keep analytics fresh.

Cross-CRM sync

Push contact, deal, or ticket changes to Salesforce, Pipedrive, Close, or any internal CRM API the moment a HubSpot record changes.

Real-time notifications

Hit Slack incoming webhooks, Microsoft Teams connectors, Discord, or Telegram with a custom message when high-value records change state.

Document and signing flows

Trigger DocuSign envelopes, PandaDoc proposals, or HelloSign requests when a deal advances. Capture the document ID back on the deal.

Capabilities

Everything you'd build for production, in a workflow step

Configured entirely through the standard HubSpot workflow editor. No script editor and no deploy step. Each call is logged inside HubSpot's workflow execution history alongside every other workflow step, with the optional Toolbox dashboard available for deeper testing, replay, and redacted debugging.

Five HTTP methods

POST, GET, PUT, PATCH, DELETE. Everything you need for REST APIs, RPC endpoints, and webhook receivers.

Custom headers

Two custom header fields cover Authorization bearer tokens, API keys, X-Signature, or custom service routing. Content-Type is set automatically.

JSON body with HubSpot tokens

Build the request body with HubSpot personalization tokens. Pull values from the enrolled record and any associated object.

Response mapping

Map any path in the response JSON to a HubSpot property. response.score, response.user.id, response.user.email all work.

Workflow branching on result

Pipe HTTP status and result variables into HubSpot's branch action. Route success and error paths differently in the same workflow.

Audit log of every call

Every request and response is captured in workflow execution history for debugging, compliance, and incident response.

FAQ

Common questions about HubSpot webhooks

Quick answers to what teams ask before installing. For anything deeper, the help center covers configuration, authentication, and edge cases.

Does the API Webhook Connector require Operations Hub Pro?+
No. The API Webhook Connector works on every HubSpot tier that includes workflows - Marketing Hub Professional, Sales Hub Professional, Service Hub Professional, and any Enterprise tier. You do not need Operations Hub Professional or Operations Hub Enterprise.
Which HTTP methods are supported?+
POST, GET, PUT, PATCH, and DELETE. Each request accepts custom headers and a custom JSON body. HubSpot personalization tokens (such as {{contact.email}}) can be embedded anywhere in the URL, headers, or body.
Can I authenticate to APIs with bearer tokens or API keys?+
Yes. The action provides two custom header fields - send Authorization: Bearer ..., X-Api-Key: ..., or any custom header your API expects. Header values are not surfaced in HubSpot workflow execution logs.
Can the response update CRM properties?+
Yes. Map any path in the response JSON to a HubSpot property using the Result variable fields. Examples that work: response.lead_score, response.user.account_id, response.user.email, response.ticket.id. Up to several response paths can be saved per call.
Can I call HubSpot APIs from a HubSpot workflow?+
Yes - and this unlocks updates the native workflow editor cannot perform: modifying associated records, line items, custom object relationships, or ticket pipelines from contact context. Authenticate with a HubSpot Private App access token sent as Authorization: Bearer pat-... in the header.
How do I trigger Zapier or Make from a HubSpot workflow with this?+
Create a Catch Hook trigger in Zapier (or a webhook trigger in Make / n8n / Pipedream), copy the unique URL, and POST to it from the API Webhook Connector. This is faster than Zapier's HubSpot polling triggers (sub-second) and removes the need for a paid Zapier HubSpot connector seat.
What happens if the API call fails?+
The action records the response status and body in the workflow history. Downstream branches can route on success or failure status codes, or on the content of the response variable. Pair the action with the Random Delay action from 0CodeTools for retry-style patterns.
Does it work with custom objects?+
Yes. The action runs in any object workflow - contacts, companies, deals, tickets, custom objects, even commerce records. All HubSpot personalization tokens for the enrolled object and its associations are available in the request URL, headers, and body.
Are there rate limits?+
HubSpot's standard workflow execution limits apply to the action itself. The API you call has its own rate limits - for high-throughput pipelines, pair the action with the Random Delay action from 0CodeTools to spread requests evenly.
Is there a free trial?+
Yes. The free 0CodeTools trial includes the API Webhook Connector with a monthly call quota generous enough for most teams to evaluate. Paid plans extend the quota for production workloads.
Process

Get the first webhook live in three steps

01

Install on the HubSpot Marketplace

Connect 0CodeTools to your HubSpot portal in two clicks. The API Webhook Connector appears in the workflow action picker the moment the install completes.

02

Configure the call

Pick the HTTP method, paste the URL, add headers, and write the JSON body using HubSpot tokens. Save up to several response paths to CRM properties.

03

Branch on the response

Use HubSpot's native if/then branch on the result variables to route records, set scores, send alerts, or trigger downstream actions based on what your API returned.

Install the action

Add the action to your workflows in 60 seconds

Free trial available. Works on every HubSpot tier with workflows. Your first webhook can be live before your next coffee.

Built by Resonate · HubSpot Solutions Partner