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
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.