skills/legal/legal-request-triage/SKILL.md
Triage incoming legal requests by classifying type, assigning priority based on urgency and business impact, and routing to the appropriate legal team
npx skillsauth add happy-technologies-llc/happy-servicenow-skills legal-request-triageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill provides a structured approach to triaging incoming legal service requests in ServiceNow Legal Service Delivery. It helps you:
sn_legal_request tableWhen to use: When legal requests are submitted through the Legal Service Delivery portal and need to be reviewed, categorized, prioritized, and routed to the correct legal team for action.
Plugin required: com.sn_legal_service_delivery
sn_legal_case_user, sn_legal_case_manager, or sn_legal_adminsn_legal_request, sn_legal_case, and sn_legal_task tablescom.sn_legal_service_delivery) must be activatedQuery for active legal requests that are in a new or unassigned state.
Using MCP (Claude Code/Desktop):
Tool: SN-NL-Search
Parameters:
table_name: sn_legal_request
query: "new legal requests that are not yet assigned or triaged"
fields: number,short_description,description,state,priority,request_type,requested_by,opened_at,assignment_group,assigned_to
limit: 25
Using REST API:
GET /api/now/table/sn_legal_request?sysparm_query=active=true^assigned_toISEMPTY^ORstate=1&sysparm_fields=sys_id,number,short_description,description,state,priority,request_type,requested_by,opened_at,assignment_group,assigned_to,urgency,impact,business_unit&sysparm_limit=25&sysparm_display_value=true
For each request, analyze the short description and description fields to determine the legal request type:
Using MCP to retrieve request details:
Tool: SN-Read-Record
Parameters:
table_name: sn_legal_request
sys_id: [request_sys_id]
fields: number,short_description,description,state,priority,request_type,requested_by,business_unit,urgency,impact,opened_at
Evaluate priority using a combination of urgency and business impact:
| Impact / Urgency | Critical (1) | High (2) | Medium (3) | Low (4) | |-------------------|-------------|----------|------------|---------| | Enterprise-wide (1) | P1 - Critical | P1 - Critical | P2 - High | P3 - Medium | | Business Unit (2) | P1 - Critical | P2 - High | P3 - Medium | P4 - Low | | Department (3) | P2 - High | P3 - Medium | P4 - Low | P4 - Low | | Individual (4) | P3 - Medium | P4 - Low | P4 - Low | P5 - Planning |
Urgency escalation indicators:
Map request types to legal teams (customize for your organization):
| Request Type | Assignment Group | Escalation Path | |-------------|-----------------|-----------------| | Contract Review | Contracts & Commercial | Senior Contracts Counsel | | Compliance Inquiry | Compliance & Ethics | Chief Compliance Officer | | Intellectual Property | IP & Technology | IP Counsel | | Employment Law | Employment & Labor | Employment Counsel | | Litigation | Litigation & Disputes | General Counsel | | Regulatory | Regulatory Affairs | Regulatory Counsel | | Unknown/Mixed | Legal Operations | Legal Triage Manager |
Find the assignment group sys_id:
Tool: SN-Query-Table
Parameters:
table_name: sys_user_group
query: nameLIKEContracts
fields: sys_id,name,manager,description
limit: 5
Using REST API:
GET /api/now/table/sys_user_group?sysparm_query=nameLIKEContracts&sysparm_fields=sys_id,name,manager,description&sysparm_limit=5&sysparm_display_value=true
Apply the triage classification, priority, and assignment.
Using MCP:
Tool: SN-Update-Record
Parameters:
table_name: sn_legal_request
sys_id: [request_sys_id]
data:
request_type: contract_review
priority: 2
urgency: 2
impact: 2
assignment_group: [group_sys_id]
state: 2
Using REST API:
PATCH /api/now/table/sn_legal_request/{sys_id}
Content-Type: application/json
{
"request_type": "contract_review",
"priority": "2",
"urgency": "2",
"impact": "2",
"assignment_group": "[group_sys_id]",
"state": "2"
}
For requests that require formal legal engagement, create a legal case record.
Using MCP:
Tool: SN-Update-Record
Parameters:
table_name: sn_legal_case
sys_id: new
data:
short_description: "Contract Review - Vendor MSA Renewal for Acme Corp"
description: "[Details from the legal request]"
legal_request: [request_sys_id]
priority: 2
assignment_group: [group_sys_id]
case_type: contract_review
state: 1
Using REST API:
POST /api/now/table/sn_legal_case
Content-Type: application/json
{
"short_description": "Contract Review - Vendor MSA Renewal for Acme Corp",
"description": "[Details from the legal request]",
"legal_request": "[request_sys_id]",
"priority": "2",
"assignment_group": "[group_sys_id]",
"case_type": "contract_review",
"state": "1"
}
Add work notes to the legal request documenting the triage rationale.
Tool: SN-Add-Work-Notes
Parameters:
table_name: sn_legal_request
sys_id: [request_sys_id]
work_notes: |
=== LEGAL REQUEST TRIAGE ===
Analyst: AI Legal Triage
Timestamp: [current_timestamp]
Classification: Contract Review
Keywords detected: "MSA", "renewal", "vendor agreement"
Business Unit: Procurement
Priority Assessment:
- Urgency: 2 (High) - Contract expires in 21 days
- Impact: 2 (Business Unit) - Procurement operations affected
- Calculated Priority: P2 - High
Routing: Contracts & Commercial Team
Rationale: Vendor MSA renewals are handled by the Contracts team per legal routing policy
Legal Case Created: LC0004521
Next Steps: Contracts team to review renewal terms and redlines within 5 business days
| Tool | When to Use |
|------|-------------|
| SN-NL-Search | Natural language queries for legal requests |
| SN-Query-Table | Structured queries for requests, groups, users |
| SN-Read-Record | Retrieve a single legal request by sys_id |
| SN-Update-Record | Update request type, priority, assignment, state |
| SN-Add-Work-Notes | Document triage decisions and rationale |
| Endpoint | Method | Purpose |
|----------|--------|---------|
| /api/now/table/sn_legal_request | GET | Query legal requests |
| /api/now/table/sn_legal_request/{sys_id} | PATCH | Update legal request |
| /api/now/table/sn_legal_case | POST | Create a legal case |
| /api/now/table/sn_legal_task | POST | Create legal tasks |
| /api/now/table/sys_user_group | GET | Find legal assignment groups |
sn_legal_case for existing matters involving the same parties or subjectCause: Legal Service Delivery plugin is not activated
Solution: Verify that com.sn_legal_service_delivery plugin is active. Navigate to System Definition > Plugins and search for "Legal Service Delivery."
Cause: Assignment group does not have the legal type or is inactive
Solution: Query sys_user_group with type=legal^active=true to find valid legal groups. Verify group membership includes active attorneys.
Cause: The request_type choice list may not include your classification
Solution: Check sys_choice table: name=sn_legal_request^element=request_type to see available values. Add new choices through the dictionary if needed.
Cause: Missing sn_legal_case_user or sn_legal_case_manager role
Solution: Verify user roles via sys_user_has_role table. The sn_legal_admin role includes all legal permissions.
Input: Legal Request LR0001234 - "Need legal review of new cloud services vendor agreement before signing"
Analysis:
Action:
Tool: SN-Update-Record
Parameters:
table_name: sn_legal_request
sys_id: abc123...
data:
request_type: contract_review
priority: 3
assignment_group: [contracts_group_sys_id]
state: 2
Input: Legal Request LR0001235 - "SEC filing deadline in 10 days - need review of 10-K disclosures for new acquisition"
Analysis:
Action:
Input: Legal Request LR0001236 - "HR needs guidance on employee termination process for underperformance in California office"
Analysis:
Action:
Tool: SN-Update-Record
Parameters:
table_name: sn_legal_request
sys_id: def456...
data:
request_type: employment
priority: 4
assignment_group: [employment_group_sys_id]
state: 2
legal/legal-matter-summarization - Summarize legal matters and case timelineslegal/contract-analysis - Analyze contracts for key terms and riskslegal/contract-obligation-extraction - Extract obligations from contractssecurity/incident-response - Security incidents with legal implicationsgrc/control-objective-management - Compliance and regulatory controlstesting
Manage supplier onboarding, qualification, performance monitoring, and offboarding with auditable lifecycle controls
tools
Identify emerging risks, prioritize intake signals, and route candidates into formal GRC risk assessment workflows
documentation
Screen inbound documents for completeness, policy risk, and routing readiness before extraction or case workflows
testing
Generate concise task summaries with status, timeline, blockers, SLA risk, and recommended next actions