Calculate Payroll
calculate_payrollFull Description
Internal tool for payroll calculation. Use run_payroll instead.
Parameters
payroll_uuidstringUnique identifier (UUID) of the payroll to calculate
Run payroll and team insights
Gusto provides 40 tools that can be used to interact with its services.
calculate_payrollInternal tool for payroll calculation. Use run_payroll instead.
payroll_uuidstringUnique identifier (UUID) of the payroll to calculate
get_companyRetrieves comprehensive business profile information including legal name, business entity type (LLC, Corporation, etc.), EIN, primary contact details, and configured locations. Use this to answer questions about company setup, business structure, or basic organizational info.
get_compensationRetrieves full details for a single pay rate record by UUID, including rate amount, payment frequency, FLSA status, and effective date. Use list_job_compensations first to find the compensation UUID. Call this for specific details about one pay rate entry.
compensation_uuidstringThe unique identifier (UUID) for the record
get_contractorRetrieves full profile for a single contractor by UUID, including name, email, business name (if applicable), payment method, and engagement dates. Use list_contractors first to find the contractor UUID. Call this for detailed info about a specific independent worker.
contractor_uuidstringThe unique identifier (UUID) for the contractor
get_contractor_paymentRetrieves full details for a single contractor payment by UUID, including amount, payment method, bonus breakdown, and reimbursements. Use list_contractor_payments first to find the payment UUID. Call this for line-item details of one specific contractor payment.
contractor_payment_uuidstringThe unique identifier (UUID) for the contractor payment
get_contractor_payment_groupRetrieves all individual contractor payments within a batched payment group by UUID. Shows each contractor's payment amount and details from that batch. Use list_contractor_payment_groups first to find the group UUID. Call this to see all payments in a single batch run.
contractor_payment_group_uuidstringThe unique identifier (UUID) for the contractor payment group
get_departmentRetrieves full details for a single department by UUID, including name, parent department (if nested), and list of assigned employees. Use list_departments first to find the department UUID. Call this for details about one specific department.
department_uuidstringThe unique identifier (UUID) for the department
get_employeeRetrieves full profile for a single employee by UUID, including name, email, hire date, department, manager, job title, work location, time-off policy assignments, and time-off balances. Use list_employees first to find the employee UUID. Call this when you need detailed info about one specific person.
employee_uuidstringThe unique identifier (UUID) for the employee to retrieve
get_employee_home_addressRetrieves full details for a single home address record by UUID, including street, city, state, ZIP code, and effective dates. Use list_employee_home_addresses first to find the address UUID. Call this for complete address details for one specific record.
home_address_uuidstringThe unique identifier (UUID) for the address
get_employee_rehireRetrieves information about an employee being brought back to the company after a previous departure. Includes the new start date and any updated employment terms. Use this to check if someone is a returning worker and when they rejoined.
employee_uuidstringThe unique identifier (UUID) for the employee
get_employee_work_addressRetrieves full details for a single work location assignment by UUID, including the location address and effective dates. Use list_employee_work_addresses first to find the work address UUID. Call this for complete details about a specific work location assignment.
work_address_uuidstringThe unique identifier (UUID) for the work location
get_jobRetrieves full details for a single job position by UUID, including title, department, location, FLSA classification, and current pay rate. Use list_employee_jobs first to find the job UUID. Call this for detailed info about a specific role assignment.
job_uuidstringThe unique identifier (UUID) for the job
get_locationRetrieves full details for a single company location by UUID, including complete address, phone number, and filing addresses for tax purposes. Use list_locations first to find the location UUID. Call this for complete information about a specific office or work site.
location_uuidstringThe unique identifier (UUID) for the location
get_pay_scheduleRetrieves full details for a single pay schedule by UUID, including frequency, anchor dates, and next scheduled pay dates. Use list_pay_schedules first to find the schedule UUID. Call this to see when the next payday is or understand schedule configuration.
pay_schedule_uuidstringThe unique identifier (UUID) for the pay schedule
get_payrollRetrieves complete details for a single payroll by UUID, including worker earnings, taxes, deductions, and net pay. This tool CANNOT modify payroll data - all payroll amounts and settings are managed in Gusto directly. Use run_payroll to process a payroll.
payroll_uuidstringThe unique identifier (UUID) for the payroll
get_time_sheetRetrieves detailed time entries for a single timesheet by UUID, including daily hours worked, overtime, breaks, and notes. Use list_time_sheets first to find the timesheet UUID. Call this for line-item breakdown of someone's hours for a specific pay period.
time_sheet_uuidstringThe unique identifier (UUID) for the timesheet
get_token_infoReturns information about the current API access token including which permissions (scopes) are granted and which company resources can be accessed. Use this to check what data operations are available or troubleshoot access issues before attempting other API calls.
list_contractor_payment_groupsLists batched contractor payment runs for the company. A payment group represents multiple contractor payments processed together on the same date. Shows group UUID, check date, and processing status. Use this to see batched payment history or find payment group UUIDs.
end_datestringOptional end of date range (YYYY-MM-DD)
pageintegerPage number for pagination
perintegerNumber of items per page
start_datestringOptional start of date range (YYYY-MM-DD)
list_contractor_paymentsLists all payments made to independent contractors within a date range. Shows payment amounts, check dates, and contractor info. Requires start_date and end_date parameters. Use this to see contractor payment history, audit 1099 payments, or find how much was paid to contractors.
end_datestringEnd of date range (YYYY-MM-DD) for contractor payments
start_datestringStart of date range (YYYY-MM-DD) for contractor payments
contractor_uuidstringFilter payments by contractor UUID
group_by_datebooleanWhen true, groups results by check date
pageintegerPage number for pagination
perintegerNumber of items per page
list_contractorsLists all independent contractors (1099 workers) for the company with pagination and search. Returns contractor UUIDs, names, and basic info. Unlike employees (W-2), contractors are paid separately and file their own taxes. Use this to find contractor UUIDs or get a roster of non-employee workers.
pageintegerPage number for pagination
perintegerNumber of items per page
search_termstringA string to search for in names
list_custom_fields_schemaRetrieves the definitions of all custom fields configured for the company, including field names, data types, and selection options. Custom fields let companies track additional worker attributes beyond standard HR data. Use this to understand what custom data is available before querying individual worker field values.
list_departmentsLists all departments in the company org structure, including department names, UUIDs, and which employees are assigned to each. Use this to see the organizational breakdown, find department headcounts, or understand how workers are grouped.
list_earning_typesLists all earning type categories configured for the company, such as regular pay, overtime, bonuses, commissions, tips, and custom earning types. Shows type name, category, and whether it's taxable. Use this to understand available pay types for payroll input.
list_employee_custom_fieldsRetrieves all custom field values set for a specific employee. Custom fields are company-defined attributes like T-shirt size, emergency contact, certifications, or any other custom data. Use list_custom_fields_schema first to see available field definitions.
employee_uuidstringThe unique identifier (UUID) for the employee
list_employee_employment_historyRetrieves the complete work history timeline for an employee, including all positions held, role changes, and status transitions. Use this to answer questions about someone's tenure, past roles, or employment dates within the organization.
employee_uuidstringThe unique identifier (UUID) for the employee
list_employee_home_addressesLists all residential addresses on file for an employee, including current and historical addresses with effective dates. Home addresses are used for tax withholding calculations and mailing.
employee_uuidstringThe unique identifier (UUID) for the employee
list_employee_jobsLists all job positions held by an employee, including current and past roles. Each job record contains title, location, hire date, and rate information. Use this to see someone's role history or find job UUIDs needed for compensation lookups.
employee_uuidstringThe unique identifier (UUID) for the employee
list_employee_terminationsRetrieves offboarding and separation records for an employee, including departure dates, reasons for leaving, and final pay information. Use this to find when someone left the company, their exit date, or details about their offboarding process.
employee_uuidstringThe unique identifier (UUID) for the employee
list_employee_work_addressesLists all work locations assigned to an employee, including current and historical assignments with effective dates. Work addresses determine work-state tax jurisdiction. Use this to see where someone works or has worked, especially for remote or multi-location workers.
employee_uuidstringThe unique identifier (UUID) for the employee
list_employeesLists all employees for the company with pagination and filtering options. Returns basic profile data for each person. Filter by onboarding status, active/inactive status, or search by name. Use this to find employee UUIDs, get headcount, or answer questions about the workforce roster.
includestringComma-separated fields to include such as all_compensations or custom_fields
onboardedbooleanFilter by employees who have completed onboarding
pageintegerPage number for pagination
perintegerNumber of items per page
search_termstringA string to search for in names
terminatedbooleanFilter by employees who are no longer active with the company
terminated_todaybooleanFilter by employees whose last day was today
uuidsstringComma-separated subset of employee UUIDs to fetch
list_job_compensationsLists the pay rate history for a job position, showing all salary or hourly rate changes over time. Each entry includes effective date, rate amount, and payment unit (hourly/salary). Use this to see pay history or track when raises were given.
job_uuidstringThe unique identifier (UUID) for the job
list_locationsLists all physical office or work locations registered for the company, including addresses and whether each is active. Locations are used for tax filing, work address assignments, and compliance. Use this to see all company offices or find location UUIDs.
list_pay_periodsLists all pay periods (date ranges when work is performed) for the company, with links to associated payroll runs. Shows start date, end date, check date, and payroll status. Use this to see upcoming pay periods or find which payroll covers a specific date range.
list_pay_schedule_assignmentsShows which employees are assigned to which pay schedules. Returns mappings between worker UUIDs and schedule UUIDs. Assignment rules vary by company setup - some assign by department, others individually. Use this to find out when a specific person gets paid or which schedule they follow.
list_pay_schedulesLists all configured pay schedules for the company, showing frequency (weekly, biweekly, monthly, etc.), name, and schedule UUID. Does not show which workers are on each schedule. Use this to understand pay frequency options or find schedule UUIDs for assignment lookups.
list_payroll_blockersIdentifies issues preventing a specific payroll from being processed, such as missing bank accounts, incomplete tax setup, or unsigned documents. Each blocker includes a description and resolution steps. Use this to diagnose why payroll cannot run or to check readiness before processing.
payroll_uuidstringThe unique identifier (UUID) for the payroll to check blockers for
list_payrollsLists all payroll runs for the company with filtering options. When called with no arguments, returns all payrolls (processed and unprocessed, regular, off_cycle, and external) from the past 6 months (start_date defaults to 6 months ago, end_date defaults to today). You can filter results by providing processing_statuses, payroll_types, start_date, end_date, or include parameters. Date filters apply to pay period (work dates), not payment dates. Date range constraints are that the range cannot exceed 1 year, and end_date cannot be more than 3 months in the future. Returns payroll UUIDs, check dates, processing status (processed,unprocessed), and type (regular,off_cycle,external). Use include=totals to get gross pay, taxes, and net amounts. Common use case is to find the next payroll to process by filtering for processing_statuses=unprocessed and selecting the payroll with check_date closest to today's date.
end_datestringFilters where the pay period ends on or before this date (YYYY-MM-DD)
includestringComma-separated: totals, payroll_status_meta, risk_blockers, reversals
payroll_typesstringComma-separated: regular,off_cycle,external
processing_statusesstringComma-separated: processed,unprocessed
start_datestringFilters where the pay period starts on or after this date (YYYY-MM-DD)
list_time_sheetsLists all timesheets for hourly workers across the company. Each timesheet represents one person's hours for a pay period. Shows total hours, approval status, and associated payroll. Use this to review pending time entries, find unapproved timesheets, or audit hours worked.
run_payrollCalculates and submits an existing unprocessed payroll. CANNOT create new payrolls, off-cycle payrolls, or modify payroll data (amounts, hours, earnings). If the user needs an off-cycle payroll (bonus, correction, termination), they must first create it in Gusto, then return here to run it. When multiple unprocessed payrolls exist, prefer the one with a check date closest to today.
payroll_uuidstringThe unique identifier (UUID) for the payroll
submit_payrollInternal tool for payroll submission. Use run_payroll instead.
payroll_uuidstringUnique identifier (UUID) of the payroll to submit