For the complete documentation index, see llms.txt. This page is also available as Markdown.

Connect HubSpot

Use a dedicated HubSpot connection for the portal and environment your workflow should access. The documented connection uses a HubSpot private-app access token; it does not provide an interactive OAuth sign-in flow.

Credentials and connection fields

Field
Required
Value

HubSpot Access Token (hubspot_access_token)

Yes

Access token for the HubSpot app used by this connection

HubSpot Client Secret (hubspot_client_secret)

For ticket webhooks and resolution buttons

The app's client secret, used to validate signed requests/links

HubSpot API Base URL (base_url)

Default supplied

https://api.hubapi.com; change only when instructed

The access token and client secret are different values. Keep them in the connection's secret fields, not in prompts, ordinary node inputs or shared documentation.

Supported app type

The HubSpot integration currently supports legacy private apps.

Permissions

The integration's setup baseline for core ticket workflows is:

Scope
Capability used by this integration

tickets

Ticket reads/updates and related ticket operations

conversations.read

Read threads, messages and channel context

conversations.write

Post public or internal messages to Conversations

crm.objects.contacts.read

Contact lookups, including recipient email

crm.objects.owners.read

Owner and sender selectors

Additional catalog operations use crm.objects.companies.read, crm.objects.deals.read and settings.users.teams.read. Generic CRM operations also depend on the selected object type and requested read/write operation. Grant the scopes needed for your chosen workflow, and check HubSpot's response if an operation requires additional access. A scope is not a substitute for the sending actor's access to a conversation channel.

Create and check the connection

  1. Open Integrations in Automations and select the HubSpot integration.

  2. Create a connection for the intended portal and enter the fields above.

  3. Complete connection validation. This makes a small ticket-read request; it does not prove every action, sender or webhook is configured correctly.

  4. Use Get Ticket on a known test ticket. Check exists, ticket ID and required properties.

  5. If using events, follow Incoming HubSpot Ticket Webhook to install a trigger and configure its callback in HubSpot.

  6. Add public send/update actions only after the input and routing checks behave as intended in your test scope.

Record the installed configuration

Keep the portal, app name/ID, connection name, trigger ID, callback URL, enabled subscriptions, granted scopes, credential owner and last successful test together in your solution documentation. Store references to secure credential storage rather than the values themselves.

Each installed trigger has a callback target. A legacy app has one target URL for its subscriptions; multiple event types can go to that target. If your design needs distinct targets, plan separate app/connection setups or a single receiving flow that routes the events. Do not overwrite another flow's callback to install a second one.

When credentials change, update the relevant connection and test the read path and any signed trigger/button path that uses them. Previously generated resolution links depend on the secret used to sign them.

Was this helpful?