Skip to main content

HubSpot Integration Overview

Use HubSpot inside a ChainIT workflow to create, update, search, get, and archive contacts, companies, deals, leads, and tickets. Connect once with HubSpot OAuth, then reuse that connection on every HubSpot node in your organization.

Requirements​

Before you connect HubSpot in the workflow builder:

  • A HubSpot account with permission to authorize apps for your HubSpot portal
  • A ChainIT organization where you can open the workflow builder
  • A HubSpot Super Admin must approve the ChainIT HubSpot app the first time your portal connects. If HubSpot later requires new permissions, a Super Admin must approve again before you re-authenticate

Need a HubSpot account? Sign up with HubSpot.

Connect HubSpot​

HubSpot connections use ChainIT’s installed HubSpot app (OAuth). You create the connection from a HubSpot node in the builder. Secrets stay on the connection and are never shown on the connection screen.

  1. Open a workflow — a workflow can have only one trigger. Add a trigger first if the canvas is empty (for example Manual Trigger or Receive Webhook).
  2. Add a HubSpot node — open the node palette, go to Integrations → HubSpot, pick an object group such as Contacts, then add a node (for example Create Contact).
  3. Start the connection — in the node, open the connection control and choose Connect / Add connection. Enter a connection name when prompted.
  4. Authorize in HubSpot — HubSpot opens in a new tab. Sign in if needed, review the permissions, and confirm access. Close the success tab when HubSpot finishes.
  5. Return to the builder — the connection list refreshes and selects the new connection. Save the node.

Permissions​

When you connect, ChainIT requests HubSpot OAuth access for the CRM objects below. A HubSpot Super Admin must approve the app (and any later permission changes) for your portal.

Node groupHubSpot permissionWhat you grant on the connection
Contactscrm.objects.contacts.read crm.objects.contacts.writeRead and write HubSpot contacts (create, update, get, search, archive)
Companiescrm.objects.companies.read crm.objects.companies.writeRead and write HubSpot companies
Dealscrm.objects.deals.read crm.objects.deals.writeRead and write HubSpot deals
Leadscrm.objects.leads.read crm.objects.leads.writeRead and write HubSpot leads
Ticketscrm.objects.tickets.read crm.objects.tickets.writeRead and write HubSpot tickets
Owners (field options)crm.objects.owners.readLoad HubSpot owner options when property fields are shown on create/update

HubSpot trigger nodes and webhook subscriptions are not part of this integration yet. Start the workflow with a ChainIT trigger such as Manual Trigger, Receive Webhook, Scheduled Execution, or Event Trigger.

Tutorial​

Build a workflow that creates a HubSpot contact from an inbound webhook, then creates a deal linked to that contact’s output.

1. Start the workflow​

Create a workflow and add Receive Webhook as the trigger. Publish or save so you have a webhook URL. Your upstream system will POST payload fields such as email, first name, and last name.

2. Create the contact​

Add Integrations → HubSpot → Contacts → Create Contact. Connect HubSpot if you have not already. On create and update nodes, property fields load from your connected HubSpot account. Map webhook values into the contact fields with dynamic variables from the trigger node.

3. Create a deal from the contact​

Add Create Deal. Pick the same HubSpot connection. In a deal property (or association target when shown), reference the contact created earlier. In the builder, prior-node outputs use dynamic variables such as {{ $.output.<Create Contact node id>.id }}. Choose the Create Contact node from the variable picker so the deal step receives the new contact id.

4. Run and review​

Send a test request to the webhook URL. Open Execution History to confirm Create Contact and Create Deal succeeded, and to inspect each node’s output.

HubSpot nodes​

All HubSpot actions live under Integrations → HubSpot. Each node requires a HubSpot connection. Delete nodes archive the record in HubSpot.

Contacts​

  • Create Contact — create a HubSpot contact. Property fields load from your HubSpot account.
  • Update Contact — update an existing contact by id.
  • Get Contact — get a contact by id.
  • Search Contacts — search contacts and pass results to later nodes.
  • Delete Contact — archive a contact by id in HubSpot.

Companies​

  • Create Company — create a HubSpot company.
  • Update Company — update an existing company by id.
  • Get Company — get a company by id.
  • Search Companies — search companies and pass results to later nodes.
  • Delete Company — archive a company by id in HubSpot.

Deals​

  • Create Deal — create a HubSpot deal.
  • Update Deal — update an existing deal by id.
  • Get Deal — get a deal by id.
  • Search Deals — search deals and pass results to later nodes.
  • Delete Deal — archive a deal by id in HubSpot.

Leads​

  • Create Lead — create a HubSpot lead.
  • Update Lead — update an existing lead by id.
  • Get Lead — get a lead by id.
  • Search Leads — search leads and pass results to later nodes.
  • Delete Lead — archive a lead by id in HubSpot.

Tickets​

  • Create Ticket — create a HubSpot ticket.
  • Update Ticket — update an existing ticket by id.
  • Get Ticket — get a ticket by id.
  • Search Tickets — search tickets and pass results to later nodes.
  • Delete Ticket — archive a ticket by id in HubSpot.

Resources​

  • HubSpot API overview — HubSpot’s public CRM API documentation
  • Dynamic variables and Execution History — see the tutorial above for mapping prior-node outputs and reading run results

HubSpot is a trademark of HubSpot, Inc. This page documents the ChainIT Workflow HubSpot integration.