Answered

Intercom messenger: Is it possible to check if the widget is already booted?

  • 28 August 2023
  • 2 replies
  • 330 views

I’m currently integrating the intercom messenger widget in a SPA written with React (tsx files).

The application is currently executing window.intercom(“boot”, window.intercomSettings) whenever url changes.
Is there some clever way to check if the messenger widget is already booted as I don’t want to reboot the intercom widget every time a user navigates around in my application but instead call window.intercom(“update”, window.intercomSettings).

icon

Best answer by Nathan Sudds 29 August 2023, 23:24

View original

2 replies

Userlevel 5
Badge +4

@Martin Puge  Wondering if you’ve already followed the instructions for integrating the Intercom Messenger into a Single Page Application? If not, I’d recommend starting there and it may address the issue you are having already -- if not let us know!

Hope this helps

 

Hacky, but if you must:

  const intercomWidget = document.querySelector<HTMLElement>(
'div.intercom-lightweight-app-launcher, iframe.intercom-launcher-frame',
)
if (intercomWidget) console.log('Intercom widget is loaded!')
else console.log('Intercom widget is NOT loaded.')

This checks the presence of the button in the bottom right corner.

Note: `<HTMLElement>` is a TypeScript annotation. Remove it if using plain JavaScript.

Reply