Skip to main content
These are developer notes for the ServiceNow upstream connector: how Triage’s diagnostic embeds in ServiceNow’s Service Portal and Employee Center as a widget, authenticated through the requester’s existing ServiceNow session. With ServiceNow the journey is a round trip: the request starts in the instance, Triage diagnoses it, and composerID publishes the decision back into the same instance. This page documents the upstream half; the destination half is on the ServiceNow destination page, and the gateway itself is described in Upstream connectors.
The ServiceNow connector is on the roadmap. The reference implementation ships renderers for Microsoft Teams, Slack and Google Chat; the ServiceNow widget described here is not yet in the repository. Every platform fact on this page is grounded in ServiceNow’s developer documentation, listed under Developer references.

Platform at a glance

A Service Portal widget (sp_widget) embedded in a portal page or an Employee Center topic page. The widget runs inside ServiceNow’s AngularJS runtime and has access to server-side GlideRecord through its server script.
Employee Center is ServiceNow’s unified request experience, built on top of Service Portal. A topic page can host the Triage widget so the diagnostic appears alongside the Service Catalog and Knowledge Base.
The requester is already signed in to ServiceNow. The widget’s server script runs in the user’s Glide session, giving access to gs.getUserID() and gs.getUserName() with no separate login. Outbound calls to Triage carry an OAuth 2.0 token issued by a ServiceNow OAuth application registry entry.
A standard Service Portal HTML template with AngularJS bindings. Each question is rendered as a card inside the widget; answer options use ng-click handlers that post the selection to the server script.
Once the requester selects an answer, the widget replaces the question card with a read-only summary and renders the next question below it. The scroll-forward pattern mirrors the locked-card behaviour on Teams and Slack.
ServiceNow is also a composerID destination. When the decision publishes, it lands back in the same instance as an Import Set upsert keyed on correlation_id, so the record that started the request also carries its outcome and the deep link.
UI Builder (ServiceNow’s Next Experience page builder) cannot build or configure base-system service portals such as Employee Center; ServiceNow’s own docs direct you to Service Portal Designer for those. The Service Portal widget is therefore the embedding path for Employee Center, not an interim one.
Each ServiceNow instance is a separate tenant. The widget is deployed through an Update Set or a scoped application installed from the ServiceNow Store; per-instance diagnostic configuration lives in Triage.

How the diagnostic runs in ServiceNow

Developer references

ServiceNow’s official developer documentation. The platform facts on this page are grounded in these pages.

Next steps

ServiceNow as a destination

The Import Set upsert that carries the decision back into the instance.

Upstream connectors

The Intake Gateway, the card lifecycle and the hand-off to composerID.