Skip to content

Time Off / PTO Tools

See Time Off Requests workflow for the full step-by-step process.


request_time_off

Submit a time off request. Creates a pending record and DMs all Managers and Owners. Time is not logged until approved.

Writes to: 10. Pending_PTO, 11. Unresolved_Items

Parameters:

ParamRequiredDescription
requesting_user_slack_idMust be the user making the request — self only
dateYYYY-MM-DD
time_off_type"PTO" | "Sick" | "Leave"
hoursDefaults to tenant's hours-per-day (usually 8)
notesReason for the request

Response: "Your PTO request for March 20 has been submitted. Your manager has been notified and will confirm."

Use request_time_off — not request_pto — for all new time off requests.


approve_time_off

Approve a pending time off request. Logs the time entry and notifies the user via DM. Manager/Owner only.

Updates: 10. Pending_PTO (status → "approved") Writes to: 01. Time Entries (logs hours to Out of Office project)

Parameters:

ParamRequiredDescription
requesting_user_slack_id
request_idThe pending PTO record ID

get_my_time_off

View own time off history (pending, approved, rejected).

Reads from: 10. Pending_PTO

Parameters:

ParamDescription
requesting_user_slack_id
time_off_typeOptional filter: "PTO" | "Sick" | "Leave"
start_dateOptional range filter
end_dateOptional range filter

list_pending_pto

All unresolved time off requests. Manager/Owner only.

Reads from: 10. Pending_PTO, 03. Users

Managers see requests for users on their projects. Owners see all.


log_sick_day

Log a sick day directly for a user. Does not require the request/approval flow. Manager/Owner only (Managers cannot log for themselves — only Owners can).

Writes to: 01. Time Entries, 11. Unresolved_Items (flags conflict if user had active allocations that day)

Parameters:

ParamRequiredDescription
requesting_user_slack_id
user_name or slack_user_id
dateDefaults to today
hoursDefaults to 8

Use case: When a team member is unexpectedly sick, a Manager can log it directly without a pending/approval cycle.


log_leave

Log leave (unpaid or extended) for a user over a date range. Automatically skips weekends and company holidays. Manager/Owner only.

Writes to: 01. Time Entries (one entry per working day), 11. Unresolved_Items

Parameters:

ParamRequiredDescription
requesting_user_slack_id
user_name or slack_user_id
start_dateYYYY-MM-DD
end_dateYYYY-MM-DD
hours_per_dayDefaults to 8
notes

Unresolved items from time off

When a sick day or leave is logged, VERA automatically checks if the user had active allocations on the affected dates. If so, it creates an Unresolved Item flagging the conflict:

  • sick_conflict — user is sick on a day with active allocations
  • leave_conflict — leave logged over dates with active allocations
  • pto_conflict — PTO approved for a date with active allocations

Managers are shown these conflicts in morning summaries as 🔴 blocks and can resolve or dismiss them via resolve_item / dismiss_item.

VERA by talktalkmake