Skip to main content

Browser Extension

This package contains functions for interacting with the Salesloft browser extension.

Extension Status

Send a Request to Check Installed Status

We can send an asynchronous request to check if the extension is installed.

import { sendIsInstalledRequest } from '@shared/browser-extension'

async function asyncCheck() {
const isInstalled = await sendIsInstalledRequest()
console.log(`Is the extension installed? ${isInstalled ? 'Yes' : 'No'}`)
}

Checking the Extension Installed Status

You can do a synchronous check to see if the extension is currently installed. This function should be used after a call to sendIsInstalledRequest has completed.

import { checkIsInstalled } from '@shared/browser-extension'

function syncCheck() {
const isInstalled = checkIsInstalled()
console.log(`Is the extension installed? ${isInstalled ? 'Yes' : 'No'}`)
}

Extension Communication

Broadcasting a Message

We can broadcast a message to the extension. This function is safe to call even if the extension isn't installed.

import { broadcastMessage } from '@shared/browser-extension'

function broadcastCallStarted(callSid: string) {
broadcastMessage('callStarted', { callSid })
}

Adding an Event Listener

We can listen to events broadcast from the extension. This function is safe to call even if the extension isn't installed.

import { addEventListener } from '@shared/browser-extension'

addEventListener('impersonationStarted', () => {
console.log('Impersonation has begun!')
})

Opening the Extension's Store Page

There are times when we need to direct the user to the Chrome web store page for the extension. We can use openWebStorePage to do so.

import { openWebStorePage } from '@shared/browser-extension'

function WebStoreOpener() {
return <button onClick={() => openWebStorePage()}>Go to extension</button>
}