Mcp

Tools Reference

Complete reference for all BookYourPTO MCP tools — every tool across all 19 categories, with parameters, types, and risk level.

BookYourPTO MCP exposes 346 tools across 19 categories. Every tool is listed below with its parameters and behaviour. This page is generated from the live tool registry, so it matches what your AI client actually sees.

Authentication

Authentication is handled automatically via OAuth 2.0 with PKCE. When you first connect, your browser opens a BookYourPTO login page; after you sign in, your AI client receives a short-lived access token — no credentials are ever shared with the AI. Every tool runs with your own identity and role-based permissions.

How to read this page

Each tool shows MCP annotations and a risk level that the host uses to decide when to prompt you for confirmation:

  • Read-only — does not change any data (readOnlyHint). Safe to call freely.
  • Write — creates or updates data. The AI should confirm intent before calling.
  • Destructive — deletes data or performs an irreversible action (destructiveHint). Hosts typically require explicit confirmation.
  • Risk: medium / high — surfaced to the client; high-risk tools (offboarding, deletes, payouts, publishing) should only be called after you explicitly confirm the specific record by ID.

Tool Categories

CategoryToolsJump to
Leaves9Leaves
Time Tracking10Time Tracking
Expenses22Expenses
Users21Users
Schedules11Schedules
Projects15Projects
Organization14Organization
Reports2Reports
HR64HR
Clients5Clients
Notifications5Notifications
Calendar8Calendar
Performance31Performance
Training14Training
Benefits8Benefits
Documents16Documents
Admin89Admin
System1System
Auth1Auth

Leaves

9 tools.

query_leaves

List leave requests. Filters by user, year, and status. Employees see their own; managers/admins see others.

Read-only

ParameterTypeRequiredDescription
userIdstringNoUser ID to query (defaults to authenticated user)
yearnumberNoYear to query (defaults to current year)
statusstringNoFilter by status: PENDING, APPROVED, REJECTED, CANCELLED

get_leave_balance

Get leave balance breakdown (annual, sick, carried over) for a user and year.

Read-only

ParameterTypeRequiredDescription
userIdstringNoUser ID (defaults to authenticated user)
yearnumberNoFiscal year (defaults to current year)

get_pending_leave_approvals

List pending leave requests awaiting approval. Requires DEPARTMENT_HEAD, ADMINISTRATOR, or EXECUTIVE role.

Read-only

No parameters.

create_leave_request

Submit a new leave request. Provide the user ID, leave type ID, dates, and optional half-day settings. Use get_leave_balance first to check availability.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesUser ID for whom to create the leave
leaveTypeIdstringYesLeave type ID (use bypto://leave-types resource to look up)
startDatestringYesStart date (YYYY-MM-DD)
endDatestringYesEnd date (YYYY-MM-DD)
startHalfenum: FULL_DAY, FIRST_HALF, SECOND_HALFNoHalf-day setting: FULL_DAY, FIRST_HALF, or SECOND_HALF (default: "FULL_DAY")
endHalfenum: FULL_DAY, FIRST_HALF, SECOND_HALFNoHalf-day setting: FULL_DAY, FIRST_HALF, or SECOND_HALF (default: "FULL_DAY")
reasonstringNoReason for leave

approve_or_reject_leave

Approve or reject a pending leave request. Requires DEPARTMENT_HEAD, ADMINISTRATOR, or EXECUTIVE role.

Destructive · Risk: high

ParameterTypeRequiredDescription
leaveIdstringYesID of the leave request
actionenum: approve, rejectYesAction to take
reasonstringNoRejection reason (required if rejecting)

update_leave

Update an existing leave request. Only the fields you provide are changed. Cannot change a leave that has been approved unless you are an ADMIN/EXEC.

Write · Risk: medium

ParameterTypeRequiredDescription
leaveIdstringYesResource ID
startDatestringNoDate in YYYY-MM-DD format
endDatestringNoDate in YYYY-MM-DD format
startHalfenum: FULL_DAY, FIRST_HALF, SECOND_HALFNoHalf-day setting: FULL_DAY, FIRST_HALF, or SECOND_HALF (default: "FULL_DAY")
endHalfenum: FULL_DAY, FIRST_HALF, SECOND_HALFNoHalf-day setting: FULL_DAY, FIRST_HALF, or SECOND_HALF (default: "FULL_DAY")
reasonstringNo
notesstringNo

delete_leave

Delete a leave request. The dates are returned to the user balance. Cannot delete approved leaves unless ADMIN/EXEC.

Destructive · Risk: high

ParameterTypeRequiredDescription
leaveIdstringYesResource ID

query_leave_schedule

Get the leave schedule (combined view) across all users for a date range. Useful for planning team capacity and spotting staffing gaps.

Write

ParameterTypeRequiredDescription
startDatestringYesStart date (YYYY-MM-DD)
endDatestringYesEnd date (YYYY-MM-DD)
departmentIdstringNoFilter to a department

group_book_leaves

Book the same leave for multiple users at once (e.g. company shutdown, all-hands offsite). Each user gets their own leave record. Requires ADMIN/EXEC.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdsstringYesList of user IDs to book leave for
leaveTypeIdstringYesLeave type ID
startDatestringYesStart date (YYYY-MM-DD)
endDatestringYesEnd date (YYYY-MM-DD)
reasonstringNo

Time Tracking

10 tools.

get_time_tracking_status

Get current clock status (clocked in / out / on break) and today's summary for a user.

Read-only

ParameterTypeRequiredDescription
userIdstringNoUser ID (defaults to authenticated user)

clock_action

Clock in, clock out, start break, or end break. For clock_in, optionally specify project and description.

Write · Risk: medium

ParameterTypeRequiredDescription
actionenum: clock_in, clock_out, start_break, end_breakYesThe clock action to perform
projectIdstringNoProject ID (for clock_in, if required by org settings)
taskIdstringNoTask ID (for clock_in)
descriptionstringNoWork description (for clock_in)

query_time_entries

List time entries filtered by user, date range, and project. Supports pagination.

Read-only

ParameterTypeRequiredDescription
userIdstringNoUser ID (defaults to authenticated user for employees)
startDatestringNoStart date filter (YYYY-MM-DD)
endDatestringNoEnd date filter (YYYY-MM-DD)
projectIdstringNoFilter by project ID
pagenumberNoPage number (default: 1)
limitnumberNoResults per page (max 50) (default: 20)

create_time_entry

Create a manual time entry (e.g. for forgotten clock-in or admin entry on behalf of a user).

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringNoUser ID — defaults to current user
clockInstringYesClock-in datetime (ISO 8601)
clockOutstringNoClock-out datetime (ISO 8601)
breakDurationMinutesnumberNoDefault: 0
projectIdstringNo
taskIdstringNo
descriptionstringNo

update_time_entry

Update a time entry. Cannot edit entries that have been approved.

Write · Risk: medium

ParameterTypeRequiredDescription
entryIdstringYesResource ID
clockInstringNo
clockOutstringNo
breakDurationMinutesnumberNo
projectIdstringNo
taskIdstringNo
descriptionstringNo

delete_time_entry

Delete a time entry. Cannot delete entries that have been approved.

Write · Risk: medium

ParameterTypeRequiredDescription
entryIdstringYesResource ID

query_time_approvals

List pending time entry approvals (DEPT_HEAD+ only).

Write

ParameterTypeRequiredDescription
departmentIdstringNo

approve_time_entry

Approve or reject a single time entry.

Write

ParameterTypeRequiredDescription
entryIdstringYesResource ID
approvedbooleanYes
reasonstringNoReason for rejection

bulk_approve_time

Bulk approve or reject many time entries at once.

Write · Risk: medium

ParameterTypeRequiredDescription
entryIdsstringYes
approvedbooleanYes
reasonstringNo

get_billing_report

Get the time-tracking billing report (hours grouped by client/project).

Write

ParameterTypeRequiredDescription
startDatestringYesYYYY-MM-DD
endDatestringYesYYYY-MM-DD
clientIdstringNo
projectIdstringNo

Expenses

22 tools.

query_expenses

List expense reports. Filters by user, status, report type, and date range. Employees see own; managers/admins see others.

Read-only

ParameterTypeRequiredDescription
userIdstringNoUser ID to filter by
statusstringNoFilter by status: DRAFT, SUBMITTED, PENDING_APPROVAL, APPROVED, REJECTED, PAID, CANCELLED
reportTypeenum: REIMBURSEMENT, COMPANY_CARDNoFilter by report type
startDatestringNoStart date (YYYY-MM-DD)
endDatestringNoEnd date (YYYY-MM-DD)
pagenumberNoDefault: 1
limitnumberNoDefault: 20

get_expense_details

Get full details of an expense report including line items, per diems, and mileage entries.

Read-only

ParameterTypeRequiredDescription
expenseIdstringYesExpense report ID

get_expense_approvals

List expense reports pending your approval. Requires manager, DEPARTMENT_HEAD, ADMINISTRATOR, or EXECUTIVE role.

Read-only

ParameterTypeRequiredDescription
pagenumberNoDefault: 1
limitnumberNoDefault: 20

approve_or_reject_expense

Approve or reject a submitted/pending expense report. Requires appropriate manager or admin role.

Destructive · Risk: high

ParameterTypeRequiredDescription
expenseIdstringYesExpense report ID
actionenum: approve, rejectYesAction to take
notesstringNoApprover notes or rejection reason

create_expense

Create a new expense report. Supports REIMBURSEMENT (default) and COMPANY_CARD types. Company card requires org setting enabled.

Write · Risk: medium

ParameterTypeRequiredDescription
titlestringYesReport title
departureDatestringYesStart/departure date (YYYY-MM-DD)
returnDatestringYesEnd/return date (YYYY-MM-DD)
reportTypeenum: REIMBURSEMENT, COMPANY_CARDNoReport type (default: "REIMBURSEMENT")
descriptionstringNoReport description
tripPurposestringNoTrip purpose
currencystringNoCurrency code (e.g. CAD, USD)
departmentIdstringNoDepartment ID
projectIdstringNoProject ID
payableToIdstringNoUser ID to pay (for reimbursements to another user)

submit_expense

Submit an expense report for approval. Must be in DRAFT status with at least one item. Company card expenses require the companyCardRequiresApproval setting.

Write · Risk: medium

ParameterTypeRequiredDescription
expenseIdstringYesExpense report ID

mark_expense_paid

Mark an approved expense report as paid. Requires ADMINISTRATOR or EXECUTIVE role. Optionally records payment reference and method. Triggers QuickBooks sync if configured.

Destructive · Risk: high

ParameterTypeRequiredDescription
expenseIdstringYesExpense report ID
paymentReferencestringNoPayment reference (e.g. cheque number, transfer ID)
paymentMethodstringNoPayment method: DIRECT_DEPOSIT, CHEQUE, WIRE_TRANSFER, CASH, CREDIT_CARD, OTHER

get_expense_settings

Get organization expense settings including approval rules, receipt requirements, company card configuration, and per diem/mileage rates.

Read-only

No parameters.

analyze_receipt

AI-powered receipt analysis. Provide a base64 image or a URL — returns vendor, date, amount, currency, and category suggestion. Useful for automating expense entry.

Write

ParameterTypeRequiredDescription
imageBase64stringNoBase64-encoded image data
imageUrlstringNoPublic URL to fetch the image

get_receipt_quota

Get the current month receipt quota usage and remaining count.

Write

No parameters.

delete_receipt

Delete a receipt from an expense report.

Write · Risk: medium

ParameterTypeRequiredDescription
reportIdstringYesResource ID
receiptIdstringYesResource ID

add_expense_line_item

Add a line item to an expense report.

Write

ParameterTypeRequiredDescription
reportIdstringYesResource ID
datestringYesDate of expense (YYYY-MM-DD)
vendorstringNo
categorystringNo
descriptionstringNo
amountnumberYes
currencystringNoDefault: "USD"
receiptIdstringNo

update_line_item

Update an expense line item.

Write

ParameterTypeRequiredDescription
reportIdstringYesResource ID
itemIdstringYesResource ID
datestringNo
vendorstringNo
categorystringNo
descriptionstringNo
amountnumberNo
currencystringNo

delete_line_item

Delete an expense line item.

Write

ParameterTypeRequiredDescription
reportIdstringYesResource ID
itemIdstringYesResource ID

add_per_diem

Add a per-diem (meal allowance) to an expense report.

Write

ParameterTypeRequiredDescription
reportIdstringYesResource ID
datestringYes
mealTypestringYesBREAKFAST, LUNCH, DINNER, INCIDENTAL
amountnumberYes
currencystringNoDefault: "USD"
locationstringNo

delete_per_diem

Delete a per-diem entry.

Write

ParameterTypeRequiredDescription
reportIdstringYesResource ID
itemIdstringYesResource ID

add_mileage

Add a mileage entry to an expense report.

Write

ParameterTypeRequiredDescription
reportIdstringYesResource ID
datestringYes
originstringYes
destinationstringYes
distancenumberYesDistance in miles or km
unitenum: MILES, KMNoDefault: "MILES"
ratePerUnitnumberNoOverride the org default rate
purposestringNo

delete_mileage

Delete a mileage entry.

Write

ParameterTypeRequiredDescription
reportIdstringYesResource ID
itemIdstringYesResource ID

cancel_expense

Cancel an expense report (sets status to CANCELLED).

Write · Risk: medium

ParameterTypeRequiredDescription
reportIdstringYesResource ID
reasonstringNo

delete_expense

Delete an expense report. Cannot delete approved/paid reports.

Destructive · Risk: high

ParameterTypeRequiredDescription
reportIdstringYesResource ID

bulk_mark_expenses_paid

Mark many approved expense reports as paid in one call (e.g. after running payroll).

Write · Risk: medium

ParameterTypeRequiredDescription
reportIdsstringYes
paidDatestringNoDate in YYYY-MM-DD format
paymentReferencestringNo

update_expense_settings

Update the org-wide expense settings.

Write · Risk: medium

ParameterTypeRequiredDescription
defaultCurrencystringNo
mileageRatenumberNo
perDiemRatesobject (map)No
maxClaimAmountnumberNo
requireReceiptsbooleanNo
requireApprovalbooleanNo

Users

21 tools.

get_team_members

List all users in the organization with their role, department, and manager info.

Read-only

No parameters.

get_user_profile

Get detailed profile for a specific user by ID.

Read-only

ParameterTypeRequiredDescription
userIdstringYesUser ID

get_departments

List all departments in the organization.

Read-only

No parameters.

search_directory

Search the people directory by name, job title, email, or employee number. Returns a paginated list of users with their department and role. Use this to find people by partial name when you only have a fragment.

Write

ParameterTypeRequiredDescription
querystringYesSearch query — matches name, title, email, employee #
departmentIdstringNoFilter to a specific department
includeInactivebooleanNoInclude offboarded / deactivated users (default: false)
pagenumberNoPage number (1-indexed) (default: 1)
limitnumberNoPage size (max 100) (default: 25)

get_org_chart

Get the organization reporting hierarchy as a tree. Each node lists a person, their job title, and their direct reports. Use this for "who reports to whom?" questions and to render organizational charts.

Write

ParameterTypeRequiredDescription
rootUserIdstringNoUser ID to root the tree at — defaults to org-wide top-level managers
includeInactivebooleanNoInclude offboarded users in the tree (default: false)

update_user_profile

Update an employee profile. Supports basic info, contact details, address, social links, employment, and emergency contact. Only the fields you provide are changed; everything else is preserved. Requires ADMIN/EXEC for users other than yourself.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
firstNamestringNoFirst name
lastNamestringNoLast name
preferredNamestringNoPreferred / display name
jobTitlestringNoJob title
employeeNumberstringNoEmployee number / ID
phoneMobilestringNoMobile phone
phoneWorkstringNoWork phone
phoneHomestringNoHome phone
phoneExtstringNoPhone extension
homeEmailstringNoPersonal/home email
addressLine1stringNo
addressLine2stringNo
citystringNo
stateProvincestringNo
postalCodestringNo
countrystringNo
dateOfBirthstringNoDate of birth (YYYY-MM-DD)
genderstringNo
maritalStatusstringNo
nationalitystringNo
shirtSizestringNo
linkedInstringNo
githubstringNo
twitterstringNo
facebookstringNo
hireDatestringNoHire date (YYYY-MM-DD)
managerIdstringNoManager's user ID
departmentIdstringNo
divisionIdstringNo
workLocationstringNo
emergencyContactNamestringNo
emergencyContactRelationshipstringNo
emergencyContactPhonestringNo
emergencyContactEmailstringNo

create_user

Create a new employee. Triggers the default onboarding template if one exists. Sends welcome email if requested. Requires ADMIN/EXEC.

Write · Risk: medium

ParameterTypeRequiredDescription
firstNamestringYesFirst name
lastNamestringYesLast name
emailstringYesWork email — used for login
roleenum: EMPLOYEE, DEPARTMENT_HEAD, ADMINISTRATOR, EXECUTIVENoRole (default EMPLOYEE)
jobTitlestringNoJob title
departmentIdstringNoDepartment ID
managerIdstringNoManager's user ID
hireDatestringNoHire date — drives onboarding due dates
employeeNumberstringNo
sendWelcomeEmailbooleanNoSend welcome email with credentials (default: true)

offboard_preview

Preview what will happen if a user is offboarded. Returns counts of leaves, time entries, expenses, document assignments, direct reports, department head assignments, 1:1 series, onboarding instances, projects, tasks, benefit enrollments, and future shifts that will be cleaned up. Always run this before offboard_user so you can show the operator a 'what will happen' summary.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

offboard_user

Offboard an employee with structured cleanup. Cancels future leaves and shifts, reassigns department head if applicable, archives 1:1 series, completes onboarding, etc. Run offboard_preview FIRST and confirm with the operator. Requires end date and termination code. Writes an OFFBOARD audit log entry.

Destructive · Risk: high

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
endDatestringYesLast day of employment (YYYY-MM-DD)
terminationCodestringYesTermination code (e.g. VOLUNTARY, INVOLUNTARY, RETIREMENT, END_OF_CONTRACT)
noticeDatestringNoDate notice was given
roeCompletedDatestringNoDate ROE/SAT was completed
notesstringNoInternal notes about the offboarding
replacementDeptHeadIdstringNoUser ID to take over as department head if this user was one

reactivate_user

Restore login access for a previously offboarded user. Subject to seat limits on the org plan. Does NOT undo the offboarding cleanup (cancelled leaves, archived 1:1s, etc).

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

change_user_role

Change a user role to EMPLOYEE, DEPARTMENT_HEAD, ADMINISTRATOR, or EXECUTIVE. ADMIN/EXEC only. Writes an audit log entry with the previous and new role.

Destructive · Risk: high

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
roleenum: EMPLOYEE, DEPARTMENT_HEAD, ADMINISTRATOR, EXECUTIVEYesUser role

create_department

Create a new department. Requires ADMIN/EXEC.

Write · Risk: medium

ParameterTypeRequiredDescription
namestringYesDepartment name
codestringNoShort code
colorstringNoHex color (#RRGGBB)
headOfDeptIdstringNoUser ID of department head

update_department

Update a department. Only the fields you provide are changed.

Write · Risk: medium

ParameterTypeRequiredDescription
departmentIdstringYesResource ID
namestringNo
codestringNo
colorstringNo
headOfDeptIdstringNoUser ID of new department head — note: a user can only head one department at a time

delete_department

Delete a department. Fails if there are users still assigned to it.

Destructive · Risk: high

ParameterTypeRequiredDescription
departmentIdstringYesResource ID

query_teams

List teams in the organization.

Write

ParameterTypeRequiredDescription
pagenumberNoPage number (1-indexed) (default: 1)
limitnumberNoPage size (max 100) (default: 25)

create_team

Create a new team.

Write · Risk: medium

ParameterTypeRequiredDescription
namestringYesTeam name
descriptionstringNo
colorstringNoHex color (#RRGGBB)

update_team

Update a team.

Write · Risk: medium

ParameterTypeRequiredDescription
teamIdstringYesResource ID
namestringNo
descriptionstringNo
colorstringNo

delete_team

Delete a team.

Destructive · Risk: high

ParameterTypeRequiredDescription
teamIdstringYesResource ID

query_team_members

List members of a team.

Write

ParameterTypeRequiredDescription
teamIdstringYesResource ID

add_team_member

Add a user to a team.

Write · Risk: medium

ParameterTypeRequiredDescription
teamIdstringYesResource ID
userIdstringYesUser ID to add

remove_team_member

Remove a user from a team.

Write · Risk: medium

ParameterTypeRequiredDescription
teamIdstringYesResource ID
userIdstringYesUser ID to remove

Schedules

11 tools.

query_schedules

List scheduled shifts for a date range. Returns shifts, leaves, and public holidays. Admins see all; dept heads see their dept.

Read-only

ParameterTypeRequiredDescription
startDatestringNoStart date (YYYY-MM-DD, defaults to today)
endDatestringNoEnd date (YYYY-MM-DD, defaults to +7 days)
userIdstringNoFilter by user ID
departmentIdstringNoFilter by department ID

create_shift

Create a new scheduled shift. Requires ADMINISTRATOR, EXECUTIVE, or DEPARTMENT_HEAD role. Omit userId to create an open shift.

Write · Risk: medium

ParameterTypeRequiredDescription
datestringYesShift date (YYYY-MM-DD)
startTimestringYesStart time (HH:MM, e.g. "09:00")
endTimestringYesEnd time (HH:MM, e.g. "17:00")
userIdstringNoUser ID (omit for open shift)
departmentIdstringNoDepartment ID
shiftTypestringNoShift type: REGULAR, MORNING, AFTERNOON, NIGHT, CUSTOM (default: "REGULAR")
breakDurationnumberNoBreak duration in minutes (default: 30)
notesstringNoNotes

publish_schedule

Publish schedules for a week, making them visible to employees. Requires ADMINISTRATOR or EXECUTIVE role.

Destructive · Risk: high

ParameterTypeRequiredDescription
weekStartstringYesMonday of the week to publish (YYYY-MM-DD)
numberOfWeeksnumberNoNumber of weeks to publish (1-4) (default: 1)
sendNotificationbooleanNoSend email notification to employees (default: true)

update_shift

Update an existing shift. Only the fields you provide are changed.

Write · Risk: medium

ParameterTypeRequiredDescription
shiftIdstringYesResource ID
startTimestringNoHH:mm format
endTimestringNoHH:mm format
shiftTypestringNo
notesstringNo

delete_shift

Delete a shift.

Write · Risk: medium

ParameterTypeRequiredDescription
shiftIdstringYesResource ID

claim_shift

Claim an open/unassigned shift for the current user.

Write · Risk: medium

ParameterTypeRequiredDescription
shiftIdstringYesResource ID

copy_week

Copy a week of shifts to another week. Useful for repeating schedules.

Write · Risk: medium

ParameterTypeRequiredDescription
fromWeekStartstringYesSource week start (YYYY-MM-DD, Monday)
toWeekStartstringYesDestination week start (YYYY-MM-DD, Monday)
departmentIdstringNo

clear_week

Delete every shift in a week. Cannot be undone.

Destructive · Risk: high

ParameterTypeRequiredDescription
weekStartstringYesWeek start (YYYY-MM-DD, Monday)
departmentIdstringNo

unpublish_schedule

Move a published week back to draft status.

Write · Risk: medium

ParameterTypeRequiredDescription
weekStartstringYesWeek start (YYYY-MM-DD, Monday)
departmentIdstringNo

submit_schedule_for_review

Submit a draft schedule for review by a supervisor before publishing.

Write

ParameterTypeRequiredDescription
weekStartstringYesDate in YYYY-MM-DD format
departmentIdstringNo

email_schedule

Email a published schedule to all assigned users for a given week.

Write

ParameterTypeRequiredDescription
weekStartstringYesDate in YYYY-MM-DD format
departmentIdstringNo

Projects

15 tools.

list_projects

List projects visible to the authenticated user. Admins see all; others see their department + org-wide.

Read-only

ParameterTypeRequiredDescription
statusstringNoFilter by status: ACTIVE, COMPLETED, ARCHIVED, ON_HOLD
includeStatsbooleanNoInclude time tracking stats (default: false)

get_project

Get full project details including tasks, client info, and time stats.

Read-only

ParameterTypeRequiredDescription
projectIdstringYesProject ID

create_task

Create a new task within a project.

Write

ParameterTypeRequiredDescription
projectIdstringYesProject ID
namestringYesTask name
descriptionstringNoTask description
budgetHoursnumberNoBudget hours for this task
isBillablebooleanNoWhether the task is billable (default: true)

query_project_tasks

List tasks in a project. Optionally filter by status or assignee.

Write

ParameterTypeRequiredDescription
projectIdstringYesResource ID
statusstringNo
assigneeIdstringNo

update_task

Update a project task. Use this to change status (e.g. mark as done), reassign, or update due date.

Write

ParameterTypeRequiredDescription
projectIdstringYesResource ID
taskIdstringYesResource ID
titlestringNo
descriptionstringNo
statusstringNoTODO, IN_PROGRESS, DONE, etc.
assigneeIdstringNo
dueDatestringNoDate in YYYY-MM-DD format
prioritystringNoLOW, MEDIUM, HIGH, CRITICAL

delete_task

Delete a project task.

Write · Risk: medium

ParameterTypeRequiredDescription
projectIdstringYesResource ID
taskIdstringYesResource ID

get_project_board

Get the Kanban board view of a project (tasks grouped by status).

Write

ParameterTypeRequiredDescription
projectIdstringYesResource ID

add_project_comment

Post a comment on a project.

Write

ParameterTypeRequiredDescription
projectIdstringYesResource ID
contentstringYesComment text

query_project_comments

List comments on a project.

Write

ParameterTypeRequiredDescription
projectIdstringYesResource ID

query_project_issues

List issues for a project (bugs, blockers, etc.)

Write

ParameterTypeRequiredDescription
projectIdstringYesResource ID
statusstringNo

create_issue

Create an issue on a project (bug, blocker, idea).

Write

ParameterTypeRequiredDescription
projectIdstringYesResource ID
titlestringYes
descriptionstringNo
severitystringNoLOW, MEDIUM, HIGH, CRITICAL
assigneeIdstringNo

update_issue

Update a project issue.

Write

ParameterTypeRequiredDescription
projectIdstringYesResource ID
issueIdstringYesResource ID
titlestringNo
descriptionstringNo
statusstringNo
severitystringNo
assigneeIdstringNo

delete_issue

Delete a project issue.

Write · Risk: medium

ParameterTypeRequiredDescription
projectIdstringYesResource ID
issueIdstringYesResource ID

update_project

Update a project (name, dates, status, color, client).

Write · Risk: medium

ParameterTypeRequiredDescription
projectIdstringYesResource ID
namestringNo
codestringNo
statusstringNo
colorstringNo
clientIdstringNo
startDatestringNoDate in YYYY-MM-DD format
endDatestringNoDate in YYYY-MM-DD format

delete_project

Delete a project. Cannot be undone.

Destructive · Risk: high

ParameterTypeRequiredDescription
projectIdstringYesResource ID

Organization

14 tools.

get_org_info

Get organization settings: name, timezone, currency, leave allowances, fiscal year, etc.

Read-only

No parameters.

get_public_holidays

List public holidays configured for the organization.

Read-only

ParameterTypeRequiredDescription
yearnumberNoFilter by year

get_dashboard_stats

Get organization-level stats: total users, departments, leave types, leaves. Requires EXECUTIVE role.

Read-only

No parameters.

get_notifications

Get the authenticated user's notifications. Supports filtering by read status.

Read-only

ParameterTypeRequiredDescription
filterenum: all, unread, readNoFilter: all, unread, or read (default: "all")
pagenumberNoDefault: 1
limitnumberNoDefault: 20

add_public_holiday

Add a public holiday to the organization calendar. Optionally limited to a country/region. Requires ADMIN/EXEC.

Write · Risk: medium

ParameterTypeRequiredDescription
namestringYesHoliday name (e.g. "Canada Day")
datestringYesHoliday date (YYYY-MM-DD)
countryCodestringNoISO country code (e.g. "CA"). Leave blank for global
subdivisionCodestringNoRegion/state code (e.g. "ON" for Ontario)
isPaidbooleanNoIs this a paid holiday (default: true)

delete_public_holiday

Remove a public holiday. Cannot be undone.

Write · Risk: medium

ParameterTypeRequiredDescription
holidayIdstringYesResource ID

query_holiday_countries

List all available countries for public holiday lookups.

Write

No parameters.

query_holiday_subdivisions

List subdivisions (states/provinces) for a country.

Write

ParameterTypeRequiredDescription
countryCodestringYesISO country code (e.g. "CA", "US")

query_asset_categories

List the asset categories defined for the organization (Laptop, Phone, Badge, etc.). Used by add_asset and update_asset.

Write

No parameters.

create_asset_category

Create a new asset category.

Write

ParameterTypeRequiredDescription
namestringYesCategory name (e.g. "MacBook Pro")
iconstringNo
colorstringNo

delete_asset_category

Delete an asset category.

Write · Risk: medium

ParameterTypeRequiredDescription
categoryIdstringYesResource ID

query_certification_types

List the certification types defined for the organization (AWS Solutions Architect, PMP, etc.). Used by add_certification.

Write

No parameters.

create_certification_type

Create a new certification type.

Write

ParameterTypeRequiredDescription
namestringYesCertification name (e.g. "AWS Solutions Architect Associate")
issuingBodystringNo
defaultValidityMonthsnumberNoHow long this cert is valid (months) — used to compute expiry

delete_certification_type

Delete a certification type.

Write · Risk: medium

ParameterTypeRequiredDescription
typeIdstringYesResource ID

Reports

2 tools.

generate_leave_report

Generate a leave report for a date range. Requires ADMINISTRATOR or EXECUTIVE role.

Read-only

ParameterTypeRequiredDescription
startDatestringNoReport start date (YYYY-MM-DD)
endDatestringNoReport end date (YYYY-MM-DD)
departmentIdstringNoFilter by department
userIdstringNoFilter by user

generate_timesheet_report

Generate a timesheet report for a date range. Requires ADMINISTRATOR or EXECUTIVE role.

Read-only

ParameterTypeRequiredDescription
startDatestringNoReport start date (YYYY-MM-DD)
endDatestringNoReport end date (YYYY-MM-DD)
userIdstringNoFilter by user
projectIdstringNoFilter by project

HR

64 tools.

query_employee_notes

List HR notes attached to an employee. Notes have three visibility levels: HR_ONLY (only HR can see), MANAGERS (HR + the user manager), SHARED_WITH_EMPLOYEE (also visible to the employee themselves). Caller will only see notes they have permission to view.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

add_employee_note

Add an HR note to an employee. Choose the visibility level carefully — SHARED_WITH_EMPLOYEE notes are visible to the employee themselves.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
contentstringYesThe note text
visibilityenum: HR_ONLY, MANAGERS, SHARED_WITH_EMPLOYEEYesNote visibility level

delete_employee_note

Delete an HR note. Cannot be undone.

Destructive · Risk: high

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
noteIdstringYesResource ID

query_education

List education records (degrees, certifications) for a user.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

add_education_entry

Add an education record for a user (institution, degree, major, GPA, dates).

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
institutionstringYesSchool name
degreestringYesDegree type (e.g. BACHELORS, MASTERS, PHD, ASSOCIATES, DIPLOMA, etc.)
majorstringNo
gpanumberNo
startDatestringNoDate in YYYY-MM-DD format
endDatestringNoDate in YYYY-MM-DD format
notesstringNo

delete_education_entry

Delete an education record.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
educationIdstringYesResource ID

query_languages

List language proficiencies for a user, with separate reading/writing and speaking levels.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

add_language

Add a language proficiency record for a user.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
languagestringYesLanguage name (e.g. "Spanish", "Mandarin")
readingWritingLevelenum: BEGINNER, INTERMEDIATE, ADVANCED, NATIVEYesReading & writing proficiency
speakingLevelenum: BEGINNER, INTERMEDIATE, ADVANCED, NATIVEYesSpeaking proficiency
isPrimarybooleanNoDefault: false

delete_language

Delete a language record.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
languageIdstringYesResource ID

query_certifications

List certifications for a user. Each cert has an issuance date, expiry date, credential ID, and is auto-marked as expired when past expiry.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

add_certification

Add a certification for a user. Provide name, issuing body, credential ID, issued date, and expiry date.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
namestringYesCertification name
issuingBodystringYesOrganization that issued the cert
credentialIdstringNoCredential / serial number
credentialUrlstringNoVerification URL
issuedDatestringNoDate in YYYY-MM-DD format
expiryDatestringNoDate in YYYY-MM-DD format

delete_certification

Delete a certification record.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
certIdstringYesResource ID

query_visa

List visa / work authorization records for a user. Each entry has a type, country, status, dates, and notes. Auto-expires past-due visas.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

add_visa_entry

Add a visa / work authorization record for a user.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
visaTypestringYesVisa type (e.g. "H-1B", "TN", "Permanent Resident")
countrystringYesCountry code
statusstringYesStatus (e.g. "ACTIVE", "PENDING", "EXPIRED")
issuedDatestringNoDate in YYYY-MM-DD format
expiryDatestringNoDate in YYYY-MM-DD format
notesstringNo

delete_visa_entry

Delete a visa record.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
visaIdstringYesResource ID

query_assets

List company assets assigned to a user (laptop, badge, phone, etc.) with category, serial number, condition, and assigned/return dates.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

assign_asset

Assign a company asset to a user. The category should match an asset_category from query_asset_categories — or pass a custom category name.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
categoryIdstringNoAsset category ID
categoryNamestringNoOr a free-form category name if no matching category exists
namestringYesAsset name (e.g. "MacBook Pro 14" 2024")
serialNumberstringNo
assignedDatestringNoDate in YYYY-MM-DD format
conditionstringNoNEW, GOOD, FAIR, POOR
notesstringNo

update_asset

Update an assigned asset (e.g. record return date, change condition, add notes).

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
assetIdstringYesResource ID
namestringNo
serialNumberstringNo
conditionstringNo
returnDatestringNoDate in YYYY-MM-DD format
notesstringNo

return_asset

Mark an asset as returned (sets return date to today).

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
assetIdstringYesResource ID
conditionstringNoCondition at return
notesstringNo

delete_asset

Delete an asset record (use return_asset to mark as returned without losing history).

Destructive · Risk: high

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
assetIdstringYesResource ID

query_compensation_history

List compensation history (salary changes over time) for a user. ADMIN/EXEC and the user themselves only.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

add_compensation_entry

Add a compensation change record. Use this when an employee gets a raise, changes to a different pay rate, or moves between salaried/hourly.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
effectiveDatestringYesDate this rate took effect (YYYY-MM-DD)
typestringYesType (e.g. SALARY_INCREASE, PROMOTION, PAY_RATE_CHANGE, INITIAL)
amountnumberYesAnnual amount
currencystringNoDefault: "USD"
payFrequencyenum: ANNUAL, MONTHLY, BIWEEKLY, WEEKLY, HOURLYNo
reasonstringNo

delete_compensation_entry

Delete a compensation history entry.

Destructive · Risk: high

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
compIdstringYesResource ID

query_bonuses

List one-off bonus records for a user.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

add_bonus

Add a one-off bonus record for a user.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
datestringYesBonus date (YYYY-MM-DD)
amountnumberYes
currencystringNoDefault: "USD"
typestringNoe.g. PERFORMANCE, SIGNING, REFERRAL, SPOT, RETENTION
notesstringNo

delete_bonus

Delete a bonus record.

Destructive · Risk: high

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
bonusIdstringYesResource ID

query_job_history

List position changes (title, department, manager) over time for a user.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

add_job_history_entry

Add a job history record (e.g. promotion, transfer, title change).

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
effectiveDatestringYesYYYY-MM-DD
jobTitlestringYes
departmentIdstringNo
managerIdstringNo
typestringNoe.g. PROMOTION, LATERAL, TRANSFER, INITIAL
reasonstringNo

delete_job_history_entry

Delete a job history entry.

Destructive · Risk: high

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
historyIdstringYesResource ID

query_employment_status_history

List employment status changes (FT/PT/Contract/etc.) over time.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

add_employment_status_change

Record an employment status change (e.g. FT → PT, Contract → FT).

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
effectiveDatestringYesDate in YYYY-MM-DD format
statusenum: FULL_TIME, PART_TIME, CONTRACT, INTERN, TEMPORARY, SEASONALYes
reasonstringNo

delete_employment_status_change

Delete an employment status history entry.

Destructive · Risk: high

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
historyIdstringYesResource ID

query_equity

List equity grants (stock options, RSUs, etc.) for a user.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

add_equity_grant

Record an equity grant (options, RSUs, ESPP, etc.).

Destructive · Risk: high

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
grantDatestringYesDate in YYYY-MM-DD format
typestringYesOPTIONS, RSU, ESPP, etc.
sharesnumberYes
strikePricenumberNo
vestingStartDatestringNoDate in YYYY-MM-DD format
vestingMonthsnumberNoTotal vesting period in months
cliffMonthsnumberNoCliff period in months
notesstringNo

delete_equity_grant

Delete an equity grant record.

Destructive · Risk: high

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
equityIdstringYesResource ID

query_commissions

List commission records for a user.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

add_commission

Record a commission payment.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
datestringYesDate in YYYY-MM-DD format
amountnumberYes
currencystringNoDefault: "USD"
basisstringNoWhat the commission was earned on
notesstringNo

delete_commission

Delete a commission record.

Destructive · Risk: high

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
commissionIdstringYesResource ID

query_dependents

List dependents on file for a user (children, spouse, etc.).

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

add_dependent

Add a dependent to a user record.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
firstNamestringYes
lastNamestringYes
relationshipstringYesSPOUSE, CHILD, PARENT, OTHER
dateOfBirthstringNoDate in YYYY-MM-DD format
genderstringNo

update_dependent

Update a dependent record.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
depIdstringYesResource ID
firstNamestringNo
lastNamestringNo
relationshipstringNo
dateOfBirthstringNoDate in YYYY-MM-DD format
genderstringNo

delete_dependent

Remove a dependent record.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
depIdstringYesResource ID

query_onboarding_instances

List onboarding instances. Filter by user, template, or status (ACTIVE / COMPLETED).

Write

ParameterTypeRequiredDescription
userIdstringNo
templateIdstringNo
statusenum: ACTIVE, COMPLETED, CANCELLEDNo
pagenumberNoPage number (1-indexed) (default: 1)
limitnumberNoPage size (max 100) (default: 25)

create_onboarding_instance

Create an onboarding instance for an employee from a template. All template tasks are copied to the instance with computed due dates from the user hire date.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
templateIdstringYesOnboarding template ID
startDatestringNoOverride the start date — defaults to user hire date

update_onboarding_instance

Update an onboarding instance (e.g. mark as completed, change start date).

Write · Risk: medium

ParameterTypeRequiredDescription
instanceIdstringYesResource ID
statusenum: ACTIVE, COMPLETED, CANCELLEDNo
startDatestringNoDate in YYYY-MM-DD format

delete_onboarding_instance

Delete an onboarding instance and all its tasks.

Destructive · Risk: high

ParameterTypeRequiredDescription
instanceIdstringYesResource ID

query_onboarding_tasks

List the tasks in an onboarding instance with their status, assignee, and due date.

Write

ParameterTypeRequiredDescription
instanceIdstringYesResource ID

add_onboarding_task

Add an ad-hoc task to an onboarding instance.

Write · Risk: medium

ParameterTypeRequiredDescription
instanceIdstringYesResource ID
titlestringYesTask title
descriptionstringNo
assignedToIdstringNo
dueDatestringNoDate in YYYY-MM-DD format
categoryenum: DOCUMENTS, EQUIPMENT, ACCESS, TRAINING, OTHERNo

update_onboarding_task

Update an onboarding task (status, assignee, due date, etc.)

Write

ParameterTypeRequiredDescription
instanceIdstringYesResource ID
taskIdstringYesResource ID
statusenum: PENDING, IN_PROGRESS, COMPLETED, DISMISSEDNo
titlestringNo
descriptionstringNo
assignedToIdstringNo
dueDatestringNoDate in YYYY-MM-DD format
categorystringNo

complete_onboarding_task

Mark an onboarding task as complete. If the task has a signature-required document attached, the signature must be on file first.

Write

ParameterTypeRequiredDescription
instanceIdstringYesResource ID
taskIdstringYesResource ID

delete_onboarding_task

Delete a task from an onboarding instance.

Write · Risk: medium

ParameterTypeRequiredDescription
instanceIdstringYesResource ID
taskIdstringYesResource ID

query_onboarding_templates

List onboarding templates available in the organization.

Write

No parameters.

create_onboarding_template

Create a new onboarding template.

Write · Risk: medium

ParameterTypeRequiredDescription
namestringYes
descriptionstringNo
isDefaultbooleanNoDefault: false

update_onboarding_template

Update an onboarding template.

Write · Risk: medium

ParameterTypeRequiredDescription
templateIdstringYesResource ID
namestringNo
descriptionstringNo
isDefaultbooleanNo

delete_onboarding_template

Delete an onboarding template. Existing instances are NOT deleted.

Destructive · Risk: high

ParameterTypeRequiredDescription
templateIdstringYesResource ID

query_onboarding_template_tasks

List the task definitions inside an onboarding template.

Write

ParameterTypeRequiredDescription
templateIdstringYesResource ID

add_onboarding_template_task

Add a task definition to an onboarding template. Optionally apply retroactively to all existing instances.

Write · Risk: medium

ParameterTypeRequiredDescription
templateIdstringYesResource ID
titlestringYes
descriptionstringNo
assigneeUserIdstringNo
assigneeRolestringNoRole-based assignee (e.g. HR, MANAGER)
categorystringNo
dueDateTypeenum: NONE, ON_HIRE, CUSTOMNoDefault: "NONE"
dueDaysFromHirenumberNoDays from hire date when CUSTOM
dueDaysDirectionenum: BEFORE, AFTERNo
documentIdstringNoAttach a document that must be signed
requiresSignaturebooleanNoDefault: false
applyToExistingbooleanNoApply this new task to all active instances of this template (default: false)

update_onboarding_template_task

Update a task definition in an onboarding template.

Write · Risk: medium

ParameterTypeRequiredDescription
templateIdstringYesResource ID
taskDefIdstringYesResource ID
titlestringNo
descriptionstringNo
assigneeUserIdstringNo
assigneeRolestringNo
categorystringNo
dueDateTypeenum: NONE, ON_HIRE, CUSTOMNo
dueDaysFromHirenumberNo
dueDaysDirectionenum: BEFORE, AFTERNo
documentIdstringNo
requiresSignaturebooleanNo

delete_onboarding_template_task

Delete a task definition from an onboarding template.

Destructive · Risk: high

ParameterTypeRequiredDescription
templateIdstringYesResource ID
taskDefIdstringYesResource ID

query_onboarding_packets

List new hire welcome packets.

Write

No parameters.

get_onboarding_packet

Get full details of a new hire packet (questions, tasks, contact, instructions).

Write

ParameterTypeRequiredDescription
packetIdstringYesResource ID

create_onboarding_packet

Create a new hire welcome packet. Configure arrival time, location, contact, instructions, and "Get to Know You" questions.

Write · Risk: medium

ParameterTypeRequiredDescription
namestringYes
arrivalTimestringNoArrival time (e.g. "9:00 AM")
locationstringNo
contactPersonIdstringNo
instructionsstringNo
taskListIdstringNoLinked onboarding template ID
questionsstringNoArray of "Get to Know You" questions

update_onboarding_packet

Update a new hire packet.

Write · Risk: medium

ParameterTypeRequiredDescription
packetIdstringYesResource ID
namestringNo
arrivalTimestringNo
locationstringNo
contactPersonIdstringNo
instructionsstringNo
taskListIdstringNo
questionsstringNo

delete_onboarding_packet

Delete a new hire packet.

Destructive · Risk: high

ParameterTypeRequiredDescription
packetIdstringYesResource ID

Clients

5 tools.

query_clients

List CRM clients in the organization. Filter by search query or active status.

Write

ParameterTypeRequiredDescription
searchstringNoFilter by name, email, or company
isActivebooleanNoFilter by active status
pagenumberNoPage number (1-indexed) (default: 1)
limitnumberNoPage size (max 100) (default: 25)

get_client

Get full details for a single client.

Write

ParameterTypeRequiredDescription
clientIdstringYesResource ID

create_client

Create a new CRM client.

Write · Risk: medium

ParameterTypeRequiredDescription
namestringYesClient name
emailstringNo
phonestringNo
companystringNo
addressstringNo
citystringNo
stateProvincestringNo
postalCodestringNo
countrystringNo
websitestringNo
notesstringNo

update_client

Update an existing client. Only the fields you provide are changed.

Write · Risk: medium

ParameterTypeRequiredDescription
clientIdstringYesResource ID
namestringNo
emailstringNo
phonestringNo
companystringNo
addressstringNo
citystringNo
stateProvincestringNo
postalCodestringNo
countrystringNo
websitestringNo
notesstringNo
isActivebooleanNo

delete_client

Delete a client. Cannot be undone.

Destructive · Risk: high

ParameterTypeRequiredDescription
clientIdstringYesResource ID

Notifications

5 tools.

get_unread_notification_count

Get the number of unread notifications for the current user.

Write

No parameters.

mark_notification_read

Mark a single notification as read.

Write

ParameterTypeRequiredDescription
notificationIdstringYesResource ID

mark_all_notifications_read

Mark every notification as read for the current user.

Write

No parameters.

delete_notification

Delete (dismiss) a single notification.

Write

ParameterTypeRequiredDescription
notificationIdstringYesResource ID

clear_all_notifications

Delete every notification for the current user. Cannot be undone.

Write · Risk: medium

No parameters.


Calendar

8 tools.

get_calendar_status

Check whether Google/Outlook calendar is connected for the current user.

Write

No parameters.

query_calendar_feeds

List the calendar feeds (iCal subscription URLs) created for this user.

Write

No parameters.

create_calendar_feed

Create an iCal subscription URL for the current user. The URL can be added to Google Calendar / Outlook / Apple Calendar to see leaves, holidays, and shifts.

Write

ParameterTypeRequiredDescription
namestringYesFriendly name for the feed
includeLeavesbooleanNoDefault: true
includeShiftsbooleanNoDefault: true
includeHolidaysbooleanNoDefault: true
includeBirthdaysbooleanNoDefault: false

delete_calendar_feed

Delete a calendar feed. The iCal URL stops working immediately.

Write · Risk: medium

ParameterTypeRequiredDescription
feedIdstringYesResource ID

connect_google_calendar

Start the Google Calendar OAuth flow. Returns the authorization URL — open it in a browser to grant access.

Write

No parameters.

disconnect_google_calendar

Disconnect Google Calendar integration.

Write · Risk: medium

No parameters.

connect_outlook_calendar

Start the Outlook Calendar OAuth flow. Returns the authorization URL.

Write

No parameters.

disconnect_outlook_calendar

Disconnect Outlook Calendar integration.

Write · Risk: medium

No parameters.


Performance

31 tools.

query_goals

List goals for a user. Optionally filter by status or category.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
statusstringNoNOT_STARTED, IN_PROGRESS, COMPLETED, CANCELLED
categorystringNo

create_goal

Create a goal for a user.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
titlestringYes
descriptionstringNo
categorystringNoe.g. Engineering, Sales, Personal
dueDatestringNoDate in YYYY-MM-DD format
progressPercentnumberNoDefault: 0

update_goal

Update a goal — title, description, status, progress slider (0-100), due date, category.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
goalIdstringYesResource ID
titlestringNo
descriptionstringNo
statusstringNo
categorystringNo
dueDatestringNoDate in YYYY-MM-DD format
progressPercentnumberNo

delete_goal

Delete a goal and all its comments.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
goalIdstringYesResource ID

query_goal_comments

List comments on a goal.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
goalIdstringYesResource ID

add_goal_comment

Post a comment on a goal (collaboration thread).

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
goalIdstringYesResource ID
contentstringYesComment text

delete_goal_comment

Delete a goal comment.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
goalIdstringYesResource ID
commentIdstringYesResource ID

query_one_on_one_series

List recurring 1:1 series. Filter by participants if needed.

Write

ParameterTypeRequiredDescription
managerIdstringNo
reportIdstringNo

create_one_on_one_series

Create a recurring 1:1 series between a manager and a direct report. Sends creation email to participants.

Write

ParameterTypeRequiredDescription
managerIdstringYesManager user ID
reportIdstringYesReport user ID
frequencyenum: WEEKLY, BIWEEKLY, MONTHLY, ONE_TIMEYesMeeting cadence
firstMeetingDatestringYesDate in YYYY-MM-DD format
durationMinutesnumberNoDefault: 30
titlestringNo

update_one_on_one_series

Update a 1:1 series (e.g. change cadence).

Write

ParameterTypeRequiredDescription
seriesIdstringYesResource ID
frequencyenum: WEEKLY, BIWEEKLY, MONTHLY, ONE_TIMENo
durationMinutesnumberNo
titlestringNo

cancel_one_on_one_series

Cancel a 1:1 series. Future meetings are removed and participants are notified.

Write · Risk: medium

ParameterTypeRequiredDescription
seriesIdstringYesResource ID

query_one_on_one_meetings

List meetings inside a 1:1 series.

Write

ParameterTypeRequiredDescription
seriesIdstringYesResource ID

schedule_one_on_one_meeting

Schedule an additional meeting in an existing 1:1 series.

Write

ParameterTypeRequiredDescription
seriesIdstringYesResource ID
meetingDatestringYesDate in YYYY-MM-DD format
durationMinutesnumberNo

update_one_on_one_meeting

Update a 1:1 meeting (reschedule, change duration).

Write

ParameterTypeRequiredDescription
seriesIdstringYesResource ID
meetingIdstringYesResource ID
meetingDatestringNoDate in YYYY-MM-DD format
durationMinutesnumberNo
statusenum: SCHEDULED, COMPLETED, CANCELLED, RESCHEDULEDNo

query_meeting_agenda

List the agenda items for a 1:1 meeting.

Write

ParameterTypeRequiredDescription
meetingIdstringYesResource ID

add_agenda_item

Add an agenda item to a 1:1 meeting.

Write

ParameterTypeRequiredDescription
meetingIdstringYesResource ID
titlestringYes
descriptionstringNo
addedByUserIdstringNoWho added this item

update_agenda_item

Update an agenda item (e.g. mark as discussed).

Write

ParameterTypeRequiredDescription
meetingIdstringYesResource ID
itemIdstringYesResource ID
titlestringNo
descriptionstringNo
discussedbooleanNo

delete_agenda_item

Delete an agenda item.

Write

ParameterTypeRequiredDescription
meetingIdstringYesResource ID
itemIdstringYesResource ID

query_meeting_notes

List notes from a 1:1 meeting. Notes can be private (only visible to the author) or shared with the other participant.

Write

ParameterTypeRequiredDescription
meetingIdstringYesResource ID

add_meeting_note

Add a note to a 1:1 meeting. Mark as private to keep it from the other participant.

Write

ParameterTypeRequiredDescription
meetingIdstringYesResource ID
contentstringYes
isPrivatebooleanNoPrivate notes are only visible to the author (default: false)

update_meeting_note

Update a meeting note.

Write

ParameterTypeRequiredDescription
meetingIdstringYesResource ID
noteIdstringYesResource ID
contentstringNo
isPrivatebooleanNo

delete_meeting_note

Delete a meeting note.

Write

ParameterTypeRequiredDescription
meetingIdstringYesResource ID
noteIdstringYesResource ID

query_performance_cycles

List performance review cycles (e.g. Q1 2026 review, Annual 2025).

Write

No parameters.

create_performance_cycle

Create a new performance review cycle.

Write · Risk: medium

ParameterTypeRequiredDescription
namestringYes
startDatestringYesDate in YYYY-MM-DD format
endDatestringYesDate in YYYY-MM-DD format
templateIdstringNo
participantUserIdsstringNo

duplicate_performance_cycle

Duplicate an existing performance cycle (e.g. clone Q1 to make Q2). Useful for recurring reviews.

Write · Risk: medium

ParameterTypeRequiredDescription
cycleIdstringYesResource ID
newNamestringYes
newStartDatestringYesDate in YYYY-MM-DD format
newEndDatestringYesDate in YYYY-MM-DD format

query_performance_templates

List performance review templates.

Write

No parameters.

create_performance_template

Create a performance review template (questions + ratings).

Write · Risk: medium

ParameterTypeRequiredDescription
namestringYes
descriptionstringNo
questionsstringNo

update_performance_template

Update a performance review template.

Write · Risk: medium

ParameterTypeRequiredDescription
templateIdstringYesResource ID
namestringNo
descriptionstringNo
questionsstringNo

delete_performance_template

Delete a performance template.

Destructive · Risk: high

ParameterTypeRequiredDescription
templateIdstringYesResource ID

get_performance_settings

Get the org-wide performance settings (who can use goals, cascading goals toggle, 1:1 enablement).

Write

No parameters.

update_performance_settings

Update org-wide performance settings.

Write · Risk: medium

ParameterTypeRequiredDescription
goalUsersenum: NONE, ALL, SPECIFICNo
cascadingGoalsEnabledbooleanNo
oneOnOnesEnabledbooleanNo
specificGoalUserIdsstringNo

Training

14 tools.

query_user_training

List training assignments for a user, including status (PENDING / COMPLETED / OVERDUE) and due dates.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

assign_training

Assign a training course to a user.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
courseIdstringYesResource ID
dueDatestringNoDate in YYYY-MM-DD format

update_training_assignment

Update a training assignment — change due date or completion status. Use mark_training_complete for the common case.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
assignmentIdstringYesResource ID
statusenum: PENDING, IN_PROGRESS, COMPLETED, OVERDUENo
dueDatestringNoDate in YYYY-MM-DD format
completedDatestringNoDate in YYYY-MM-DD format
scorenumberNo
notesstringNo

mark_training_complete

Mark a training assignment as complete.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
assignmentIdstringYesResource ID
scorenumberNo
notesstringNo

dismiss_training

Dismiss an optional training assignment (only valid if "allow self-complete / dismiss" is set on the requirement).

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
assignmentIdstringYesResource ID

query_training_courses

List training courses defined in the organization.

Write

ParameterTypeRequiredDescription
categoryIdstringNo

create_training_course

Create a new training course definition. Configure frequency, due-from-hire, required-for filter, and signature requirements.

Write · Risk: medium

ParameterTypeRequiredDescription
namestringYes
descriptionstringNo
categoryIdstringNo
frequencyenum: ONE_TIME, ANNUAL, EVERY_2_YEARS, EVERY_3_YEARS, EVERY_5_YEARSNo
dueDaysFromHirenumberNo
requiredForenum: ALL, DEPARTMENT, ROLE, SPECIFIC_EMPLOYEESNo
requiredDepartmentIdstringNo
requiredRolestringNo
requiredEmployeeIdsstringNo
urlstringNoTraining material URL
allowSelfCompletebooleanNoDefault: false

update_training_course

Update a training course definition.

Write · Risk: medium

ParameterTypeRequiredDescription
courseIdstringYesResource ID
namestringNo
descriptionstringNo
categoryIdstringNo
frequencystringNo
dueDaysFromHirenumberNo
urlstringNo
allowSelfCompletebooleanNo

delete_training_course

Delete a training course definition. Existing user assignments are preserved.

Destructive · Risk: high

ParameterTypeRequiredDescription
courseIdstringYesResource ID

bulk_assign_training

Assign a training course to many users at once.

Write · Risk: medium

ParameterTypeRequiredDescription
courseIdstringYesResource ID
userIdsstringYes
dueDatestringNoDate in YYYY-MM-DD format

query_training_categories

List training categories.

Write

No parameters.

create_training_category

Create a new training category.

Write

ParameterTypeRequiredDescription
namestringYes
colorstringNo
iconstringNo

update_training_category

Update a training category.

Write

ParameterTypeRequiredDescription
categoryIdstringYesResource ID
namestringNo
colorstringNo
iconstringNo

delete_training_category

Delete a training category.

Write · Risk: medium

ParameterTypeRequiredDescription
categoryIdstringYesResource ID

Benefits

8 tools.

query_benefit_plans

List benefit plans (medical, dental, vision, life, disability, retirement, etc.) defined for the org.

Write

No parameters.

create_benefit_plan

Create a new benefit plan.

Write · Risk: medium

ParameterTypeRequiredDescription
namestringYes
typeenum: MEDICAL, DENTAL, VISION, LIFE, DISABILITY, RETIREMENT, HSA, FSA, OTHERYesPlan type
providerstringNo
policyNumberstringNo
coveragestringNoDescription of coverage
premiumnumberNoMonthly premium
effectiveStartstringNoDate in YYYY-MM-DD format
effectiveEndstringNoDate in YYYY-MM-DD format

update_benefit_plan

Update a benefit plan.

Write · Risk: medium

ParameterTypeRequiredDescription
planIdstringYesResource ID
namestringNo
providerstringNo
policyNumberstringNo
coveragestringNo
premiumnumberNo
effectiveStartstringNoDate in YYYY-MM-DD format
effectiveEndstringNoDate in YYYY-MM-DD format

delete_benefit_plan

Delete a benefit plan. Existing enrollments are NOT deleted.

Destructive · Risk: high

ParameterTypeRequiredDescription
planIdstringYesResource ID

query_user_benefits

List benefit enrollments for a user (with dependents, premiums, effective dates).

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

enroll_user_in_benefit

Enroll a user in a benefit plan.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
planIdstringYesResource ID
effectiveStartstringNoDate in YYYY-MM-DD format
effectiveEndstringNoDate in YYYY-MM-DD format
employeePremiumnumberNo
employerPremiumnumberNo
coverageLevelenum: EMPLOYEE_ONLY, EMPLOYEE_SPOUSE, EMPLOYEE_CHILDREN, FAMILYNo
dependentIdsstringNo
notesstringNo

update_user_benefit_enrollment

Update a benefit enrollment.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
enrollmentIdstringYesResource ID
effectiveStartstringNoDate in YYYY-MM-DD format
effectiveEndstringNoDate in YYYY-MM-DD format
employeePremiumnumberNo
employerPremiumnumberNo
coverageLevelstringNo
dependentIdsstringNo
notesstringNo

unenroll_user_from_benefit

Unenroll a user from a benefit plan.

Write · Risk: medium

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
enrollmentIdstringYesResource ID

Documents

16 tools.

query_documents

List documents in the org. Filter by category, owner, or signature status.

Write

ParameterTypeRequiredDescription
categoryIdstringNo
uploadedByIdstringNo
signatureStatusstringNo
pagenumberNoPage number (1-indexed) (default: 1)
limitnumberNoPage size (max 100) (default: 25)

delete_document

Delete a document. All assignments are also deleted.

Destructive · Risk: high

ParameterTypeRequiredDescription
documentIdstringYesResource ID

get_document_audit_trail

Get the full audit trail for a document — every view, download, signature event, etc.

Write

ParameterTypeRequiredDescription
documentIdstringYesResource ID

query_document_assignments

List document signing assignments. Filter by status (PENDING / SIGNED / DECLINED / EXPIRED).

Write

ParameterTypeRequiredDescription
statusstringNo
assignedToIdstringNo
documentIdstringNo
pagenumberNoPage number (1-indexed) (default: 1)
limitnumberNoPage size (max 100) (default: 25)

get_assignment_stats

Get aggregate stats on document assignments (signed/pending/declined counts).

Write

No parameters.

assign_document

Assign a document to one or more users for signature. Use bulk_send_document to assign to many at once with a single API call.

Write · Risk: medium

ParameterTypeRequiredDescription
documentIdstringYesResource ID
assignedToIdsstringYesUser IDs to assign
requireSignaturebooleanNoDefault: true
dueDatestringNo
messagestringNo
sendEmailbooleanNoDefault: true

decline_document_assignment

Decline a document signing assignment.

Write · Risk: medium

ParameterTypeRequiredDescription
assignmentIdstringYesResource ID
reasonstringNo

query_document_templates

List document templates.

Write

No parameters.

update_document_template

Update a document template.

Write · Risk: medium

ParameterTypeRequiredDescription
templateIdstringYesResource ID
namestringNo
descriptionstringNo

delete_document_template

Delete a document template.

Destructive · Risk: high

ParameterTypeRequiredDescription
templateIdstringYesResource ID

send_document_from_template

Send a document from a template to one or more recipients.

Write · Risk: medium

ParameterTypeRequiredDescription
templateIdstringYesResource ID
assignedToIdsstringYes
messagestringNo
dueDatestringNo

query_bulk_send_jobs

List bulk document send jobs (batched signing).

Write

No parameters.

create_bulk_send

Create a bulk send job — assign one document to many users in a single batch operation.

Write · Risk: medium

ParameterTypeRequiredDescription
documentIdstringYesResource ID
recipientUserIdsstringYes
messagestringNo
dueDatestringNo
requireSignaturebooleanNoDefault: true

query_document_webhooks

List webhooks subscribed to document signing events.

Write

No parameters.

create_document_webhook

Create a webhook to receive document signing event notifications.

Write · Risk: medium

ParameterTypeRequiredDescription
urlstringYes
eventsstringYesEvent types to subscribe to
secretstringNoHMAC secret for signature verification

delete_document_webhook

Delete a document webhook.

Write · Risk: medium

ParameterTypeRequiredDescription
webhookIdstringYesResource ID

Admin

89 tools.

get_org_settings

Get the org-wide settings (timezone, currency, locale, etc.).

Write

No parameters.

update_org_settings

Update org-wide settings. ADMIN/EXEC only.

Destructive · Risk: high

ParameterTypeRequiredDescription
namestringNo
timezonestringNo
currencystringNo
countrystringNo
defaultLeaveAllowancenumberNo
leaveYearStartMonthnumberNo
dateFormatstringNo
timeFormatstringNo
weekStartDaystringNo

get_branding

Get the org branding settings (logo, colors, custom CSS).

Write

No parameters.

update_branding

Update org branding settings. Requires the white-label add-on for custom branding.

Write · Risk: medium

ParameterTypeRequiredDescription
logoUrlstringNo
primaryColorstringNo
secondaryColorstringNo
customCssstringNo

get_email_settings

Get the org email/SMTP settings.

Write

No parameters.

update_email_settings

Update SMTP / email settings. Requires ADMIN/EXEC.

Destructive · Risk: high

ParameterTypeRequiredDescription
fromNamestringNo
fromEmailstringNo
smtpHoststringNo
smtpPortnumberNo
smtpUserstringNo
smtpPasswordstringNo
smtpSecurebooleanNo

delete_email_settings

Reset email/SMTP settings to defaults (use platform email).

Destructive · Risk: high

No parameters.

get_notification_defaults

Get the org-wide notification defaults.

Write

No parameters.

update_notification_defaults

Update org-wide notification defaults (which events trigger emails by default).

Write · Risk: medium

ParameterTypeRequiredDescription
defaultsobject (map)YesMap of event-name → enabled

get_personal_notifications

Get the current user notification preferences.

Write

No parameters.

update_personal_notifications

Update the current user notification preferences.

Write

ParameterTypeRequiredDescription
preferencesobject (map)YesMap of event-name → enabled

get_sso_settings

Get the org SSO/Auth0 configuration.

Write

No parameters.

update_sso_settings

Update SSO / Auth0 settings. Misconfiguration can lock users out — be careful.

Destructive · Risk: high

ParameterTypeRequiredDescription
enabledbooleanNo
auth0DomainstringNo
auth0ClientIdstringNo
auth0ClientSecretstringNo
allowLocalLoginbooleanNo
enforceSSObooleanNo
autoCreateUsersbooleanNo
defaultRolestringNo

query_sso_domains

List SSO-allowed domains for the org.

Write

No parameters.

add_sso_domain

Add a domain to the SSO allow-list.

Destructive · Risk: high

ParameterTypeRequiredDescription
domainstringYes

verify_sso_domain

Trigger DNS verification for an SSO domain.

Write · Risk: medium

ParameterTypeRequiredDescription
domainIdstringYesResource ID

delete_sso_domain

Remove a domain from the SSO allow-list.

Destructive · Risk: high

ParameterTypeRequiredDescription
domainIdstringYesResource ID

get_slack_integration

Get the Slack integration settings.

Write

No parameters.

update_slack_integration

Update Slack integration settings.

Write · Risk: medium

ParameterTypeRequiredDescription
webhookUrlstringNo
enabledbooleanNo
eventsstringNo

get_teams_integration

Get the Microsoft Teams integration settings.

Write

No parameters.

update_teams_integration

Update Microsoft Teams integration settings.

Write · Risk: medium

ParameterTypeRequiredDescription
webhookUrlstringNo
enabledbooleanNo
eventsstringNo

query_audit_logs

Query the org-wide audit log. Filter by action, entity type, user, or date range. Use this for "who changed X?" / "what happened on Y?" investigations.

Write

ParameterTypeRequiredDescription
actionstringNoe.g. CREATE, UPDATE, DELETE, OFFBOARD, REACTIVATE, SIGN, LOGIN, EXPORT
entityTypestringNoe.g. USER, ORGANIZATION, LEAVE, EXPENSE_REPORT, DOCUMENT, EMPLOYEE_NOTE
userIdstringNo
startDatestringNoDate in YYYY-MM-DD format
endDatestringNoDate in YYYY-MM-DD format
pagenumberNoPage number (1-indexed) (default: 1)
limitnumberNoPage size (max 100) (default: 25)

export_audit_logs

Get a download URL for the audit log export (CSV). Use date range filters to limit the export size.

Write

ParameterTypeRequiredDescription
startDatestringNoDate in YYYY-MM-DD format
endDatestringNoDate in YYYY-MM-DD format
actionstringNo
entityTypestringNo

query_signin_logs

Query sign-in logs. Useful for security investigations and detecting suspicious access patterns.

Write

ParameterTypeRequiredDescription
userIdstringNo
successbooleanNoFilter by successful or failed sign-ins
startDatestringNoDate in YYYY-MM-DD format
endDatestringNoDate in YYYY-MM-DD format
pagenumberNoPage number (1-indexed) (default: 1)
limitnumberNoPage size (max 100) (default: 25)

export_signin_logs

Export sign-in logs to CSV.

Write

ParameterTypeRequiredDescription
startDatestringNoDate in YYYY-MM-DD format
endDatestringNoDate in YYYY-MM-DD format

query_leave_transactions

Query the leave balance transaction log — every grant, deduction, accrual, adjustment.

Write

ParameterTypeRequiredDescription
userIdstringNo
startDatestringNoDate in YYYY-MM-DD format
endDatestringNoDate in YYYY-MM-DD format
pagenumberNoPage number (1-indexed) (default: 1)
limitnumberNoPage size (max 100) (default: 25)

query_time_tracking_transactions

Query time tracking edit history (audit log of clock adjustments).

Write

ParameterTypeRequiredDescription
userIdstringNo
startDatestringNoDate in YYYY-MM-DD format
endDatestringNoDate in YYYY-MM-DD format
pagenumberNoPage number (1-indexed) (default: 1)
limitnumberNoPage size (max 100) (default: 25)

query_security_violations

List flagged security violations (suspicious sign-ins, brute-force attempts, etc.).

Write

ParameterTypeRequiredDescription
statusstringNoOPEN, ACKNOWLEDGED, RESOLVED, FALSE_POSITIVE
severitystringNoLOW, MEDIUM, HIGH, CRITICAL
pagenumberNoPage number (1-indexed) (default: 1)
limitnumberNoPage size (max 100) (default: 25)

flag_security_violation

Manually flag a security violation for investigation.

Write · Risk: medium

ParameterTypeRequiredDescription
typestringYesViolation type
severityenum: LOW, MEDIUM, HIGH, CRITICALYes
userIdstringNo
descriptionstringYes

update_security_violation

Update the status of a security violation.

Write · Risk: medium

ParameterTypeRequiredDescription
violationIdstringYesResource ID
statusenum: OPEN, ACKNOWLEDGED, RESOLVED, FALSE_POSITIVEYes
notesstringNo

query_phi_access_log

Query the PHI (Protected Health Information) access log — required for HIPAA compliance. Tracks every read of medical/health-related fields.

Write

ParameterTypeRequiredDescription
userIdstringNoFilter by accessor user ID
resourceTypestringNo
startDatestringNoDate in YYYY-MM-DD format
endDatestringNoDate in YYYY-MM-DD format
pagenumberNoPage number (1-indexed) (default: 1)
limitnumberNoPage size (max 100) (default: 25)

get_subscription

Get the current subscription status (plan, seats, billing period, trial info).

Write

No parameters.

change_plan

Change the subscription plan (e.g. upgrade from Pro to Business).

Destructive · Risk: high

ParameterTypeRequiredDescription
newPlanenum: free, pro, business, enterpriseYes
billingIntervalenum: monthly, annualNo
currencyenum: USD, CADNo

cancel_subscription

Cancel the active subscription. Sets cancel-at-period-end by default.

Destructive · Risk: high

ParameterTypeRequiredDescription
reasonstringNo
cancelImmediatelybooleanNoDefault: false

reactivate_subscription

Reactivate a previously cancelled subscription (before period end).

Destructive · Risk: high

No parameters.

sync_subscription

Force-sync the subscription state from Stripe (admin recovery tool).

Write · Risk: medium

No parameters.

get_usage

Get current resource usage (users, documents, receipts, projects, expense claims) vs plan limits.

Write

No parameters.

get_usage_breakdown

Get usage attribution per user (who uploaded what, who signed what, etc.).

Write

No parameters.

query_invoices

List Stripe invoices for the org.

Write

ParameterTypeRequiredDescription
pagenumberNoPage number (1-indexed) (default: 1)
limitnumberNoPage size (max 100) (default: 25)

get_invoice_line_items

Get line items for a specific invoice.

Write

ParameterTypeRequiredDescription
invoiceIdstringYesResource ID

request_refund

Request a refund. Goes through human review.

Write · Risk: medium

ParameterTypeRequiredDescription
invoiceIdstringNo
amountnumberNo
reasonstringYes

query_refund_requests

List the org refund requests with status.

Write

No parameters.

get_billing_alerts

Get active billing alerts (overdue invoice, near limit, etc.).

Write

No parameters.

query_addons

List available add-ons (e.g. white-label branding) and their status.

Write

No parameters.

toggle_addon

Turn an add-on on or off (e.g. white-label branding). Removing creates a grace period until period end.

Destructive · Risk: high

ParameterTypeRequiredDescription
addonenum: whiteLabelBrandingYes
enabledbooleanYes

create_checkout_session

Create a Stripe checkout session for subscribing or upgrading.

Write · Risk: medium

ParameterTypeRequiredDescription
planenum: pro, business, enterpriseYes
billingIntervalenum: monthly, annualYes
currencyenum: USD, CADNo
seatsnumberNo
couponCodestringNo

create_billing_portal_session

Create a Stripe customer portal session for self-service billing.

Write

No parameters.

validate_coupon

Validate a coupon code without applying it.

Write

ParameterTypeRequiredDescription
codestringYes

get_quickbooks_status

Check whether QuickBooks Online is connected for the org.

Write

No parameters.

connect_quickbooks

Get the QuickBooks Online OAuth URL to start the connection flow.

Write

No parameters.

disconnect_quickbooks

Disconnect QuickBooks Online integration.

Destructive · Risk: high

No parameters.

get_quickbooks_settings

Get the QuickBooks integration settings.

Write

No parameters.

update_quickbooks_settings

Update QuickBooks integration settings.

Write · Risk: medium

ParameterTypeRequiredDescription
autoSyncExpensesbooleanNo
autoSyncTimeEntriesbooleanNo
autoSyncEmployeesbooleanNo
defaultExpenseAccountIdstringNo
defaultBankAccountIdstringNo

query_quickbooks_accounts

List Chart of Accounts from QuickBooks.

Write

No parameters.

get_qb_account_mappings

Get the BookYourPTO category → QuickBooks account mappings.

Write

No parameters.

update_qb_account_mappings

Update the QuickBooks account mappings.

Write · Risk: medium

ParameterTypeRequiredDescription
mappingsobject (map)YesMap of BookYourPTO category → QuickBooks account ID

query_quickbooks_customers

List customers from QuickBooks.

Write

No parameters.

sync_qb_customers

Sync clients from BookYourPTO → QuickBooks customers.

Write · Risk: medium

No parameters.

sync_employees_to_quickbooks

Sync BookYourPTO users → QuickBooks employees.

Write · Risk: medium

No parameters.

get_qb_employee_mappings

Get the BookYourPTO user → QuickBooks employee ID mappings.

Write

No parameters.

sync_expenses_to_quickbooks

Sync approved expense reports → QuickBooks bills. Optionally limit by date range.

Write · Risk: medium

ParameterTypeRequiredDescription
startDatestringNoDate in YYYY-MM-DD format
endDatestringNoDate in YYYY-MM-DD format

get_expense_sync_status

Check sync status for expenses (which are synced, which failed).

Write

No parameters.

sync_time_to_quickbooks

Sync approved time entries → QuickBooks time activities.

Write · Risk: medium

ParameterTypeRequiredDescription
startDatestringNoDate in YYYY-MM-DD format
endDatestringNoDate in YYYY-MM-DD format

preview_leave_liability

Preview the leave liability journal entry that would be posted to QuickBooks.

Write

No parameters.

sync_leave_liability

Post the leave liability journal entry to QuickBooks.

Destructive · Risk: high

No parameters.

get_quickbooks_payroll_summary

Get the payroll summary report from QuickBooks.

Write

ParameterTypeRequiredDescription
startDatestringNoDate in YYYY-MM-DD format
endDatestringNoDate in YYYY-MM-DD format

get_quickbooks_sync_history

List recent QuickBooks sync events.

Write

No parameters.

change_password

Change the current user password. Requires current password.

Destructive · Risk: high

ParameterTypeRequiredDescription
currentPasswordstringYes
newPasswordstringYes

check_password_breach

Check if a password has appeared in known data breaches (uses k-anonymity, full password is never sent).

Write

ParameterTypeRequiredDescription
passwordstringYes

setup_totp

Begin TOTP 2FA setup. Returns a QR code URL and secret to register in an authenticator app.

Write

No parameters.

confirm_totp

Confirm TOTP 2FA setup with the first 6-digit code.

Write · Risk: medium

ParameterTypeRequiredDescription
codestringYes

verify_totp

Verify a TOTP 2FA code (used during sign-in).

Write

ParameterTypeRequiredDescription
codestringYes

disable_totp

Disable TOTP 2FA on the current user account. Requires current password.

Destructive · Risk: high

ParameterTypeRequiredDescription
passwordstringYes

query_trusted_devices

List devices trusted for 2FA bypass on the current account.

Write

No parameters.

revoke_trusted_device

Revoke a single trusted device.

Write · Risk: medium

ParameterTypeRequiredDescription
deviceIdstringYesResource ID

revoke_all_trusted_devices

Revoke ALL trusted devices on the current account. Forces 2FA on next sign-in everywhere.

Destructive · Risk: high

No parameters.

reset_user_2fa

Reset another user's 2FA — clears their TOTP secret, backup codes, and trusted devices. Use when an employee loses access to their authenticator app.

Destructive · Risk: high

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

resend_credentials

Resend welcome / login credentials email to a user.

Write

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID

request_data_export

Request a GDPR data export. Returns a download URL once processing completes (delivered via email).

Write

ParameterTypeRequiredDescription
userIdstringNoUser to export — defaults to current user

request_data_deletion

Request GDPR right-to-erasure. Anonymizes the user account while preserving audit log integrity. Cannot be undone.

Destructive · Risk: high

ParameterTypeRequiredDescription
userIdstringYesBookYourPTO user ID
reasonstringNo
confirmDeletionliteral: trueYesMust be true — guards against accidental deletion

opt_out_of_processing

Opt the current user out of non-essential data processing (analytics, marketing, etc.).

Write

ParameterTypeRequiredDescription
categoriesstringYesCategories to opt out of

query_domains

List custom domains configured for the org (white-label feature).

Write

No parameters.

get_domain

Get details for a single custom domain (status, DNS records, SSL).

Write

ParameterTypeRequiredDescription
domainIdstringYesResource ID

add_custom_domain

Add a custom domain to the org (e.g. hr.acme.com). Requires the white-label add-on. Returns the DNS records to configure.

Destructive · Risk: high

ParameterTypeRequiredDescription
hostnamestringYesFully qualified domain (e.g. hr.acme.com)

verify_domain

Trigger DNS verification for a custom domain.

Write · Risk: medium

ParameterTypeRequiredDescription
domainIdstringYesResource ID

request_domain_ssl

Request a Let’s Encrypt SSL cert for a verified domain.

Write · Risk: medium

ParameterTypeRequiredDescription
domainIdstringYesResource ID

get_domain_dns_provider

Detect the DNS provider for a domain (Cloudflare, Route 53, etc.).

Write

ParameterTypeRequiredDescription
domainIdstringYesResource ID

delete_custom_domain

Remove a custom domain from the org.

Destructive · Risk: high

ParameterTypeRequiredDescription
domainIdstringYesResource ID

create_support_ticket

Create a support ticket. Routed to the BookYourPTO support team.

Write

ParameterTypeRequiredDescription
subjectstringYes
messagestringYes
categoryenum: BUG, FEATURE_REQUEST, BILLING, INTEGRATION, OTHERNo
priorityenum: LOW, MEDIUM, HIGH, URGENTNo

System

1 tool.

get_health

Check the MCP server health: API connectivity, auth status, cache size, and uptime.

Write

No parameters.


Auth

1 tool.

login

Exchange BookYourPTO email + password for an access token on this connection. Required only when running in per-user mode (no OAuth, no shared credentials).

Destructive · Risk: high

ParameterTypeRequiredDescription
emailstringYesBookYourPTO account email
passwordstringYesBookYourPTO account password