ADP Workforce Now Connector
Description
ADP Workforce Now is a human capital management (HCM) platform. This component manages applicants, workers, and payroll data within ADP Workforce Now.
API Documentation
This component was built using the ADP Workforce Now API Reference currently utilizing HCM API v2.
Connections
OAuth 2.0
key: adpOauth2To connect to ADP Workforce Now using OAuth 2.0, several credentials and certificate files are required. ADP's OAuth implementation uses client certificates for enhanced security in addition to standard OAuth credentials.
For detailed information about ADP's OAuth implementation, refer to the ADP Developer Documentation.
Prerequisites
- An active ADP Workforce Now account
- Access to the Developer Self Service Portal
- Contact with an ADP client representative to obtain initial credentials
- Ability to generate SSL certificate signing requests (CSR)
Setup Steps
-
Contact the ADP client representative to request access to the Developer Self Service Portal if not already available.
-
Log in to the Developer Self Service Portal.
-
Create a new project to house the OAuth credentials:
- Navigate to the projects section
- Click Create Project
- Enter the project name and details
- Save the project
-
Navigate to the Development Credentials tab within the project to locate the Client ID and Client Secret values. Copy these values for later use.
-
Configure the OAuth callback URL:
- Switch from the Data Connector tab to the End-user/SSO tab
- In the App redirect URI field, enter:
https://oauth2.prismatic.io/callback - Save the configuration
-
Generate and configure SSL certificates:
- Follow the Certificate Signing Request Guide to generate a certificate signing request
- Submit the CSR to ADP through the Developer Portal
- Download the Certificate File (.pem) and Key File once approved
- Keep these files secure as they will be needed for the connection configuration
Configure the Connection
After obtaining all required credentials and certificates, configure the connection in the integration:
| Field | Description |
|---|---|
| API Endpoint | The base URL of the ADP API. Defaults to https://api.adp.com/. Use https://uat-api.adp.com/ for testing/UAT environments. |
| Token Endpoint | The OAuth 2.0 token endpoint URL. Defaults to https://accounts.adp.com/auth/oauth/v2/token. Use https://uat-accounts.adp.com/auth/oauth/v2/token for UAT environments. |
| Client ID | The Client ID from the Development Credentials tab in the Developer Portal. |
| Client Secret | The Client Secret from the Development Credentials tab in the Developer Portal. |
| Key File | The entire contents of the private key file (.key) generated from the certificate signing request. |
| Certificate File | The entire contents of the certificate file (.pem) received after the CSR was approved. |
| Subscriber Organization OID | (Optional) The organization OID of the subscribed client. Only required when querying data from an organization different from the one associated with the Client ID and Client Secret. |
| Input | Notes | Example |
|---|---|---|
| Client ID | The client ID for the project in the ADP Partner Self Service portal. | |
| Client Secret | The client secret for the project in the ADP Partner Self Service portal. | |
| API Endpoint | The endpoint to use for the ADP Workforce Now API. | https://api.adp.com/ |
| Certificate File | The certificate file (.pem) generated from the ADP Developer Portal | -----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- |
| Key File | The key file generated from the ADP Developer Portal | -----BEGIN PRIVATE KEY----- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -----END PRIVATE KEY----- |
| Subscriber Organization OID | The organization OID (OOID) of the subscribed client. Only specify this if using a client ID and client secret for an organization different from the one being queried. | G3KSYTXAQH20T5ZS |
| Token Endpoint | The OAuth 2.0 token endpoint URL for ADP authentication. | https://accounts.adp.com/auth/oauth/v2/token |
Data Sources
Select Personal Contact
Select a personal contact from a worker's contacts. | key: selectPersonalContact | type: picklist
| Input | Notes | Example |
|---|---|---|
| Associate OID | The unique Associate OID identifier of the worker. | G3STHDEHFMJ3BY3N |
| Connection | The ADP Workforce Now connection to use. |
Example Payload for Select Personal Contact⤓
Select Worker
Select a worker from the ADP Workforce Now account. | key: selectWorker | type: picklist
| Input | Notes | Example |
|---|---|---|
| Filter | Specifies an OData expression a worker must match to be listed. Leave blank to list every worker. | workers/workerStatus/statusCode/codeValue eq 'Active' |
| Connection | The ADP Workforce Now connection to use. |
Example Payload for Select Worker⤓
Actions
Add Personal Contact
Adds a worker’s personal contact | key: addPersonalContact
| Input | Notes | Example |
|---|---|---|
| Associate OID | The unique Associate OID identifier of the worker. | G3STHDEHFMJ3BY3N |
| Connection | The ADP Workforce Now connection to use. | |
| Personal Contact | The personal contact data structure. View data dictionary for all available fields. |
Example Payload for Add Personal Contact⤓
Create Scan/Punch
Performs a scan punch operation where the first scan represents an “IN” punch and the next scan represents an “OUT” punch. | key: createScanPunch
| Input | Notes | Example |
|---|---|---|
| Badge ID | The badge identifier associated with the time punch being recorded. | 123456 |
| Clocking Type | The type of time punch operation. Punch mode alternates between IN and OUT on each scan. | punch |
| Connection | The ADP Workforce Now connection to use. |
Example Payload for Create Scan/Punch⤓
Delete Personal Contact
Removes a worker’s personal contact. | key: deletePersonalContact
| Input | Notes | Example |
|---|---|---|
| Associate OID | The unique Associate OID identifier of the worker. | G3STHDEHFMJ3BY3N |
| Connection | The ADP Workforce Now connection to use. | |
| Personal Contact ID | The unique identifier of the personal contact. | G3STHDEHFMJ3BY3N |
Example Payload for Delete Personal Contact⤓
Get Applicant Onboard Metadata
Retrieves metadata for the applicant onboarding process, including available fields, templates, and configuration options. | key: getApplicantOnboardMetadata
| Input | Notes | Example |
|---|---|---|
| Filter | Specifies an expression to filter onboarding metadata results. Use OData filter syntax to match specific template codes or criteria. | meta/applicantOnboarding/onboardingTemplateCode/code eq '{{onboardingTemplateCode}}' |
| Connection | The ADP Workforce Now connection to use. | |
| Context Templates | The geopolitical context template for the onboarding process. | US |
Example Payload for Get Applicant Onboard Metadata⤓
Get Clocking Transaction
Returns the status of a previously submitted clocking transaction such as “Clock-In”, “Clock-Out,” “Scan”, etc. | key: getClockingTransaction
| Input | Notes | Example |
|---|---|---|
| Connection | The ADP Workforce Now connection to use. | |
| Event ID | The unique identifier of the clocking transaction event. | 123456 |
Example Payload for Get Clocking Transaction⤓
Get Personal Contact
Returns a personal contact | key: getPersonalContact
| Input | Notes | Example |
|---|---|---|
| Select | Comma-separated list of properties to include in the response using OData property paths. | /mobileUserAccounts/associateOID,/mobileUserAccounts/governmentID |
| Associate OID | The unique Associate OID identifier of the worker. | G3STHDEHFMJ3BY3N |
| Connection | The ADP Workforce Now connection to use. | |
| Personal Contact ID | The unique identifier of the personal contact. | G3STHDEHFMJ3BY3N |
Example Payload for Get Personal Contact⤓
Get Personal Contact Meta
Returns a personal contact metadata | key: getPersonalContactMeta
| Input | Notes | Example |
|---|---|---|
| Select | Comma-separated list of properties to include in the response using OData property paths. | /mobileUserAccounts/associateOID,/mobileUserAccounts/governmentID |
| Associate OID | The unique Associate OID identifier of the worker. | G3STHDEHFMJ3BY3N |
| Connection | The ADP Workforce Now connection to use. |
Example Payload for Get Personal Contact Meta⤓
Get Time Cards
Get a worker's team's timecards. That is all the time cards for the worker's team members. The worker is identified by workers/[aoid] | key: getTimeCards
| Input | Notes | Example |
|---|---|---|
| Expand | The related resources to include inline in the response using OData expand syntax. | dayEntries |
| Filter | Specifies an expression that an item must match to be included in a response. Various criteria could be combined using and/or operands and () to set the operand precedence. e.g. /mobileUserAccounts/associateOID eq 'G4O73G9Z62SL2NFM' | /mobileUserAccounts/associateOID eq 'G4O73G9Z62SL2NFM' |
| Associate OID | The unique Associate OID identifier of the worker. | G3STHDEHFMJ3BY3N |
| Connection | The ADP Workforce Now connection to use. | |
| Pagination | Page-size and offset controls for paging through results. |
Example Payload for Get Time Cards⤓
Get Worker
Retrieve a worker by their Associate OID | key: getWorker
| Input | Notes | Example |
|---|---|---|
| Select | Comma-separated list of properties to include in the response using OData property paths. | /mobileUserAccounts/associateOID,/mobileUserAccounts/governmentID |
| Associate OID | The unique Associate OID identifier of the worker. | G3STHDEHFMJ3BY3N |
| Connection | The ADP Workforce Now connection to use. |
Example Payload for Get Worker⤓
Get Worker Demographics
Returns a worker demographic by Associate OID | key: getWorkerDemographics
| Input | Notes | Example |
|---|---|---|
| Select | Comma-separated list of properties to include in the response using OData property paths. | /mobileUserAccounts/associateOID,/mobileUserAccounts/governmentID |
| Associate OID | The unique Associate OID identifier of the worker. | G3STHDEHFMJ3BY3N |
| Connection | The ADP Workforce Now connection to use. |
Example Payload for Get Worker Demographics⤓
Get Worker Metadata
Retrieves a meta on workers | key: getWorkersMetadata
| Input | Notes | Example |
|---|---|---|
| Filter | Specifies an expression that an item must match to be included in a response. Various criteria could be combined using and/or operands and () to set the operand precedence. e.g. /mobileUserAccounts/associateOID eq 'G4O73G9Z62SL2NFM' | /mobileUserAccounts/associateOID eq 'G4O73G9Z62SL2NFM' |
| Connection | The ADP Workforce Now connection to use. |
Example Payload for Get Worker Metadata⤓
Get Worker Payment Distributions
Returns a worker's pay distribution records | key: getPaymentDistributions
| Input | Notes | Example |
|---|---|---|
| Filter | Specifies an expression that an item must match to be included in a response. Various criteria could be combined using and/or operands and () to set the operand precedence. e.g. /mobileUserAccounts/associateOID eq 'G4O73G9Z62SL2NFM' | /mobileUserAccounts/associateOID eq 'G4O73G9Z62SL2NFM' |
| Select | Comma-separated list of properties to include in the response using OData property paths. | /mobileUserAccounts/associateOID,/mobileUserAccounts/governmentID |
| Associate OID | The unique Associate OID identifier of the worker. | G3STHDEHFMJ3BY3N |
| Connection | The ADP Workforce Now connection to use. |
Example Payload for Get Worker Payment Distributions⤓
Get Worker Payment Distributions Meta
Returns a worker's pay distribution records metadata | key: getWorkerPaymentDistributionsMeta
| Input | Notes | Example |
|---|---|---|
| Select | Comma-separated list of properties to include in the response using OData property paths. | /mobileUserAccounts/associateOID,/mobileUserAccounts/governmentID |
| Connection | The ADP Workforce Now connection to use. |
Example Payload for Get Worker Payment Distributions Meta⤓
List Company Codes
Returns a list of company codes | key: listCompanyCodes
| Input | Notes | Example |
|---|---|---|
| Filter | Specifies an expression that an item must match to be included in a response. Various criteria could be combined using and/or operands and () to set the operand precedence. e.g. /mobileUserAccounts/associateOID eq 'G4O73G9Z62SL2NFM' | /mobileUserAccounts/associateOID eq 'G4O73G9Z62SL2NFM' |
| Connection | The ADP Workforce Now connection to use. |
Example Payload for List Company Codes⤓
List Personal Contacts
Returns a list of a worker’s personal contacts. | key: listPersonalContacts
| Input | Notes | Example |
|---|---|---|
| Select | Comma-separated list of properties to include in the response using OData property paths. | /mobileUserAccounts/associateOID,/mobileUserAccounts/governmentID |
| Associate OID | The unique Associate OID identifier of the worker. | G3STHDEHFMJ3BY3N |
| Connection | The ADP Workforce Now connection to use. |
Example Payload for List Personal Contacts⤓
List Worker Demographics
Request the list of all available worker demographics that the requester is authorized to view. | key: listWorkersDemographics
| Input | Notes | Example |
|---|---|---|
| Filter | Specifies an expression that an item must match to be included in a response. Various criteria could be combined using and/or operands and () to set the operand precedence. e.g. /mobileUserAccounts/associateOID eq 'G4O73G9Z62SL2NFM' | /mobileUserAccounts/associateOID eq 'G4O73G9Z62SL2NFM' |
| Select | Comma-separated list of properties to include in the response using OData property paths. | /mobileUserAccounts/associateOID,/mobileUserAccounts/governmentID |
| Connection | The ADP Workforce Now connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination. Ignores $skip and $top. | false |
| Pagination | Page-size and offset controls for paging through results. | |
| Query Parameters | The query parameters that will be appended to the URL. The parameters should be in key-value pairs. |
Example Payload for List Worker Demographics⤓
List Workers
Retrieves all available workers that the requester is authorized to view. | key: listWorkers
| Input | Notes | Example |
|---|---|---|
| Count | When true, the response includes the total number of records matching the query. Cannot be combined with $top or $skip. | |
| Filter | Specifies an expression that an item must match to be included in a response. Various criteria could be combined using and/or operands and () to set the operand precedence. e.g. /mobileUserAccounts/associateOID eq 'G4O73G9Z62SL2NFM' | /mobileUserAccounts/associateOID eq 'G4O73G9Z62SL2NFM' |
| Select | Comma-separated list of properties to include in the response using OData property paths. | /mobileUserAccounts/associateOID,/mobileUserAccounts/governmentID |
| Connection | The ADP Workforce Now connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination. Ignores $skip and $top. | false |
| Pagination | Page-size and offset controls for paging through results. | |
| Query Parameters | The query parameters that will be appended to the URL. The parameters should be in key-value pairs. |
Example Payload for List Workers⤓
Modify Time Entries
Modify time entries event instance | key: modifyTimeEntries
| Input | Notes | Example |
|---|---|---|
| Connection | The ADP Workforce Now connection to use. | |
| Events | The new time entries to be added, modified or deleted. Refer to the time entries API documentation for the structure of the time entries. |
Example Payload for Modify Time Entries⤓
Post Applicant Onboard Process
Manage data related to the applicant onboarding request. | key: postApplicantOnboardProcess
| Input | Notes | Example |
|---|---|---|
| Applicant Onboarding | The applicant onboarding data as JSON. The example is a minimal in-progress onboarding payload for a US client applicant; refer to the ADP API documentation for payloads from other countries and the full list of fields. | |
| Connection | The ADP Workforce Now connection to use. |
Example Payload for Post Applicant Onboard Process⤓
Raw Request
Send raw HTTP request to the ADP Workforce Now API | key: rawRequest
| Input | Notes | Example |
|---|---|---|
| Connection | The ADP Workforce Now connection to use. | |
| Data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} |
| File Data | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Form Data | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header | A list of headers to send with the request. | User-Agent: curl/7.64.1 |
| Max Retry Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Method | The HTTP method to use. | |
| Query Parameter | A 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. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Retry On All Errors | If 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 |
| Retry Delay (ms) | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | 0 |
| Timeout | The maximum time that a client will await a response to its request | 2000 |
| URL | Input the path only (/hr/v2/workers). The base URL is already included (https://api.adp.com/). For example, to connect to https://api.adp.com/hr/v2/workers, only /hr/v2/workers is entered in this field. | /hr/v2/workers |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. | false |
Update Personal Contact
Updates an existing worker’s personal contact | key: updatePersonaContact
| Input | Notes | Example |
|---|---|---|
| Associate OID | The unique Associate OID identifier of the worker. | G3STHDEHFMJ3BY3N |
| Connection | The ADP Workforce Now connection to use. | |
| Personal Contact | The personal contact data structure. View data dictionary for all available fields. | |
| Personal Contact ID | The unique identifier of the personal contact. | G3STHDEHFMJ3BY3N |
Example Payload for Update Personal Contact⤓
Update Worker Pay Distribution
Replaces an employee's existing Direct Deposit records with an updated collection | key: updateWorkerPayDistribution
| Input | Notes | Example |
|---|---|---|
| Associate OID | The unique Associate OID identifier of the worker. | G3STHDEHFMJ3BY3N |
| Connection | The ADP Workforce Now connection to use. | |
| Payment Distribution | The payment distribution data structure for direct deposit configuration. | |
| Work Assignment ID | The unique identifier of the worker's work assignment for pay distribution updates. | G3STHDEHFMJ3BY3N |
Example Payload for Update Worker Pay Distribution⤓
Changelog
2026-10-20
Fixed Fetch All and certificate handling defects and improved action configuration:
- Fixed List Worker Demographics with Fetch All enabled returning only the first 100 workers on accounts with 100 or more workers, and never finishing on accounts with fewer than 100
- Fixed List Workers with Fetch All enabled and a Filter returning empty entries alongside the matching workers
- Fixed the Select Worker data source failing with an error when a Filter is set
- Fixed Raw Request failing the TLS handshake when the connection's Key File or Certificate File stores its line breaks as escaped newlines, which the other actions already accepted
- Updated List Workers, List Worker Demographics, and Get Time Cards to group their Skip and Top inputs into Pagination; Fetch All stays a top-level toggle
- Updated the Select Worker and Select Personal Contact data sources to no longer take the Select input
- Added inline action calling support to 23 actions for improved example output during configuration
- Added output schemas to 19 actions for improved field mapping during configuration
2026-05-05
Added New and Updated Records polling trigger for detecting new records across supported resources:
- Supports Workers and Worker Demographics resource types
- Works with the existing certificate-based OAuth 2.0 connection
- Detects new records by tracking previously seen IDs across polls, since ADP list endpoints do not expose record-level modification timestamps; as a result, records that only change their underlying data (without being newly returned) may not be flagged as updated. For higher-fidelity change detection, consider ADP's event notifications API
2026-04-30
Updated spectral version
2026-03-31
Various modernizations and documentation updates
2026-03-13
Removed the Debug Request input from all action inputs. Debug logging is now controlled internally and no longer appears as a configurable field in actions.
2026-02-25
Updated connection to allow custom token endpoint URLs for organizations using non-standard ADP authentication endpoints
2026-01-26
Enhanced worker and personal contact actions with inline data source dropdowns. Users can now select workers and personal contacts directly from dropdown menus instead of manually entering IDs:
- Associate OID inputs now display a searchable list of workers with their names and IDs
- Personal Contact ID inputs (in Get Personal Contact, Update Personal Contact, and Delete Personal Contact actions) now display a list of the selected worker's contacts