Connectors · Accounting & finance
Gusto MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Gusto and the rest of your systems. It gives your agent 318 Gusto actions (153 reads, 129 writes and 36 that wait for a confirmation) and holds the Gusto credential itself, so the agent never does. It paces Gusto's limits and records every call. Connecting Gusto needs your own Gusto OAuth app and one admin sign-in.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "gusto.benefits_list", intent: "check which Gusto account is connected"}# Get all supported benefits · read · 1 upstream call- 318actionsin one signed file
- 153readlook, never change
- 129writecreate and update
- 36wait for a yesdestructive, confirmed first
Set up
Connect Gusto in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Gusto.
OAuth 2.0, authorization code with PKCE. You register your own OAuth app with Gusto, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.
Before the first sign-in, Gusto needs an OAuth app of your own, registered in its developer portal. actionlake has no Gusto app to lend you.
access_tokenAccess token from one sign-in with your own OAuth apprefresh_tokenRefresh token from the same sign-in; the access token is renewed from itclient_idYour OAuth app's client idclient_secretYour OAuth app's client secretapi_hostWhere your Gusto lives: your api host
account { op: "connections.requirements", service: "gusto" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "gusto.benefits_list" }# get all supported benefits · read · 1 upstream callcheck { action: "gusto.employees_create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Gusto at a glance
- Sign-in
- OAuth 2.0, authorization code with PKCE. You register your own OAuth app with Gusto, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.
- You provide
access_tokenrefresh_tokenclient_idclient_secret- Setup fields
api_host- Limits we pace to
- 200 calls a minute, at most 5 at a time, per connection
- API covered
- Gusto Payroll & HR API 2025-11-15
api.gusto.com - Built from
- Gusto's documentation, read 19 September 2026OpenAPI spec (GitHub)docs.gusto.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 151 of 153 reads, for up to an hour; a write clears what it affects
- Ready-made plans
- 9 in the store
- Shared entities
- 9, so ask can line Gusto up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Gusto.
318 actions in 2 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 153readlook, never change
- 129writecreate and update
- 36destructivewait for a confirmation
Payroll
311150 read · 126 write · 35 destructive
Get employees of a company · Get all departments of a company · Get all company locations · Get all the admins at a company
Time tracking
73 read · 3 write · 1 destructive
List time sheets for a company · Create a time sheet · Get a time sheet · Update a time sheet
Top actions
The Gusto API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 155 of Gusto's 170 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
gusto.employees_listGet employees of a company | Get employees of a company | read | hr.employee.list61 connectors |
gusto.companies_departments_listGet all departments of a company | Get all departments of a company | read | hr.department.list40 connectors |
gusto.companies_locations_listGet all company locations | Get all company locations | read | hr.location.list32 connectors |
gusto.companies_admins_listGet all the admins at a company | Get all the admins at a company | read | identity.user.list474 connectors |
gusto.companies_contractor_payments_listGet contractor payments for a company | Get contractor payments for a company | read | finance.payment.list75 connectors |
gusto.companies_payrolls_listGet all payrolls for a company | Get all payrolls for a company | read | hr.pay_run.list14 connectors |
gusto.employees_createCreate an employee | Create an employee (POST /v1/companies/{company_id}/employees). | write | hr.employee.create51 connectors |
gusto.companies_historical_employees_createCreate a historical employee | Create a historical employee | write | hr.employee.create51 connectors |
gusto.companies_departments_createCreate a department | Create a department (POST /v1/companies/{company_uuid}/departments). | write | hr.department.create32 connectors |
gusto.employees_home_addresses_listGet an employee's home addresses | Get an employee's home addresses | read | hr.location.list32 connectors |
gusto.companies_signatories_listGet the signatories for a company | Get the signatories for a company | read | identity.user.list474 connectors |
gusto.employees_deleteDelete an onboarding employee | Delete an onboarding employee | destructive | hr.employee.delete34 connectors |
Try it
Prompts to paste into Claude.
Each one names the Gusto actions it will call, so you know what it reads and what it changes before you send it.
- Readread
List the payments recorded in Gusto this month, largest first.
calls
gusto.companies_contractor_payments_list - Planread
Audit a company's payroll setup in Gusto.
calls
gusto.companies_getgusto.companies_onboarding_status_getgusto.companies_admins_listgusto.companies_locations_listgusto.companies_pay_schedules_list+3 more - Planwrite
Onboard a new employee end to end in Gusto. Ask me before anything is sent or changed.
calls
gusto.employees_creategusto.employees_jobs_creategusto.employees_home_addresses_creategusto.employees_work_addresses_creategusto.employees_member_portal_invitations_create+1 more - Writewrite
Create an employee in Gusto. Show me exactly what you will send before you save it.
calls
gusto.employees_create
The plan store
Ready-made plans for Gusto.
9 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.
Audit company benefit enrolments
Use it when Benefits need reviewing before open enrolment or before a carrier reconciliation.
Review submitted time sheets before payroll
Use it when Time sheets need checking against a pay period before payroll is prepared or submitted.
Check outstanding tax requirements and payments
Use it when Payroll is blocked or a compliance review needs the outstanding state tax registrations and payments listed.
Audit a company's payroll setup
Use it when A company is being implemented or handed over and its payroll setup needs checking in one pass.
Request a bulk report and wait for the file
Use it when A payroll or benefits report has to be generated in bulk and the resulting file handed back.
Terminate an employee and collect their documents
Use it when An employee is leaving and the termination needs recording in Gusto with an offboarding record kept.
A person decides
Terminate first name last name with effective date effective date in Gusto.
Onboard a new employee end to end
Use it when A new hire has accepted an offer and needs to be created in Gusto with their job, addresses and self-onboarding invite.
A person decides
Send the Gusto self-onboarding portal invitation to first name last name at work email.
Preview and pay a batch of contractors
Use it when Contractor invoices for a period have been agreed and the batch needs previewing, approving and paying.
A person decides
Pay number of contractor payments contractors totalling debit amount with check date check date.
Prepare, review and submit a payroll
Use it when A pay period has closed and somebody needs the payroll checked and then submitted for processing.
A person decides
Submit payroll payroll id for company company id with gross pay gross pay and check date check date.
account { op: "plans.install", slug: "gusto-benefit-enrollment-audit" }
# then ask for it by name; a schedule can run it on a timetableGovernance for Gusto
Destructive actions wait for a yes.
36 Gusto actions are destructive. The first 10:
- Delete an onboarding employee
gusto.employees_delete - Create a contractor payment
gusto.companies_contractor_payments_create - Create a contractor payment group
gusto.companies_contractor_payment_groups_create - Create an admin for the company
gusto.companies_admins_create - Delete a department
gusto.departments_delete - Delete an employee's home address
gusto.home_addresses_delete - Delete an employee's work address
gusto.work_addresses_delete - Delete a signatory
gusto.companies_signatories_delete - Delete a contractor
gusto.contractors_delete - Cancel a contractor payment group
gusto.contractor_payment_groups_delete
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete an onboarding employee?
intent: the user asked me to delete an onboarding employee
account { op: "keys.create", name: "gusto-agent", allowed_actions: ["gusto.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "gusto.employees_delete", approver: "[email protected]" }, { match: "gusto.companies_contractor_payments_create", approver: "[email protected]" }, { match: "gusto.companies_contractor_payment_groups_create", approver: "[email protected]" } ]}Cost
What Gusto costs on actionlake.
Every Gusto action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Gusto refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 318 Gusto actions
- 33actions pageeach page of a long list is one call
- 151reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Gusto action.
318 actions by area: the id your agent calls, what it does, and its effect.
Payroll311
gusto.benefits_getGet a supported benefitreadgusto.benefits_listGet all supported benefitsreadgusto.benefits_requirements_getGet benefit fields requirements by benefit typereadgusto.bulk_reports_createCreate a bulk report batchwritegusto.bulk_reports_getGet a bulk report batchreadgusto.companies_ach_transactions_listGet all ACH transactions for a companyreadgusto.companies_admins_createCreate an admin for the companydestructivegusto.companies_admins_listGet all the admins at a companyreadgusto.companies_attachments_download_url_getGet a temporary url to download the Company Attachment filereadgusto.companies_attachments_getGet Company Attachment Detailsreadgusto.companies_attachments_listGet List of Company Attachmentsreadgusto.companies_bank_accounts_createCreate a company bank accountwritegusto.companies_bank_accounts_deleteDelete a company bank accountdestructivegusto.companies_bank_accounts_listGet all company bank accountsreadgusto.companies_bank_accounts_verifyVerify a company bank accountwritegusto.companies_company_benefits_createCreate a company benefitwritegusto.companies_company_benefits_listGet benefits for a companyreadgusto.companies_contractor_payment_groups_createCreate a contractor payment groupdestructivegusto.companies_contractor_payment_groups_listGet contractor payment groups for a companyreadgusto.companies_contractor_payment_groups_previewPreview a contractor payment groupreadgusto.companies_contractor_payments_createCreate a contractor paymentdestructivegusto.companies_contractor_payments_deleteCancel a contractor paymentdestructivegusto.companies_contractor_payments_getGet a single contractor paymentreadgusto.companies_contractor_payments_listGet contractor payments for a companyreadgusto.companies_contractor_payments_previewPreview contractor payment debit datereadgusto.companies_contractors_createCreate a contractorwritegusto.companies_contractors_listGet contractors of a companyreadgusto.companies_contractors_payment_details_listList contractor payment detailsreadgusto.companies_custom_fields_getGet the custom fields of a companyreadgusto.companies_departments_createCreate a departmentwritegusto.companies_departments_listGet all departments of a companyreadgusto.companies_earning_types_createCreate a custom earning typewritegusto.companies_earning_types_deleteDeactivate an earning typedestructivegusto.companies_earning_types_listGet all earning types for a companyreadgusto.companies_earning_types_updateUpdate an earning typewritegusto.companies_employees_payment_details_listGet employee payment details for a companyreadgusto.companies_external_payrolls_calculate_taxes_getGet tax suggestions for an external payrollreadgusto.companies_external_payrolls_createCreate an external payroll for a companywritegusto.companies_external_payrolls_deleteDelete an external payrolldestructivegusto.companies_external_payrolls_getGet an external payrollreadgusto.companies_external_payrolls_listGet external payrolls for a companyreadgusto.companies_external_payrolls_tax_liabilities_finishFinalize tax liabilities options and convert into processed payrollswritegusto.companies_external_payrolls_tax_liabilities_getGet tax liabilitiesreadgusto.companies_external_payrolls_tax_liabilities_updateUpdate tax liabilitieswritegusto.companies_external_payrolls_updateUpdate an external payrollwritegusto.companies_federal_tax_details_getGet a company's federal tax detailsreadgusto.companies_federal_tax_details_updateUpdate a company's federal tax detailswritegusto.companies_finish_onboardingFinish company onboardingwritegusto.companies_flows_createCreate a flowwritegusto.companies_forms_listGet all company formsreadgusto.companies_getGet a companyreadgusto.companies_historical_employees_createCreate a historical employeewritegusto.companies_historical_employees_updateUpdate a historical employeewritegusto.companies_holiday_pay_policy_addAdd employees to a company's holiday pay policywritegusto.companies_holiday_pay_policy_createCreate a holiday pay policy for a companywritegusto.companies_holiday_pay_policy_deleteDelete a company's holiday pay policydestructivegusto.companies_holiday_pay_policy_getGet a company's holiday pay policyreadgusto.companies_holiday_pay_policy_removeRemove employees from a company's holiday pay policywritegusto.companies_holiday_pay_policy_updateUpdate a company's holiday pay policywritegusto.companies_industry_selection_getGet a company industry selectionreadgusto.companies_industry_selection_updateUpdate a company industry selectionwritegusto.companies_information_requests_listGet all information requests for a companyreadgusto.companies_locations_createCreate a company locationwritegusto.companies_locations_listGet all company locationsreadgusto.companies_notifications_listGet notifications for companyreadgusto.companies_onboarding_status_getGet company onboarding statusreadgusto.companies_paid_holidays_listPreview a company's paid holidaysreadgusto.companies_pay_periods_listGet pay periods for a companyreadgusto.companies_pay_periods_unprocessed_termination_pay_periods_getGet termination pay periods for a companyreadgusto.companies_pay_schedules_assignAssign pay schedules for a companywritegusto.companies_pay_schedules_assignment_previewPreview pay schedule assignments for a companyreadgusto.companies_pay_schedules_assignments_listGet pay schedule assignments for a companyreadgusto.companies_pay_schedules_createCreate a new pay schedulewritegusto.companies_pay_schedules_getGet a pay schedulereadgusto.companies_pay_schedules_listGet the pay schedules for a companyreadgusto.companies_pay_schedules_previewPreview pay schedule datesreadgusto.companies_pay_schedules_updateUpdate a pay schedulewritegusto.companies_payment_configs_getGet a company's payment configsreadgusto.companies_payment_configs_updateUpdate a company's payment configswritegusto.companies_payroll_reversals_listGet approved payroll reversalsreadgusto.companies_payrolls_blockers_getGet all payroll blockers for a companyreadgusto.companies_payrolls_calculateCalculate a payrollwritegusto.companies_payrolls_cancelCancel a payrolldestructivegusto.companies_payrolls_createCreate an off-cycle payrollwritegusto.companies_payrolls_deleteDelete a payrolldestructivegusto.companies_payrolls_getGet a single payrollreadgusto.companies_payrolls_listGet all payrolls for a companyreadgusto.companies_payrolls_partner_disbursements_getGet partner disbursements for a payrollreadgusto.companies_payrolls_partner_disbursements_updateUpdate partner disbursements for a payrollwritegusto.companies_payrolls_preparePrepare a payroll for updatewritegusto.companies_payrolls_skipSkip a payrolldestructivegusto.companies_payrolls_submitSubmit payrolldestructivegusto.companies_payrolls_updateUpdate a payroll by IDwritegusto.companies_people_batches_createCreate a people batchwritegusto.companies_recovery_cases_listGet all recovery cases for a companyreadgusto.companies_report_templates_getGet a report templatereadgusto.companies_reports_createCreate a custom reportwritegusto.companies_reports_employees_annual_fica_wage_createCreate an employees annual FICA wage reportwritegusto.companies_reverse_wire_transactions_listGet all reverse wire transactions for a companyreadgusto.companies_signatories_createCreate a signatorywritegusto.companies_signatories_deleteDelete a signatorydestructivegusto.companies_signatories_inviteInvite a signatorywritegusto.companies_signatories_listGet the signatories for a companyreadgusto.companies_signatories_updateUpdate a signatorywritegusto.companies_suspensions_listGet suspensions for this companyreadgusto.companies_suspensions_startSuspend a company's accountwritegusto.companies_tax_payments_getGet a tax payment for a companyreadgusto.companies_tax_payments_listGet all tax payments for a companyreadgusto.companies_tax_requirements_getGet tax requirements for a statereadgusto.companies_tax_requirements_listGet all tax requirements for a companyreadgusto.companies_tax_requirements_updateUpdate tax requirements for a statewritegusto.companies_time_off_admin_approved_requests_createCreate an admin-approved time off requestwritegusto.companies_time_off_balances_listGet time off balances for a companyreadgusto.companies_time_off_policies_createCreate a time off policywritegusto.companies_time_off_policies_listGet all time off policies for a companyreadgusto.companies_time_off_requests_createCreate a time off requestwritegusto.companies_time_off_requests_listList time off requests for a companyreadgusto.companies_time_off_requests_previewPreview a time off requestreadgusto.companies_updateUpdate a companywritegusto.companies_wire_in_requests_listGet all Wire In Requests for a companyreadgusto.company_benefits_contribution_exclusions_listGet contribution exclusions for a company benefitreadgusto.company_benefits_contribution_exclusions_updateUpdate contribution exclusions for a company benefitwritegusto.company_benefits_deleteDelete a company benefitdestructivegusto.company_benefits_employee_benefits_listGet all employee benefits for a company benefitreadgusto.company_benefits_employee_benefits_updateBulk update employee benefits for a company benefitwritegusto.company_benefits_getGet a company benefitreadgusto.company_benefits_summary_getGet company benefit summary by company benefit id.readgusto.company_benefits_updateUpdate a company benefitwritegusto.compensations_createCreate a compensationwritegusto.compensations_deleteDelete a compensationdestructivegusto.compensations_getGet a compensationreadgusto.compensations_updateUpdate a compensationwritegusto.contractor_payment_groups_deleteCancel a contractor payment groupdestructivegusto.contractor_payment_groups_fundFund a contractor payment group [DEMO]writegusto.contractor_payment_groups_getGet a contractor payment groupreadgusto.contractor_payment_groups_partner_disbursements_getGet partner disbursements for a contractor payment groupreadgusto.contractor_payment_groups_partner_disbursements_updateUpdate partner disbursements for a contractor payment groupwritegusto.contractor_payments_fundFund a contractor payment [DEMO]writegusto.contractor_payments_receipt_getGet a single contractor payment receiptreadgusto.contractors_address_listGet a contractor addressreadgusto.contractors_address_updateCreate or update a contractor's addresswritegusto.contractors_bank_accounts_createCreate a contractor bank accountwritegusto.contractors_bank_accounts_listGet all contractor bank accountsreadgusto.contractors_deleteDelete a contractordestructivegusto.contractors_documents_listGet all contractor documentsreadgusto.contractors_forms_getGet a contractor formreadgusto.contractors_forms_listGet all contractor formsreadgusto.contractors_forms_pdf_getGet the contractor form pdfreadgusto.contractors_getGet a contractorreadgusto.contractors_member_portal_invitations_createCreate a contractor member portal invitationwritegusto.contractors_member_portal_invitations_deleteCancel a contractor member portal invitationdestructivegusto.contractors_member_portal_invitations_listGet a contractor member portal invitationreadgusto.contractors_onboarding_status_getGet the contractor's onboarding statusreadgusto.contractors_onboarding_status_updateChange the contractor's onboarding statuswritegusto.contractors_payment_method_getGet a contractor's payment methodreadgusto.contractors_payment_method_updateUpdate a contractor's payment methodwritegusto.contractors_payments_listGet contractor paymentsreadgusto.contractors_rehire_createSchedule a contractor rehirewritegusto.contractors_rehire_deleteCancel a pending contractor rehiredestructivegusto.contractors_termination_deleteCancel a pending contractor terminationdestructivegusto.contractors_termination_startSchedule a contractor terminationwritegusto.contractors_updateUpdate a contractorwritegusto.departments_addAdd people to a departmentwritegusto.departments_deleteDelete a departmentdestructivegusto.departments_getGet a departmentreadgusto.departments_removeRemove people from a departmentwritegusto.departments_updateUpdate a departmentwritegusto.documents_getGet a contractor documentreadgusto.documents_pdf_getGet the contractor document pdfreadgusto.documents_sign_updateSign a contractor documentwritegusto.employee_benefits_deleteDelete an employee benefitdestructivegusto.employee_benefits_getGet an employee benefitreadgusto.employee_benefits_updateUpdate an employee benefitwritegusto.employees_bank_accounts_createCreate an employee bank accountwritegusto.employees_bank_accounts_deleteDelete an employee bank accountdestructivegusto.employees_bank_accounts_listList employee bank accountsreadgusto.employees_bank_accounts_updateUpdate an employee bank accountwritegusto.employees_createCreate an employeewritegusto.employees_custom_fields_getGet an employee's custom fieldsreadgusto.employees_deleteDelete an onboarding employeedestructivegusto.employees_employee_benefits_createCreate an employee benefitwritegusto.employees_employee_benefits_listGet all benefits for an employeereadgusto.employees_employment_history_getGet employment history for an employeereadgusto.employees_federal_taxes_listGet federal taxes for an employeereadgusto.employees_federal_taxes_updateUpdate federal taxes for an employeewritegusto.employees_forms_getGet an employee formreadgusto.employees_forms_listGet all employee formsreadgusto.employees_forms_pdf_getGet the employee form pdfreadgusto.employees_forms_sign_updateSign an employee formwritegusto.employees_garnishments_createCreate a garnishmentwritegusto.employees_garnishments_listGet garnishments for an employeereadgusto.employees_getGet an employeereadgusto.employees_home_addresses_createCreate an employee's home addresswritegusto.employees_home_addresses_listGet an employee's home addressesreadgusto.employees_i9_authorization_document_options_listGet an employee's I-9 verification document optionsreadgusto.employees_i9_authorization_documents_deleteDelete an employee's I-9 verification documentdestructivegusto.employees_i9_authorization_documents_listGet an employee's I-9 verification documentsreadgusto.employees_i9_authorization_documents_updateCreate an employee's I-9 authorization verification documentswritegusto.employees_i9_authorization_employer_sign_updateEmployer sign an employee's Form I-9writegusto.employees_i9_authorization_listGet an employee's I-9 authorizationreadgusto.employees_i9_authorization_updateCreate or update an employee's I-9 authorizationwritegusto.employees_jobs_createCreate a jobwritegusto.employees_jobs_listGet jobs for an employeereadgusto.employees_listGet employees of a companyreadgusto.employees_member_portal_invitations_createCreate an employee member portal invitationwritegusto.employees_member_portal_invitations_deleteCancel an employee member portal invitationdestructivegusto.employees_member_portal_invitations_listGet an employee member portal invitationreadgusto.employees_onboarding_documents_config_updateUpdate employee onboarding documents configwritegusto.employees_onboarding_status_getGet the employee's onboarding statusreadgusto.employees_onboarding_status_updateUpdate the employee's onboarding statuswritegusto.employees_pay_stubs_listGet an employee's pay stubsreadgusto.employees_payment_method_getGet payment method for an employeereadgusto.employees_payment_method_updateUpdate payment method for an employeewritegusto.employees_recurring_reimbursements_createCreate a recurring reimbursementwritegusto.employees_recurring_reimbursements_listGet recurring reimbursements for an employeereadgusto.employees_rehire_createCreate an employee rehirewritegusto.employees_rehire_deleteDelete an employee rehiredestructivegusto.employees_rehire_listGet an employee rehirereadgusto.employees_rehire_updateUpdate an employee rehirewritegusto.employees_salary_estimates_createCreate a salary estimate for an employeewritegusto.employees_section603_high_earner_statuses_createCreate a Section 603 high earner statuswritegusto.employees_section603_high_earner_statuses_getGet a Section 603 high earner status for a specific yearreadgusto.employees_section603_high_earner_statuses_listGet all Section 603 high earner statuses for an employeereadgusto.employees_section603_high_earner_statuses_updateUpdate a Section 603 high earner statuswritegusto.employees_state_taxes_listGet an employee's state taxesreadgusto.employees_state_taxes_updateUpdate an employee's state taxeswritegusto.employees_terminations_deleteDelete an employee terminationdestructivegusto.employees_terminations_listGet terminations for an employeereadgusto.employees_terminations_startCreate an employee terminationwritegusto.employees_time_off_activities_getGet employee time off activitiesreadgusto.employees_updateUpdate an employee.writegusto.employees_work_addresses_createCreate an employee work addresswritegusto.employees_work_addresses_listGet an employee's work addressesreadgusto.employees_ytd_benefit_amounts_from_different_company_createCreate year-to-date benefit amounts from a different companywritegusto.employees_ytd_benefit_amounts_from_different_company_listGet year-to-date benefit amounts from a different companyreadgusto.events_listGet all eventsreadgusto.forms_getGet a company formreadgusto.forms_pdf_getGet a company form pdfreadgusto.forms_sign_updateSign a company formwritegusto.garnishments_child_support_listGet child support garnishment datareadgusto.garnishments_getGet a garnishmentreadgusto.garnishments_updateUpdate a garnishmentwritegusto.generated_documents_getGet a generated documentreadgusto.home_addresses_deleteDelete an employee's home addressdestructivegusto.home_addresses_getGet an employee's home addressreadgusto.home_addresses_updateUpdate an employee's home addresswritegusto.information_requests_submitSubmit information request responseswritegusto.invoices_getRetrieve invoicing data for companiesreadgusto.jobs_compensations_listGet compensations for a jobreadgusto.jobs_deleteDelete an individual jobdestructivegusto.jobs_getGet a jobreadgusto.jobs_updateUpdate a jobwritegusto.locations_getGet a locationreadgusto.locations_minimum_wages_listGet minimum wages for a locationreadgusto.locations_updateUpdate a locationwritegusto.notifications_getGet a notification's detailsreadgusto.oauth_token_createCreate a System Access Token or Refresh an Access Tokenwritegusto.partner_managed_companies_accept_terms_of_serviceAccept terms of service for a company userwritegusto.partner_managed_companies_createCreate a partner managed companywritegusto.partner_managed_companies_disassociate_updateDisassociate a partner managed companywritegusto.partner_managed_companies_migrate_updateMigrate company to embedded payrollwritegusto.partner_managed_companies_migration_readiness_listCheck company migration readinessreadgusto.partner_managed_companies_retrieve_terms_of_serviceRetrieve terms of service status for a company userreadgusto.payroll_batches_createCreate a payroll cancellation batchdestructivegusto.payroll_batches_getGet a payroll cancellation batchreadgusto.payroll_digests_createCreate a payroll digest batchwritegusto.payroll_digests_getGet a payroll digest batchreadgusto.payrolls_employees_calculate_accruing_time_off_hours_listCalculate accruing time off hoursreadgusto.payrolls_generated_documents_printable_payroll_checks_createGenerate printable payroll checks (pdf)writegusto.payrolls_gross_upCalculate gross up for a payrollreadgusto.payrolls_receipt_getGet a single payroll receiptreadgusto.payrolls_reports_general_ledger_createCreate a general ledger reportwritegusto.people_batches_getGet a people batchreadgusto.plaid_processor_token_createCreate a bank account from a plaid processor tokenwritegusto.recovery_cases_redebitInitiate a redebit for a recovery casewritegusto.recurring_reimbursements_deleteDelete a recurring reimbursementdestructivegusto.recurring_reimbursements_getGet a recurring reimbursementreadgusto.recurring_reimbursements_updateUpdate a recurring reimbursementwritegusto.reports_getGet a reportreadgusto.salary_estimates_acceptAccept a salary estimatewritegusto.salary_estimates_getGet a salary estimatereadgusto.salary_estimates_occupations_listSearch for BLS occupationsreadgusto.salary_estimates_updateUpdate a salary estimatewritegusto.sandbox_generate_1099_createGenerate a 1099 form [DEMO]writegusto.sandbox_generate_w2_createGenerate a W2 form [DEMO]writegusto.terminations_getGet an employee terminationreadgusto.terminations_updateUpdate an employee terminationwritegusto.time_off_policies_add_employeesAdd employees to a time off policywritegusto.time_off_policies_balance_updateUpdate employee time off balanceswritegusto.time_off_policies_deactivate_updateDeactivate a time off policywritegusto.time_off_policies_getGet a time off policyreadgusto.time_off_policies_remove_employees_updateRemove employees from a time off policywritegusto.time_off_policies_updateUpdate a time off policywritegusto.time_off_requests_approve_updateApprove a time off requestwritegusto.time_off_requests_decline_updateDecline a time off requestwritegusto.time_off_requests_deleteDelete a time off requestdestructivegusto.time_off_requests_getGet a time off requestreadgusto.token_info_listGet info about the current access tokenreadgusto.webhook_subscriptions_createCreate a webhook subscriptionwritegusto.webhook_subscriptions_deleteDelete a webhook subscriptiondestructivegusto.webhook_subscriptions_getGet a webhook subscriptionreadgusto.webhook_subscriptions_listList webhook subscriptionsreadgusto.webhook_subscriptions_request_verification_tokenRequest a verification token for a webhook subscriptionreadgusto.webhook_subscriptions_updateUpdate a webhook subscriptionwritegusto.webhook_subscriptions_verifyVerify a webhook subscriptionwritegusto.webhooks_health_check_listGet the webhooks health statusreadgusto.wire_in_requests_getGet a single Wire In Requestreadgusto.wire_in_requests_updateSubmit a wire in requestwritegusto.work_addresses_deleteDelete an employee's work addressdestructivegusto.work_addresses_getGet an employee work addressreadgusto.work_addresses_updateUpdate an employee work addresswrite
Time tracking7
gusto.companies_time_tracking_payroll_syncs_createCreate a payroll syncwritegusto.companies_time_tracking_time_sheets_createCreate a time sheetwritegusto.companies_time_tracking_time_sheets_listList time sheets for a companyreadgusto.time_tracking_payroll_syncs_getGet a payroll syncreadgusto.time_tracking_time_sheets_deleteDelete a time sheetdestructivegusto.time_tracking_time_sheets_getGet a time sheetreadgusto.time_tracking_time_sheets_updateUpdate a time sheetwrite
Questions
The Gusto MCP server, answered.
Is there a Gusto MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 318 Gusto actions across payroll and time tracking, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Gusto.
What do I need to connect Gusto?
Your own Gusto OAuth app, registered with Gusto (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no Gusto app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. Plus your api host. The free call account { op: "connections.requirements", service: "gusto" } lists exactly what to paste.
Can an AI agent delete or change things in Gusto?
Only if its key allows it, and only with an explicit confirmation. 36 Gusto actions are destructive, including delete an onboarding employee, create a contractor payment and create a contractor payment group. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Gusto API limit?
actionlake paces every call to the limits in the Gusto service file: 200 calls a minute, at most 5 at a time per connection. Repeated reads are answered from cache (151 Gusto actions can be), which never reaches Gusto.
What does a Gusto action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (33 Gusto actions page). Cache hits, searches, dry runs and calls Gusto refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Gusto API does it cover?
The Gusto Payroll & HR API 2025-11-15 at api.gusto.com by default, or the base URL set when you connect. It is built from Gusto's documentation as read on 19 September 2026. 318 actions in 2 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Gusto data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Gusto credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Gusto today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.