Skip to main content
After you connect HubSpot, this is what happens day-to-day when the AI escalates a conversation.

How handoff lands in HubSpot

When the AI decides to escalate:
  1. Contact lookup — OpenCX searches HubSpot for a contact matching the customer’s email. Creates one if none exists.
  2. Ticket created — A HubSpot ticket is opened with the conversation summary and full transcript. The ticket is associated with the contact.
  3. Handoff note — An internal comment is added with the AI’s reason for escalating, detected sentiment, and language.
  4. Ticket tagged — The ticket receives the opencx_handedoff tag for filtering in HubSpot views and workflows.
  5. Assignment — The ticket is assigned to the default user configured during setup, or to a specific rep if your routing rules specify one.
  6. Custom data pushed — Any custom data on the OpenCX session syncs to the ticket as HubSpot properties.
Ticket creation can be disabled per organization. When disabled, conversations still hand off but no HubSpot ticket is created. Contact your OpenCX admin to toggle this.

Rep replies sync back

For web chat and email channels, rep replies flow through HubSpot’s conversations inbox and reach the customer on the same channel they wrote in. Internal notes stay private — only public replies are delivered. For WhatsApp, SMS, and phone channels, HubSpot receives the ticket for visibility. Reps follow up through the OpenCX inbox or contact the customer directly.

CRM context panel

When HubSpot is connected as a CRM, the OpenCX inbox shows the customer’s HubSpot record on handoff:
  • Contact details — name, email, phone number, contact owner
  • Company — associated company name, domain, industry, size
  • Deals — active and past deals with stage, amount, and close date
  • Previous tickets — support history with subjects and status
The CRM context panel requires a separate connection at Settings → CRMs. This is read-only access to HubSpot data — distinct from the ticketing integration at Settings → Integrations.

Contact sync

OpenCX keeps contacts in sync with HubSpot:
  • On first contact — When a customer first writes in, OpenCX searches HubSpot by email. If found, the contact is linked. If not, a new HubSpot contact is created.
  • Custom data — Ticket properties sync bidirectionally. Changes your reps make on the HubSpot ticket flow back to the OpenCX session, and custom data on the session pushes to the ticket.
OpenCX only syncs properties that exist in your HubSpot schema — invalid or missing fields are skipped silently.

Assist mode

When is enabled, the AI behaves differently:
  • Replies as internal comments — The AI posts suggested responses as internal notes, not public messages. The customer sees nothing until your rep sends a reply.
  • No auto-assignment — The conversation stays unassigned so your routing rules can pick the right rep.
  • No auto-close — Tickets remain open. The rep decides when to resolve.
Assist mode respects your Autopilot channel settings. Enable or disable it per channel from the OpenCX dashboard.

Good to know

If your workflow doesn’t need HubSpot tickets on handoff, ticket creation can be turned off. Conversations still hand off to reps in the OpenCX inbox — HubSpot just won’t receive the ticket.
When an OpenCX session resolves, the associated HubSpot ticket is moved to the closed pipeline stage. The ticket summary and detected sentiment are added to the ticket content.
OpenCX waits 15 seconds between ticket updates to stay within HubSpot’s API limits. During high-volume handoffs, ticket updates may queue briefly.

Connect HubSpot

Private App, access token, webhook, and email signatures.

Troubleshooting

Connection failures, missing tickets, reply sync issues.

Autopilot

Control which topics the AI resolves vs escalates.

Human Handoff

Global handoff settings and escalation rules.