Skip to content
Agentic Workflowdocs
v0.8.2Install free

nodes / builtin / integration

HubSpot

Log the contact or company you're viewing to HubSpot CRM — create or update records, attach the page as a note, and list deals.

Integration ExtensionWeb app — not available

Add or update contacts and companies in HubSpot, search them, log notes from the page you are on, and list deals.

The HubSpot node works on four kinds of things (Resource):

  • Contact: Create or update a contact, keyed by email; Update a contact by its id; or Search contacts.
  • Company: Create or update a company, keyed by domain, or Search companies.
  • Note: Create a note, optionally attached to a contact, company or deal.
  • Deal: List deals with their name, stage, amount and pipeline.

Create or update first looks for a record with the same email (contacts) or domain (companies). If one exists, it is updated; otherwise a new record is created. The result says which happened. Fields you leave empty are not sent, so an update never blanks a value already in HubSpot.

A Note is your Note text, then the Selection in quotes, then Source: and the Source URL, each separated by a blank line. It is dated with the time the node runs.

  • Log the profile or company page you are viewing as a HubSpot contact or company.
  • Keep a lead up to date each time you visit their page, without creating duplicates.
  • Save a quote or a page link as a note on the right contact, company or deal.
  • Pull your deal list into a daily summary.
For every choice
SettingTypeWhat it does
Credential (required)CredentialA HubSpot Private App token (Settings → Integrations → Private Apps). It is account-wide but scope-limited — grant only the scopes you need: crm.objects.contacts.read/write, crm.objects.companies.read/write, and crm.objects.deals.read. Keep it secret.

7 choices · pick resource and operation to see its settings

Contact
Company
Note
Deal

Settings for Contact · Create or update

SettingTypeWhat it does
Email (required)TextThe contact’s email — the unique key used to find an existing contact.
First name Text
Last name Text
Phone Text
Company Text
Job title Text
Website Text

Showing settings for Contact · Create or update

  • Domain is the bare domain, for example acme.com, not a full URL.
  • Search looks for Query in the record’s main fields (name, email, domain and so on). Search and Deal → List return 10 results unless you set Limit.
  • Associated record ID is the id of the contact, company or deal, for example {{ $('HubSpot').id }} after a Create or update. Set Associate with too, or the note is created without a link to any record.
  • Output
  • Create or update returns the record with its id, properties and created, which is true for a new record and false for an update. Branch on it with IF.
  • Update and Note → Create return the record with its id and properties.
  • Search and Deal → List return the matches in results. Contacts come with email, firstname, lastname and company; companies with name, domain and city; deals with dealname, dealstage, amount and pipeline.

Use a HubSpot private app token. In HubSpot, open Settings → Integrations → Private Apps, create an app, and give it only the scopes you need: crm.objects.contacts.read and crm.objects.contacts.write, crm.objects.companies.read and crm.objects.companies.write, and crm.objects.deals.read. Copy its access token and save it as a Bearer Token credential: see Create a credential. Keep it secret: it opens your CRM within those scopes.

  1. A Context Menu trigger runs when you right-click a profile page.
  2. Get All Text reads the page.
  3. Information Extractor pulls out email, firstName, lastName and company.
  4. HubSpot, Contact → Create or update, Email {{ $input.email }}, First name {{ $input.firstName }}, and so on.
  5. HubSpot, Note → Create, Note Seen on the web, Source URL {{ $('Context Menu').pageUrl }}, Associate with Contact, Associated record ID {{ $input.id }}.
  • “HubSpot API Error: 403 Forbidden — the private app token is missing a required scope”. Add the scope this operation needs to the private app in HubSpot, then run again.
  • “HubSpot API Error: 401 Unauthorized”. The token is wrong or was rotated. Copy the current token from the private app and update the credential.
  • A duplicate contact was created. Two Create or update steps for the same email ran back to back, before HubSpot could find the first one. Space them out, or run them one at a time.
  • The run is blocked in the web app. HubSpot runs through the browser extension. Install the extension and allow HubSpot for this workflow when asked, or run the workflow from the extension.
Edit page

Last updated:

Was this page useful?
Ask Aria about HubSpot