Gusto MCP
Vendor MCP50 toolsOAuth 2.1/DCRAccounting & FinanceProductivityConnect to Gusto MCP. Manage employees, contractors, payroll, departments, and company data from your AI workflows.
Gusto MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set 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> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_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)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'gustomcp_get_company',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_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)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Update payroll — Update inputs (hours, amounts, memos, PTO, exclusions, payment method) for employees on an unprocessed payroll before running it
- Feedback submit — Submit user feedback about the Gusto MCP experience, with an optional category and freeform context metadata (e.g
- Search 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
- Answer save company onboarding — Save the answer for one onboarding question_key
- Run payroll — Calculate and submit an existing unprocessed payroll by payroll_uuid
- Time record — 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
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
gustomcp_accept_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.1 param
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.
_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_calculate_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.5 params
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.
occupationsarrayrequiredThe 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.0zip_codestringrequiredThe company's 5-digit ZIP code, used to find the BLS wage area_contextstringoptionalThe original user question or request that prompted this tool callannual_net_revenueintegeroptionalThe company's annual net revenue in whole USD; when provided, caps the salary at this amountwork_scheduleobjectoptionalThe owner's work schedule. Defaults to full-timegustomcp_get_company#Retrieve the company profile including legal name, entity type, EIN, and status.1 param
Retrieve the company profile including legal name, entity type, EIN, and status.
_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_get_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.1 param
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.
_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_get_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.1 param
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.
_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_get_compensation#Retrieve a single pay rate record by UUID, including rate, frequency, and FLSA status.2 params
Retrieve a single pay rate record by UUID, including rate, frequency, and FLSA status.
compensation_uuidstringrequiredThe unique identifier (UUID) for the record_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_get_contractor#Retrieve full profile for a contractor by UUID, including name, email, and payment method.2 params
Retrieve full profile for a contractor by UUID, including name, email, and payment method.
contractor_uuidstringrequiredThe unique identifier (UUID) for the contractor_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_get_contractor_payment#Retrieve details for a single contractor payment by UUID, including amount and payment method.2 params
Retrieve details for a single contractor payment by UUID, including amount and payment method.
contractor_payment_uuidstringrequiredThe unique identifier (UUID) for the contractor payment_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_get_contractor_payment_group#Retrieve all individual contractor payments within a batched payment group by UUID.2 params
Retrieve all individual contractor payments within a batched payment group by UUID.
contractor_payment_group_uuidstringrequiredThe unique identifier (UUID) for the contractor payment group_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_get_department#Retrieve details for a single department by UUID, including name and assigned employees.2 params
Retrieve details for a single department by UUID, including name and assigned employees.
department_uuidstringrequiredThe unique identifier (UUID) for the department_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_get_employee#Retrieve full profile for an employee by UUID, including name, hire date, job, and location.3 params
Retrieve full profile for an employee by UUID, including name, hire date, job, and location.
employee_uuidstringrequiredThe unique identifier (UUID) for the employee to retrieve_contextstringoptionalThe original user question or request that prompted this tool callincludestringoptionalComma-separated fields to include: all_compensations, all_home_addresses, company_name, current_home_address, custom_fields, portal_invitationsgustomcp_get_employee_earnings_summary#Return per-employee earning breakdowns aggregated across all payrolls in a date range.3 params
Return per-employee earning breakdowns aggregated across all payrolls in a date range.
_contextstringoptionalThe original user question or request that prompted this tool callend_datestringoptionalEnd of date range (YYYY-MM-DD). Defaults to today.start_datestringoptionalStart of date range (YYYY-MM-DD). Defaults to Jan 1 of current year.gustomcp_get_employee_home_address#Retrieve a single home address record by UUID, including street, city, state, and ZIP.2 params
Retrieve a single home address record by UUID, including street, city, state, and ZIP.
home_address_uuidstringrequiredThe unique identifier (UUID) for the address_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_get_employee_rehire#Retrieve rehire details for an employee, including new start date and updated employment terms.2 params
Retrieve rehire details for an employee, including new start date and updated employment terms.
employee_uuidstringrequiredThe unique identifier (UUID) for the employee_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_get_employee_work_address#Retrieve a single work location assignment by UUID, including address and effective dates.2 params
Retrieve a single work location assignment by UUID, including address and effective dates.
work_address_uuidstringrequiredThe unique identifier (UUID) for the work location_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_get_job#Retrieve details for a job position by UUID, including title, department, and current pay rate.3 params
Retrieve details for a job position by UUID, including title, department, and current pay rate.
job_uuidstringrequiredThe unique identifier (UUID) for the job_contextstringoptionalThe original user question or request that prompted this tool callincludestringoptionalUse all_compensations to include all effective dated compensations instead of only the current compensationgustomcp_get_location#Retrieve details for a company location by UUID, including address and filing information.2 params
Retrieve details for a company location by UUID, including address and filing information.
location_uuidstringrequiredThe unique identifier (UUID) for the location_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_get_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.2 params
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.
question_keystringrequiredThe onboarding question to read (e.g. "ein", "who_to_pay"), as surfaced by get_company_onboarding_status_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_get_pay_schedule#Retrieve a pay schedule by UUID, including frequency and next scheduled pay dates.2 params
Retrieve a pay schedule by UUID, including frequency and next scheduled pay dates.
pay_schedule_uuidstringrequiredThe unique identifier (UUID) for the pay schedule_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_get_payroll#Retrieve complete details for a payroll run by UUID, including earnings, taxes, and net pay.4 params
Retrieve complete details for a payroll run by UUID, including earnings, taxes, and net pay.
payroll_uuidstringrequiredThe unique identifier (UUID) for the payroll_contextstringoptionalThe original user question or request that prompted this tool callemployee_compensations_pageintegeroptionalPage number for paginating employee compensations within the payroll. Defaults to 1.employee_compensations_perintegeroptionalNumber of employee compensations per page. Defaults to 100 (max).gustomcp_get_time_sheet#Retrieve time entries for a timesheet by UUID, including daily hours, overtime, and notes.2 params
Retrieve time entries for a timesheet by UUID, including daily hours, overtime, and notes.
time_sheet_uuidstringrequiredThe unique identifier (UUID) for the timesheet_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_get_token_info#Return information about the current API token, including granted scopes and accessible resources.1 param
Return information about the current API token, including granted scopes and accessible resources.
_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_list_contractor_payment_groups#List batched contractor payment runs, showing payment group UUIDs and check dates.5 params
List batched contractor payment runs, showing payment group UUIDs and check dates.
_contextstringoptionalThe original user question or request that prompted this tool callend_datestringoptionalOptional end of date range (YYYY-MM-DD)pageintegeroptionalPage number for paginationperintegeroptionalNumber of items per pagestart_datestringoptionalOptional start of date range (YYYY-MM-DD)gustomcp_list_contractor_payments#List payments made to contractors within a date range. Requires start_date and end_date.7 params
List payments made to contractors within a date range. Requires start_date and end_date.
end_datestringrequiredEnd of date range (YYYY-MM-DD) for contractor paymentsstart_datestringrequiredStart of date range (YYYY-MM-DD) for contractor payments_contextstringoptionalThe original user question or request that prompted this tool callcontractor_uuidstringoptionalFilter payments by contractor UUIDgroup_by_datebooleanoptionalWhen true, groups results by check datepageintegeroptionalPage number for paginationperintegeroptionalNumber of items per pagegustomcp_list_contractors#List all independent contractors for the company with pagination and search support.10 params
List all independent contractors for the company with pagination and search support.
_contextstringoptionalThe original user question or request that prompted this tool callincludestringoptionalComma-separated fields to include: company_name, portal_invitationsonboardedbooleanoptionalFilter by contractors who have completed onboardingonboarded_activebooleanoptionalFilter by contractors who are onboarded and currently activepageintegeroptionalPage number for paginationperintegeroptionalNumber of items per pagesearch_termstringoptionalA string to search for in namessort_bystringoptionalSort field and optional direction, e.g. name:asc. Supported fields: created_at, name, onboarding_status, typeterminatedbooleanoptionalFilter by contractors who are no longer activeterminated_todaybooleanoptionalFilter by contractors whose last day was todaygustomcp_list_custom_fields_schema#Retrieve definitions of all custom fields configured for the company, including types and options.3 params
Retrieve definitions of all custom fields configured for the company, including types and options.
_contextstringoptionalThe original user question or request that prompted this tool callpageintegeroptionalPage number for pagination (default 1)perintegeroptionalNumber of items per page (default 25, max 500)gustomcp_list_departments#List all departments in the company, including names, UUIDs, and assigned employees.1 param
List all departments in the company, including names, UUIDs, and assigned employees.
_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_list_earning_types#List all earning type categories for the company, such as regular pay, overtime, and bonuses.1 param
List all earning type categories for the company, such as regular pay, overtime, and bonuses.
_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_list_employee_custom_fields#Retrieve all custom field values set for a specific employee.4 params
Retrieve all custom field values set for a specific employee.
employee_uuidstringrequiredThe unique identifier (UUID) for the employee_contextstringoptionalThe original user question or request that prompted this tool callpageintegeroptionalPage number for paginationperintegeroptionalNumber of items per pagegustomcp_list_employee_employment_history#Retrieve the work history timeline for an employee, including all roles and status changes.2 params
Retrieve the work history timeline for an employee, including all roles and status changes.
employee_uuidstringrequiredThe unique identifier (UUID) for the employee_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_list_employee_home_addresses#List all home addresses on file for an employee, including current and historical entries.2 params
List all home addresses on file for an employee, including current and historical entries.
employee_uuidstringrequiredThe unique identifier (UUID) for the employee_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_list_employee_jobs#List all job positions held by an employee, including title, location, and rate information.5 params
List all job positions held by an employee, including title, location, and rate information.
employee_uuidstringrequiredThe unique identifier (UUID) for the employee_contextstringoptionalThe original user question or request that prompted this tool callincludestringoptionalUse all_compensations to include all effective dated compensations for each jobpageintegeroptionalPage number for paginationperintegeroptionalNumber of items per pagegustomcp_list_employee_terminations#Retrieve separation records for an employee, including departure dates and final pay details.2 params
Retrieve separation records for an employee, including departure dates and final pay details.
employee_uuidstringrequiredThe unique identifier (UUID) for the employee_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_list_employee_work_addresses#List all work locations assigned to an employee, with effective dates.2 params
List all work locations assigned to an employee, with effective dates.
employee_uuidstringrequiredThe unique identifier (UUID) for the employee_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_list_employees#List all employees for the company with pagination and filtering by status, onboarding, or name.13 params
List all employees for the company with pagination and filtering by status, onboarding, or name.
_contextstringoptionalThe original user question or request that prompted this tool callincludestringoptionalComma-separated fields to include: all_compensations, all_home_addresses, company_name, current_home_address, custom_fields, portal_invitationslocation_uuidstringoptionalFilter by employees assigned to a specific location UUIDonboardedbooleanoptionalFilter by employees who have completed onboardingonboarded_activebooleanoptionalFilter by employees who are onboarded and currently activepageintegeroptionalPage number for paginationpayroll_uuidstringoptionalFilter by employees included in a specific payroll UUIDperintegeroptionalNumber of items per pagesearch_termstringoptionalA string to search for in namessort_bystringoptionalSort field and optional direction, e.g. name:asc. Supported fields: created_at, name, onboarding_statusterminatedbooleanoptionalFilter by employees who are no longer active with the companyterminated_todaybooleanoptionalFilter by employees whose last day was todayuuidsstringoptionalComma-separated subset of employee UUIDs to fetchgustomcp_list_job_compensations#List the pay rate history for a job position, showing all rate changes over time.5 params
List the pay rate history for a job position, showing all rate changes over time.
job_uuidstringrequiredThe unique identifier (UUID) for the job_contextstringoptionalThe original user question or request that prompted this tool callincludestringoptionalUse all_compensations to include all effective dated compensations instead of only the current compensationpageintegeroptionalPage number for paginationperintegeroptionalNumber of items per pagegustomcp_list_locations#List all physical office and work locations registered for the company.3 params
List all physical office and work locations registered for the company.
_contextstringoptionalThe original user question or request that prompted this tool callpageintegeroptionalPage number for paginationperintegeroptionalNumber of items per pagegustomcp_list_pay_periods#List all pay periods for the company, showing start and end dates and linked payroll runs.4 params
List all pay periods for the company, showing start and end dates and linked payroll runs.
_contextstringoptionalThe original user question or request that prompted this tool callend_datestringoptionalFilter pay periods ending on or before this date (YYYY-MM-DD). Defaults to today. Cannot be more than 3 months in the future.payroll_typesstringoptionalComma-separated payroll types to include: regular, transitionstart_datestringoptionalFilter 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_assignments#Show which employees are assigned to which pay schedules.1 param
Show which employees are assigned to which pay schedules.
_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_list_pay_schedules#List all pay schedules for the company, showing frequency and schedule UUID.3 params
List all pay schedules for the company, showing frequency and schedule UUID.
_contextstringoptionalThe original user question or request that prompted this tool callpageintegeroptionalPage number for paginationperintegeroptionalNumber of items per pagegustomcp_list_payroll_blockers#Identify issues preventing a payroll from being processed, such as missing setup or documents.2 params
Identify issues preventing a payroll from being processed, such as missing setup or documents.
payroll_uuidstringrequiredThe unique identifier (UUID) for the payroll to check blockers for_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_list_payrolls#List all payroll runs for the company with optional filtering by type, date, and status.11 params
List all payroll runs for the company with optional filtering by type, date, and status.
_contextstringoptionalThe original user question or request that prompted this tool calldate_filter_bystringoptionalSpecifies 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_datestringoptionalFilters 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.includestringoptionalComma-separated: taxes, totals, payroll_status_meta, risk_blockers, reversalspageintegeroptionalThe page that is requested. When unspecified, will load all objects unless endpoint forces pagination.payroll_typesstringoptionalComma-separated: regular,off_cycle,externalperintegeroptionalNumber of objects per page. For majority of endpoints will default to 25.processing_statusesstringoptionalComma-separated: processed,unprocessedsort_bystringoptionalSort field: pay_period or check_datesort_orderstringoptionalSort payrolls in ascending (asc) or descending (desc) chronological order. Defaults to asc.start_datestringoptionalFilters where the pay period starts on or after this date (YYYY-MM-DD). Must be within 1 year of end_date.gustomcp_list_time_records#List time records for the company over a date range. Requires start_date and end_date.3 params
List time records for the company over a date range. Requires start_date and end_date.
end_datestringrequiredEnd date of the pay period (YYYY-MM-DD). Filters both native shifts and third-party timesheets.start_datestringrequiredStart date of the pay period (YYYY-MM-DD). Filters both native shifts and third-party timesheets._contextstringoptionalThe original user question or request that prompted this tool callgustomcp_manage_account#Get the Gusto account's status or resend the password setup email, via the action parameter.2 params
Get the Gusto account's status or resend the password setup email, via the action parameter.
actionstringrequiredThe account action to perform_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_record_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.12 params
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.
company_member_uuidstringrequiredThe company member UUID for the worker whose time is being recorded, from list_time_records' companyMemberUuid fieldcompany_uuidstringrequiredThe company's UUIDshift_ended_atstringrequiredISO8601 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 addshift_started_atstringrequiredISO8601 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 addtimezonestringrequiredIANA 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_contextstringoptionalThe original user question or request that prompted this tool callhours_workednumberoptionalOnly used for external/third-party time tracking; ignored for native. Overrides the hours derived from the shift window rather than validating against itjob_uuidstringoptionalThe job UUID the hours belong to, from list_employee_jobs. Required on a native update; omit entirely for a contractornotestringoptionalOptional note to attach to the entry. Only used for native time tracking; dropped (with a warning) for third-partyon_existingstringoptionalWhether to add a new entry alongside existing time, or update an existing one. Defaults to add when omitted. update also requires shift_idot_policy_approvedbooleanoptionalOnly 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 refusalshift_idstringoptionalRequired 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 timesheetsgustomcp_run_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.2 params
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.
payroll_uuidstringrequiredThe unique identifier (UUID) for the payroll_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_save_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.3 params
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.
question_keystringrequiredThe onboarding question to answer (e.g. "who_to_pay"), as surfaced by the onboarding status readvalueobjectrequiredThe 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._contextstringoptionalThe original user question or request that prompted this tool callgustomcp_search_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.3 params
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.
querystringrequiredThe 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)typestringrequiredWhat kind of business information to resolve. "industry" returns NAICS industry classifications; "occupation" returns BLS occupation codes_contextstringoptionalThe original user question or request that prompted this tool callgustomcp_submit_feedback#Submit user feedback about the Gusto MCP experience, with an optional category and freeform context metadata (e.g. tool invoked, app version, OS).4 params
Submit user feedback about the Gusto MCP experience, with an optional category and freeform context metadata (e.g. tool invoked, app version, OS).
messagestringrequiredThe user's feedback (required, max 5000 characters)_contextstringoptionalThe original user question or request that prompted this tool callcategorystringoptionalOptional category for the feedbackcontextobjectoptionalOptional metadata (e.g. tool invoked, app version, OS) to help the reviewergustomcp_update_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.6 params
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.
employee_compensationsarrayrequiredArray 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 payrollpayroll_uuidstringrequiredUUID of the unprocessed payroll to update_contextstringoptionalThe original user question or request that prompted this tool callfixed_withholding_ratebooleanoptionalGeneral off-cycle only. Withholds federal at IRS supplemental rate (22%) and state at state supplemental rateskip_regular_deductionsbooleanoptionalGeneral off-cycle only. Blocks regular deductions and contributions for this payrollwithholding_pay_periodstringoptionalGeneral off-cycle only (Correction/Bonus/Adhoc). Not accepted by termination or transition payrolls