# ADP Workforce Now MCP connector

Connect ADP Workforce Now to Elaichi and Claude, ChatGPT, Cursor or any MCP client can look up workers, time cards and time off balances, and file time off requests, inside each person's own ADP access.

Source: https://elaichi.ai/connectors/adpworkforcenow/

## Facts

| | |
| --- | --- |
| Application | ADP Workforce Now |
| Category | HRIS |
| AI tools | 310 |
| Authentication | App credentials |
| Bring your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## What you can ask once ADP Workforce Now is connected

- Show me the remaining time off balances for my team.
- Which team time cards are missing hours this pay period?
- File a time off request for Maria next Friday.

## Connect ADP Workforce Now in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick ADP Workforce Now.
2. Optionally set Share with, then press Connect.
3. Paste your ADP Workforce Now app credentials. ADP Workforce Now authenticates the app rather than a person. One person supplies the credentials once, and everyone else works through Share with.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which ADP Workforce Now tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## ADP Workforce Now MCP connector for Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## ADP Workforce Now MCP connector for ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## ADP Workforce Now MCP connector for Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect ADP Workforce Now to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a ADP Workforce Now tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with ADP Workforce Now through Elaichi

### Find a worker's record without opening ADP

HR. Ask for a worker's job, location or hire date and get it from the live ADP Workforce Now record, in the same chat where you are drafting the offer letter or the announcement.

### Bring a former employee back on the books

HR. Rehire a returning worker in ADP Workforce Now from a plain request, with the fields the rehire needs checked before anything is submitted, and add or update their government ID at the same time.

### Fix a time card before the payroll run

Payroll. Ask which team time cards are missing hours, then correct a time entry in ADP Workforce Now before the pay period closes.

### Approve time off with the balance in view

Managers. See how many vacation or sick days a worker has left in ADP Workforce Now, then file or cancel a time off request on their behalf.

### Load next week's schedule in one go

Operations. Hand over a shift plan and have it uploaded to ADP Workforce Now as schedule entries, then check whether the upload went through.

### Keep labor charge codes current

Finance. Upload new project or cost center codes to ADP Workforce Now so hours land against the right budget, and confirm the upload status without logging in.

## Elaichi vs Zapier MCP vs Composio for ADP Workforce Now

All three can connect ADP Workforce Now to an AI assistant, and all three have admin controls. They differ in where access lives and how you pay.

| What to check | Elaichi | Zapier MCP | Composio |
| --- | --- | --- | --- |
| Where the AI connects | One address for the whole organization. Endpoint: https://api.elaichi.ai/mcp | A server per member, created at sign-in. | An MCP endpoint per team, or an SDK. |
| Control over ADP Workforce Now tools | Allow or restrict single ADP Workforce Now tools, per role or user. | App and action restrictions on the account. | Role permissions, down to the action. |
| Record of calls | One audit entry per ADP Workforce Now call. | A History tab of tool calls. | A log of every tool call. |
| Single sign-on | SAML or OIDC, plus SCIM, on Gold. | SAML on Enterprise. | SAML and OIDC on Enterprise. |
| Price | $15 per user per month. | 2 tasks per successful call. | Billed per tool call. |

Sources: Zapier MCP [docs](https://docs.zapier.com/mcp/get-started/quickstart), [security](https://docs.zapier.com/mcp/manage/security), [usage](https://docs.zapier.com/mcp/features/usage); Composio [docs](https://docs.composio.dev/docs/composio-connect), [gateway](https://composio.dev/mcp-gateway), [enterprise](https://composio.dev/enterprise), [pricing](https://composio.dev/pricing). Checked September 2026.

Longer take: [Zapier MCP alternative](/blog/zapier-mcp-alternative/) and [when you don't need an MCP gateway](/blog/when-you-dont-need-an-mcp-gateway/).

## Frequently asked questions

### How do I connect ADP Workforce Now to Claude?

Connect ADP Workforce Now in Elaichi first. It uses app credentials, so you enter the credentials ADP issues for your organization, and there is no OAuth application to register and no client ID or secret to generate. Then open Claude, go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Claude asks you to sign in to Elaichi as yourself, and from then on it works with ADP Workforce Now inside your own access.

### Does ADP Workforce Now work with ChatGPT and Cursor as well as Claude?

Yes. ADP Workforce Now is connected once in Elaichi, and the same endpoint, https://api.elaichi.ai/mcp, goes into Claude, ChatGPT, Cursor and any other MCP client, and the Elaichi Agent uses it too. There is nothing to set up again for each client.

### What can an AI agent actually do with my ADP Workforce Now data?

It can look up workers and their demographics, pull a team's time cards, correct a time entry, check time off balances, and file or cancel a time off request in ADP Workforce Now. It can also rehire a returning worker, add or change a government ID, and upload schedule entries and labor charge codes, then check whether those uploads succeeded. Short, concrete asks such as "show Priya's remaining vacation days" work better than long sentences.

### Does connecting ADP Workforce Now give the AI every worker record?

No. Every call to ADP Workforce Now runs as the person who signed in, so a manager sees the workers, time cards and balances their ADP role already allows and nothing more. Elaichi can narrow that further for a team or a toolbox, but it can never widen access beyond what ADP Workforce Now grants that person.

### Can my team share one ADP Workforce Now connection?

Yes. One administrator connects ADP Workforce Now in Elaichi and shares it with a team, and nobody else ever handles the app credentials. Each person still signs in to Elaichi as themselves, so the audit log names who looked up a worker or changed a time entry.

### Can I stop an agent from changing time cards or worker records in ADP Workforce Now?

Yes. Restrictions in Elaichi work per action, so you can allow reading workers and time off balances while blocking time entry changes, rehires or government ID updates in ADP Workforce Now. A restricted action is never advertised to Claude or any other client, so no prompt can reach it.

### What happens to an ADP Workforce Now connection when someone leaves?

Offboarding that person in Elaichi ends their access to ADP Workforce Now through every client at once. A shared ADP Workforce Now connection keeps working for everyone else on the team. If you want the connection gone entirely, disconnect it once in Elaichi and it disappears from Claude, ChatGPT, Cursor and every other client.

### Does the ADP Workforce Now MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. ADP Workforce Now is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

### Is Elaichi an alternative to Zapier MCP for ADP Workforce Now?

Yes. Both let Claude, ChatGPT or Cursor use ADP Workforce Now. Zapier MCP fits a team that already automates in Zapier, since each person signs in and acts as themselves in that account. Elaichi fits when IT wants one address for the whole company, per-tool rules by role, and a record of every ADP Workforce Now call.

### How is Elaichi different from Composio for ADP Workforce Now?

Composio gives AI agents tools and sign-in handling across 1,000+ apps, for developers building agents or people using an assistant, billed per tool call. Elaichi gives a company's own people governed access to ADP Workforce Now: one address, restrictions per role or user, and $15 per user per month. Both have role permissions and a log of every call.

## All 310 ADP Workforce Now tools

Every tool below is callable through https://api.elaichi.ai/mcp once ADP Workforce Now is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all ADP Workforce Now worker demographics** (List). List all worker demographics in ADP Workforce Now that the requester is authorized to view. Returns the workers collection with each record's associateOID, workerID, person (legalName), businessCommunication, and customFieldGroup.
- **ADP Workforce Now worker demographics get meta** (Get). Get the Worker Demographic meta for ADP Workforce Now. Returns the meta envelope whose queryCriteria entries list the supported OData query options, including itemID, queryOptionCode, queryOptionTypeCode, and resourcePaths.
- **ADP Workforce Now workers add government ID** (Add). Add a government ID for a worker in ADP Workforce Now. Submits a worker.governmentID.add event and returns the confirmed event envelope (events). Required: events (carrying the event data with the worker and government ID details).
- **ADP Workforce Now workers change government ID** (Action). Change a worker's government ID in ADP Workforce Now. Submits a worker.governmentID.change event and returns the confirmed event envelope (events). Required: events (carrying the event data with the worker and government ID details).
- **List all ADP Workforce Now workers** (List). List all workers in ADP Workforce Now that the requester is authorized to view. Returns the workers collection with each worker's associateOID, workerID (idValue), person.legalName, businessCommunication, and customFieldGroup. Supports OData $filter, $select, $top, $skip, and asOfDate.
- **ADP Workforce Now workers get meta** (Get). Get the metadata for ADP Workforce Now's workers endpoint, describing the OData query options and worker resource paths that can be used on the collection. Returns: events.
- **ADP Workforce Now workers get rehire meta** (Get). Get the event metadata for ADP Workforce Now's worker rehire event, used when hiring an employee who has previously worked for the organization. Returns: events.
- **ADP Workforce Now workers rehire** (Action). Rehire an employee who has previously worked for your organization in adpworkforcenow via the worker.rehire event. Returns the event confirmation payload, whose fields follow the Worker Rehire event schema exposed by the worker.rehire meta endpoint. Use the applicant onboard APIs instead for first-time hires.
- **ADP Workforce Now data collection entries get event** (Get). Get a data collection entries process event instance from ADP Workforce Now by event id. Returns the event instance envelope: an events array whose entries carry eventNameCode (codeValue, shortName), data.eventContext, and transform. Required: data_collection_entries.proces_id.
- **ADP Workforce Now data collection entries process** (Action). Process a data collection entries event instance from one to many data collection terminals (e.g. time clocks) in ADP Workforce Now. Returns the processed event instance envelope: an events array whose entries carry eventNameCode (codeValue, shortName), data.eventContext, and transform.
- **ADP Workforce Now labor charge codes get meta** (Get). Get the Labor Allocation Code Types configured for a company in ADP Workforce Now. Returns the query-option definition descriptors with itemID, queryOptionCode, queryOptionTypeCode, and resourcePaths.
- **ADP Workforce Now labor charge codes get upload status** (Get). Get the status of a previous labor charge code import in ADP Workforce Now. Returns the confirm message for the upload request (payload shape undocumented). Required: request_id.
- **ADP Workforce Now labor charge codes upload** (Upload). Upload (import) labor charge code values to ADP Workforce Now. Returns the confirmation for the submitted import request; use get_upload_status to retrieve the outcome. Each laborAllocationCodes entry sets _modificationTypeCode to added, changed, or removed. Required: laborAllocationCodes.
- **Create a ADP Workforce Now schedule entry upload** (Create). Upload work schedule entries for multiple employees to ADP Workforce Now via the TLM Import Work Schedule API. Returns: request_id. Requires a JSON payload of the schedule entry data to import.
- **ADP Workforce Now schedule entry uploads get status** (Get). Get the status of a schedule entry import previously submitted to ADP Workforce Now. Returns: request_id, status. Required: request_id.
- **List all ADP Workforce Now team time cards** (List). List the time cards for all members of a worker's team in adpworkforcenow, identified by the worker's Associate OID. Returns each time card's id, dayEntries, and time-system-specific attributes (day entries included when expanded). Required: aoid.
- **ADP Workforce Now time entries modify** (Action). Modify a set of ADP Workforce Now time entries by uploading time entry event data for employee positions. Returns 202 Accepted with Location and Retry-After headers for polling import and timecard posting status via meta.resourceSetID. Required: workAssignmentID (Entry ID), plus AOID and PFID in the event payload. Allow at least 30 seconds between bulk upload requests.
- **ADP Workforce Now time off balances get meta** (Get). Retrieve the event metadata for the time-off-balances.modify event in ADP Workforce Now. Returns meta entries with itemID, queryOptionCode, queryOptionTypeCode, and the supported resourcePaths.
- **ADP Workforce Now time off balances list balances v 2** (List). List a worker's time off balances and entries in ADP Workforce Now, as of today per the Time system of record by default. Returns: balances, entries. Required: aoid.
- **ADP Workforce Now time off balances list configurations** (List). List the paid time off configurations for a target associate in ADP Workforce Now; the returned set may be constrained by the requestor's authorization (e.g. manager). Returns: configurations. Required: aoid.
- **ADP Workforce Now time off balances modify** (Action). Modify a set of time off balances for an individual in ADP Workforce Now by submitting a time-off-balances.modify event instance. Returns the processed events array. Required: events.
- **ADP Workforce Now time off requests cancel** (Cancel). Cancel an existing paid time off request in ADP Workforce Now. Returns: id. Required: aoid, request_id.
- **Create a ADP Workforce Now time off request** (Create). Create a paid time off request in ADP Workforce Now. The request is managed by the Time system and is complete once successfully created; its status can be viewed in the list of paid time off details. Returns: id. Required: aoid. The JSON body follows ADP's Time Off Request schema.
- **ADP Workforce Now time off requests get meta** (Get). Get API metadata for the worker time off request summaries endpoint in ADP Workforce Now, including the supported OData query options. Returns: itemID, queryOptionCode, queryOptionTypeCode, resourcePaths. Required: aoid.
- **List all ADP Workforce Now time off requests** (List). List a worker's time off request summaries in ADP Workforce Now, returning only the requests the requester is authorized to view. Returns: id. Required: aoid.
- **ADP Workforce Now time off requests list details** (List). List a worker's detailed time off requests in ADP Workforce Now for the associate identified by aoid, returning only requests the requestor is authorized to view. Returns: id. Required: aoid.
- **ADP Workforce Now time off requests list team summaries** (List). List time off request summaries for a manager's team in ADP Workforce Now. Returns the teamTimeOffRequestSummaries collection of summaries for all time off requests the requester is authorized to view. Required: aoid. Supports an OData $filter on request start and end dates.
- **ADP Workforce Now work schedules add day** (Add). Add a new day with one or more shifts to an employee's work schedule in adpworkforcenow. Returns: scheduleEntryId. Shifts that fail are reported individually without blocking the others.
- **ADP Workforce Now work schedules change day** (Action). Change a day within an employee's existing work schedule in adpworkforcenow. Returns: scheduleEntryId. Individual shift failures are reported in the response without blocking the remaining shifts.
- **ADP Workforce Now work schedules change entry** (Action). Change a single shift entry within an employee's existing work schedule in adpworkforcenow. Returns: scheduleEntryId.
- **ADP Workforce Now work schedules change schedule** (Action). Change an employee's existing work schedule in adpworkforcenow, which can span multiple days and shifts. Returns: scheduleEntryId.
- **ADP Workforce Now work schedules copy day** (Copy). Copy all schedule entries from one day to another day within an employee's existing work schedule in adpworkforcenow. Returns: scheduleEntryId.
- **ADP Workforce Now work schedules copy schedule** (Copy). Copy an existing employee's work schedule to another employee in ADP Workforce Now by posting the work-schedule.copy event. Returns an opaque event acknowledgement; no field-level response body is documented. Requires a JSON request payload (application/json).
- **ADP Workforce Now work schedules get add day meta** (Get). Get the event metadata for the ADP Workforce Now add-schedule-day event (work-schedule-day.add). Returns: itemID, queryOptionCode, queryOptionTypeCode, resourcePaths. No required parameters.
- **ADP Workforce Now work schedules get change day meta** (Get). Get the event metadata for the ADP Workforce Now change-schedule-day event (work-schedule-day.change). Returns: itemID, queryOptionCode, queryOptionTypeCode, resourcePaths. No required parameters.
- **ADP Workforce Now work schedules get change meta** (Get). Get the event metadata for the ADP Workforce Now change-employee-work-schedule event (work-schedule.change). Returns: itemID, queryOptionCode, queryOptionTypeCode, resourcePaths. No required parameters.
- **ADP Workforce Now work schedules get copy day meta** (Get). Get the event metadata for the ADP Workforce Now copy-schedule-day event (work-schedule-day.copy), which copies all entries from one day to another within an existing employee schedule. Returns: itemID, queryOptionCode, queryOptionTypeCode, resourcePaths. No required parameters.
- **ADP Workforce Now work schedules get copy meta** (Get). Get the event metadata for ADP Workforce Now's copy-employee-work-schedule event (work-schedule.copy). Returns an event metadata object with itemID, queryOptionCode, queryOptionTypeCode, and the resourcePaths the event's OData query options cover.
- **ADP Workforce Now work schedules get remove day meta** (Delete). Get the event metadata for ADP Workforce Now's remove-schedule-day event (work-schedule-day.remove). Returns an event metadata object with itemID, queryOptionCode, queryOptionTypeCode, and the resourcePaths the event's OData query options cover.
- **ADP Workforce Now work schedules get remove meta** (Delete). Get the event metadata for ADP Workforce Now's remove-employee-work-schedule event (work-schedule.remove). Returns an event metadata object with itemID, queryOptionCode, queryOptionTypeCode, and the resourcePaths the event's OData query options cover.
- **List all ADP Workforce Now work schedules** (List). List the work schedules ADP Workforce Now holds for one associate. Returns each schedule's id and its upstream TLM attributes (associate, days, and shifts, where processed shifts carry a generated scheduleEntryId). Required: aoid.
- **ADP Workforce Now work schedules list team** (List). List all team work schedules the requester is authorized to view in ADP Workforce Now. Returns each schedule's id and its upstream TLM attributes (associate, days, and shifts, where processed shifts carry a generated scheduleEntryId). Deprecated upstream — prefer the per-worker list.
- **ADP Workforce Now work schedules remove day** (Delete). Remove a day from an existing employee work schedule in ADP Workforce Now. Returns an event confirmation response whose payload structure is defined upstream rather than enumerated in the ADP API Explorer source; the JSON request body supplies the schedule-day identification details.
- **ADP Workforce Now work schedules remove schedule** (Delete). Remove an existing employee work schedule in ADP Workforce Now. Returns an event confirmation response whose payload structure is defined upstream rather than enumerated in the ADP API Explorer source; the JSON request body supplies the schedule identification details.
- **ADP Workforce Now worker communication add email** (Add). Add a worker's business email in ADP Workforce Now by POSTing the worker.business-communication.email.add event. Returns an acknowledgement containing status and timestamp. Body: status, timestamp.
- **ADP Workforce Now worker communication add fax** (Add). Add a worker's business fax number in ADP Workforce Now by POSTing the worker.business-communication.fax.add event. Returns an acknowledgement containing status and timestamp. Body: status, timestamp.
- **ADP Workforce Now worker communication add landline** (Add). Add a worker's business landline in ADP Workforce Now by POSTing the worker.business-communication.landline.add event. Returns an acknowledgement containing status and timestamp. Body: status, timestamp.
- **ADP Workforce Now worker communication add mobile** (Add). Add a worker's business mobile telephone in ADP Workforce Now by POSTing the worker.business-communication.mobile.add event. Returns an acknowledgement containing status and timestamp. Body: status, timestamp.
- **ADP Workforce Now worker communication add pager** (Add). Add a worker's business pager number in ADP Workforce Now by POSTing the worker.business-communication.pager.add event. Returns an acknowledgement containing status and timestamp. Body: status, timestamp.
- **ADP Workforce Now worker communication change email** (Action). Change a worker's business email in ADP Workforce Now by submitting the worker.business-communication.email.change event. Accepts a JSON request body; the source does not document its fields. Returns an event acknowledgement whose body is not documented.
- ...and 260 more tools. Call `tools/list` via the MCP endpoint, or see the full catalog via the API, for the complete set.
