The Gusto MCP connector routes your AI agent's tool calls to Gusto's own MCP server through Scalekit. Each user signs in to Gusto once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 50 tools.
- Tools
- 50
- What they doRead · write · destructive
- 41 · 8 · 141 read8 write1 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Gusto MCP connection
In AgentKit > Connections, create a Gusto MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Gusto MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'gustomcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Gusto MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'gustomcp_get_company',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "gustomcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Gusto MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="gustomcp_get_company",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolgustomcp_get_companyRetrieve the company profile including legal name, entity type, EIN, and status.Read-onlyGet Company
Retrieve the company profile including legal name, entity type, EIN, and status.
Inputs
_contextstring- The original user question or request that prompted this tool call
gustomcp_get_company_onboarding_statusGet the company's onboarding status for its current experience, including outstanding questions, whether each is required, and their answer schemas.Read-onlyGet Company Onboarding Status
Get the company's onboarding status for its current experience, including outstanding questions, whether each is required, and their answer schemas. Drives step-by-step onboarding: save answers with save_company_onboarding_answer and re-check status after each save since a save can reroute the remaining questions.
Inputs
_contextstring- The original user question or request that prompted this tool call
gustomcp_get_compensationRetrieve a single pay rate record by UUID, including rate, frequency, and FLSA status.Read-onlyGet Compensation
Retrieve a single pay rate record by UUID, including rate, frequency, and FLSA status.
Inputs
compensation_uuidstringrequired- The unique identifier (UUID) for the record
_contextstring- The original user question or request that prompted this tool call
gustomcp_get_contractorRetrieve full profile for a contractor by UUID, including name, email, and payment method.Read-onlyGet Contractor
Retrieve full profile for a contractor by UUID, including name, email, and payment method.
Inputs
contractor_uuidstringrequired- The unique identifier (UUID) for the contractor
_contextstring- The original user question or request that prompted this tool call
gustomcp_get_contractor_paymentRetrieve details for a single contractor payment by UUID, including amount and payment method.Read-onlyGet Contractor Payment
Retrieve details for a single contractor payment by UUID, including amount and payment method.
Inputs
contractor_payment_uuidstringrequired- The unique identifier (UUID) for the contractor payment
_contextstring- The original user question or request that prompted this tool call
gustomcp_get_contractor_payment_groupRetrieve all individual contractor payments within a batched payment group by UUID.Read-onlyGet Contractor Payment Group
Retrieve all individual contractor payments within a batched payment group by UUID.
Inputs
contractor_payment_group_uuidstringrequired- The unique identifier (UUID) for the contractor payment group
_contextstring- The original user question or request that prompted this tool call
gustomcp_get_departmentRetrieve details for a single department by UUID, including name and assigned employees.Read-onlyGet Department
Retrieve details for a single department by UUID, including name and assigned employees.
Inputs
department_uuidstringrequired- The unique identifier (UUID) for the department
_contextstring- The original user question or request that prompted this tool call
gustomcp_get_employeeRetrieve full profile for an employee by UUID, including name, hire date, job, and location.Read-onlyGet Employee
Retrieve full profile for an employee by UUID, including name, hire date, job, and location.
Inputs
employee_uuidstringrequired- The unique identifier (UUID) for the employee to retrieve
_contextstring- The original user question or request that prompted this tool call
includestring- Comma-separated fields to include: all_compensations, all_home_addresses, company_name, current_home_address, custom_fields, portal_invitations
gustomcp_get_employee_earnings_summaryReturn per-employee earning breakdowns aggregated across all payrolls in a date range.Read-onlyGet Employee Earnings Summary
Return per-employee earning breakdowns aggregated across all payrolls in a date range.
Inputs
_contextstring- The original user question or request that prompted this tool call
end_datestring- End of date range (YYYY-MM-DD). Defaults to today.
start_datestring- Start of date range (YYYY-MM-DD). Defaults to Jan 1 of current year.
gustomcp_get_employee_home_addressRetrieve a single home address record by UUID, including street, city, state, and ZIP.Read-onlyGet Employee Home Address
Retrieve a single home address record by UUID, including street, city, state, and ZIP.
Inputs
home_address_uuidstringrequired- The unique identifier (UUID) for the address
_contextstring- The original user question or request that prompted this tool call
gustomcp_get_employee_rehireRetrieve rehire details for an employee, including new start date and updated employment terms.Read-onlyGet Employee Rehire
Retrieve rehire details for an employee, including new start date and updated employment terms.
Inputs
employee_uuidstringrequired- The unique identifier (UUID) for the employee
_contextstring- The original user question or request that prompted this tool call
gustomcp_get_employee_work_addressRetrieve a single work location assignment by UUID, including address and effective dates.Read-onlyGet Employee Work Address
Retrieve a single work location assignment by UUID, including address and effective dates.
Inputs
work_address_uuidstringrequired- The unique identifier (UUID) for the work location
_contextstring- The original user question or request that prompted this tool call
gustomcp_get_jobRetrieve details for a job position by UUID, including title, department, and current pay rate.Read-onlyGet Job
Retrieve details for a job position by UUID, including title, department, and current pay rate.
Inputs
job_uuidstringrequired- The unique identifier (UUID) for the job
_contextstring- The original user question or request that prompted this tool call
includestring- Use all_compensations to include all effective dated compensations instead of only the current compensation
gustomcp_get_locationRetrieve details for a company location by UUID, including address and filing information.Read-onlyGet Location
Retrieve details for a company location by UUID, including address and filing information.
Inputs
location_uuidstringrequired- The unique identifier (UUID) for the location
_contextstring- The original user question or request that prompted this tool call
gustomcp_get_onboarding_answerGet the current answer for a single onboarding question by question_key (as surfaced by get_company_onboarding_status), including any unset fields as null.Read-onlyGet Onboarding Answer
Get the current answer for a single onboarding question by question_key (as surfaced by get_company_onboarding_status), including any unset fields as null.
Inputs
question_keystringrequired- The onboarding question to read (e.g. "ein", "who_to_pay"), as surfaced by get_company_onboarding_status
_contextstring- The original user question or request that prompted this tool call
gustomcp_get_pay_scheduleRetrieve a pay schedule by UUID, including frequency and next scheduled pay dates.Read-onlyGet Pay Schedule
Retrieve a pay schedule by UUID, including frequency and next scheduled pay dates.
Inputs
pay_schedule_uuidstringrequired- The unique identifier (UUID) for the pay schedule
_contextstring- The original user question or request that prompted this tool call
gustomcp_get_payrollRetrieve complete details for a payroll run by UUID, including earnings, taxes, and net pay.Read-onlyGet Payroll
Retrieve complete details for a payroll run by UUID, including earnings, taxes, and net pay.
Inputs
payroll_uuidstringrequired- The unique identifier (UUID) for the payroll
_contextstring- The original user question or request that prompted this tool call
employee_compensations_pageinteger- Page number for paginating employee compensations within the payroll. Defaults to 1.
employee_compensations_perinteger- Number of employee compensations per page. Defaults to 100 (max).
gustomcp_get_time_sheetRetrieve time entries for a timesheet by UUID, including daily hours, overtime, and notes.Read-onlyGet Time Sheet
Retrieve time entries for a timesheet by UUID, including daily hours, overtime, and notes.
Inputs
time_sheet_uuidstringrequired- The unique identifier (UUID) for the timesheet
_contextstring- The original user question or request that prompted this tool call
gustomcp_get_token_infoReturn information about the current API token, including granted scopes and accessible resources.Read-onlyGet Token Info
Return information about the current API token, including granted scopes and accessible resources.
Inputs
_contextstring- The original user question or request that prompted this tool call
gustomcp_list_contractor_payment_groupsList batched contractor payment runs, showing payment group UUIDs and check dates.Read-onlyList Contractor Payment Groups
List batched contractor payment runs, showing payment group UUIDs and check dates.
Inputs
_contextstring- The original user question or request that prompted this tool call
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)
gustomcp_list_contractor_paymentsList payments made to contractors within a date range.Read-onlyList Contractor Payments
List payments made to contractors within a date range. Requires start_date and end_date.
Inputs
end_datestringrequired- End of date range (YYYY-MM-DD) for contractor payments
start_datestringrequired- Start of date range (YYYY-MM-DD) for contractor payments
_contextstring- The original user question or request that prompted this tool call
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
gustomcp_list_contractorsList all independent contractors for the company with pagination and search support.Read-onlyList Contractors
List all independent contractors for the company with pagination and search support.
Inputs
_contextstring- The original user question or request that prompted this tool call
includestring- Comma-separated fields to include: company_name, portal_invitations
onboardedboolean- Filter by contractors who have completed onboarding
onboarded_activeboolean- Filter by contractors who are onboarded and currently active
pageinteger- Page number for pagination
perinteger- Number of items per page
search_termstring- A string to search for in names
sort_bystring- Sort field and optional direction, e.g. name:asc. Supported fields: created_at, name, onboarding_status, type
terminatedboolean- Filter by contractors who are no longer active
terminated_todayboolean- Filter by contractors whose last day was today
gustomcp_list_custom_fields_schemaRetrieve definitions of all custom fields configured for the company, including types and options.Read-onlyList Custom Fields Schema
Retrieve definitions of all custom fields configured for the company, including types and options.
Inputs
_contextstring- The original user question or request that prompted this tool call
pageinteger- Page number for pagination (default 1)
perinteger- Number of items per page (default 25, max 500)
gustomcp_list_departmentsList all departments in the company, including names, UUIDs, and assigned employees.Read-onlyList Departments
List all departments in the company, including names, UUIDs, and assigned employees.
Inputs
_contextstring- The original user question or request that prompted this tool call
gustomcp_list_earning_typesList all earning type categories for the company, such as regular pay, overtime, and bonuses.Read-onlyList Earning Types
List all earning type categories for the company, such as regular pay, overtime, and bonuses.
Inputs
_contextstring- The original user question or request that prompted this tool call
gustomcp_list_employee_custom_fieldsRetrieve all custom field values set for a specific employee.Read-onlyList Employee Custom Fields
Retrieve all custom field values set for a specific employee.
Inputs
employee_uuidstringrequired- The unique identifier (UUID) for the employee
_contextstring- The original user question or request that prompted this tool call
pageinteger- Page number for pagination
perinteger- Number of items per page
gustomcp_list_employee_employment_historyRetrieve the work history timeline for an employee, including all roles and status changes.Read-onlyList Employee Employment History
Retrieve the work history timeline for an employee, including all roles and status changes.
Inputs
employee_uuidstringrequired- The unique identifier (UUID) for the employee
_contextstring- The original user question or request that prompted this tool call
gustomcp_list_employee_home_addressesList all home addresses on file for an employee, including current and historical entries.Read-onlyList Employee Home Addresses
List all home addresses on file for an employee, including current and historical entries.
Inputs
employee_uuidstringrequired- The unique identifier (UUID) for the employee
_contextstring- The original user question or request that prompted this tool call
gustomcp_list_employee_jobsList all job positions held by an employee, including title, location, and rate information.Read-onlyList Employee Jobs
List all job positions held by an employee, including title, location, and rate information.
Inputs
employee_uuidstringrequired- The unique identifier (UUID) for the employee
_contextstring- The original user question or request that prompted this tool call
includestring- Use all_compensations to include all effective dated compensations for each job
pageinteger- Page number for pagination
perinteger- Number of items per page
gustomcp_list_employee_terminationsRetrieve separation records for an employee, including departure dates and final pay details.Read-onlyList Employee Terminations
Retrieve separation records for an employee, including departure dates and final pay details.
Inputs
employee_uuidstringrequired- The unique identifier (UUID) for the employee
_contextstring- The original user question or request that prompted this tool call
gustomcp_list_employee_work_addressesList all work locations assigned to an employee, with effective dates.Read-onlyList Employee Work Addresses
List all work locations assigned to an employee, with effective dates.
Inputs
employee_uuidstringrequired- The unique identifier (UUID) for the employee
_contextstring- The original user question or request that prompted this tool call
gustomcp_list_employeesList all employees for the company with pagination and filtering by status, onboarding, or name.Read-onlyList Employees
List all employees for the company with pagination and filtering by status, onboarding, or name.
Inputs
_contextstring- The original user question or request that prompted this tool call
includestring- Comma-separated fields to include: all_compensations, all_home_addresses, company_name, current_home_address, custom_fields, portal_invitations
location_uuidstring- Filter by employees assigned to a specific location UUID
onboardedboolean- Filter by employees who have completed onboarding
onboarded_activeboolean- Filter by employees who are onboarded and currently active
pageinteger- Page number for pagination
payroll_uuidstring- Filter by employees included in a specific payroll UUID
perinteger- Number of items per page
search_termstring- A string to search for in names
sort_bystring- Sort field and optional direction, e.g. name:asc. Supported fields: created_at, name, onboarding_status
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
gustomcp_list_job_compensationsList the pay rate history for a job position, showing all rate changes over time.Read-onlyList Job Compensations
List the pay rate history for a job position, showing all rate changes over time.
Inputs
job_uuidstringrequired- The unique identifier (UUID) for the job
_contextstring- The original user question or request that prompted this tool call
includestring- Use all_compensations to include all effective dated compensations instead of only the current compensation
pageinteger- Page number for pagination
perinteger- Number of items per page
gustomcp_list_locationsList all physical office and work locations registered for the company.Read-onlyList Locations
List all physical office and work locations registered for the company.
Inputs
_contextstring- The original user question or request that prompted this tool call
pageinteger- Page number for pagination
perinteger- Number of items per page
gustomcp_list_pay_periodsList all pay periods for the company, showing start and end dates and linked payroll runs.Read-onlyList Pay Periods
List all pay periods for the company, showing start and end dates and linked payroll runs.
Inputs
_contextstring- The original user question or request that prompted this tool call
end_datestring- Filter pay periods ending on or before this date (YYYY-MM-DD). Defaults to today. Cannot be more than 3 months in the future.
payroll_typesstring- Comma-separated payroll types to include: regular, transition
start_datestring- Filter pay periods starting on or after this date (YYYY-MM-DD). Defaults to 6 months ago. Must be within 1 year of end_date.
gustomcp_list_pay_schedule_assignmentsShow which employees are assigned to which pay schedules.Read-onlyList Pay Schedule Assignments
Show which employees are assigned to which pay schedules.
Inputs
_contextstring- The original user question or request that prompted this tool call
gustomcp_list_pay_schedulesList all pay schedules for the company, showing frequency and schedule UUID.Read-onlyList Pay Schedules
List all pay schedules for the company, showing frequency and schedule UUID.
Inputs
_contextstring- The original user question or request that prompted this tool call
pageinteger- Page number for pagination
perinteger- Number of items per page
gustomcp_list_payroll_blockersIdentify issues preventing a payroll from being processed, such as missing setup or documents.Read-onlyList Payroll Blockers
Identify issues preventing a payroll from being processed, such as missing setup or documents.
Inputs
payroll_uuidstringrequired- The unique identifier (UUID) for the payroll to check blockers for
_contextstring- The original user question or request that prompted this tool call
gustomcp_list_payrollsList all payroll runs for the company with optional filtering by type, date, and status.Read-onlyList Payrolls
List all payroll runs for the company with optional filtering by type, date, and status.
Inputs
_contextstring- The original user question or request that prompted this tool call
date_filter_bystring- Specifies which date field to use when filtering with start_date and end_date. Only applies to regular processed payrolls. Defaults to pay period if not provided. Valid value is check_date.
end_datestring- Filters where the pay period ends on or before this date (YYYY-MM-DD). Cannot be more than 3 months in the future and must be within 1 year of start_date.
includestring- Comma-separated: taxes, totals, payroll_status_meta, risk_blockers, reversals
pageinteger- The page that is requested. When unspecified, will load all objects unless endpoint forces pagination.
payroll_typesstring- Comma-separated: regular,off_cycle,external
perinteger- Number of objects per page. For majority of endpoints will default to 25.
processing_statusesstring- Comma-separated: processed,unprocessed
sort_bystring- Sort field: pay_period or check_date
sort_orderstring- Sort payrolls in ascending (asc) or descending (desc) chronological order. Defaults to asc.
start_datestring- Filters where the pay period starts on or after this date (YYYY-MM-DD). Must be within 1 year of end_date.
gustomcp_list_time_recordsList time records for the company over a date range.Read-onlyList Time Records
List time records for the company over a date range. Requires start_date and end_date.
Inputs
end_datestringrequired- End date of the pay period (YYYY-MM-DD). Filters both native shifts and third-party timesheets.
start_datestringrequired- Start date of the pay period (YYYY-MM-DD). Filters both native shifts and third-party timesheets.
_contextstring- The original user question or request that prompted this tool call
gustomcp_search_business_infoResolve free-text business info to canonical codes: type industry returns NAICS industry classifications, type occupation returns BLS occupation codes, matched against the user's query.Read-onlySearch Business Info
Resolve free-text business info to canonical codes: type industry returns NAICS industry classifications, type occupation returns BLS occupation codes, matched against the user's query.
Inputs
querystringrequired- The user's free-text description of what to resolve, in their own words (e.g. "we run an apple orchard" for industry, or "software developer" for occupation)
typestringrequired- What kind of business information to resolve. "industry" returns NAICS industry classifications; "occupation" returns BLS occupation codesone of
industryoccupation _contextstring- The original user question or request that prompted this tool call
gustomcp_accept_reasonable_salaryAccept the most recently calculated reasonable-salary estimate (from calculate_reasonable_salary) for a Solo S-corp owner, recording it as their W-2 salary for IRS-defensibility.WriteAccept Reasonable Salary
Accept the most recently calculated reasonable-salary estimate (from calculate_reasonable_salary) for a Solo S-corp owner, recording it as their W-2 salary for IRS-defensibility. Call only after the user has reviewed and explicitly confirmed the estimate.
- Idempotent
Inputs
_contextstring- The original user question or request that prompted this tool call
gustomcp_calculate_reasonable_salaryCalculate an IRS-defensible reasonable salary for an S-corp owner from BLS wage data, given the company's zip_code and one or more occupations (codes from search_business_info with type occupation).WriteCalculate Reasonable Salary
Calculate an IRS-defensible reasonable salary for an S-corp owner from BLS wage data, given the company's zip_code and one or more occupations (codes from search_business_info with type occupation). Overwrites the single in-progress estimate for the company/owner; call accept_reasonable_salary to persist it after user confirmation.
- Idempotent
Inputs
occupationsarrayrequired- The occupation(s) making up the owner's role. At least one entry is required; for a split role pass several, with time_percentage values summing to 1.0
zip_codestringrequired- The company's 5-digit ZIP code, used to find the BLS wage area
_contextstring- The original user question or request that prompted this tool call
annual_net_revenueinteger- The company's annual net revenue in whole USD; when provided, caps the salary at this amount
work_scheduleobject- The owner's work schedule. Defaults to full-time
gustomcp_get_company_onboarding_packageGet the company's available onboarding plans, add-ons, and benefits, plus Gusto's recommended package and the company's current selection.WriteGet Company Onboarding Package
Get the company's available onboarding plans, add-ons, and benefits, plus Gusto's recommended package and the company's current selection. The first call made once the profile is ready also computes and stores the recommendation, a one-time side effect.
Inputs
_contextstring- The original user question or request that prompted this tool call
gustomcp_manage_accountGet the Gusto account's status or resend the password setup email, via the action parameter.WriteManage Account
Get the Gusto account's status or resend the password setup email, via the action parameter.
Inputs
actionstringrequired- The account action to performone of
get_statusresend_password_setup_email _contextstring- The original user question or request that prompted this tool call
gustomcp_run_payrollCalculate and submit an existing unprocessed payroll by payroll_uuid.WriteRun Payroll
Calculate and submit an existing unprocessed payroll by payroll_uuid. Cannot create new or off-cycle payrolls; use update_payroll first to adjust hours, amounts, or PTO before running.
- Idempotent
Inputs
payroll_uuidstringrequired- The unique identifier (UUID) for the payroll
_contextstring- The original user question or request that prompted this tool call
gustomcp_save_company_onboarding_answerSave the answer for one onboarding question_key.WriteSave Company Onboarding Answer
Save the answer for one onboarding question_key. The value's shape depends on the question (see its value_schema from get_company_onboarding_status); a successful save returns the refreshed onboarding_status since a save can reroute the remaining questions.
- Idempotent
Inputs
question_keystringrequired- The onboarding question to answer (e.g. "who_to_pay"), as surfaced by the onboarding status read
valueobjectrequired- The answer object for the given question_key. Most questions take a flat object whose keys are the field names from the question's value_schema, e.g. { "pay_employees": true } for question_key "who_to_pay". Exception: "company_state_tax_setup" nests its state-qualified keys under a "fields" object.
_contextstring- The original user question or request that prompted this tool call
gustomcp_submit_feedbackSubmit user feedback about the Gusto MCP experience, with an optional category and freeform context metadata (e.g.WriteSubmit User Feedback
Submit user feedback about the Gusto MCP experience, with an optional category and freeform context metadata (e.g. tool invoked, app version, OS).
Inputs
messagestringrequired- The user's feedback (required, max 5000 characters)
_contextstring- The original user question or request that prompted this tool call
categorystring- Optional category for the feedbackone of
bugfeature_requestgeneralpraise contextobject- Optional metadata (e.g. tool invoked, app version, OS) to help the reviewer
gustomcp_update_payrollUpdate inputs (hours, amounts, memos, PTO, exclusions, payment method) for employees on an unprocessed payroll before running it.WriteUpdate Payroll
Update inputs (hours, amounts, memos, PTO, exclusions, payment method) for employees on an unprocessed payroll before running it. Send an empty employee_compensations array only to materialize the roster of a pre-prepare payroll. withholding_pay_period, skip_regular_deductions, and fixed_withholding_rate apply to general off-cycle payrolls only.
Inputs
employee_compensationsarrayrequired- Array of per-employee updates. Only include employees you want to change; omitted employees are left as-is. Max 100. Send an EMPTY array to materialize the roster of a pre-prepare payroll
payroll_uuidstringrequired- UUID of the unprocessed payroll to update
_contextstring- The original user question or request that prompted this tool call
fixed_withholding_rateboolean- General off-cycle only. Withholds federal at IRS supplemental rate (22%) and state at state supplemental rate
skip_regular_deductionsboolean- General off-cycle only. Blocks regular deductions and contributions for this payroll
withholding_pay_periodstring- General off-cycle only (Correction/Bonus/Adhoc). Not accepted by termination or transition payrollsone of
Every weekEvery other weekTwice per monthMonthlyQuarterlySemiannuallyAnnually
gustomcp_record_timeRecord time for an employee or contractor (identified by company_member_uuid, from list_time_records), either adding a new shift or updating an existing one via on_existing.DestructiveRecord Time
Record time for an employee or contractor (identified by company_member_uuid, from list_time_records), either adding a new shift or updating an existing one via on_existing. shift_started_at, shift_ended_at, and timezone are always required, but may be sent as null on an update to leave that field unchanged; updates additionally require shift_id.
Inputs
company_member_uuidstringrequired- The company member UUID for the worker whose time is being recorded, from list_time_records' companyMemberUuid field
company_uuidstringrequired- The company's UUID
shift_ended_atstringrequired- ISO8601 timestamp with explicit UTC offset for the end of the shift, in the past. Must be later than shift_started_at. Null leaves the stored end alone on an update; refused on an add
shift_started_atstringrequired- ISO8601 timestamp with explicit UTC offset for the start of the shift. Must be earlier than shift_ended_at. Null is only meaningful when on_existing is "update", where it leaves the stored start alone; refused on an add
timezonestringrequired- IANA timezone of the worker (e.g. America/Los_Angeles). Sets the tracker's timezone when one isn't already set. Null leaves the stored timezone alone on an update
_contextstring- The original user question or request that prompted this tool call
hours_workednumber- Only used for external/third-party time tracking; ignored for native. Overrides the hours derived from the shift window rather than validating against it
job_uuidstring- The job UUID the hours belong to, from list_employee_jobs. Required on a native update; omit entirely for a contractor
notestring- Optional note to attach to the entry. Only used for native time tracking; dropped (with a warning) for third-party
on_existingstring- Whether to add a new entry alongside existing time, or update an existing one. Defaults to add when omitted. update also requires shift_idone of
addupdate ot_policy_approvedboolean- Only relevant for external/third-party time tracking with unclassified hours. Set true once the admin has explicitly approved the overtime policy suggestion returned by a prior refusal
shift_idstring- Required when on_existing is "update". For native time tracking it's a shift's id under shifts; for third-party it's the timesheet's own top-level id under timesheets
No tools match.