shriramjosh
Tera Guru

Overview:

This document explains how to manage and customize homepage redirection for users in the ServiceNow interface. It focuses on using the sys_homepage_destination_rule table to control where users land after logging in, based on their roles or user criteria.

Key highlights include:

  • Creating custom redirection rules using user criteria.
  • Creating new rule via script (especially when UI access is restricted).
  • Refreshing the system cache to apply changes.

How to Create Your Own Redirect Rule

Step 1: Create User Criteria

  • Go to the User Criteria table (user_criteria).
  • Create a new record for the role you want (e.g., users with the "itil" role).
    • Created record: Default_Landing_Page_for_SOW | User Criteria        

Step 2: Add a Redirect Rule

  • You can’t directly create a rule unless you have the maint role.
  • Best way: Use a script to insert the rule.
  • Output - a record was inserted in the sys_homepage_destination_rule table as below,
    • Created record: in sys_homepage_destination_rule 

Picture1.png

 

Step 3: Clear Cache

  • Run cache.do in your browser to refresh the system cache.

Important points:

  1. Above configuration will not work until following property is in the system "glide.next_experience.user_selected_landing_page_enabled". I have imported this property from PDI into our system, so it gets treated as OOTB.
  2. System checks for user preference via "my_home_navigation_page" for the user. If the property is found for the user and it is set to anything other than (empty value), user is redirected to the page set in preference.
  3. If its empty as below, which is treated as a system user preference and that has value $pa_dashboard.do so it is redirecting to the page and when we override by creating a preference for the user, it redirects to the page mentioned in it.

Picture2.png

     4. If no user preference is set for "my_home_navigation_page" in both user level and system level, system goes through the Homepage destination rule. If criteria are matched, user is redirected to destination page mentioned in the rule and if not matched for user criteria record above in homepage destination rule, system redirects user to page set via system property "glide.login.home"

 

Comments
dipeshrathod
Tera Explorer

Thanks for Sharing ..

Prasad Dhumal
Mega Sage

Very informative

Not applicable

Thanks for sharing 👍 

Very informative 👏 

HiteshM
Tera Contributor

Thanks for sharing👍

Keshav72
Tera Contributor

Thanks for sharing

Michael255
Kilo Sage

Seems bizarre that this requires maint role...

Sebas Di Loreto
Kilo Sage

Thank you for this article.

I completely understand all the steps and I am able to route a certain group to the SOW dashboard section. BUT the redirection is not changing to the dashboard I specify.

I specifically write "/now/sow/dashboard/params/sys-id/<sys_id of the dashboard>" on the DESTINATION field but it doesn't work.

Have you ran into this?

shriramjosh
Tera Guru

Hi @Sebas Di Loreto

I hope you have gone through "Important points:" in the article above if yes then below 2 points is the only reason what I can assume as of now.

1. Some other rule (or default rule) is taking precedence.

2. There might be some explicit configuration (some scripts and criteria) which is been configured and that is the reason it's not working.

 

As a troubleshooting step, I would recommend copy the destination URL (/now/sow/dashboard/params/sys-id/<sys_id of the dashboard>) and try to wildcard search in system you will get from where this is setting up.

 

BR,

Shriram

Sebas Di Loreto
Kilo Sage

@shriramjosh 

Thank you for your prompt response.

All important steps were followed and I can prove this is working because I can change the "destination" on the "homepage destination rule" that has a very simple user criteria.

If I put "destination= /now/sow/home", the user is presented with the SOW homepage

If I put "destination= /now/sow/list", the user is presented with the SOW list page and so on.

When I try "destination= /now/sow/dashboard", the user is presented with the SOW dashboard page.

So far so good, but the key point is to direct the user to a specific dashboard.

When I try "destination= /now/sow/dashboard/<sys_id of the PAR dashboard>", the user is still presented with the same SOW dashboard page as before (seems to be the default).

When I try "destination= /now/sow/dashboard/params/sys-id/<sys_id of the PAR dashboard>", the user is still presented with the same SOW dashboard page as before (seems to be the default).

No matter what I try it is always bringing the same default SOW dashboard.

Can you try on your end if you can control it?

 

Version history
Last update:
‎07-02-2025 01:01 AM
Updated by:
Contributors