RUN Powered by ADP® doesn't offer a self-serve API — API access is gated behind ADP's Marketplace partner program. The free path is their own "Time Sheet Import" CSV upload, so that's what this integration builds: a correctly-formatted file, one click away.
There's no OAuth step and nothing to "Connect." Settings → Integrations → ADP RUN takes you straight to a settings + mapping + download page.
One-time setup
Fill in three things on the ADP RUN settings page:
| Field | What it is |
|---|---|
| Company code | ADP's code for your company (their "IID") |
| Pay frequency | Weekly, biweekly, semimonthly, monthly, or quarterly — must match how your ADP account is set up |
| Rate code | Which configured pay rate ADP should apply — BASE covers the common case |
An optional Holiday earnings code field lets you tell Timely which ADP earnings code to use for holiday pay, if your ADP setup has one configured. Leave it blank and holiday hours fold into regular hours instead (the dollar amount is unaffected either way — this only changes which code the hours show up under).
Mapping employees
ADP has no roster Timely can read, so there's nothing to auto-match — each employee needs their ADP Employee Id (the ID your ADP account already uses for them) entered manually. Employees with no ID entered are skipped from the export rather than guessed at, so a payroll run never silently lands on the wrong person.
Two ways to fill these in:
- One at a time — type an ID into any employee's row, then click Save all once you're done. A single Save all applies every row you've touched in one action, so editing five people doesn't mean five separate saves.
- Bulk paste — click "Got a list? Paste ADP RUN IDs here" and paste one employee per line (
Jane Smith, EMP001, tab- or space-separated also works). Each line is matched against your existing employees by name and dropped into the table for review — nothing is saved until you click Save all. Any line that doesn't match an employee is called out so you can fix it, rather than silently skipped. This is the fastest path if you're setting up more than a handful of employees at once, or already have a name/ID list exported from ADP.
The list defaults to showing only Unmapped employees, so it shrinks as you go — switch to All to review or edit anyone already mapped.
Downloading the CSV
Pick Last week or This week, click Download CSV, then upload the file in RUN under Time Sheet Import. The file has one row per employee per earnings code:
| Column | Notes |
|---|---|
| IID | Your company code |
| Pay Frequency | W / B / S / M / Q |
| Pay Period Start / End | MM/DD/YYYY |
| Employee Id | The ADP Employee Id you mapped |
| Earnings Code | REG, OVT, or DOVT — an employee with both regular and overtime hours gets two rows |
| Pay Hours | Two decimal places |
| Dollars | Left blank — ADP applies its own configured rate via Rate Code |
| Separate Check | Always 0 |
| Worked Department | Left blank — Timely has no ADP department mapping |
| Rate Code | The rate code from your settings |
Overtime and holidays
The regular/overtime split uses the same FLSA weekly-hours math as every other payroll export in Timely, respecting your location's break policy. Holiday hours (from org holidays with a configured pay multiplier) fold into REG unless you've set a Holiday earnings code, as above.
What this isn't
This isn't a live connection — there's no sync history, no auto-refresh, and changing an employee's schedule after you've downloaded a file doesn't update anything on ADP's side. Download after the week is final, the same way you would for the Gusto CSV path.