Gokaizen Suite AI actions v0.0.8 · 40 actions

Requests and approvals

Filing leave and overtime, and deciding on what others filed.

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.

InputTypeMeaning
employeePublicIdstringoptional
statuspending | approved | rejected | cancelledoptional
fromstringoptional
tostringoptional
pageintegeroptional, default 1
pageSizenumber | number | numberoptional, default 50

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.

InputTypeMeaning
employeePublicIdstringoptional
statuspending | approved | partially_approved | rejected | cancelledoptional
fromstringoptional
tostringoptional
projectPublicIdstringoptional
pageintegeroptional, default 1
pageSizenumber | number | numberoptional, default 50

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.

InputTypeMeaning
employeePublicIdstringoptionalLeave out to file for yourself.
leaveTypePublicIdstringrequired
startDatestringrequired
endDatestringrequired
reasonstringrequired
daysarray of objectrequiredOne per calendar day, each with how much of the day it covers.
days[].leaveDatestringrequired
days[].leaveValuePublicIdstringrequired

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.

InputTypeMeaning
employeePublicIdstringoptionalLeave out to file for yourself.
requestDatestringrequiredThe day the overtime was or will be worked.
reasonstringrequired
linesarray of objectrequired
lines[].projectPublicIdstringoptional
lines[].costCenterPublicIdstringoptional
lines[].requestedHoursnumberrequired

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.

InputTypeMeaning
kindleave | overtimerequired
publicIdstringrequired

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.

InputTypeMeaning
kindsarray of overtime | leave | deduction | incentive | quotation | invoiceoptional, default ["overtime","leave","deduction","incentive","quotation","invoice"]Narrow to some kinds.

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.

InputTypeMeaning
kindovertime | leave | deduction | incentive | quotation | invoicerequired
publicIdstringrequired
decisionapprove | rejectrequired
remarksstringoptionalWhy — required when rejecting a quotation or invoice.

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"
}

Gokaizen Suite · v0.0.8 · this reference lists what the server can do and holds no company data. Questions: internal@gokaizen.ai