Pipedream HubSpot steps in n8n
Updated 2026-10-21 · 3 min read · n8n: HubSpot (Native n8n node)
HubSpot workflows on Pipedream sync leads in and out of the CRM: a form or Stripe payment creates or updates a contact, a deal moving stages posts to Slack. n8n has a native HubSpot node and a webhook-based HubSpot Trigger. The objects are the same; the credentials and the trigger setup differ.
The n8n side
HubSpot node (n8n-nodes-base.hubspot):
| Resource | Operations |
|---|---|
| Contact | Create/Update, Delete, Get, Get All, Get Recently Created/Updated, Search |
| Contact List | Add, Remove |
| Company | Create, Delete, Get, Get All, Get Recently Created/Modified, Search by Domain, Update |
| Deal | Create, Delete, Get, Get All, Get Recently Created/Modified, Search, Update |
| Engagement | Create, Delete, Get, Get All |
| Form | Get Fields, Submit |
| Ticket | Create, Delete, Get, Get All, Update |
HubSpot Trigger (registers a webhook): Created, Deleted and Property changed for Company, Contact, Deal and Ticket; Contact privacy deleted; Conversation events.
What maps where
Pipedream (app hubspot) |
In n8n | Status |
|---|---|---|
| Create or Update Contact, Batch Create or Update Contact | HubSpot → Contact → Create/Update (upsert by email) | manual |
| Add Contact to List | Contact List → Add | manual |
| Add Note to Contact | Engagement → Create (type Note) | manual |
| Create Deal, Update Deal | Deal → Create / Update | manual |
| Batch Create Companies | Company → Create, once per item | manual |
| New Contact Property Change, New Company Property Change | HubSpot Trigger, Property changed | manual, one trigger only |
| New Deal In Stage | HubSpot Trigger (Deal property changed on dealstage) + If node |
manual |
| New Contact Added to List, custom object events | Schedule Trigger + HTTP Request polling | manual |
Code step with @hubspot/api-client and this.hubspot.$auth.oauth_access_token |
Code node; token becomes HUBSPOT_OAUTH_ACCESS_TOKEN |
automatic, review |
HubSpot actions are not in the converter's automatic list; the report shows each step with its props (email, properties, pipeline, stage) as a comment in the placeholder node.
Credentials
n8n's HubSpot credential page lists three methods:
- Service Key – recommended for the node (Authentication: Service Key). Service keys are in public beta at HubSpot. Legacy private-app tokens still work.
- OAuth2 – for the node, with your own HubSpot app.
- Developer API key – required for the HubSpot Trigger, together with a public app's Client ID, Client Secret and App ID.
The old HubSpot API key is deprecated. Pipedream's OAuth connection does not carry over, so plan the HubSpot app setup before switching the trigger.
Typical migration: Stripe customer to HubSpot
Pipedream: Stripe New Customer → HubSpot Create or Update Contact → Slack.
n8n: Stripe Trigger (customer.created) → HubSpot → Contact → Create/Update (email, name, lifecycle stage) → Slack.
Pitfalls
- One webhook per app. Activating a second HubSpot Trigger disables the first. Use one trigger with several events and a Switch node.
- Rate limits. Private apps get a burst of 100 requests per 10 seconds on Free and Starter, 190 on Pro and Enterprise; the daily limit (250k to 1M by tier) is shared by all apps in the account. The CRM Search API has its own, stricter limit and sends no rate-limit headers.
- Property internal names. Use internal names (
lifecyclestage), not labels. Pipedream props already store internal names; copy them as they are. - Associations. Linking a contact to a company or deal often needs an extra HTTP Request to the associations API.
How to move your HubSpot workflows
- Export the workflows from Pipedream.
- Upload on /convert; the free report lists HubSpot steps and the credentials to create.
- Download the n8n JSON: 1 workflow is free; full export: $3 per workflow, $19 minimum — coming soon.
Guide: Pipedream to n8n; check code that uses @hubspot/api-client in the code step checker. Related: Salesforce, Gmail, Slack.
FAQ
- Which credential should I use for the HubSpot node?
- n8n recommends a Service Key (credential HubSpot Service Key). OAuth2 also works for the node. The HubSpot Trigger needs a Developer API key with a public app.
- Can I run two HubSpot Trigger workflows?
- Not with one HubSpot app: n8n's docs say HubSpot allows only one webhook at a time, so activating a second HubSpot Trigger stops the previous one. Put all events in one trigger and route with a Switch node.
- Do HubSpot steps convert automatically?
- Not yet. HubSpot actions arrive as marked placeholders with their props; code steps that call the HubSpot API convert automatically with the token as a variable.
- What about custom objects?
- The n8n node has no custom object resource. Use HTTP Request with the HubSpot credential against the CRM objects API.
Related
Sources
- https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.hubspot/
- https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.hubspottrigger/
- https://docs.n8n.io/integrations/builtin/credentials/hubspot/
- https://pipedream.com/apps/hubspot
- https://developers.hubspot.com/docs/developer-tooling/platform/usage-guidelines