Appearance
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:
| Param | Required | Description |
|---|---|---|
requesting_user_slack_id | ✅ | Must be the user making the request — self only |
date | ✅ | YYYY-MM-DD |
time_off_type | ✅ | "PTO" | "Sick" | "Leave" |
hours | Defaults to tenant's hours-per-day (usually 8) | |
notes | Reason 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— notrequest_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:
| Param | Required | Description |
|---|---|---|
requesting_user_slack_id | ✅ | |
request_id | ✅ | The pending PTO record ID |
get_my_time_off
View own time off history (pending, approved, rejected).
Reads from: 10. Pending_PTO
Parameters:
| Param | Description |
|---|---|
requesting_user_slack_id | |
time_off_type | Optional filter: "PTO" | "Sick" | "Leave" |
start_date | Optional range filter |
end_date | Optional 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:
| Param | Required | Description |
|---|---|---|
requesting_user_slack_id | ✅ | |
user_name or slack_user_id | ✅ | |
date | Defaults to today | |
hours | Defaults 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:
| Param | Required | Description |
|---|---|---|
requesting_user_slack_id | ✅ | |
user_name or slack_user_id | ✅ | |
start_date | ✅ | YYYY-MM-DD |
end_date | ✅ | YYYY-MM-DD |
hours_per_day | Defaults 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 allocationsleave_conflict— leave logged over dates with active allocationspto_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.