After you connect HubSpot, this is what happens day-to-day when the AI escalates a conversation.Documentation Index
Fetch the complete documentation index at: https://docs.open.cx/llms.txt
Use this file to discover all available pages before exploring further.
How handoff lands in HubSpot
When the AI decides to escalate:- Contact lookup — OpenCX searches HubSpot for a contact matching the customer’s email. Creates one if none exists.
- Ticket created — A HubSpot ticket is opened with the conversation summary and full transcript. The ticket is associated with the contact.
- Handoff comment — An internal comment is posted on the HubSpot conversation with the AI’s reason for escalating, detected sentiment, language, and a link back to the OpenCX session.
- Assignment — The ticket is assigned to the default user configured during setup, or to a specific rep if your routing rules specify one.
- 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 comments 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.Webhook behavior
OpenCX subscribes to three HubSpot events —conversation.newMessage, conversation.messageCreated, and ticket.propertyChange. Everything else is ignored. Delivery is at-most-once: OpenCX returns 200 OK immediately and processes in the background; failures are logged but not retried.
Conversation ownership matters. If a HubSpot conversation is owned by a user other than your configured AI user, OpenCX stops replying. Reassign to the AI user to resume, or enable Assist Mode.
Email has a 5-second delay so other OpenCX workflows (drafting, signatures) finish first. Other channels process immediately.
Webhook Reference
Full inbound envelope shape, per-event skip rules, and the HubSpot API calls OpenCX makes on handoff, reply, and close.
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.
Assist mode
When Assist Mode is enabled in Autopilot settings, the AI posts drafts as internal comments instead of replying publicly, leaves the conversation unassigned, and keeps tickets open for the rep to resolve.Good to know
Disabling ticket creation
Disabling ticket creation
Ticket creation is on by default. Contact support if you need it disabled for your organization — conversations still hand off to reps in the OpenCX inbox, HubSpot just won’t receive a ticket.
Tickets close on resolution
Tickets close on resolution
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. Closing is delayed by ~15 seconds to stay within HubSpot API limits.
Related Documentation
Connect HubSpot
Legacy 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.