- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
How do you allow a non-ITIL user to view all incidents, restrict confidential incidents to an elevated role using a table-level ACL, and switch their view from Self-Service to Service Desk?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi Singhdeep70,
You can achieve this using custom roles + table ACL + UI access control.
1. Allow non-ITIL users to view incidents
- Create a role:
- Operation:
read - Role:
incident_viewer
This gives read access without ITIL.
2. Restrict confidential incidents
- Create field:
- Create table-level Read ACL (script):
- Create role:
Result:
- Normal users → cannot see confidential records
- Elevated role → can see all
3. Switch from Self-Service to Service Desk
- Assign role:
This automatically gives Agent/Service Desk view (no need for full ITIL)
OR
- Create a module pointing to Incident with Service Desk view
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hello @Singhdeep70 ,
To show(read) non-itil user all record create new acl incident.none operation:read and role:non-itil(in my case here it is Role1) and add condition like confidential field is empty (in my case here it creator grp)
Created another acl for confidential records where added condition like Confidential field is not empty (in my case i used creator grp field on basis of that im deciding to show that confidential record or not )
(if you want to allow only for security_admin remove itil role then from here)
Also updated incident query (ootb query br to see all records )
output :
For Role1
For security admin & itil :
If this helps you then mark it as helpful and accept as solution.
Regards,
Aditya
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi Singhdeep70,
You can achieve this using custom roles + table ACL + UI access control.
1. Allow non-ITIL users to view incidents
- Create a role:
- Operation:
read - Role:
incident_viewer
This gives read access without ITIL.
2. Restrict confidential incidents
- Create field:
- Create table-level Read ACL (script):
- Create role:
Result:
- Normal users → cannot see confidential records
- Elevated role → can see all
3. Switch from Self-Service to Service Desk
- Assign role:
This automatically gives Agent/Service Desk view (no need for full ITIL)
OR
- Create a module pointing to Incident with Service Desk view
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
what do you mean by non-itil users?
End user who raise incident don't have itil role but still they can see the INCs from portal
what's your exact business requirement?
Remember you will have to make changes to Table level ACLs + Query BR on incident table
💡 If my response helped, please mark it as correct ✅ and close the thread 🔒— this helps future readers find the solution faster! 🙏
Ankur
✨ Certified Technical Architect || ✨ 10x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
You can achieve this by combining ACLs, roles, and role based view configuration.
- Give the non ITIL user read access to the Incident table through a custom role so they can see all incidents.
- Then create a table level or field level ACL with a condition or script to restrict confidential incidents, allowing access only to users with an elevated role. You can do it with a custom field like u_confidential, then create an ACL with condition or script like if confidential true then check for elevated role.
- For the UI, assign the required workspace or fulfiller roles to your custom role so the user gets access to the Service Desk or Workspace experience.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hello @Singhdeep70 ,
To show(read) non-itil user all record create new acl incident.none operation:read and role:non-itil(in my case here it is Role1) and add condition like confidential field is empty (in my case here it creator grp)
Created another acl for confidential records where added condition like Confidential field is not empty (in my case i used creator grp field on basis of that im deciding to show that confidential record or not )
(if you want to allow only for security_admin remove itil role then from here)
Also updated incident query (ootb query br to see all records )
output :
For Role1
For security admin & itil :
If this helps you then mark it as helpful and accept as solution.
Regards,
Aditya
