# Dayforce MCP connector

The Dayforce connector brings employee addresses, tax records, badges and availability into Claude, ChatGPT, Cursor and the Elaichi Agent, so each person can look up and update Dayforce records inside their own access, with every action logged.

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

## Facts

| | |
| --- | --- |
| Application | Dayforce |
| Category | HRIS |
| AI tools | 310 |
| Authentication | Connects with an API key |
| 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 Dayforce is connected

- Update the home address for Priya Nair after her move
- List every badge issued for the Toronto office this quarter
- Show federal tax records created for new Canadian hires this month

## Connect Dayforce in Elaichi

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

1. Open Connections, choose Add connection, and pick Dayforce.
2. Optionally set Share with, then press Connect.
3. Paste a Dayforce API key. One person generates a token in Dayforce and pastes it once. Everyone else works through Share with, and never sees it.

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

## Dayforce 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.

## Dayforce 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.

## Dayforce 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 Dayforce 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 Dayforce 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 Dayforce through Elaichi

### Update an employee address after a move

HR. When someone tells HR they have moved, the new address goes straight into their Dayforce record without opening a form. Ask for everyone whose address changed this month to check the mailing list.

### Set up tax details for new hires

Payroll. Create federal and state tax records for a batch of new Canadian or Australian hires in one ask, then list what was created to confirm nothing was missed before the first pay run.

### Correct tax statuses across many employees

Payroll. When a rule changes, update tax statuses for a whole group in Dayforce at once instead of one record at a time. Pull the list afterward to confirm every affected person was covered.

### Check availability before building the schedule

Operations. Look up a person's availability in Dayforce while planning next week, so shifts land on days they can actually work. Managers get the answer in plain language without leaving their chat window.

### Issue and track building badges

Facilities. Create a Dayforce badge for a new starter and list badges by location when a site changes hands. Bulk updates handle a whole floor at once.

### Keep authorization assignments current

People operations. See who is assigned to authorize what in Dayforce, add assignments for new team leads, and update a group of assignments when a department reorganizes.

## Frequently asked questions

### How do I connect Dayforce to Claude?

Connect Dayforce in Elaichi by pasting in your Dayforce API key, then open Claude, go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. There is no OAuth application to register on the Dayforce side and no client ID or secret to generate. Once added, you sign in to Elaichi as yourself and Dayforce shows up in Claude ready to use.

### Does Dayforce work with ChatGPT and Cursor as well as Claude?

Yes. Dayforce is connected once in Elaichi, and the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. Nothing is set up separately per client.

### What can an AI agent actually do with my Dayforce data?

An agent connected to Dayforce can look up and update employee addresses, create and list federal and state tax records for Canada and Australia, manage badges and authorization assignments, and check a person's availability. It can also handle bulk updates, such as changing tax statuses for a whole group of employees in one go. Short, concrete asks like "list badges for the Toronto office" work better than long paragraphs.

### Does connecting Dayforce give the AI access to every employee record?

No. Every request to Dayforce runs as the person who signed in, so the agent sees only the employees, addresses and tax records that person can already see in Dayforce. Elaichi can narrow that access further by team or by action, and it can never widen it beyond what Dayforce already allows.

### Can my team share one Dayforce connection?

Yes. One person connects Dayforce with the API key and shares the connection with a team in Elaichi, and nobody else on the team ever sees or handles that key. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person behind every Dayforce change.

### Can I stop an agent from deleting or changing things in Dayforce?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Dayforce addresses and tax records while blocking creates and bulk updates. A restricted action is never offered to Claude, ChatGPT or Cursor at all, so no prompt, however worded, can reach it.

### What happens to a Dayforce connection when someone leaves?

Offboarding a person in Elaichi ends their access to Dayforce through every client at once. If they connected a shared Dayforce account, that connection keeps working for everyone else on the team. Disconnecting Dayforce once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client together.

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

Yes. Dayforce 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.

## All 310 Dayforce tools

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

- **Dayforce addresses bulk update** (Update). PATCH a PersonAddress. Required parameters: x_ref_code.
- **Create a Dayforce address** (Create). POST a PersonAddress. Required parameters: x_ref_code.
- **List all Dayforce addresses** (List). GET PersonAddress Details. Fields may include: PersonAddressId, Address1, Address2, Address3, Address4, Address5, Address6, City. Required parameters: x_ref_code. Field visibility follows the Web Services role: unauthorized fields come back null or absent, not as an error.
- **Dayforce aus federal taxes bulk update** (Update). Update an AUS federal tax record for an employee in Ceridian Dayforce. Returns an empty 200 response on success. Required parameters: x_ref_code.
- **Create a Dayforce aus federal tax** (Create). Create an AUS federal tax record for an employee in Ceridian Dayforce. Returns an empty 200 response on success. Required parameters: x_ref_code.
- **List all Dayforce aus federal taxes** (List). List AUS federal tax records for an employee in Ceridian Dayforce. Returns a collection of EmployeeAUSFederalTax records. Required parameters: x_ref_code.
- **List all Dayforce aus superannuation rules** (List). List Australian superannuation rules for a specific employee in Ceridian Dayforce. Returns the employee's superannuation rule records including contribution and fund configuration details. Required parameters: x_ref_code.
- **Get single Dayforce aus superannuation by ID** (Get). Get Australian superannuation details for an employee in Ceridian Dayforce by employee xRefCode (id). Returns the employee's Australian superannuation records with fund and contribution details from the Data array. Required parameters: id.
- **Dayforce authorization assignments bulk update** (Update). Update an AuthorizationAssignment for an employee in Ceridian Dayforce. Returns an empty 200 response on success. Required parameters: x_ref_code.
- **Create a Dayforce authorization assignment** (Create). POST an AuthorizationAssignment. Required parameters: x_ref_code.
- **List all Dayforce authorization assignments** (List). List authorization assignments for an employee in Ceridian Dayforce by their external reference code (xRefCode). Fields may include: AuthorityType, EffectiveStart, EffectiveEnd, AuthorizedPersonnelFirstName, AuthorizedPersonnelLastName, AuthorizedPersonnelMiddleName, AuthorizedPersonnelXrefCode, LastModifiedTimestamp. Required parameters: x_ref_code. Field visibility follows the Web Services role: unauthorized fields come back null or absent, not as an error.
- **Get single Dayforce availability by ID** (Get). Get a list of employee availability records for a specific employee in Ceridian Dayforce within a date range. Fields may include: DateOfRequest, UnAvailable, IsDefault, StartTime1, EndTime1, StartTime2, EndTime2, PreferredStartTime1, PreferredEndTime1, PreferredStartTime2, PreferredEndTime2. Required parameters: id, filter_availability_start_date, filter_availability_end_date. Field visibility follows the Web Services role: unauthorized fields come back null or absent, not as an error.
- **Dayforce badges bulk update** (Update). Update an employee badge in Ceridian Dayforce by submitting badge data for the specified employee. Returns an empty 200 response on success. Required parameters: x_ref_code.
- **Create a Dayforce badge** (Create). Create a new employee badge in Ceridian Dayforce for a specific employee identified by x_ref_code. Returns an empty 200 response on success. Required parameters: x_ref_code.
- **List all Dayforce badges** (List). List employee badge details for a specific employee in Ceridian Dayforce. Returns EmployeeBadge record attributes with fields defined in the upstream Dayforce OpenAPI schema. Required parameters: x_ref_code.
- **Dayforce can federal taxes bulk update** (Update). Update a Canadian federal tax record for an employee in Ceridian Dayforce. Returns an empty 200 response on success. Required parameters: x_ref_code.
- **Create a Dayforce can federal tax** (Create). Create a Canadian federal tax record for an employee in Ceridian Dayforce by supplying an EmployeeCANFederalTax payload. Returns an empty 200 response on success. Required parameters: x_ref_code.
- **List all Dayforce can federal taxes** (List). GET EmployeeCANFederalTax Details. Fields may include: EffectiveStart, EffectiveEnd, TotalClaimAmount, IsNonResident, MultipleEmployer, IncomeLessThanClaim, DistrictTaxDeduction, AuthorizedTaxCredits. Required parameters: x_ref_code. Field visibility follows the Web Services role: unauthorized fields come back null or absent, not as an error.
- **Dayforce can state taxes bulk update** (Update). Update a Canadian state tax record for an employee in Dayforce. Returns an empty 200 response on success. Required parameters: x_ref_code.
- **Create a Dayforce can state tax** (Create). Create a Canadian state tax record for an employee in Dayforce. Returns an empty 200 response on success. Required parameters: x_ref_code.
- **List all Dayforce can state taxes** (List). List Canadian state tax records for a specific employee in Dayforce by employee external reference code. Returns EmployeeCANStateTax records including id and schema-defined attributes. Required parameters: x_ref_code.
- **Dayforce can tax statuses bulk update** (Update). Update an employee's Canadian tax status details in Ceridian Dayforce by employee external reference code. Returns an empty 200 response on success. Set is_validate_only to true to validate the request without applying changes to the database. Required parameters: x_ref_code.
- **Create a Dayforce can tax status** (Create). Create a Canadian tax status record for an employee in Ceridian Dayforce by their external reference code. Returns an empty 200 response on success. Required parameters: x_ref_code.
- **List all Dayforce can tax statuses** (List). List Canadian tax statuses for an employee in Ceridian Dayforce by their external reference code. Returns EmployeeCANTaxStatus records with schema-specific fields defined upstream in the Dayforce EmployeeCANTaxStatus schema. Required parameters: x_ref_code.
- **Dayforce certifications bulk update** (Update). Update a single certification in Ceridian Dayforce identified by its xRefCode. Submit the LMSCertification modification payload as the request body. Returns an empty 200 response on success. Required parameters: x_ref_code.
- **Create a Dayforce certification** (Create). Create a new LMS certification in Ceridian Dayforce by submitting a certification payload. Returns an empty 200 response on success.
- **List all Dayforce certifications** (List). List all LMS certifications in Ceridian Dayforce. Returns each certification record including XRefCode. Optional filter by xRefCode.
- **List all Dayforce client metadatas** (List). Get client metadata for a Ceridian Dayforce instance. Returns the client metadata object whose attributes describe instance-level configuration.
- **Dayforce client payroll countries bulk update** (Update). PATCH Client Payroll Country.
- **Create a Dayforce client payroll country** (Create). Create one or more client payroll country records in Ceridian Dayforce by submitting an array of payroll country update objects. Set isValidateOnly to true to validate the request without persisting changes. Returns an empty 200 response on success.
- **List all Dayforce client payroll countries** (List). List client payroll countries in Ceridian Dayforce, optionally filtered by country codes, HCM Payroll, Connected Pay, or pay group availability. Fields may include: ClientOperatingLocations, ClientOperatingLocationsLabel, ConnectPayEnabled, Countries. Field visibility follows the Web Services role: unauthorized fields come back null or absent, not as an error.
- **Dayforce clock device groups bulk update** (Update). Update an existing clock device group assignment for an employee in Ceridian Dayforce. Returns an empty response on success (no response body). Required parameters: x_ref_code.
- **Create a Dayforce clock device group** (Create). Create a new clock device group assignment for an employee in Ceridian Dayforce. Returns an empty response on success (no response body). Required parameters: x_ref_code.
- **List all Dayforce clock device groups** (List). List clock device groups for a specific employee in Ceridian Dayforce. Returns EmployeeClockDeviceGroup records with attributes defined by the upstream Dayforce schema. Required parameters: x_ref_code.
- **Get single Dayforce compensation summary by ID** (Get). GET EmployeeCompensation Details. Fields may include: EmployeeNumber, EffectiveEnd, EffectiveStart, PayGrade, PayType, PayGroup, PayClass, EmploymentStatusReason. Required parameters: id. Field visibility follows the Web Services role: unauthorized fields come back null or absent, not as an error.
- **Dayforce confidential identifications bulk update** (Update). Update an employee's confidential identification record in Ceridian Dayforce by external reference code. Returns an empty 200 response on success. Required parameters: x_ref_code.
- **Create a Dayforce confidential identification** (Create). POST a EmployeeConfidentialIdentification. Required parameters: x_ref_code.
- **Get single Dayforce confidential identification by ID** (Get). Get confidential identification details for a specific employee in Ceridian Dayforce. Returns an array of the employee's confidential identification records effective as of the context date. Required parameters: id.
- **Get single Dayforce contact information type by ID** (Get). GET a ContactInformationType with the requested XRefCode. Fields may include: ContactInformationTypeGroup, XRefCode, ShortName, LongName, LastModifiedTimestamp. Required parameters: id. Field visibility follows the Web Services role: unauthorized fields come back null or absent, not as an error.
- **List all Dayforce contact information types** (List). GET a List of ContactInformationTypes. Fields may include: ContactInformationTypeGroup, XRefCode, ShortName, LongName, LastModifiedTimestamp. Field visibility follows the Web Services role: unauthorized fields come back null or absent, not as an error.
- **Dayforce contacts bulk update** (Update). PATCH a PersonContact. Required parameters: x_ref_code.
- **Create a Dayforce contact** (Create). POST a PersonContact. Required parameters: x_ref_code.
- **List all Dayforce contacts** (List). GET PersonContact Details. Fields may include: PersonContactId, ContactInformationType, ContactNumber, Country, EffectiveEnd, EffectiveStart, ElectronicAddress, Extension. Required parameters: x_ref_code. Field visibility follows the Web Services role: unauthorized fields come back null or absent, not as an error.
- **Dayforce courses bulk update** (Update). Update a course in Ceridian Dayforce identified by its xRefCode. Returns an empty response on success. Set isValidateOnly to true to validate the request without persisting changes. Required parameters: x_ref_code.
- **Create a Dayforce course** (Create). Create a new course in Ceridian Dayforce by submitting a JSON Course payload. Returns an empty 200 response on success.
- **List all Dayforce courses** (List). List all courses in Ceridian Dayforce. Returns course records including XRefCode, CourseType, and CourseProvider. Optional filters available by courseType, courseProvider, and xRefCode. Max 1000 records per page.
- **List all Dayforce deduction definitions** (List). Get List of Deduction Definitions. Fields may include: SystemDeduction, Active, AllowArrears, WorkersComp, Countries, Payees, Name, Description. Field visibility follows the Web Services role: unauthorized fields come back null or absent, not as an error.
- **Create a Dayforce department** (Create). Post By department is Validate Only client Namespace.
- **Get single Dayforce department by ID** (Get). Get By x Ref Code is Validate Only client Namespace. Fields may include: LedgerCode, XRefCode, ShortName, LongName, LastModifiedTimestamp. Required parameters: id. Field visibility follows the Web Services role: unauthorized fields come back null or absent, not as an error.
- **List all Dayforce departments** (List). Get By client Namespace. Fields may include: LedgerCode, XRefCode, ShortName, LongName, LastModifiedTimestamp. Field visibility follows the Web Services role: unauthorized fields come back null or absent, not as an error.
- ...and 260 more tools. Call `tools/list` via the MCP endpoint, or see the full catalog via the API, for the complete set.
