Pendo Script integration with case view lifecycle in Constellation

We have Pendo analytics integrated in Cosmos via a custom control. Now we need to replicate this in Constellation—we need the Pendo Script to trigger when users navigate between case assignment/views.

What is the best approach to integrate Pendo JavaScript in Constellation so it’s called on load of each assignment/view in a case?

Can you please provide the intent of Pendo script in Cosmos? What it does? Why it needs to be called on every assignment?

Hi,

also interested in use case. Here is the article describing how you can load script globally: Customizing Constellation Portal

not super elegant, but the best what we have now.

@FnuA17547776

In Constellation, I would not recommend replicating the old Cosmos custom control pattern directly. Since Constellation behaves more like a SPA, the better approach is to load the Pendo script once at the portal/shell level and then trigger Pendo refresh logic whenever the active assignment/view changes.

If standard portal-level JavaScript is not sufficient for your use case, the cleaner Constellation pattern would be a custom DX component or supported extension that hooks into the view lifecycle and invokes the Pendo API on assignment/view navigation. That is generally more upgrade-safe than injecting JavaScript into each individual view.

Pendo is a. web analytical tool.

Main features are

Tracks user behavior (clicks, usage patterns, feature adoption)

We can add guides to the pages, including tooltips, walkthroughs, and announcements without code

Pendo track the pages based on url and since in our constellation app the url always remain same , we need to use the location api that pendo provides. This is a JS API which records each page with unique location, this is done by calling a JS method on each page.

Hi @RaviChandra We are able to integrate JavaScript at the portal level to initialize Pendo successfully. However, in addition to this, we need to invoke Pendo’s location API (JavaScript function) dynamically by passing assignment-level details so that we can differentiate the URL/context per assignment.

Is there any recommended approach in Constellation to achieve this behavior without creating a custom DX component?

@FnuA17547776
I’m not aware of a supported OOTB mechanism to invoke a portal-level JavaScript callback with assignment-level context on each view navigation without using an extension pattern. If you want to avoid a custom DX component, the practical fallback is to keep Pendo initialized globally and detect navigation changes indirectly (for example, SPA URL changes or rendered page metadata), then call the Pendo Location API with the derived context.

If the requirement is to reliably pass assignment-level details into JavaScript on every assignment/view load, a custom DX component or another supported extension point is the cleaner and more upgrade-safe approach.

I think DX Component may be the correct fit for your requirements. This will avoid any customization to OOTB code.