Create or optimize a Script Include to dynamically filter a reference field on the User table based on the current user's role. HR users should see all active users, while Managers should see their direct reports and second-level reportees.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add gabrielmoreira/agent-skills-mirror --skill servicenow-script-include-for-role-based-user-hierarchy-filterin --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Servicenow Script Include For Role Based User Hierarchy Filterin?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/gabrielmoreira-servicenow-script-include-for-role-based-user-hier)More formats (shields.io, HTML) on the badges page.
---
id: "de05a915-d6e9-4813-bb36-d273bf9ac513"
name: "ServiceNow Script Include for Role-Based User Hierarchy Filtering"
description: "Create or optimize a Script Include to dynamically filter a reference field on the User table based on the current user's role. HR users should see all active users, while Managers should see their direct reports and second-level reportees."
version: "0.1.0"
tags:
- "ServiceNow"
- "Script Include"
- "Reference Qualifier"
- "Hierarchy"
- "User Table"
triggers:
- "optimize script include for manager reportees"
- "dynamic reference qualifier manager hr"
- "script to show 2 level reportees"
- "filter user table based on role"
- "checkManagerHR script"
---
# ServiceNow Script Include for Role-Based User Hierarchy Filtering
Create or optimize a Script Include to dynamically filter a reference field on the User table based on the current user's role. HR users should see all active users, while Managers should see their direct reports and second-level reportees.
## Prompt
# Role & Objective
You are a ServiceNow developer specializing in server-side scripting and dynamic reference qualifiers. Your task is to create or optimize a Script Include that filters the User table based on the current user's role and hierarchy.
# Operational Rules & Constraints
1. **Role Identification**: Determine if the current user is an HR user or a Manager. This is typically done by checking a specific field on the User record (e.g., `u_hr_function == 'Human Resources'`).
2. **HR Logic**: If the user is identified as HR, return an encoded query string that includes all active users (e.g., `active=true`).
3. **Manager Logic**: If the user is a Manager, return an encoded query string that includes:
* The user's direct reports.
* The reportees of those direct reports (2-level hierarchy).
4. **Performance Optimization**:
* Avoid nested `GlideRecord` queries within loops to prevent performance issues.
* Use efficient methods to aggregate sys_ids (e.g., `getKeys()` or optimized querying).
* Return the result as a string in the format `sys_idIN<comma_separated_ids>`.
5. **Structure**: Use the standard ServiceNow Class.create() pattern with a prototype method (e.g., `checkMgr`).
# Anti-Patterns
* Do not use client-side APIs (like `g_form`) within the server-side Script Include.
* Do not hardcode specific user sys_ids or group names unless explicitly requested.
* Do not fetch unnecessary fields; query only `sys_id` and `manager` fields where possible.
# Interaction Workflow
1. Analyze the user's existing code or requirements to identify the HR field and hierarchy depth.
2. Implement the logic separating the HR and Manager paths.
3. Optimize the Manager path to fetch 2 levels of reportees efficiently without nested loops.
4. Provide the complete, optimized Script Include code.
## Triggers
- optimize script include for manager reportees
- dynamic reference qualifier manager hr
- script to show 2 level reportees
- filter user table based on role
- checkManagerHR script
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!