Skip to main content

Gusto Connector

Gusto Gusto is a company that provides a cloud-based payroll, benefits, and human resource management software for businesses based in the United States.

Connections

OAuth 2.0

OAuth 2.0 connection for Gusto

To create an OAuth 2.0 app for Gusto, sign up for a Gusto developer account and create a new application.

For detailed information, refer to the Gusto Developer Documentation.

Prerequisites

Setup Steps

  1. Log in to the Gusto Developer Portal and create a new application
  2. Enter a name and description for the application
  3. Under Redirect URI, add the OAuth callback URL: https://oauth2.integrations.acme.com/callback
  4. Save the application configuration

Configure the Connection

  • Copy the Client ID and Secret from the application settings in the Gusto Developer Portal
  • Enter the Client ID and Client Secret into the connection configuration

Production Access

Gusto restricts new app integrations to a demo environment until the app has been reviewed and approved for production access. This two-stage process evaluates the integration's security practices and intended use before granting access to real employee and payroll data.

Gusto apps pass through two states before they are ready for deployment.

Demo environment (before production access): Users can authenticate and the OAuth flow completes normally, but the integration connects to api.gusto-demo.com. Only demo payroll data is accessible. No real employee records, company data, or live payroll information can be reached. This is the expected state during development and testing.

Production (after approval): The integration connects to api.gusto.com. Real Gusto accounts and live payroll data become accessible.

Complete the production access process before deploying to end users. Gusto apps begin in the demo environment (api.gusto-demo.com) and can only access demo data. They cannot connect to real Gusto accounts until production access is granted. To gain production access, the integration must complete a two-stage approval process.

Production Pre-Approval

Submit a production access request through the Gusto Developer Portal. Gusto reviews the request and typically responds within 1–2 weeks, evaluating the integration's intended use case and data access requirements.

Security Review

In addition to the production access request, Gusto requires a security review. The integration must demonstrate compliance with industry security standards. Acceptable certifications include:

  • SOC 2 Type II
  • ISO 27001

Submit documentation demonstrating compliance as part of the production access process.

Once both the pre-approval and security review are complete, Gusto provides production credentials. Update the connection configuration with the production Client ID and Client Secret to connect to live Gusto accounts (api.gusto.com).

This connection uses OAuth 2.0, a common authentication mechanism for integrations. Read about how OAuth 2.0 works here.

InputCommentsDefault
Authorize URLThe OAuth 2.0 Authorization URL for Gustohttps://api.gusto.com/oauth/authorize
Token URLThe OAuth 2.0 Token URL for Gustohttps://api.gusto.com/oauth/token
Client IDClient Identifier of your app for the API
Client SecretClient Secret of your app for the API

Triggers

Webhook

Receive and validate webhook requests from Gusto for webhooks you configure.

InputCommentsDefault
Connection

Actions

Create Employee

Create an employee of a company

InputCommentsDefault
Connection
Company IDA UUID representing a company.
First NameThe employee's first name.
Middle InitialThe employee's middle initial.
Last NameThe employee's last name.
Date of BirthThe employee's date of birth.
Email AddressThe employee's personal email address. Required if Self Onboarding is true.
Social Security NumberThe employee's social security number.
Self OnboardingIf true, employee is expected to self-onboard. If false, payroll admin is expected to enter in the employee's onboarding information.false
Additional FieldsAdditional fields that might not be covered by the standard inputs.

Create Webhook Subscription

Creates a Webhook Subscription to receive notifications when entities change for Gusto.

InputCommentsDefault
Connection
Webhook URLThe URL for the webhook subscription.
Subscription TypesTypes of notifications to receive when entities change. Enter as comma-separated values.

Delete Webhook Subscription

Deletes the Webhook Subscription associated with the provided UUID for Gusto.

InputCommentsDefault
Connection
Webhook Subscription UUIDThe webhook subscription UUID.

Find Employee by Email

Get an employee by personal email address.

InputCommentsDefault
Connection
Company IDA UUID representing a company.
Email AddressThe employee's personal email address.

Get Company by ID

Get company metadata by ID

InputCommentsDefault
Connection
Company IDA UUID representing a company.

Get Employee

Get an employee by ID

InputCommentsDefault
Connection
Employee IDA UUID representing a employee.

Get Pay Schedule by ID

Get a pay schedules for a company by pay schedule ID

InputCommentsDefault
Connection
Company IDA UUID representing a company.
Pay Schedule IDA UUID representing a pay schedule.

Get Webhook Events

Get webhook events based on the partner application's scopes for Gusto.

InputCommentsDefault
Connection
Resource UUIDThe UUID of the company. If not specified, will return all events for all companies.
Event TypeA string containing the exact event name or use a wildcard match to filter for a group of events.
Sort OrderSort resulting events in ascending (asc) or descending (desc) chronological order.
Fetch AllWhen enabled, automatically fetches all pages of results. Pagination inputs are ignored when this is enabled.false
Starting After UUIDServes as a cursor, returns all events occurring after specified UUID (exclusive).
LimitLimits the number of objects returned in a single response, between 1 and 100. Defaults to 25.

Get Webhook Subscription

Returns the Webhook Subscription associated with the provided UUID for Gusto.

InputCommentsDefault
Connection
Webhook Subscription UUIDThe webhook subscription UUID.

List Companies

List all companies that the currently authenticated user is a part of

InputCommentsDefault
Connection
Fetch AllWhen enabled, automatically fetches all pages of results. Pagination inputs are ignored when this is enabled.false
Pagination PageWhich page of results to fetch. See Gusto API documentation for more information.

List Company Admins

List all admin users at a company

InputCommentsDefault
Connection
Company IDA UUID representing a company.
Fetch AllWhen enabled, automatically fetches all pages of results. Pagination inputs are ignored when this is enabled.false
Pagination PageWhich page of results to fetch. See Gusto API documentation for more information.

List Employees

List employees of a company

InputCommentsDefault
Connection
Company IDA UUID representing a company.
Fetch AllWhen enabled, automatically fetches all pages of results. Pagination inputs are ignored when this is enabled.false
Pagination PageWhich page of results to fetch. See Gusto API documentation for more information.

List Pay Schedules

List pay schedules for a company

InputCommentsDefault
Connection
Company IDA UUID representing a company.
Fetch AllWhen enabled, automatically fetches all pages of results. Pagination inputs are ignored when this is enabled.false
Pagination PageWhich page of results to fetch. See Gusto API documentation for more information.

List Webhook Subscriptions

Returns all webhook subscriptions associated with the provided Partner API token for Gusto.

InputCommentsDefault
Connection

Raw Request

Send raw HTTP request to Gusto

InputCommentsDefault
Connection
API VersionThe API version to use.2026-02-01
URLInput the path only (/provision), The base URL is already included (https://api.gusto.com/v1). For example, to connect to https://api.gusto.com/v1/provision, only /provision is entered in this field.
MethodThe HTTP method to use.
DataThe HTTP body payload to send to the URL.
Form DataThe Form Data to be sent as a multipart form upload.
File DataFile Data to be sent as a multipart form upload.
File Data File NamesFile names to apply to the file data inputs. Keys must match the file data keys above.
Query ParameterA list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
HeaderA list of headers to send with the request.
Response TypeThe type of data you expect in the response. You can request json, text, or binary data.json
TimeoutThe maximum time that a client will await a response to its request
Retry Delay (ms)The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.0
Retry On All ErrorsIf true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.false
Max Retry CountThe maximum number of retries to attempt. Specify 0 for no retries.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.false

Terminate Employee

End an employee's employment

InputCommentsDefault
Connection
Employee IDA UUID representing a employee.
Termination DateThe date the employee was terminated.
Run Termination Payroll?Whether to run a termination payroll for the employee.false

Update Webhook Subscription

Updates the Webhook Subscription associated with the provided UUID for Gusto.

InputCommentsDefault
Connection
Webhook Subscription UUIDThe webhook subscription UUID.
Subscription TypesTypes of notifications to receive when entities change. Enter as comma-separated values.