One line of code tells Fullview that a user reached out for help. Fullview's AI summaries then show whether the session ended with the user asking for help, providing helpful contextual analytics for product and support ops teams.
Without this, Fullview cannot see that a user opened your Intercom, Zendesk, HubSpot or Crisp chat. Those widgets run outside Fullview, so the summary can only guess.
With it, a summary can say, for example: "The session ended with the user contacting support via chat (Intercom) after 6 minutes on the billing page."
What Fullview records automatically
If your users ask for help through Fullview's own support widget, you do not need to do anything. Each successful request is recorded as a support contact.
This also covers your own button if it calls Fullview.requestSupport(). Failed requests are not recorded.
Nothing else is recorded automatically. Fullview does not watch third-party chat widgets or tel: / mailto: links on its own, because that produces false positives. For those, add the call below.
The API
Call Fullview.supportContacted() at the moment a user contacts support:
Fullview.supportContacted({ channel: 'chat', label: 'Intercom' });Parameter | Required | Values | Notes |
| Yes |
| Any other value is saved as |
| No | Free text, up to 100 characters | Shown in the session and the AI summary, e.g. "Intercom" or "Billing form". |
The method is available on the in-page Fullview object and in the Fullview npm package. Calls made before the SDK finishes loading are safe and do nothing.
Do not confuse it with Fullview.requestSupport(). That method asks your team for a co-browse session. supportContacted() only records that the user asked for help somewhere else.
Connect your chat widget
Add one snippet after both Fullview and your chat widget load. Each widget reports a different moment, so the signal strength differs:
Widget | Event used | Records when | Signal |
HubSpot |
| A conversation starts | Strong |
Crisp |
| The user sends a message | Strong |
Intercom |
| The Messenger opens | Weaker |
Zendesk (messaging) |
| The widget opens | Weaker |
Intercom and Zendesk only tell the page that the widget opened. A user who opens and closes it without writing also counts.
HubSpot
window.HubSpotConversations.on('conversationStarted', () => Fullview.supportContacted({ channel: 'chat', label: 'HubSpot' }) );Crisp
$crisp.push(['on', 'message:sent', () => Fullview.supportContacted({ channel: 'chat', label: 'Crisp' }) ]);Intercom
Intercom('onShow', () => Fullview.supportContacted({ channel: 'chat', label: 'Intercom' }) );Zendesk (messaging widget)
zE('messenger:on', 'open', () => Fullview.supportContacted({ channel: 'chat', label: 'Zendesk' }) );Contact forms, phone and email
Use the same call from your own code. Pick the channel that matches.
// Your own contact or ticket form form.addEventListener('submit', () => Fullview.supportContacted({ channel: 'form', label: 'Contact form' }) ); // A "Call us" link callLink.addEventListener('click', () => Fullview.supportContacted({ channel: 'phone', label: 'Support line' }) ); // An "Email us" link emailLink.addEventListener('click', () => Fullview.supportContacted({ channel: 'email', label: 'support@ inbox' }) );Call it only when the user really takes the action, for example on form submit, not when the form appears. Each call counts as one support contact.
Check that it works
Open your site in a normal browser window with Fullview running.
Open your chat widget (or submit your form) and send a test message.
In Fullview, open that session. The event list shows a row like "Contacted support via chat (Intercom)" under Clicks & visits.
Search the session events for "support", the channel or the label to find it fast.
No row? Check that the snippet runs after both scripts load, and that the browser console shows no errors from the call.
FAQ
Does Fullview read the chat messages? No. Fullview only records that a contact happened, plus the channel and label you send. Message content never reaches Fullview.
What if I call it twice in one session? Each call is recorded. The summary looks mainly at whether a support contact was the last thing the user did.
I use a chat tool that is not listed. Most chat tools let your page run code when the chat opens or a message is sent. Call Fullview.supportContacted({ channel: 'chat', label: '<tool name>' }) from that event. Contact us if you need help.