Skip to content

Docs/Connectors

Gusto

Gusto payrolls, contractor payments, employees, contractors, departments and locations for one company.

The gusto connector reads one company's payroll from Gusto.

Connector name gusto
Products Records
Credentials The portal's Connect button, or an approved Gusto app's client id and secret, a refresh token, and the company uuid
Status Preview: tested against Gusto's documented responses, not yet on a live account

What it pulls

Object Contents
payroll Check date, pay period, processed flag, totals (gross pay, net pay, employer taxes and more)
contractor_payment Contractor, date, amounts, payment method
employee Name, email, department, jobs and compensation, onboarding and termination status
contractor Name or business name, type, wage type
department, location Names and addresses
company Name, entity type, status

Names, emails and addresses are replaced by tokens on your machine before anything is sent. See How scrubbing works.

Credentials

Gusto's API needs an app approved by Gusto for production. Create it at dev.gusto.com, authorize it for the company, and give the SDK its clientId, clientSecret, the refreshToken and the companyUuid. Gusto refresh tokens work once: the SDK saves each new one, so do not reuse the same token elsewhere.

Or skip the tokens: click Connect next to Gusto in the portal (Settings → Connected systems), then run datayield connect gusto --broker -o companyUuid=<uuid>.

Connect

bash
datayield connect gusto -o companyUuid=<uuid> -o clientId=<client id> \
  -o clientSecret=env:GUSTO_CLIENT_SECRET -o refreshToken=<refresh token>

Options

Option Required Meaning
companyUuid yes The company's uuid
clientId, clientSecret, refreshToken yes, or accessToken The app and its rotating refresh token
accessToken instead of the above A current access token, for a one-off run. It expires within two hours.
environment no production (default) or demo
startDate no Where the first run starts (a date)
objects no Record types to pull

New records on each run

Payrolls and contractor payments are requested by check date between the last successful run and now. People, departments and locations are sent whole each run. Gusto allows 200 requests a minute; the SDK stays under it.