Persona-Based HR Assistant
Overview
This skill provides personalized HR assistance by adapting responses and service routing based on the employee's role, department, location, tenure, and interaction history. It helps you:
- Identify the employee persona (new hire, manager, executive, remote worker, contractor, etc.)
- Surface role-specific HR services, policies, and self-service options
- Route inquiries to the correct Center of Excellence (COE) based on persona and topic
- Provide location-aware and department-aware policy guidance
- Leverage case history to anticipate needs and avoid redundant information
- Deliver personalized onboarding, benefits, and career development guidance
When to use: When an HR agent or virtual agent needs to provide tailored HR assistance that accounts for the employee's full context, or when designing persona-driven service catalog experiences.
Prerequisites
- Roles:
sn_hr_core.case_writer,sn_hr_core.agent, orsn_hr_core.manager - Plugins:
com.sn_hr_service_delivery(HR Service Delivery),com.sn_hr_service_portal(HR Service Portal, optional) - Access: Read access to
sn_hr_core_profile,sn_hr_core_case,sn_hr_le_case_type,sn_hr_core_service,kb_knowledge, andcmn_department - Knowledge: Familiarity with your organization's HR service catalog, COE structure, and location-specific policy variations
Procedure
Step 1: Identify the Employee and Build Profile Context
Retrieve the full employee HR profile to determine persona attributes.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_core_profile
query: user=[employee_sys_id]
fields: sys_id,user,department,location,employment_type,hire_date,manager,job_title,cost_center,building,employee_type,benefits_eligible,pay_group,schedule,work_schedule,vip
limit: 1
Using REST API:
GET /api/now/table/sn_hr_core_profile?sysparm_query=user=[employee_sys_id]&sysparm_fields=sys_id,user,department,location,employment_type,hire_date,manager,job_title,cost_center,building,employee_type,benefits_eligible,pay_group,schedule,work_schedule,vip&sysparm_display_value=true&sysparm_limit=1
Step 2: Retrieve User Details and Organizational Context
Get supplementary details from the user record and department hierarchy.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sys_user
query: sys_id=[employee_sys_id]
fields: sys_id,name,email,phone,title,department,location,manager,company,time_zone,preferred_language,roles
limit: 1
Tool: SN-Query-Table
Parameters:
table_name: cmn_department
query: sys_id=[department_sys_id]
fields: sys_id,name,parent,dept_head,company,description,business_unit
limit: 1
Using REST API:
GET /api/now/table/sys_user/[employee_sys_id]?sysparm_fields=sys_id,name,email,phone,title,department,location,manager,company,time_zone,preferred_language,roles&sysparm_display_value=true
GET /api/now/table/cmn_department/[department_sys_id]?sysparm_fields=sys_id,name,parent,dept_head,company,business_unit&sysparm_display_value=true
Step 3: Determine Employee Persona
Classify the employee into one or more persona categories based on profile attributes:
=== PERSONA CLASSIFICATION ===
Employee: Jane Smith
Determined Persona(s): [Primary] Mid-Career Individual Contributor
[Secondary] Remote Worker
--- Persona Rules ---
| Attribute | Value | Persona Signal |
|------------------------|----------------------|--------------------------|
| Tenure | 4.8 years | Established employee |
| Employment Type | Full-time | Regular employee |
| Job Title | Senior Engineer | Individual contributor |
| Direct Reports | 0 | Non-manager |
| Location | Remote - US | Remote worker |
| Benefits Eligible | Yes | Full benefits access |
| VIP | No | Standard service tier |
--- Persona Categories ---
NEW_HIRE: hire_date within last 90 days
MANAGER: has direct reports or manager role
EXECUTIVE: C-level title or VIP flag
IC_EARLY: 0-2 years tenure, non-manager
IC_MID: 2-7 years tenure, non-manager
IC_SENIOR: 7+ years tenure, non-manager
CONTRACTOR: employment_type = Contractor
REMOTE_WORKER: location contains "Remote"
INTERNATIONAL: location outside primary country
PART_TIME: schedule indicates part-time
TRANSITIONING: active transfer or LOA case
Step 4: Retrieve Location-Specific Policies
Fetch HR policies and knowledge articles relevant to the employee's location.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: cmn_location
query: sys_id=[location_sys_id]
fields: sys_id,name,country,state,city,time_zone,parent,company
limit: 1
Tool: SN-Query-Table
Parameters:
table_name: kb_knowledge
query: workflow_state=published^kb_knowledge_base.titleLIKEHR^textLIKE[location_country]^ORshort_descriptionLIKE[location_state]
fields: sys_id,short_description,number,kb_category,valid_to,text
limit: 10
Using REST API:
GET /api/now/table/kb_knowledge?sysparm_query=workflow_state=published^kb_knowledge_base.titleLIKEHR^short_descriptionLIKECalifornia&sysparm_fields=sys_id,short_description,number,kb_category,valid_to&sysparm_display_value=true&sysparm_limit=10
Step 5: Retrieve Available HR Services for Persona
Fetch HR services applicable to the employee's persona and eligibility.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_core_service
query: active=true^ORDERBYorder
fields: sys_id,name,description,category,hr_service_center,active,employee_visible,order
limit: 50
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_le_case_type
query: active=true^employee_visible=true
fields: sys_id,name,description,hr_service_center,category,fulfillment_group,sla,confidentiality
limit: 50
Using REST API:
GET /api/now/table/sn_hr_core_service?sysparm_query=active=true^ORDERBYorder&sysparm_fields=sys_id,name,description,category,hr_service_center,employee_visible&sysparm_display_value=true&sysparm_limit=50
Step 6: Check Interaction History and Open Cases
Review the employee's recent HR interactions to provide continuity-aware assistance.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_core_case
query: subject_person=[employee_sys_id]^active=true^ORDERBYDESCopened_at
fields: sys_id,number,short_description,state,hr_service,assigned_to,assignment_group,opened_at,priority
limit: 10
Using REST API:
GET /api/now/table/sn_hr_core_case?sysparm_query=subject_person=[employee_sys_id]^active=true^ORDERBYDESCopened_at&sysparm_fields=sys_id,number,short_description,state,hr_service,assigned_to,assignment_group,opened_at,priority&sysparm_display_value=true&sysparm_limit=10
Step 7: Identify Correct COE Routing
Determine which Center of Excellence should handle the inquiry based on persona and topic.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_le_center_of_excellence
query: active=true
fields: sys_id,name,description,assignment_group,location,supported_case_types,manager
limit: 20
Using REST API:
GET /api/now/table/sn_hr_le_center_of_excellence?sysparm_query=active=true&sysparm_fields=sys_id,name,description,assignment_group,location,supported_case_types,manager&sysparm_display_value=true&sysparm_limit=20
Step 8: Generate Personalized Assistance Response
Compose a persona-aware response with relevant services, policies, and routing:
=== PERSONALIZED HR ASSISTANCE ===
Employee: Jane Smith
Persona: Mid-Career IC | Remote Worker | California
Greeting: "Hi Jane, welcome back to HR Services."
--- Active Cases ---
You have 1 open case:
- HRC0012456: Benefits enrollment question (In Progress, assigned to Sarah Lee)
Status: Awaiting your response - please check your email
--- Contextual Services (Based on Your Persona) ---
For Remote Workers in California:
1. Home Office Equipment Request
-> Self-Service: Employee Portal > Workplace > Equipment
-> COE: Workplace Services
2. California-Specific Leave Policies
-> KB: KB0067891 - California Paid Family Leave Guide
-> KB: KB0067903 - CA Sick Leave Requirements
-> COE: Leave Administration - West Region
3. Remote Work Agreement Renewal
-> Self-Service: Employee Portal > Workplace > Remote Work
-> Note: Your agreement expires in 45 days
For Mid-Career Employees (4+ years):
4. Career Development & Internal Mobility
-> Self-Service: Employee Portal > Career > Job Board
-> COE: Talent Development
5. Sabbatical Eligibility (5-year tenure milestone approaching)
-> KB: KB0078234 - Sabbatical Program Guidelines
-> COE: Benefits Administration
6. Stock Vesting & Equity Questions
-> Self-Service: Employee Portal > Compensation > Equity
-> COE: Total Rewards
--- Quick Actions ---
- Update personal information: Portal > Profile > Personal Details
- View pay stubs: Portal > Pay > Pay History
- Request time off: Portal > Time Off > New Request
- Contact your HR partner: [HR_Partner_Name] ([email])
--- Routing Decision ---
Topic: [employee_inquiry]
Recommended COE: [matched_coe]
Assignment Group: [fulfillment_group]
Expected SLA: [sla_target]
Step 9: Create Case if Needed
If the inquiry requires case creation, open it with the persona context pre-populated.
Using MCP:
Tool: SN-Create-Record
Parameters:
table_name: sn_hr_core_case
data:
subject_person: [employee_sys_id]
short_description: [inquiry_summary]
hr_service: [matched_case_type_sys_id]
contact_type: chat
priority: 3
description: "Persona: Mid-Career IC, Remote Worker (CA). Inquiry: [details]. Employee tenure: 4.8 years. Open cases: 1."
Using REST API:
POST /api/now/table/sn_hr_core_case
Content-Type: application/json
{
"subject_person": "[employee_sys_id]",
"short_description": "[inquiry_summary]",
"hr_service": "[matched_case_type_sys_id]",
"contact_type": "chat",
"priority": "3",
"description": "Persona: Mid-Career IC, Remote Worker (CA). Inquiry: [details]."
}
Tool Usage
MCP Tools Reference
| Tool | When to Use |
|---|---|
SN-Query-Table |
Retrieve profiles, services, policies, cases, COE configuration |
SN-Natural-Language-Search |
Find relevant KB articles using natural language queries |
SN-Get-Record |
Fetch detailed single records for specific lookups |
SN-Create-Record |
Create HR cases with persona context pre-populated |
SN-Add-Work-Notes |
Document persona classification and routing rationale |
REST API Reference
| Endpoint | Method | Purpose |
|---|---|---|
/api/now/table/sn_hr_core_profile |
GET | Employee HR profile and persona attributes |
/api/now/table/sys_user |
GET | User account details |
/api/now/table/cmn_department |
GET | Department hierarchy context |
/api/now/table/cmn_location |
GET | Location details for policy matching |
/api/now/table/sn_hr_core_service |
GET | Available HR services |
/api/now/table/sn_hr_le_case_type |
GET | Case types and eligibility |
/api/now/table/sn_hr_le_center_of_excellence |
GET | COE routing configuration |
/api/now/table/kb_knowledge |
GET | HR policy knowledge articles |
/api/now/table/sn_hr_core_case |
GET/POST | Employee case history and creation |
Best Practices
- Cache persona classification: Store the persona determination so it does not need to be recalculated on every interaction within the same session
- Layer personas: Employees often fit multiple personas (e.g., Manager + Remote Worker); combine relevant services from all applicable personas
- Prioritize active cases: Always surface open cases first so employees can check status before creating duplicates
- Use location hierarchy: When location-specific policies are not found, fall back to state, then country, then global policies
- Respect VIP handling: Employees flagged as VIP should receive expedited routing and white-glove service options
- Adapt language: Match the communication style to the persona (executives prefer concise summaries; new hires need more guidance)
- Track persona effectiveness: Monitor which persona-driven suggestions lead to case creation vs. self-service resolution to refine persona rules
- Handle contractors carefully: Contractors have different benefits eligibility, policy access, and service entitlements; always check
employment_type
Troubleshooting
"Employee profile not found"
Cause: New hires or contingent workers may not have HR profiles created yet
Solution: Fall back to sys_user for basic details. Create a minimal persona from user record fields (department, location, title)
"COE routing returns multiple matches"
Cause: Some inquiry topics span multiple COEs (e.g., relocation involves Benefits + Workplace) Solution: Use the primary topic to select the lead COE and note secondary COEs in the case description for collaboration
"Location-specific policies not available"
Cause: KB articles may not be tagged with location metadata
Solution: Search by policy topic combined with location keywords in the article text. Check sn_hr_sp_content for portal content that may be location-filtered
"Service catalog shows services employee is not eligible for"
Cause: Eligibility rules may be configured at the catalog item level, not in the service record
Solution: Check sn_hr_le_case_type for employee_visible and any associated user criteria records that restrict access
Examples
Example 1: New Hire Onboarding Assistance
Input: "Help new employee who started 5 days ago"
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_core_profile
query: user=[new_hire_sys_id]
fields: sys_id,user,department,location,hire_date,manager,job_title,employment_type,benefits_eligible
limit: 1
Persona: NEW_HIRE (tenure < 90 days)
Personalized Response: "Welcome to the team! Here are your priority onboarding tasks:
- Complete I-9 verification (due within 3 days of hire)
- Enroll in benefits (30-day enrollment window - deadline: [date])
- Set up direct deposit (Portal > Pay > Direct Deposit)
- Complete required training modules (Portal > Learning > My Assignments) Your HR onboarding contact is [Name] in the Onboarding COE."
Example 2: Manager Requesting Team Support
Input: Manager asks about team leave policies
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_core_profile
query: manager=[manager_sys_id]
fields: sys_id,user,department,location,employment_type,hire_date,job_title
limit: 50
Persona: MANAGER (has direct reports)
Personalized Response includes:
- Manager-specific leave approval tools
- Team absence calendar link
- Policy guidance for managing team leave coverage
- Escalation path for complex leave scenarios (FMLA, ADA)
Example 3: International Employee Policy Lookup
Input: "What benefits am I eligible for?" from employee in Germany
Tool: SN-Query-Table
Parameters:
table_name: kb_knowledge
query: workflow_state=published^kb_knowledge_base.titleLIKEHR^textLIKEGermany^ORshort_descriptionLIKEEMEA
fields: sys_id,short_description,number,kb_category
limit: 10
Persona: INTERNATIONAL (location: Munich, Germany)
Route to EMEA Benefits COE with Germany-specific policy articles and local HR partner contact.
Related Skills
hrsd/case-summarization- Summarize case history for persona contexthrsd/chat-reply-recommendation- Generate persona-aware chat replieshrsd/sentiment-analysis- Incorporate sentiment into persona-based routinghrsd/resume-skill-extraction- Support internal mobility persona needscatalog/item-creation- Create persona-specific service catalog items