← Back to all apps

Overview

Tools Available40
CategoryFinance

Run payroll and team insights

Available Tools

Gusto provides 40 tools that can be used to interact with its services.

Calculate Payroll

calculate_payroll
Full Description

Internal tool for payroll calculation. Use run_payroll instead.

Parameters

Required
payroll_uuidstring

Unique identifier (UUID) of the payroll to calculate

Get Company

get_company
Full Description

Retrieves 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 Compensation

get_compensation
Full Description

Retrieves 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.

Parameters

Required
compensation_uuidstring

The unique identifier (UUID) for the record

Get Contractor

get_contractor
Full Description

Retrieves 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.

Parameters

Required
contractor_uuidstring

The unique identifier (UUID) for the contractor

Get Contractor Payment

get_contractor_payment
Full Description

Retrieves 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.

Parameters

Required
contractor_payment_uuidstring

The unique identifier (UUID) for the contractor payment

Get Contractor Payment Group

get_contractor_payment_group
Full Description

Retrieves 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.

Parameters

Required
contractor_payment_group_uuidstring

The unique identifier (UUID) for the contractor payment group

Get Department

get_department
Full Description

Retrieves 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.

Parameters

Required
department_uuidstring

The unique identifier (UUID) for the department

Get Employee

get_employee
Full Description

Retrieves 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.

Parameters

Required
employee_uuidstring

The unique identifier (UUID) for the employee to retrieve

Get Employee Home Address

get_employee_home_address
Full Description

Retrieves 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.

Parameters

Required
home_address_uuidstring

The unique identifier (UUID) for the address

Get Employee Rehire

get_employee_rehire
Full Description

Retrieves 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.

Parameters

Required
employee_uuidstring

The unique identifier (UUID) for the employee

Get Employee Work Address

get_employee_work_address
Full Description

Retrieves 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.

Parameters

Required
work_address_uuidstring

The unique identifier (UUID) for the work location

Get Job

get_job
Full Description

Retrieves 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.

Parameters

Required
job_uuidstring

The unique identifier (UUID) for the job

Get Location

get_location
Full Description

Retrieves 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.

Parameters

Required
location_uuidstring

The unique identifier (UUID) for the location

Get Pay Schedule

get_pay_schedule
Full Description

Retrieves 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.

Parameters

Required
pay_schedule_uuidstring

The unique identifier (UUID) for the pay schedule

Get Payroll

get_payroll
Full Description

Retrieves 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.

Parameters

Required
payroll_uuidstring

The unique identifier (UUID) for the payroll

Get Time Sheet

get_time_sheet
Full Description

Retrieves 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.

Parameters

Required
time_sheet_uuidstring

The unique identifier (UUID) for the timesheet

Get Token Info

get_token_info
Full Description

Returns 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 Groups

list_contractor_payment_groups
Full Description

Lists 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.

Parameters

Optional
end_datestring

Optional end of date range (YYYY-MM-DD)

pageinteger

Page number for pagination

perinteger

Number of items per page

start_datestring

Optional start of date range (YYYY-MM-DD)

List Contractor Payments

list_contractor_payments
Full Description

Lists 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.

Parameters

Required
end_datestring

End of date range (YYYY-MM-DD) for contractor payments

start_datestring

Start of date range (YYYY-MM-DD) for contractor payments

Optional
contractor_uuidstring

Filter payments by contractor UUID

group_by_dateboolean

When true, groups results by check date

pageinteger

Page number for pagination

perinteger

Number of items per page

List Contractors

list_contractors
Full Description

Lists 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.

Parameters

Optional
pageinteger

Page number for pagination

perinteger

Number of items per page

search_termstring

A string to search for in names

List Custom Fields Schema

list_custom_fields_schema
Full Description

Retrieves 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 Departments

list_departments
Full Description

Lists 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 Types

list_earning_types
Full Description

Lists 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 Fields

list_employee_custom_fields
Full Description

Retrieves 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.

Parameters

Required
employee_uuidstring

The unique identifier (UUID) for the employee

List Employee Employment History

list_employee_employment_history
Full Description

Retrieves 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.

Parameters

Required
employee_uuidstring

The unique identifier (UUID) for the employee

List Employee Home Addresses

list_employee_home_addresses
Full Description

Lists 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.

Parameters

Required
employee_uuidstring

The unique identifier (UUID) for the employee

List Employee Jobs

list_employee_jobs
Full Description

Lists 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.

Parameters

Required
employee_uuidstring

The unique identifier (UUID) for the employee

List Employee Terminations

list_employee_terminations
Full Description

Retrieves 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.

Parameters

Required
employee_uuidstring

The unique identifier (UUID) for the employee

List Employee Work Addresses

list_employee_work_addresses
Full Description

Lists 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.

Parameters

Required
employee_uuidstring

The unique identifier (UUID) for the employee

List Employees

list_employees
Full Description

Lists 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.

Parameters

Optional
includestring

Comma-separated fields to include such as all_compensations or custom_fields

onboardedboolean

Filter by employees who have completed onboarding

pageinteger

Page number for pagination

perinteger

Number of items per page

search_termstring

A string to search for in names

terminatedboolean

Filter by employees who are no longer active with the company

terminated_todayboolean

Filter by employees whose last day was today

uuidsstring

Comma-separated subset of employee UUIDs to fetch

List Job Compensations

list_job_compensations
Full Description

Lists 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.

Parameters

Required
job_uuidstring

The unique identifier (UUID) for the job

List Locations

list_locations
Full Description

Lists 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 Periods

list_pay_periods
Full Description

Lists 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 Assignments

list_pay_schedule_assignments
Full Description

Shows 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 Schedules

list_pay_schedules
Full Description

Lists 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 Blockers

list_payroll_blockers
Full Description

Identifies 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.

Parameters

Required
payroll_uuidstring

The unique identifier (UUID) for the payroll to check blockers for

List Payrolls

list_payrolls
Full Description

Lists 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.

Parameters

Optional
end_datestring

Filters where the pay period ends on or before this date (YYYY-MM-DD)

includestring

Comma-separated: totals, payroll_status_meta, risk_blockers, reversals

payroll_typesstring

Comma-separated: regular,off_cycle,external

processing_statusesstring

Comma-separated: processed,unprocessed

start_datestring

Filters where the pay period starts on or after this date (YYYY-MM-DD)

List Time Sheets

list_time_sheets
Full Description

Lists 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 Payroll

run_payroll
Full Description

Calculates 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.

Parameters

Required
payroll_uuidstring

The unique identifier (UUID) for the payroll

Submit Payroll

submit_payroll
Full Description

Internal tool for payroll submission. Use run_payroll instead.

Parameters

Required
payroll_uuidstring

Unique identifier (UUID) of the payroll to submit