HRIS
Gusto
API integration
Ship HRIS features without building the integration. Full Gusto API access via Proxy, normalized data through Unified APIs, and 20+ MCP-ready tools for AI agents — all extensible to your exact use case.
Talk to usUse Cases
Why integrate with Gusto
Common scenarios for SaaS companies building Gusto integrations for their customers.
Automate employee onboarding and offboarding workflows
SaaS companies building IT provisioning, security, or device management tools can sync employee status from Gusto in real time. When an employee is onboarded or terminated, downstream actions like account provisioning, SSO revocation, or laptop shipment can be triggered automatically.
Sync org structure for role-based access and approvals
Products that rely on reporting lines—expense approvals, performance reviews, training assignments—can pull employees, groups, and manager relationships from Gusto to mirror the customer's organizational hierarchy without manual configuration.
Power benefits administration from a third-party fintech app
Retirement platforms, insurance brokers, and financial wellness apps can read company benefit plans and employee benefit enrollments from Gusto, enabling seamless deduction management and ensuring payroll withholdings stay accurate across systems.
Build a unified employee directory across HRIS providers
Any SaaS product that needs a canonical list of a customer's employees—names, emails, departments, employment status—can pull it from Gusto through Truto's Unified HRIS API, alongside dozens of other HRIS providers, with a single integration.
What You Can Build
Ship these features with Truto + Gusto
Concrete product features your team can ship faster by leveraging Truto’s Gusto integration instead of building from scratch.
Real-time employee lifecycle triggers
Detect new hires, role changes, and terminations from Gusto to automatically provision or deprovision users, devices, or permissions in your product.
Org chart and reporting-line sync
Ingest groups, departments, and manager UUIDs from Gusto to build approval chains, assign reviewers, or scope access controls based on the customer's live org structure.
Company benefits catalog import
Pull the full list of company-level benefit plans—health, 401(k), commuter—including pre-tax/post-tax status and contribution limits, so your app can display and manage enrollment options.
Employee benefits deduction viewer
Surface individual employee deduction amounts and company match details from Gusto inside your product, giving HR admins or employees a consolidated view of their benefits across platforms.
Multi-HRIS employee directory with zero config
Offer your customers a one-click Gusto connection that populates your product with employee records—alongside BambooHR, Rippling, and other HRIS providers—using a single unified schema.
Automated tenant initialization from company data
When a new customer connects their Gusto account, read company details like locations and pay schedules to pre-configure your SaaS tenant without requiring manual setup.
SuperAI
Gusto AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_gusto_me
Get the current authenticated user's profile in Gusto. Returns: version, email.
get_single_gusto_company_by_id
Get a single Gusto company by id. Returns the full company object including uuid, name, trade_name, ein, entity_type, company_status, locations, compensations, primary_signatory, and primary_payroll_admin. Required: id.
list_all_gusto_company_custom_fields
List custom fields for a company in Gusto. Returns: uuid, name, type, description, selection_options. Required: company_id.
list_all_gusto_departments
List all departments for a company in Gusto. Returns each department including uuid and title. Required: company_id.
get_single_gusto_department_by_id
Get a single Gusto department by id. Returns the department object including uuid and title. Required: id.
list_all_gusto_company_benefits
List company benefits for a Gusto company, optionally filtered by active status or benefit type. Returns: company_uuid, errors. Required: company_id.
get_single_gusto_company_benefit_by_id
Get a single company benefit by id in Gusto. Returns: company_uuid, errors. Required: id.
list_all_gusto_employees
List Gusto employees for a company. Returns: errors. Required: company_id. Supports optional sort_by parameter (e.g. name:desc, last_name:asc,first_name:asc).
get_single_gusto_employee_by_id
Get a single Gusto employee by id. Returns: errors. Required: id.
list_all_gusto_employee_terminations
List all termination records for a specific Gusto employee. Returns: errors. Required: employee_id.
list_all_gusto_contractors
List Gusto contractors for a company with optional search, sorting, and onboarding/termination filters. Returns: uuid, company_uuid, wage_type, start_date, is_active, version, type, first_name, last_name, middle_initial, business_name, ein, has_ein, has_ssn, department_uuid, email, work_email, file_new_hire_report, work_state, onboarded, onboarding_status, address, hourly_rate, payment_method,…
get_single_gusto_contractor_by_id
Get a single Gusto contractor by id. Returns: uuid, company_uuid, wage_type, start_date, is_active, version, type, first_name, last_name, middle_initial, business_name, ein, has_ein, has_ssn, department_uuid, email, work_email, file_new_hire_report, work_state, onboarded, onboarding_status, address, hourly_rate, payment_method, department, department_title, dismissal_date, upcoming_employment,…
list_all_gusto_employee_benefits
List all employee benefits for a specific employee in Gusto. Returns: errors. Required: employee_id.
create_a_gusto_employee_benefit
Create one or more employee benefits for a specific employee in Gusto. Returns: errors. Required: employee_id.
update_a_gusto_employee_benefit_by_id
Update a single employee benefit in Gusto by id. Returns: errors. Required: id.
list_all_gusto_benefits
List all benefit types available in Gusto. Returns: benefit_type, name, description, pretax, posttax, imputed, healthcare, retirement, yearly_limit, category.
list_all_gusto_employee_home_addresses
List all home addresses for a specific Gusto employee. Returns: errors. Required: employee_id.
list_all_gusto_employee_work_addresses
List work addresses for a Gusto employee. Returns: errors. Required: employee_id.
list_all_gusto_webhook_subscription
List webhook subscriptions in Gusto. Returns: uuid, url, subscription_types, status.
create_a_gusto_webhook_subscription
Create a webhook subscription in Gusto with an initial set of subscription types. Returns: uuid, url, subscription_types, status. New subscriptions start in pending status and require verification before receiving events. Required: integrated_account_id.
delete_a_gusto_webhook_subscription_by_id
Delete a Gusto webhook subscription by id. Returns an empty 204 response on success. Required: id.
gusto_webhook_subscription_verify
Verify a Gusto webhook subscription by submitting the verification_token Gusto sent to your webhook URL, confirming the endpoint and enabling webhook event delivery. Returns: uuid, event_type, resource_type, resource_uuid, entity_type, entity_uuid, timestamp. Required: webhook_subscription_uuid, verification_token.
Why Truto
Why use Truto’s MCP server for Gusto
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 750+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
Unified APIs
Unified APIs for Gusto
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
Unified HRIS API
Benefits
Benefits represent the benefits for an Employee
Companies
Companies represent the companies in HRIS
Company Benefits
Represents the benefits offered by a company
Employees
Represents an employee in HRIS
Groups
Groups represent the groups for an Employee
How It Works
From zero to integrated
Go live with Gusto in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Gusto account
Use Truto’s frontend SDK to connect your customer’s Gusto account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Gusto
Truto’s Proxy API is a 1-to-1 mapping of the Gusto API. You call us, we call Gusto, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Gusto’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Gusto on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication method does Gusto use?
Gusto uses OAuth 2.0 for API authentication. Truto handles the full OAuth flow—token exchange, refresh, and secure storage—so your end users can connect their Gusto accounts with a simple authorization screen.
Which Gusto data models are available through Truto's Unified HRIS API?
Truto's Unified HRIS API maps Gusto data to five standard models: Employees, Companies, Groups, Benefits (employee-level), and Company Benefits. This gives you a normalized schema that works across multiple HRIS providers.
Does Truto support writing data back to Gusto, or is it read-only?
Truto currently does not list specific tools (proxy or native) for Gusto—they are built on request. The Unified HRIS API provides standardized read access to the listed models. If you need write operations or additional endpoints, contact Truto to discuss building custom tools for your use case.
How does Truto handle Gusto's API pagination and rate limits?
Truto abstracts away Gusto's pagination logic and rate limit handling. When you query the Unified HRIS API, Truto automatically manages cursor-based or offset pagination and respects Gusto's rate limits, so you get complete data sets without writing retry or throttling logic.
Can I request additional Gusto API capabilities beyond the Unified HRIS models?
Yes. Gusto tools are built on request at Truto. If you need access to payroll runs, time-off requests, tax documents, or any other Gusto-specific endpoint not covered by the Unified HRIS API, Truto can build proxy or native tools for your requirements.
Is Gusto integration available alongside other HRIS providers through the same API?
Absolutely. That's the core value of Truto's Unified HRIS API. You write one integration against the unified schema for Employees, Companies, Groups, and Benefits, and it works across Gusto and every other supported HRIS provider without per-provider code.
From the Blog
Gusto integration guides
Deep dives, architecture guides, and practical tutorials for building Gusto integrations.
Gusto
Get Gusto integrated into your app
Our team understands what it takes to make a Gusto integration successful. A short, crisp 30 minute call with folks who understand the problem.