Skip to main content

About ADP

ADP is one of the largest providers of payroll, HR, tax, and benefits administration software, serving organizations through platforms such as ADP Workforce Now, Vantage HCM, GlobalView, and RUN. Connecting ADP to Serval lets your team query worker data and automate employee-lifecycle and payroll-adjacent workflows against ADP’s REST APIs.
The ADP integration is in beta. Read Current beta limitation before building workflows on top of it.

What the ADP integration enables

CapabilityDescription
Worker data accessQuery ADP’s Workers API (/hr/v2/workers) and any other REST API enabled for your ADP API client
Workflow automationCall ADP endpoints from Serval workflows via the ADP API request action
ADP does not use OAuth scopes that you select when connecting. Which APIs your credentials can call — and which fields they return — is governed by the API products and data-access consents enabled for your API client on ADP’s side. Work with your ADP representative to enable the APIs you need.

How ADP authentication works

ADP secures its APIs with OAuth 2.0 client credentials plus mutual TLS (mTLS). The client certificate ADP issued for your API client must be presented on every HTTPS call — including the token request itself. A call made without the certificate is rejected during the TLS handshake, before it ever reaches ADP’s application layer. Connecting ADP to Serval therefore requires four credentials, plus a region:
CredentialWhat it is
Client IDThe identifier of your ADP API client
Client SecretThe secret paired with the Client ID
mTLS Client CertificateThe PEM certificate ADP issued or registered for this API client (sometimes called the Web Services or mutual-TLS certificate)
mTLS Private KeyThe PEM private key matching that certificate
Serval exchanges these for short-lived bearer tokens over mTLS and refreshes them automatically — you never handle tokens yourself.

Regions

ADP serves North America and international tenants from different gateways:
RegionToken endpointAPI gateway
North Americaaccounts.adp.comapi.adp.com
Internationalaccounts.eu.adp.comapi.eu.adp.com
If you’re not sure which region your organization is served from, ask your ADP representative.

Current beta limitation

Serval presents your client certificate when validating credentials and when exchanging tokens. However, workflow API requests travel through Serval’s shared integration proxy, which does not yet attach per-integration client certificates. Until that support ships:
  • The ADP API request workflow action and the built-in health check (<001> Test ADP Connection) report failures even when your connection is configured correctly — ADP’s gateway rejects the call during the TLS handshake.
  • Your credentials are still fully verified: Serval performs a real mTLS token exchange against ADP when you connect (and again every time you edit the connection). If your credentials may have changed since connecting, edit and re-save the connection to re-validate them.
We are actively working on presenting client certificates on proxied workflow requests. This page will be updated when that lands.

ADP configuration

Prerequisites

  • An ADP product with API access (for example ADP Workforce Now, Vantage HCM, or GlobalView)
  • Either ADP API Central — ADP’s self-service API administration product, available on the ADP Marketplace — or an ADP representative who can provision a custom API integration for you
  • Administrator access to API Central, if you’re using the self-service path

Step 1: Get a Client ID and Client Secret

If your organization has ADP API Central: sign in to API Central, create (or open) the API project for this integration, and copy its generated Client ID and Client Secret. If not: your ADP representative can provision an API client for a custom integration and deliver the Client ID and Client Secret to you.

Step 2: Get the mutual TLS certificate and private key

ADP issues and registers an X.509 client certificate for each API client. There are two common ways to obtain one:
  • Generate it in ADP API Central. API Central can create the certificate and key pair for you.
    The private key is shown only once when the certificate is generated. Save both PEM files immediately — if you lose the key, you must generate a new certificate.
  • Bring your own key (CSR flow). Generate a key pair yourself, submit a certificate signing request to ADP (via API Central or your representative), and ADP returns the signed certificate. You keep the private key.
ADP client certificates are valid for two years. Track the expiry date — see Rotating or renewing the certificate for the renewal procedure.

Step 3: Confirm your region and enabled APIs

Confirm with your ADP representative which gateway your organization is served from (North America or International), and that the APIs you plan to call — for example the Workers API — are enabled for your API client. For ADP’s own documentation and API reference, see the ADP developer portal.

Serval configuration

1

Navigate to the ADP integration

  1. In Serval, go to Applications → Available → ADP
  2. Click Connect
2

Enter your credentials

FieldRequiredDescription
Client IDYesThe Client ID of your ADP API client
Client SecretYesThe Client Secret paired with the Client ID
mTLS Client CertificateYesPaste the full PEM certificate, including the -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- lines
mTLS Private KeyYesPaste the full PEM private key matching the certificate, including the BEGIN/END lines
CA BundleNoOptional PEM bundle to pin the root CAs used to verify ADP’s servers. Leave empty to use the system trust store
RegionYesNorth America (default) or International — see Regions
3

Save and validate

Click Save. Before storing anything, Serval:
  1. Parses the certificate and private key, and checks that they match
  2. Performs a live token exchange against your region’s ADP token endpoint over mTLS (this can take a few seconds)
A successful save proves ADP accepted both the certificate (the TLS handshake) and the Client ID / Client Secret pair. If validation fails, the error message tells you which part to fix.
After connecting, the built-in health check (<001> Test ADP Connection) currently reports a failure even for valid connections — see Current beta limitation. The live validation at save time is the source of truth for your credentials.

Using ADP in workflows

Once connected, call ADP from workflows with the ADP API request action. Pass the path, method, and optional query, body, and headers — Serval resolves the region-specific host (api.adp.com or api.eu.adp.com) from the connection and injects the bearer token automatically. ADP does not publish a single consolidated OpenAPI spec, so the action is schema-less: resolve endpoint shapes from the ADP developer portal or the API documentation in ADP API Central. For example, the Workers API is paginated with $top and $skip:
GET /hr/v2/workers?$top=50&$skip=0
During the beta, workflow API requests are rejected at ADP’s TLS edge because the integration proxy cannot yet present your client certificate — see Current beta limitation.

Troubleshooting

”The certificate or private key could not be parsed”

  • Paste the complete PEM blocks, including the -----BEGIN ...----- and -----END ...----- lines
  • Make sure the private key matches the certificate — a key from a different certificate (or a regenerated one) will fail
  • Avoid stray characters or lost line breaks introduced by copy/paste

”ADP rejected the credentials”

  • Verify the Client ID and Client Secret are correct and belong to the same API client
  • Verify the certificate is the one ADP issued or registered for this API client — a certificate from another project fails the handshake
  • Check whether the certificate has expired (ADP certificates are valid for two years): openssl x509 -enddate -noout -in cert.pem
  • Confirm you selected the correct region — credentials for one gateway are rejected by the other

Health check fails after a successful connect

Expected during the beta — see Current beta limitation. Your credentials were verified with a live mTLS token exchange when you saved the connection.

Rotating or renewing the certificate

  1. Generate a new certificate (and key) in ADP API Central, or submit a new CSR through your ADP representative
  2. In Serval, open the ADP connection and edit it
  3. Paste the new mTLS Client Certificate and mTLS Private Key. Fields you leave untouched keep their stored values, so you don’t need to re-enter the Client ID or Client Secret
  4. Save — Serval re-validates the new material with a live token exchange before storing it
The optional CA bundle can be replaced on edit but not cleared. To remove a CA bundle entirely, disconnect and reconnect the integration.

Need help? Contact support@serval.com for assistance with your ADP integration.