Gusto integration lets you:
- Pull employee data from Gusto into Timely (active employees, pay rates, employment types) on first connect
- Push hours from a finalized week's schedule into a Gusto pay period — including overtime split and PTO
This avoids the spreadsheet shuffle on payroll day.
Connecting Gusto
Settings → Integrations → Gusto → Connect.
Gusto's OAuth flow asks for the following scopes:
- Read employees + pay rates
- Read pay periods
- Write payroll compensations (hours, OT, PTO)
- Optional: PTO balance read (uncheck if you don't want it)
Click Authorize. You'll land back on the Gusto integration page with a Connected status.
Pulling employees (one-time)
After connecting, click Import Employees. Gusto returns active employees with:
- Name, email, phone
- Employment type (full_time / part_time / contractor)
- Pay rate (hourly or salary)
- Department / role
The same mapping flow as Square — match against existing Timely employees, or create new ones.
This is a one-time pull by default. Subsequent payroll pushes just write to Gusto; if you hire someone new in Gusto, run Import Employees again to bring them into Timely.
Pushing hours
Once a week is finished and timecards reconcile (typically the day before payroll runs), open the Gusto integration page and click Push to Gusto.
You'll see a preview screen with:
- Pay period picker (defaults to the most recent open period in Gusto)
- Per-employee compensations: regular hours, OT hours, PTO hours, holiday hours
- Override toggle per row in case you need to adjust
Click Confirm push. Timely sends the compensations to Gusto via their API. Gusto returns a payroll-line UUID per employee, which Timely stores so a re-push doesn't duplicate.
How OT is calculated
Timely splits regular vs. overtime hours per Gusto's federal default rules:
- Hours worked over 40 in a week → OT
- For California (and other state-specific rules): hours over 8 in a day also count as OT
The split happens client-side at push time using your location's break policy (paid breaks count toward hours; unpaid breaks don't).
If your Gusto org has custom OT rules, the federal split is the safer default — Gusto will re-apply state rules on its end. If you spot a discrepancy, file it via support@trytimely.com.
PTO
If you imported employees with PTO balances enabled at connect time, Timely tracks:
- Available PTO per employee
- PTO consumed by approved time-off periods
The push includes consumed PTO as a separate line item per employee, so Gusto draws it down accordingly.
Re-pushing a pay period
Each push is idempotent — Gusto's payroll-line UUIDs prevent double-write. If you push, then realize you missed a shift, edit the schedule, and push again:
- Timely diffs against the last-push state
- Compensations that didn't change are skipped
- Adjusted compensations are PUT'd with the original line UUID, so Gusto updates in place
Disconnecting
Settings → Integrations → Gusto → Disconnect. Stops future pushes; leaves historical mapping data in Timely. Reconnecting reuses the existing mappings unless Gusto's internal employee IDs changed.