Skip to content

Conversation

@shivamvish160
Copy link
Contributor

PR Description:

This PR introduces a new Script Include named ApprovalRouter that dynamically determines approvers for a given user based on their organizational hierarchy. It supports routing approvals to:

The user's direct manager
The department head (via a custom field u_department_head on cmn_department)
Role-based approvers (e.g., Finance Head for users with finance_approver role)

This utility is designed to be used in workflows, Flow Designer actions, or Business Rules to automate complex approval chains in enterprise environments.
Files Added:

Script Include: ApprovalRouter
README.md: Documentation for usage, customization, and integration examples

Benefits:

Automates approval routing logic based on organizational data
Reduces manual configuration of approval paths
Easily extendable for additional roles or business rules
Enhances maintainability and reusability across applications

Requirements:

cmn_department table must include a custom field u_department_head (reference to sys_user)
Roles like finance_approver should be defined in the system
Users must have valid manager and department fields populated

Pull Request Checklist

Overview

  • Put an x inside of the square brackets to check each item.
  • I have read and understood the CONTRIBUTING.md guidelines
  • My pull request has a descriptive title that accurately reflects the changes and the description has been filled in above.
  • I've included only files relevant to the changes described in the PR title and description
  • I've created a new branch in my forked repository for this contribution

Code Quality

  • My code is relevant to ServiceNow developers
  • My code snippets expand meaningfully on official ServiceNow documentation (if applicable)
  • I've disclosed use of ES2021 features (if applicable)
  • I've tested my code snippets in a ServiceNow environment (where possible)

Repository Structure Compliance

  • I've placed my code snippet(s) in one of the required top-level categories:
    • Core ServiceNow APIs/
    • Server-Side Components/
    • Client-Side Components/
    • Modern Development/
    • Integration/
    • Specialized Areas/
  • I've used appropriate sub-categories within the top-level categories
  • Each code snippet has its own folder with a descriptive name

Documentation

  • I've included a README.md file for each code snippet
  • The README.md includes:
    • Description of the code snippet functionality
    • Usage instructions or examples
    • Any prerequisites or dependencies
    • (Optional) Screenshots or diagrams if helpful

Restrictions

  • My PR does not include XML exports of ServiceNow records
  • My PR does not contain sensitive information (passwords, API keys, tokens)
  • My PR does not include changes that fall outside the described scope

@ravichandra1998g ravichandra1998g self-assigned this Oct 22, 2025
Copy link
Contributor

@ravichandra1998g ravichandra1998g left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @shivamvish160
We appreciate the effort you’ve put into this contribution. We’ve labeled it as hacktoberfest-accepted so it still counts toward your Hacktoberfest progress. Thank you for contributing!

For Hacktoberfest, we’re aiming for high-quality contributions providing real-world use developer cases. You can see some of the recently merged PRs to know the kind of code snippets we are aiming for.

This cannot be merged as this is using simple Gliderecord along with query to get list of users.

Please reopen/ submit a new one after adding more dynamic context/use cases that are more suitable for the Hactoberfest!

Thank you!

@ravichandra1998g ravichandra1998g added the hacktoberfest-accepted The PR is accepted for Hacktoberfest, regardless of being merged or not label Oct 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hacktoberfest-accepted The PR is accepted for Hacktoberfest, regardless of being merged or not

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants