Skip to Content

HubSpot Connector

Use the HubSpot Connector when your support team wants Applied to create, update, and track HubSpot CRM tickets during customer handoff.

HubSpot is useful when support work already depends on CRM contact records, ticket owners, and ticket pipeline stages.

What HubSpot is best for

Common use cases include:

  • Creating HubSpot tickets when Applied escalates a conversation.
  • Linking escalations to HubSpot contacts.
  • Recording Applied conversation context as HubSpot ticket notes.
  • Closing or reopening Applied conversations when HubSpot ticket stages change.
  • Keeping HubSpot owner changes aligned with Applied assignment.

HubSpot ticket comments are not the same as Zendesk comments. Applied records synced message context as HubSpot ticket notes.

Before you begin

Before connecting HubSpot, make sure:

  • You have Super Admin access or Developer tools access in HubSpot.
  • You know the HubSpot account ID for the portal you want to connect.
  • Your team knows which ticket pipeline and stages Applied should use.
  • You know whether your setup needs real-time HubSpot webhooks.

If your team uses multiple HubSpot portals, create one Connector per portal.

Set up HubSpot

Choose an API credential

HubSpot now recommends Service Keys for single-account, system-to-system REST API access. Use a Service Key when Applied only needs to call HubSpot APIs for one HubSpot account.

Applied also supports legacy private app access tokens. If your HubSpot account already uses a legacy private app for ticketing, you can keep using that access token as the HubSpot API token.

  1. In HubSpot, open Settings.
  2. Go to Integrations > Service Keys. You may also see this under Development > Keys > Service keys.
  3. Click Create service key.
  4. Enter a name such as Applied Labs.
  5. Click Add new scope.
  6. Add the scopes Applied needs.
  • Tickets read and write, shown by HubSpot as the tickets scope.
  • Contacts read and write: crm.objects.contacts.read and crm.objects.contacts.write.
  • Owners read: crm.objects.owners.read.

If you use HubSpot CRM and sales actions in Flows, also add the scopes for the objects you plan to read or write:

  • Companies: crm.objects.companies.read and crm.objects.companies.write.
  • Deals: crm.objects.deals.read and crm.objects.deals.write.
  • Line items: crm.objects.line_items.read and crm.objects.line_items.write.
  • Products: crm.objects.products.read and crm.objects.products.write, if your Flows use product-backed line items.
  • CRM property metadata: add the relevant read scopes such as crm.schemas.contacts.read, crm.schemas.companies.read, crm.schemas.deals.read, and crm.schemas.line_items.read if your Flows list CRM properties.

Add sensitive ticket-property scopes only if Applied needs to read or write sensitive HubSpot ticket fields.

After the scopes are set:

  1. Click Create.
  2. Open the Service Key.
  3. Click Show, then Copy.

Keep the Service Key private. Treat it like a password.

Choose a webhook credential if needed

Service Keys do not support HubSpot webhooks and do not provide a webhook client secret. If you need HubSpot to notify Applied when tickets change, create a HubSpot project-based app for webhook subscriptions. If your HubSpot account still allows legacy private apps, a legacy private app can also provide the client secret for webhook signature validation. Leave the webhook client secret blank for Service Key-only API access.

Use the Service Key or legacy private app access token for Applied’s HubSpot API token. Use the app client secret only for webhook signature validation.

Connect HubSpot in Applied

  1. Open Connectors.
  2. Click New.
  3. Choose HubSpot.
  4. Enter your HubSpot account ID.
  5. Optionally enter the ticket pipeline ID, open stage ID, and closed stage ID.
  6. Leave Enable HubSpot ticket webhooks off for Service Key-only access, or turn it on if you are connecting a HubSpot app webhook.
  7. Paste the Service Key or legacy private app access token into the HubSpot API token field.
  8. If you enabled webhooks, paste the app client secret.
  9. Create the connection.

If you do not enter a closed stage ID, Applied tries to find the first HubSpot ticket stage whose pipeline metadata marks it as closed.

Enable HubSpot webhooks

Service Keys cannot subscribe to or authenticate webhooks. In the HubSpot app you use for webhooks, open Webhooks and add the Applied webhook target URL:

https://<your-applied-api-host>/v1/integrations/hubspot/event/?integration_id=<applied-integration-id>

Subscribe to ticket events for the ticket object:

  • Ticket creation.
  • Ticket property changes for hs_pipeline_stage.
  • Ticket property changes for hubspot_owner_id.
  • Ticket association changes.
  • Ticket deletion, if your team wants archived HubSpot tickets reflected in Applied metadata.

Applied validates HubSpot webhook signatures with the app client secret from the webhook app.

Validate the connection

After setup:

  1. Create a test Applied escalation and confirm a HubSpot ticket is created.
  2. Confirm the HubSpot ticket is associated with the expected contact.
  3. Confirm the escalation note appears on the HubSpot ticket.
  4. Change the HubSpot ticket owner and confirm the Applied conversation assignment updates.
  5. Move the HubSpot ticket into the closed stage and confirm the Applied conversation resolves.

Use a test customer first. Do not validate with a live customer thread unless your team is ready for the HubSpot ticket to be created.

Use HubSpot in Flows

HubSpot can be used in Flows when a workflow needs to:

  • Create a support ticket.
  • Add ticket context as a note.
  • Close a linked HubSpot ticket.
  • Read ticket, owner, or pipeline details.

Design Flows so they collect the customer email or phone number before creating a ticket. HubSpot contacts need at least one stable identity value.

Reconnecting HubSpot

Reconnect HubSpot when:

  • The Service Key was rotated.
  • Required scopes changed.
  • Webhook signatures started failing after an app secret change.
  • The team moved support work into a different HubSpot portal.

When possible, update the existing connection instead of creating duplicate HubSpot connectors for the same account.

Common issues

HubSpot says the token is missing permissions

Review the Service Key scopes. The most common missing scopes are tickets, contact write, owner read, or the CRM object scopes used by a Flow.

Webhooks are not updating Applied

Check that the webhook URL includes the Applied integration ID and that the client secret in Applied matches the HubSpot app client secret.

Tickets are created, but they do not close correctly

Set the closed stage ID in the Connector setup. HubSpot portals can have multiple ticket pipelines, and Applied needs to know which stage represents a closed support case.

Next steps

Last updated on