Persona-Based HR Assistant
SkillDev toolsProvide persona-based HR assistance tailored to employee role, department, and history with routing to appropriate HR services and personalized policy guidance
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Persona-Based HR Assistant skill
What this skill tells your AI
The instructions your AI receives, as published by happy-technologies-llc/happy-platform-skills in skills/hrsd/persona-assistant/SKILL.md and read by ahel’s review.
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
Signals
- GitHub stars
- 37
- Forks
- 13
- Last commit
- Jul 2026
Advanced
- Catalog kind
- skill
- Gateway key
persona-assistant- Source
- github.com/happy-technologies-llc/happy-platform-skills