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?
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.
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.