Intercom messenger: Is it possible to check if the widget is already booted? | Community
Skip to main content
Answer

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

  • August 28, 2023
  • 2 replies
  • 785 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).

Best answer by Nathan Sudds

@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

 

2 replies

Nathan Sudds
Top Expert ✨
Forum|alt.badge.img+8
  • Top Expert
  • Answer
  • August 29, 2023

@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

 


  • New Participant
  • July 12, 2024

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.