Every team eventually wants to link from email, Teams, or another system into a specific ServiceNow record. The naive approach uses raw URLs that change every time the UI is upgraded or replaced. A small amount of design upfront makes those links survive Next Experience, mobile, and the inevitable next redesign.
Use stable target IDs, not URL fragments
Link to https://instance.service-now.com/nav_to.do?uri=incident.do?sys_id=${sysId} rather than the full Workspace or Service Portal URL. The nav_to endpoint resolves to whichever UI the user has set as default and gracefully falls back if a Workspace is removed. This single pattern survives most UI shifts.
Provide an intent, not a screen
Where possible, encode what the user is trying to do, not where they are going. A “review this approval” link should hit a server-side handler that decides whether to send the user to a portal page, a Workspace tab, or the mobile app based on user agent and preferences. Hard-coded screen URLs become wrong the day someone disables that screen.
Mobile deep links require a custom scheme
The Now Mobile app registers nowmobile:// as a URL scheme on iOS and Android. Links of the form nowmobile://nav?table=incident&sys_id=${sysId} open the app directly to the record if installed and fall back to the browser otherwise. Use https://link.servicenow.com/... universal links if you need browser-and-app behavior in one URL.
Encode auth context, never credentials
Deep links should never carry tokens or session keys. The user’s existing SSO session handles authentication. If your link target requires elevated context (for example, reviewing as a delegate), encode that as a query parameter and let the server-side handler validate access. URLs end up in email archives, browser history, and chat logs; assume any URL is eventually public.
Add a redirect layer you control
Build a small u_link_redirect UI Page that takes a short token, looks up the intended target in a table, and redirects. Outbound links use the token, not the raw URL. When the underlying URL changes, you update one row in a table instead of finding and rewriting links across half a dozen integrations. The token also gives you click analytics for free.
Test deep links on every release
Add a smoke test set to ATF that opens 10 representative deep links and verifies the destination loads. After every Now Platform upgrade, run the suite. UI changes in patch releases occasionally break URL parameters, and you want to know within hours, not weeks.
Document the contract
Publish a short document that lists the supported deep link patterns: how to link to a record, how to link to a list, how to link to a catalog item, how to link to an approval. Integration partners cargo-cult whatever they find first, so give them the canonical answer in writing. A maintained doc prevents three years of drift in how external systems link in.
What to do this week: audit external links into your instance, replace any direct UI URLs with nav_to.do form, and stand up a redirect layer for the high-value ones.