leave_requestsreads only
Leave requests
Leave requests over a range, with who, which type, how many days, the status and the reason. Leave the employee out for everybody the caller may see.
Someone asks: “Show me the pending leave requests.”
Input
{
"status": "pending"
}
What comes back
1 of 1 leave request:
2026-10-20 → 2026-10-21 · Santos, Maria (EMP-007) · 2.00 day(s) Sick leave · pending · "Flu" · id 8c9d0e1f-2a3b-4c4d-9e5f-6a7b8c9d0e1f
Structured content
Show the structured answer
{
"requests": [
{
"publicId": "8c9d0e1f-2a3b-4c4d-9e5f-6a7b8c9d0e1f",
"employeePublicId": "7a8b9c0d-1e2f-4a3b-8c4d-5e6f7a8b9c0d",
"employeeName": "Santos, Maria",
"employeeNumber": "EMP-007",
"startDate": "2026-10-20",
"endDate": "2026-10-21",
"totalDays": "2.00",
"leaveTypeName": "Sick leave",
"status": "pending",
"reason": "Flu"
}
],
"total": 1
}
overtime_requestsreads only
Overtime requests
Overtime requests over a range: the day worked, hours requested and approved, the job they are charged to, the status and the reason.
Someone asks: “What overtime has Juan filed this month?”
Input
{
"employeePublicId": "5f1c2a9e-3b7d-4c21-9e4a-1d2f3c4b5a60",
"from": "2026-10-01",
"to": "2026-10-31"
}
What comes back
1 of 1 overtime request:
2026-10-14 · Dela Cruz, Juan (EMP-001) · 1.00h requested, 1.00h approved · Acme Steel - Bridge retrofit · approved · "Finishing the deck pour" · id 4e5f6a7b-8c9d-4e0f-9a1b-2c3d4e5f6a7b
Structured content
Show the structured answer
{
"requests": [
{
"publicId": "4e5f6a7b-8c9d-4e0f-9a1b-2c3d4e5f6a7b",
"employeePublicId": "5f1c2a9e-3b7d-4c21-9e4a-1d2f3c4b5a60",
"employeeName": "Dela Cruz, Juan",
"employeeNumber": "EMP-001",
"requestDate": "2026-10-14",
"requestedHours": "1.00",
"approvedHours": "1.00",
"targetsLabel": "Acme Steel - Bridge retrofit",
"status": "approved",
"reason": "Finishing the deck pour"
}
],
"total": 1
}
my_requestsreads only
My requests
The signed-in person's own leave and overtime requests, whatever their status.
Takes no input.
Someone asks: “What have I filed?”
Input
{}
What comes back
Leave:
2026-10-22 · Reyes, Ana (EMP-014) · 1.00 day(s) Vacation leave · approved · "Family matter" · id 9d0e1f2a-3b4c-4d5e-8f6a-7b8c9d0e1f2a
Structured content
Show the structured answer
{
"leave": [],
"overtime": []
}
leave_typesreads only
Leave types and day values
The leave types that may be filed and whether each is paid, plus the day values (a whole day, a half day). file_leave needs ids from here.
Takes no input.
Someone asks: “What kinds of leave can I file?”
Input
{}
What comes back
Leave types:
Vacation leave (paid) · id a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d
Sick leave (paid) · id b2c3d4e5-6f7a-4b8c-9d0e-1f2a3b4c5d6e
Leave without pay (unpaid) · id c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f
Day values:
Whole day = 1.00 of a day · id d4e5f6a7-8b9c-4d0e-9f1a-2b3c4d5e6f7a
Half day = 0.50 of a day · id e5f6a7b8-9c0d-4e1f-8a2b-3c4d5e6f7a8b
Structured content
Show the structured answer
{
"leaveTypes": [],
"dayValues": []
}
file_leavechanges data
File a leave request
Files a leave request for approval. With no employeePublicId it files for the signed-in person; with one it files on their behalf, which needs the right to file for others. Get the type and day-value ids from leave_types. One day entry per calendar day of leave.
Someone asks: “File two days of sick leave for Maria, the 20th and 21st, she has the flu.”
Input
{
"employeePublicId": "7a8b9c0d-1e2f-4a3b-8c4d-5e6f7a8b9c0d",
"leaveTypePublicId": "b2c3d4e5-6f7a-4b8c-9d0e-1f2a3b4c5d6e",
"startDate": "2026-10-20",
"endDate": "2026-10-21",
"reason": "Flu",
"days": [
{
"leaveDate": "2026-10-20",
"leaveValuePublicId": "d4e5f6a7-8b9c-4d0e-9f1a-2b3c4d5e6f7a"
},
{
"leaveDate": "2026-10-21",
"leaveValuePublicId": "d4e5f6a7-8b9c-4d0e-9f1a-2b3c4d5e6f7a"
}
]
}
What comes back
Filed. 2026-10-20 → 2026-10-21 · Santos, Maria (EMP-007) · 2.00 day(s) Sick leave · pending · "Flu" · id 8c9d0e1f-2a3b-4c4d-9e5f-6a7b8c9d0e1f
Structured content
Show the structured answer
{
"request": {
"publicId": "8c9d0e1f-2a3b-4c4d-9e5f-6a7b8c9d0e1f",
"status": "pending",
"totalDays": "2.00"
}
}
file_overtimechanges data
File an overtime request
Files an overtime request for approval, with the hours split across the projects or cost centers they were worked on. With no employeePublicId it files for the signed-in person. Each line is charged to exactly one project or cost center.
Someone asks: “File 2 hours of overtime for myself yesterday on the bridge, we were finishing the pour.”
Input
{
"requestDate": "2026-10-14",
"reason": "Finishing the deck pour",
"lines": [
{
"projectPublicId": "0c9d8e7f-6a5b-4c3d-9e2f-1a0b9c8d7e6f",
"requestedHours": 2
}
]
}
What comes back
Filed. 2026-10-14 · Reyes, Ana (EMP-014) · 2.00h requested · Acme Steel - Bridge retrofit · pending · "Finishing the deck pour" · id 0e1f2a3b-4c5d-4e6f-8a7b-8c9d0e1f2a3b
Structured content
Show the structured answer
{
"request": {
"publicId": "0e1f2a3b-4c5d-4e6f-8a7b-8c9d0e1f2a3b",
"status": "pending",
"requestedHours": "2.00",
"targetsLabel": "Acme Steel - Bridge retrofit"
}
}
cancel_requestchanges data
Cancel a request
Withdraws a leave or overtime request that has not been decided, or one the person is allowed to withdraw after approval. The suite refuses anything else and says why.
Someone asks: “Withdraw that leave request, she is coming in after all.”
Input
{
"kind": "leave",
"publicId": "8c9d0e1f-2a3b-4c4d-9e5f-6a7b8c9d0e1f"
}
What comes back
Cancelled the leave for Santos, Maria. It is now cancelled.
Structured content
Show the structured answer
{
"request": {
"publicId": "8c9d0e1f-2a3b-4c4d-9e5f-6a7b8c9d0e1f",
"status": "cancelled"
}
}
my_approvalsreads only
My approvals
Everything waiting on the signed-in person's decision, oldest first: overtime, leave, deduction requests and advances, incentive grants, quotations and invoices — each kind only if their role may approve it. A BLOCKED item cannot be decided yet; a note is context, not a block.
Someone asks: “What is waiting for me?”
Input
{
"kinds": [
"overtime",
"leave"
]
}
What comes back
2 requests waiting, oldest first; 1 cannot be decided yet.
#1 overtime · Dela Cruz, Juan (EMP-001) · 2026-10-14 · 1.00h overtime · on Acme Steel - Bridge retrofit · "Finishing the deck pour" · filed 2026-10-14 · id 4e5f6a7b-8c9d-4e0f-9a1b-2c3d4e5f6a7b
#2 leave · Santos, Maria (EMP-007) · 2026-10-20 · 2 days sick leave · "Flu" · filed 2026-10-15 · id 8c9d0e1f-2a3b-4c4d-9e5f-6a7b8c9d0e1f
BLOCKED: No sick leave balance left for 2026.
Structured content
Show the structured answer
{
"items": [
{
"kind": "overtime",
"publicId": "4e5f6a7b-8c9d-4e0f-9a1b-2c3d4e5f6a7b",
"who": "Dela Cruz, Juan",
"whoDetail": "EMP-001",
"summary": "1.00h overtime",
"subjectDate": "2026-10-14",
"target": "Acme Steel - Bridge retrofit",
"reason": "Finishing the deck pour",
"filedAt": "2026-10-14T09:12:00.000Z"
},
{
"kind": "leave",
"publicId": "8c9d0e1f-2a3b-4c4d-9e5f-6a7b8c9d0e1f",
"who": "Santos, Maria",
"whoDetail": "EMP-007",
"summary": "2 days sick leave",
"subjectDate": "2026-10-20",
"reason": "Flu",
"filedAt": "2026-10-15T01:30:00.000Z",
"blocked": "No sick leave balance left for 2026."
}
]
}
decide_requestchanges data
Approve or reject a request
Decides one item from my_approvals, as filed: overtime is approved for the hours claimed, an advance on the terms the service works out. Approving for different figures is done in the suite. Rejecting a quotation or invoice needs a reason. Read the item back to the person before calling this.
Someone asks: “Approve Juan's overtime.”
Input
{
"kind": "overtime",
"publicId": "4e5f6a7b-8c9d-4e0f-9a1b-2c3d4e5f6a7b",
"decision": "approve"
}
What comes back
Approved the overtime for Dela Cruz, Juan. It is now approved.
Structured content
Show the structured answer
{
"kind": "overtime",
"publicId": "4e5f6a7b-8c9d-4e0f-9a1b-2c3d4e5f6a7b",
"decision": "approve",
"status": "approved",
"who": "Dela Cruz, Juan"
}