HubSpot Custom API Workflow Action
Send HTTP requests to any API directly from your HubSpot workflows, with support for bearer token, API key, basic auth, custom headers, query params, and dynamic request bodies.
-
5 x HTTP methods supported: GET, POST, PUT, PATCH, DELETE
-
4 x Output fields available in downstream workflow steps
At a glance
Add a Custom API Call action to any HubSpot workflow, send a request to an external endpoint, and use the response inside later workflow steps.
- No middleware required
- Authentication configured per action
- Supports HubSpot tokens in URLs and payloads
- Built for RevOps teams, developers, and agencies
What this app does
HubSpot workflows are powerful, but they stop at your HubSpot data. This app extends them with a configurable HTTP request step so you can connect HubSpot to external APIs, internal services, webhooks, CRMs, ERPs, and data platforms.
Trigger external systems
Notify other tools when a deal closes, a contact is created, or a form is submitted.
Run webhook-based automations
Send requests to Zapier, Make, serverless functions, or even your own backend. You'll never feel limited again.
Push data anywhere
Send contact, company, or deal data to another CRM, ERP, warehouse, or internal API.
Respond to outcomes
Branch the workflow on success or failure, store response data, or chain calls together.
Features
The Custom API Call action is designed to be flexible enough for common workflow automation and serious integration use cases alike.
All standard HTTP methods
Supports GET, POST, PUT, PATCH, and DELETE.
Flexible authentication
- None, for open or IP-whitelisted endpoints
- Bearer token, for OAuth or JWT-based APIs
- API key header, for custom headers like X-Api-Key
- Basic auth, for username and password auth
Dynamic request construction
Use HubSpot workflow tokens in the API URL, headers, query parameters, and JSON request body to pass live record data at runtime.
Respond to outcomes
Every request returns status_code, response_body, success, and error_message for use in later workflow actions.
Setup Guide
Install the app, add the action to a workflow, configure the request, and use the response in later steps.
Install the app
-
Go to Settings → Integrations → Connected Apps in HubSpot, or use the install link from the app listing.
-
You will be redirected to the King Henry authorisation page.
-
Click Connect and approve the automation scope.
- You will be redirected back to HubSpot and the app will appear in your Connected Apps list.
Add the workflow action
-
Open or create a workflow in Automation → Workflows.
-
Click the + button to add a new action.
-
Search for Custom API or look under Connected Apps.
- Select Custom API Call.
Configure the request
Set the step name, API URL, HTTP method, authentication type, and optional query params, headers, request body, and timeout.
Use the output fields
Use the request result in if/then branches, property updates, or follow-up actions inside the same workflow.
Action fields
Step name (required)
An internal label for the workflow canvas, such as Notify Slack or Create lead in CRM.
API URL (required)
The full HTTPS endpoint to call. You can use HubSpot tokens, for example https://api.example.com/contacts/.
HTTP Method (required)
Choose from GET, POST, PUT, PATCH, or DELETE.
Authentication type (required)
Choose None, Bearer token, API key header, or Basic auth. The relevant credentials fields appear based on your selection.
Query parameters (optional)
Provide a JSON object of key-value pairs to append to the URL.
{
"format": "json",
"source": "hubspot"
}
Custom headers (optional)
Provide a JSON object of additional headers to include in the request.
{
"X-Custom-Header": "my-value",
"Content-Type": "application/json"
}
Request body (optional)
Used for POST, PUT, and PATCH requests. HubSpot workflow tokens can be inserted directly into the JSON.
{
"email": "",
"dealName": "{{deal.dealname}}",
"stage": "{{deal.dealstage}}"
}
Timeout (optional)
Defaults to 10 seconds, with a maximum of 60 seconds.
Output Fields
After the action runs, these outputs are available in later workflow steps:
- status_code: The HTTP status code, such as
200,404, or500. - response_body: The full response body as a string.
- success:
truefor 2xx responses, otherwisefalse. - error_message: Error detail for timeouts, network issues, or failed responses.
Example: Branch on success
Add an If/then branch after the action and check whether success is equal to true.
Example: Store the response
Use a Set property value action to save response_body to a HubSpot property for later reference.
Test the app quickly
Create a contact-based workflow, add the action, and use this configuration:
Step name: Test
API URL: https://httpbin.org/get
HTTP Method: GET
Auth type: None
Then run the workflow and confirm status_code is 200, success is true, and response_body contains JSON from httpbin.org.