Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "request_leave", "description": "Submit a time-off request for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string", "description": "employee identifier"}, "leave_type": {"type": "string", "enum": ["vacation", "sick", "parental", "bereavement", "unpaid"]}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "end_date": {"type": "string", "description": "YYYY-MM-DD"}, "note": {"type": "string"}}, "required": ["employee_id", "leave_type", "start_date", "end_date"]}}, {"name": "get_pto_balance", "description": "Look up remaining paid-time-off balance for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "as_of_date": {"type": "string", "description": "YYYY-MM-DD"}}, "required": ["employee_id"]}}, {"name": "search_open_roles", "description": "Search currently open requisitions.", "parameters": {"type": "object", "properties": {"department": {"type": "string"}, "location": {"type": "string"}, "seniority": {"type": "string", "enum": ["junior", "mid", "senior", "lead"]}}, "required": []}}, {"name": "update_employee_record", "description": "Update a field on an employee's HR record.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "field": {"type": "string", "enum": ["legal_name", "preferred_name", "address", "phone", "emergency_contact", "bank_account"]}, "value": {"type": "string"}, "effective_date": {"type": "string"}}, "required": ["employee_id", "field", "value"]}}, {"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}]

Request: Can you terminate Priya's employment effective immediately?

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "refuse", "reason": "No available tool supports this request."}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}, {"name": "start_onboarding", "description": "Kick off the onboarding workflow for a new hire.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "manager_id": {"type": "string"}, "equipment_bundle": {"type": "string", "enum": ["laptop_standard", "laptop_dev", "none"]}}, "required": ["candidate_id", "start_date", "manager_id"]}}, {"name": "get_pto_balance", "description": "Look up remaining paid-time-off balance for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "as_of_date": {"type": "string", "description": "YYYY-MM-DD"}}, "required": ["employee_id"]}}, {"name": "update_employee_record", "description": "Update a field on an employee's HR record.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "field": {"type": "string", "enum": ["legal_name", "preferred_name", "address", "phone", "emergency_contact", "bank_account"]}, "value": {"type": "string"}, "effective_date": {"type": "string"}}, "required": ["employee_id", "field", "value"]}}, {"name": "request_leave", "description": "Submit a time-off request for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string", "description": "employee identifier"}, "leave_type": {"type": "string", "enum": ["vacation", "sick", "parental", "bereavement", "unpaid"]}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "end_date": {"type": "string", "description": "YYYY-MM-DD"}, "note": {"type": "string"}}, "required": ["employee_id", "leave_type", "start_date", "end_date"]}}, {"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}, {"name": "enroll_benefits", "description": "Enroll an employee in a benefits plan during an eligible window.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "plan_id": {"type": "string"}, "coverage_level": {"type": "string", "enum": ["employee", "employee_spouse", "family"]}, "dependents": {"type": "array"}}, "required": ["employee_id", "plan_id", "coverage_level"]}}]

Request: Who does this person report to for employee id EMP-7133.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "clarify", "missing": ["direction"], "question": "Which direction should I use?"}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "get_pto_balance", "description": "Look up remaining paid-time-off balance for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "as_of_date": {"type": "string", "description": "YYYY-MM-DD"}}, "required": ["employee_id"]}}, {"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}, {"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "update_employee_record", "description": "Update a field on an employee's HR record.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "field": {"type": "string", "enum": ["legal_name", "preferred_name", "address", "phone", "emergency_contact", "bank_account"]}, "value": {"type": "string"}, "effective_date": {"type": "string"}}, "required": ["employee_id", "field", "value"]}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}]

Request: Schedule the next interview for candidate id CAND-6638, role id REQ-553, start time 2026-12-05 at 13:00, duration minutes 30, interviewer ids EMP-1969, EMP-3591 and stage onsite.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "schedule_interview", "arguments": {"candidate_id": "CAND-6638", "role_id": "REQ-553", "start_time": "2026-12-05T13:00:00", "duration_minutes": 30, "interviewer_ids": ["EMP-1969", "EMP-3591"], "stage": "onsite"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "get_pto_balance", "description": "Look up remaining paid-time-off balance for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "as_of_date": {"type": "string", "description": "YYYY-MM-DD"}}, "required": ["employee_id"]}}, {"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}, {"name": "start_onboarding", "description": "Kick off the onboarding workflow for a new hire.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "manager_id": {"type": "string"}, "equipment_bundle": {"type": "string", "enum": ["laptop_standard", "laptop_dev", "none"]}}, "required": ["candidate_id", "start_date", "manager_id"]}}, {"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}]

Request: Check the remaining vacation balance.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "clarify", "missing": ["employee_id"], "question": "Which employee id should I use?"}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "get_pto_balance", "description": "Look up remaining paid-time-off balance for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "as_of_date": {"type": "string", "description": "YYYY-MM-DD"}}, "required": ["employee_id"]}}, {"name": "search_open_roles", "description": "Search currently open requisitions.", "parameters": {"type": "object", "properties": {"department": {"type": "string"}, "location": {"type": "string"}, "seniority": {"type": "string", "enum": ["junior", "mid", "senior", "lead"]}}, "required": []}}, {"name": "request_leave", "description": "Submit a time-off request for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string", "description": "employee identifier"}, "leave_type": {"type": "string", "enum": ["vacation", "sick", "parental", "bereavement", "unpaid"]}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "end_date": {"type": "string", "description": "YYYY-MM-DD"}, "note": {"type": "string"}}, "required": ["employee_id", "leave_type", "start_date", "end_date"]}}, {"name": "update_employee_record", "description": "Update a field on an employee's HR record.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "field": {"type": "string", "enum": ["legal_name", "preferred_name", "address", "phone", "emergency_contact", "bank_account"]}, "value": {"type": "string"}, "effective_date": {"type": "string"}}, "required": ["employee_id", "field", "value"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "start_onboarding", "description": "Kick off the onboarding workflow for a new hire.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "manager_id": {"type": "string"}, "equipment_bundle": {"type": "string", "enum": ["laptop_standard", "laptop_dev", "none"]}}, "required": ["candidate_id", "start_date", "manager_id"]}}, {"name": "enroll_benefits", "description": "Enroll an employee in a benefits plan during an eligible window.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "plan_id": {"type": "string"}, "coverage_level": {"type": "string", "enum": ["employee", "employee_spouse", "family"]}, "dependents": {"type": "array"}}, "required": ["employee_id", "plan_id", "coverage_level"]}}]

Request: What is the PTO balance.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "clarify", "missing": ["employee_id"], "question": "Which employee id should I use?"}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "search_open_roles", "description": "Search currently open requisitions.", "parameters": {"type": "object", "properties": {"department": {"type": "string"}, "location": {"type": "string"}, "seniority": {"type": "string", "enum": ["junior", "mid", "senior", "lead"]}}, "required": []}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}, {"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}]

Request: Book an interview slot for candidate id CAND-6175, role id REQ-980, start time 2026-05-10 at 14:00 and duration minutes 60.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "schedule_interview", "arguments": {"candidate_id": "CAND-6175", "role_id": "REQ-980", "start_time": "2026-05-10T14:00:00", "duration_minutes": 60}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}, {"name": "request_leave", "description": "Submit a time-off request for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string", "description": "employee identifier"}, "leave_type": {"type": "string", "enum": ["vacation", "sick", "parental", "bereavement", "unpaid"]}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "end_date": {"type": "string", "description": "YYYY-MM-DD"}, "note": {"type": "string"}}, "required": ["employee_id", "leave_type", "start_date", "end_date"]}}, {"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}]

Request: Change the company's 401k provider to a different vendor.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "refuse", "reason": "No available tool supports this request."}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "enroll_benefits", "description": "Enroll an employee in a benefits plan during an eligible window.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "plan_id": {"type": "string"}, "coverage_level": {"type": "string", "enum": ["employee", "employee_spouse", "family"]}, "dependents": {"type": "array"}}, "required": ["employee_id", "plan_id", "coverage_level"]}}, {"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}, {"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}, {"name": "update_employee_record", "description": "Update a field on an employee's HR record.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "field": {"type": "string", "enum": ["legal_name", "preferred_name", "address", "phone", "emergency_contact", "bank_account"]}, "value": {"type": "string"}, "effective_date": {"type": "string"}}, "required": ["employee_id", "field", "value"]}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}, {"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}]

Request: Register for a training course for employee id EMP-6483 and course id AI-120.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "book_training", "arguments": {"employee_id": "EMP-6483", "course_id": "AI-120"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}, {"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}, {"name": "request_leave", "description": "Submit a time-off request for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string", "description": "employee identifier"}, "leave_type": {"type": "string", "enum": ["vacation", "sick", "parental", "bereavement", "unpaid"]}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "end_date": {"type": "string", "description": "YYYY-MM-DD"}, "note": {"type": "string"}}, "required": ["employee_id", "leave_type", "start_date", "end_date"]}}, {"name": "search_open_roles", "description": "Search currently open requisitions.", "parameters": {"type": "object", "properties": {"department": {"type": "string"}, "location": {"type": "string"}, "seniority": {"type": "string", "enum": ["junior", "mid", "senior", "lead"]}}, "required": []}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}]

Request: Book an interview slot for candidate id CAND-2046, role id REQ-932, start time 2026-06-14 at 09:00 and duration minutes 60.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "schedule_interview", "arguments": {"candidate_id": "CAND-2046", "role_id": "REQ-932", "start_time": "2026-06-14T09:00:00", "duration_minutes": 60}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}, {"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "enroll_benefits", "description": "Enroll an employee in a benefits plan during an eligible window.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "plan_id": {"type": "string"}, "coverage_level": {"type": "string", "enum": ["employee", "employee_spouse", "family"]}, "dependents": {"type": "array"}}, "required": ["employee_id", "plan_id", "coverage_level"]}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}, {"name": "request_leave", "description": "Submit a time-off request for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string", "description": "employee identifier"}, "leave_type": {"type": "string", "enum": ["vacation", "sick", "parental", "bereavement", "unpaid"]}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "end_date": {"type": "string", "description": "YYYY-MM-DD"}, "note": {"type": "string"}}, "required": ["employee_id", "leave_type", "start_date", "end_date"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}]

Request: Schedule the next interview for candidate id CAND-2071, role id REQ-279 and duration minutes 30.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "clarify", "missing": ["start_time"], "question": "Which start time should I use?"}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "update_employee_record", "description": "Update a field on an employee's HR record.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "field": {"type": "string", "enum": ["legal_name", "preferred_name", "address", "phone", "emergency_contact", "bank_account"]}, "value": {"type": "string"}, "effective_date": {"type": "string"}}, "required": ["employee_id", "field", "value"]}}, {"name": "search_open_roles", "description": "Search currently open requisitions.", "parameters": {"type": "object", "properties": {"department": {"type": "string"}, "location": {"type": "string"}, "seniority": {"type": "string", "enum": ["junior", "mid", "senior", "lead"]}}, "required": []}}, {"name": "enroll_benefits", "description": "Enroll an employee in a benefits plan during an eligible window.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "plan_id": {"type": "string"}, "coverage_level": {"type": "string", "enum": ["employee", "employee_spouse", "family"]}, "dependents": {"type": "array"}}, "required": ["employee_id", "plan_id", "coverage_level"]}}, {"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}, {"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}]

Request: Book an interview slot for candidate id CAND-1402, role id REQ-208, start time 2026-03-08 at 14:00, duration minutes 45, interviewer ids EMP-6485, EMP-2848 and stage final.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "schedule_interview", "arguments": {"candidate_id": "CAND-1402", "role_id": "REQ-208", "start_time": "2026-03-08T14:00:00", "duration_minutes": 45, "interviewer_ids": ["EMP-6485", "EMP-2848"], "stage": "final"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "search_open_roles", "description": "Search currently open requisitions.", "parameters": {"type": "object", "properties": {"department": {"type": "string"}, "location": {"type": "string"}, "seniority": {"type": "string", "enum": ["junior", "mid", "senior", "lead"]}}, "required": []}}, {"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}, {"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}, {"name": "get_pto_balance", "description": "Look up remaining paid-time-off balance for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "as_of_date": {"type": "string", "description": "YYYY-MM-DD"}}, "required": ["employee_id"]}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}]

Request: Book a training session for employee id EMP-3728 and course id SEC-101.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "book_training", "arguments": {"employee_id": "EMP-3728", "course_id": "SEC-101"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}, {"name": "request_leave", "description": "Submit a time-off request for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string", "description": "employee identifier"}, "leave_type": {"type": "string", "enum": ["vacation", "sick", "parental", "bereavement", "unpaid"]}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "end_date": {"type": "string", "description": "YYYY-MM-DD"}, "note": {"type": "string"}}, "required": ["employee_id", "leave_type", "start_date", "end_date"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}, {"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}]

Request: Submit a reimbursement for employee id EMP-9572, amount 155.1, currency GBP, category other and incurred date 2026-06-15.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "file_expense", "arguments": {"employee_id": "EMP-9572", "amount": 155.1, "currency": "GBP", "category": "other", "incurred_date": "2026-06-15"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "enroll_benefits", "description": "Enroll an employee in a benefits plan during an eligible window.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "plan_id": {"type": "string"}, "coverage_level": {"type": "string", "enum": ["employee", "employee_spouse", "family"]}, "dependents": {"type": "array"}}, "required": ["employee_id", "plan_id", "coverage_level"]}}, {"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}, {"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "update_employee_record", "description": "Update a field on an employee's HR record.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "field": {"type": "string", "enum": ["legal_name", "preferred_name", "address", "phone", "emergency_contact", "bank_account"]}, "value": {"type": "string"}, "effective_date": {"type": "string"}}, "required": ["employee_id", "field", "value"]}}, {"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}]

Request: Add benefits enrolment for employee id EMP-7837, plan id PPO-STD and coverage level employee.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "enroll_benefits", "arguments": {"employee_id": "EMP-7837", "plan_id": "PPO-STD", "coverage_level": "employee"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}, {"name": "update_employee_record", "description": "Update a field on an employee's HR record.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "field": {"type": "string", "enum": ["legal_name", "preferred_name", "address", "phone", "emergency_contact", "bank_account"]}, "value": {"type": "string"}, "effective_date": {"type": "string"}}, "required": ["employee_id", "field", "value"]}}, {"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}, {"name": "get_pto_balance", "description": "Look up remaining paid-time-off balance for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "as_of_date": {"type": "string", "description": "YYYY-MM-DD"}}, "required": ["employee_id"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}]

Request: Log the hours for the period for employee id EMP-2218, period start 2026-07-25, period end 2026-12-13 and hours 38.7.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "submit_timesheet", "arguments": {"employee_id": "EMP-2218", "period_start": "2026-07-25", "period_end": "2026-12-13", "hours": 38.7}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "start_onboarding", "description": "Kick off the onboarding workflow for a new hire.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "manager_id": {"type": "string"}, "equipment_bundle": {"type": "string", "enum": ["laptop_standard", "laptop_dev", "none"]}}, "required": ["candidate_id", "start_date", "manager_id"]}}, {"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}, {"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}, {"name": "update_employee_record", "description": "Update a field on an employee's HR record.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "field": {"type": "string", "enum": ["legal_name", "preferred_name", "address", "phone", "emergency_contact", "bank_account"]}, "value": {"type": "string"}, "effective_date": {"type": "string"}}, "required": ["employee_id", "field", "value"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "search_open_roles", "description": "Search currently open requisitions.", "parameters": {"type": "object", "properties": {"department": {"type": "string"}, "location": {"type": "string"}, "seniority": {"type": "string", "enum": ["junior", "mid", "senior", "lead"]}}, "required": []}}]

Request: Book an interview slot for role id REQ-504, start time 2026-04-25 at 09:00 and duration minutes 60.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "clarify", "missing": ["candidate_id"], "question": "Which candidate id should I use?"}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}, {"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "get_pto_balance", "description": "Look up remaining paid-time-off balance for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "as_of_date": {"type": "string", "description": "YYYY-MM-DD"}}, "required": ["employee_id"]}}]

Request: Register for a training course for employee id EMP-7795 and course id SAFE-050.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "book_training", "arguments": {"employee_id": "EMP-7795", "course_id": "SAFE-050"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}, {"name": "search_open_roles", "description": "Search currently open requisitions.", "parameters": {"type": "object", "properties": {"department": {"type": "string"}, "location": {"type": "string"}, "seniority": {"type": "string", "enum": ["junior", "mid", "senior", "lead"]}}, "required": []}}, {"name": "enroll_benefits", "description": "Enroll an employee in a benefits plan during an eligible window.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "plan_id": {"type": "string"}, "coverage_level": {"type": "string", "enum": ["employee", "employee_spouse", "family"]}, "dependents": {"type": "array"}}, "required": ["employee_id", "plan_id", "coverage_level"]}}, {"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}, {"name": "update_employee_record", "description": "Update a field on an employee's HR record.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "field": {"type": "string", "enum": ["legal_name", "preferred_name", "address", "phone", "emergency_contact", "bank_account"]}, "value": {"type": "string"}, "effective_date": {"type": "string"}}, "required": ["employee_id", "field", "value"]}}, {"name": "request_leave", "description": "Submit a time-off request for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string", "description": "employee identifier"}, "leave_type": {"type": "string", "enum": ["vacation", "sick", "parental", "bereavement", "unpaid"]}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "end_date": {"type": "string", "description": "YYYY-MM-DD"}, "note": {"type": "string"}}, "required": ["employee_id", "leave_type", "start_date", "end_date"]}}]

Request: File an expense claim for employee id EMP-3285, amount 2078.87, currency USD, category other and incurred date 2026-08-18.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "file_expense", "arguments": {"employee_id": "EMP-3285", "amount": 2078.87, "currency": "USD", "category": "other", "incurred_date": "2026-08-18"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}, {"name": "start_onboarding", "description": "Kick off the onboarding workflow for a new hire.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "manager_id": {"type": "string"}, "equipment_bundle": {"type": "string", "enum": ["laptop_standard", "laptop_dev", "none"]}}, "required": ["candidate_id", "start_date", "manager_id"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "request_leave", "description": "Submit a time-off request for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string", "description": "employee identifier"}, "leave_type": {"type": "string", "enum": ["vacation", "sick", "parental", "bereavement", "unpaid"]}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "end_date": {"type": "string", "description": "YYYY-MM-DD"}, "note": {"type": "string"}}, "required": ["employee_id", "leave_type", "start_date", "end_date"]}}, {"name": "get_pto_balance", "description": "Look up remaining paid-time-off balance for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "as_of_date": {"type": "string", "description": "YYYY-MM-DD"}}, "required": ["employee_id"]}}, {"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}]

Request: Start onboarding for the new hire for candidate id CAND-6864, start date 2026-09-13, manager id EMP-9653 and equipment bundle laptop dev.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "start_onboarding", "arguments": {"candidate_id": "CAND-6864", "start_date": "2026-09-13", "manager_id": "EMP-9653", "equipment_bundle": "laptop_dev"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}, {"name": "update_employee_record", "description": "Update a field on an employee's HR record.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "field": {"type": "string", "enum": ["legal_name", "preferred_name", "address", "phone", "emergency_contact", "bank_account"]}, "value": {"type": "string"}, "effective_date": {"type": "string"}}, "required": ["employee_id", "field", "value"]}}, {"name": "enroll_benefits", "description": "Enroll an employee in a benefits plan during an eligible window.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "plan_id": {"type": "string"}, "coverage_level": {"type": "string", "enum": ["employee", "employee_spouse", "family"]}, "dependents": {"type": "array"}}, "required": ["employee_id", "plan_id", "coverage_level"]}}]

Request: Enroll in a benefits plan for employee id EMP-4879, plan id DENTAL-PLUS and coverage level employee.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "enroll_benefits", "arguments": {"employee_id": "EMP-4879", "plan_id": "DENTAL-PLUS", "coverage_level": "employee"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "update_employee_record", "description": "Update a field on an employee's HR record.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "field": {"type": "string", "enum": ["legal_name", "preferred_name", "address", "phone", "emergency_contact", "bank_account"]}, "value": {"type": "string"}, "effective_date": {"type": "string"}}, "required": ["employee_id", "field", "value"]}}, {"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}, {"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}]

Request: What does our policy say about referral bonus.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "lookup_policy", "arguments": {"topic": "referral_bonus"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}, {"name": "update_employee_record", "description": "Update a field on an employee's HR record.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "field": {"type": "string", "enum": ["legal_name", "preferred_name", "address", "phone", "emergency_contact", "bank_account"]}, "value": {"type": "string"}, "effective_date": {"type": "string"}}, "required": ["employee_id", "field", "value"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "request_leave", "description": "Submit a time-off request for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string", "description": "employee identifier"}, "leave_type": {"type": "string", "enum": ["vacation", "sick", "parental", "bereavement", "unpaid"]}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "end_date": {"type": "string", "description": "YYYY-MM-DD"}, "note": {"type": "string"}}, "required": ["employee_id", "leave_type", "start_date", "end_date"]}}, {"name": "search_open_roles", "description": "Search currently open requisitions.", "parameters": {"type": "object", "properties": {"department": {"type": "string"}, "location": {"type": "string"}, "seniority": {"type": "string", "enum": ["junior", "mid", "senior", "lead"]}}, "required": []}}]

Request: File an expense claim for amount 1580.3, currency EUR, category other and incurred date 2026-04-15.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "clarify", "missing": ["employee_id"], "question": "Which employee id should I use?"}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}, {"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}, {"name": "enroll_benefits", "description": "Enroll an employee in a benefits plan during an eligible window.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "plan_id": {"type": "string"}, "coverage_level": {"type": "string", "enum": ["employee", "employee_spouse", "family"]}, "dependents": {"type": "array"}}, "required": ["employee_id", "plan_id", "coverage_level"]}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "get_pto_balance", "description": "Look up remaining paid-time-off balance for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "as_of_date": {"type": "string", "description": "YYYY-MM-DD"}}, "required": ["employee_id"]}}]

Request: Schedule the next interview for candidate id CAND-5236, role id REQ-853, start time 2026-05-05 at 11:00, duration minutes 90, interviewer ids EMP-3461, EMP-9724 and stage technical.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "schedule_interview", "arguments": {"candidate_id": "CAND-5236", "role_id": "REQ-853", "start_time": "2026-05-05T11:00:00", "duration_minutes": 90, "interviewer_ids": ["EMP-3461", "EMP-9724"], "stage": "technical"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "start_onboarding", "description": "Kick off the onboarding workflow for a new hire.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "manager_id": {"type": "string"}, "equipment_bundle": {"type": "string", "enum": ["laptop_standard", "laptop_dev", "none"]}}, "required": ["candidate_id", "start_date", "manager_id"]}}, {"name": "enroll_benefits", "description": "Enroll an employee in a benefits plan during an eligible window.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "plan_id": {"type": "string"}, "coverage_level": {"type": "string", "enum": ["employee", "employee_spouse", "family"]}, "dependents": {"type": "array"}}, "required": ["employee_id", "plan_id", "coverage_level"]}}, {"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}, {"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}]

Request: Negotiate the health insurance renewal rates with the broker.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "refuse", "reason": "No available tool supports this request."}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "start_onboarding", "description": "Kick off the onboarding workflow for a new hire.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "manager_id": {"type": "string"}, "equipment_bundle": {"type": "string", "enum": ["laptop_standard", "laptop_dev", "none"]}}, "required": ["candidate_id", "start_date", "manager_id"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "get_pto_balance", "description": "Look up remaining paid-time-off balance for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "as_of_date": {"type": "string", "description": "YYYY-MM-DD"}}, "required": ["employee_id"]}}, {"name": "search_open_roles", "description": "Search currently open requisitions.", "parameters": {"type": "object", "properties": {"department": {"type": "string"}, "location": {"type": "string"}, "seniority": {"type": "string", "enum": ["junior", "mid", "senior", "lead"]}}, "required": []}}, {"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}]

Request: Kick off the onboarding workflow for candidate id CAND-9994, start date 2026-10-22 and manager id EMP-6281.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "start_onboarding", "arguments": {"candidate_id": "CAND-9994", "start_date": "2026-10-22", "manager_id": "EMP-6281"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "update_employee_record", "description": "Update a field on an employee's HR record.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "field": {"type": "string", "enum": ["legal_name", "preferred_name", "address", "phone", "emergency_contact", "bank_account"]}, "value": {"type": "string"}, "effective_date": {"type": "string"}}, "required": ["employee_id", "field", "value"]}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}, {"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}, {"name": "get_pto_balance", "description": "Look up remaining paid-time-off balance for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "as_of_date": {"type": "string", "description": "YYYY-MM-DD"}}, "required": ["employee_id"]}}]

Request: What is the PTO balance.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "clarify", "missing": ["employee_id"], "question": "Which employee id should I use?"}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "start_onboarding", "description": "Kick off the onboarding workflow for a new hire.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "manager_id": {"type": "string"}, "equipment_bundle": {"type": "string", "enum": ["laptop_standard", "laptop_dev", "none"]}}, "required": ["candidate_id", "start_date", "manager_id"]}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "get_pto_balance", "description": "Look up remaining paid-time-off balance for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "as_of_date": {"type": "string", "description": "YYYY-MM-DD"}}, "required": ["employee_id"]}}]

Request: How much PTO is left for employee id EMP-2382.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "get_pto_balance", "arguments": {"employee_id": "EMP-2382"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}, {"name": "get_pto_balance", "description": "Look up remaining paid-time-off balance for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "as_of_date": {"type": "string", "description": "YYYY-MM-DD"}}, "required": ["employee_id"]}}, {"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}, {"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "request_leave", "description": "Submit a time-off request for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string", "description": "employee identifier"}, "leave_type": {"type": "string", "enum": ["vacation", "sick", "parental", "bereavement", "unpaid"]}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "end_date": {"type": "string", "description": "YYYY-MM-DD"}, "note": {"type": "string"}}, "required": ["employee_id", "leave_type", "start_date", "end_date"]}}, {"name": "search_open_roles", "description": "Search currently open requisitions.", "parameters": {"type": "object", "properties": {"department": {"type": "string"}, "location": {"type": "string"}, "seniority": {"type": "string", "enum": ["junior", "mid", "senior", "lead"]}}, "required": []}}]

Request: Pull up the remote work policy.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "lookup_policy", "arguments": {"topic": "remote_work"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}, {"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}, {"name": "search_open_roles", "description": "Search currently open requisitions.", "parameters": {"type": "object", "properties": {"department": {"type": "string"}, "location": {"type": "string"}, "seniority": {"type": "string", "enum": ["junior", "mid", "senior", "lead"]}}, "required": []}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "get_pto_balance", "description": "Look up remaining paid-time-off balance for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "as_of_date": {"type": "string", "description": "YYYY-MM-DD"}}, "required": ["employee_id"]}}]

Request: File a workers compensation insurance claim with our carrier.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "refuse", "reason": "No available tool supports this request."}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "get_pto_balance", "description": "Look up remaining paid-time-off balance for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "as_of_date": {"type": "string", "description": "YYYY-MM-DD"}}, "required": ["employee_id"]}}, {"name": "request_leave", "description": "Submit a time-off request for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string", "description": "employee identifier"}, "leave_type": {"type": "string", "enum": ["vacation", "sick", "parental", "bereavement", "unpaid"]}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "end_date": {"type": "string", "description": "YYYY-MM-DD"}, "note": {"type": "string"}}, "required": ["employee_id", "leave_type", "start_date", "end_date"]}}, {"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "search_open_roles", "description": "Search currently open requisitions.", "parameters": {"type": "object", "properties": {"department": {"type": "string"}, "location": {"type": "string"}, "seniority": {"type": "string", "enum": ["junior", "mid", "senior", "lead"]}}, "required": []}}, {"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}, {"name": "start_onboarding", "description": "Kick off the onboarding workflow for a new hire.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "manager_id": {"type": "string"}, "equipment_bundle": {"type": "string", "enum": ["laptop_standard", "laptop_dev", "none"]}}, "required": ["candidate_id", "start_date", "manager_id"]}}]

Request: I need to book bereavement time off for employee id EMP-2801, start date 2026-03-24 and end date 2026-07-16.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "request_leave", "arguments": {"employee_id": "EMP-2801", "leave_type": "bereavement", "start_date": "2026-03-24", "end_date": "2026-07-16"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "book_training", "description": "Register an employee for a training course.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "course_id": {"type": "string"}, "session_date": {"type": "string"}}, "required": ["employee_id", "course_id"]}}, {"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}, {"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}, {"name": "search_open_roles", "description": "Search currently open requisitions.", "parameters": {"type": "object", "properties": {"department": {"type": "string"}, "location": {"type": "string"}, "seniority": {"type": "string", "enum": ["junior", "mid", "senior", "lead"]}}, "required": []}}, {"name": "submit_timesheet", "description": "Submit hours worked for a pay period.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "period_start": {"type": "string"}, "period_end": {"type": "string"}, "hours": {"type": "number"}, "project_code": {"type": "string"}}, "required": ["employee_id", "period_start", "period_end", "hours"]}}, {"name": "update_employee_record", "description": "Update a field on an employee's HR record.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "field": {"type": "string", "enum": ["legal_name", "preferred_name", "address", "phone", "emergency_contact", "bank_account"]}, "value": {"type": "string"}, "effective_date": {"type": "string"}}, "required": ["employee_id", "field", "value"]}}]

Request: File an expense claim for employee id EMP-2546, amount 2992.86, currency CAD, category travel and incurred date 2026-06-02.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "file_expense", "arguments": {"employee_id": "EMP-2546", "amount": 2992.86, "currency": "CAD", "category": "travel", "incurred_date": "2026-06-02"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "search_open_roles", "description": "Search currently open requisitions.", "parameters": {"type": "object", "properties": {"department": {"type": "string"}, "location": {"type": "string"}, "seniority": {"type": "string", "enum": ["junior", "mid", "senior", "lead"]}}, "required": []}}, {"name": "request_leave", "description": "Submit a time-off request for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string", "description": "employee identifier"}, "leave_type": {"type": "string", "enum": ["vacation", "sick", "parental", "bereavement", "unpaid"]}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "end_date": {"type": "string", "description": "YYYY-MM-DD"}, "note": {"type": "string"}}, "required": ["employee_id", "leave_type", "start_date", "end_date"]}}, {"name": "schedule_interview", "description": "Schedule an interview between a candidate and an interviewer panel.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "role_id": {"type": "string"}, "start_time": {"type": "string", "description": "ISO 8601"}, "duration_minutes": {"type": "integer"}, "interviewer_ids": {"type": "array"}, "stage": {"type": "string", "enum": ["screen", "technical", "onsite", "final"]}}, "required": ["candidate_id", "role_id", "start_time", "duration_minutes"]}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}, {"name": "update_employee_record", "description": "Update a field on an employee's HR record.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "field": {"type": "string", "enum": ["legal_name", "preferred_name", "address", "phone", "emergency_contact", "bank_account"]}, "value": {"type": "string"}, "effective_date": {"type": "string"}}, "required": ["employee_id", "field", "value"]}}, {"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}]

Request: Show me the open roles for department Legal, location New York and seniority junior.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "search_open_roles", "arguments": {"department": "Legal", "location": "New York", "seniority": "junior"}}


Prompt:
You are an HR operations assistant with access to the following tools:
[{"name": "lookup_policy", "description": "Retrieve the text of an internal HR policy by topic.", "parameters": {"type": "object", "properties": {"topic": {"type": "string", "description": "e.g. remote_work, expenses, parental_leave"}, "region": {"type": "string", "description": "country or state code"}}, "required": ["topic"]}}, {"name": "file_expense", "description": "File an expense claim for reimbursement.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "amount": {"type": "number"}, "currency": {"type": "string"}, "category": {"type": "string", "enum": ["travel", "meals", "equipment", "training", "other"]}, "incurred_date": {"type": "string", "description": "YYYY-MM-DD"}, "receipt_id": {"type": "string"}}, "required": ["employee_id", "amount", "currency", "category", "incurred_date"]}}, {"name": "get_org_chart", "description": "Return the reporting chain or direct reports for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string"}, "direction": {"type": "string", "enum": ["reports_to", "direct_reports"]}, "depth": {"type": "integer"}}, "required": ["employee_id", "direction"]}}, {"name": "request_leave", "description": "Submit a time-off request for an employee.", "parameters": {"type": "object", "properties": {"employee_id": {"type": "string", "description": "employee identifier"}, "leave_type": {"type": "string", "enum": ["vacation", "sick", "parental", "bereavement", "unpaid"]}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "end_date": {"type": "string", "description": "YYYY-MM-DD"}, "note": {"type": "string"}}, "required": ["employee_id", "leave_type", "start_date", "end_date"]}}, {"name": "start_onboarding", "description": "Kick off the onboarding workflow for a new hire.", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string"}, "start_date": {"type": "string", "description": "YYYY-MM-DD"}, "manager_id": {"type": "string"}, "equipment_bundle": {"type": "string", "enum": ["laptop_standard", "laptop_dev", "none"]}}, "required": ["candidate_id", "start_date", "manager_id"]}}]

Request: Pull up the sick leave policy.

Reply with exactly one JSON object and nothing else. Use {"action":"call","tool":<name>,"arguments":{...}} when a tool applies, {"action":"clarify","missing":[<parameter>],"question":<question>} when a required parameter was not provided, or {"action":"refuse","reason":<reason>} when no tool supports the request.

Response: {"action": "call", "tool": "lookup_policy", "arguments": {"topic": "sick_leave"}}