HRIS · Beta
Dayforce
API integration
Ship HRIS features without building the integration. Full Dayforce API access via Proxy and 100+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with Dayforce
Common scenarios for SaaS companies building Dayforce integrations for their customers.
Power Earned Wage Access on hourly payroll
Financial wellness and EWA platforms can pull real-time punches and pay summaries to calculate accrued earnings, then write pay adjustments back into Dayforce so advances are automatically recouped in the next continuous payroll run.
Embed background screening into the Dayforce ATS
Screening and compliance vendors can register packages, push status updates, Right-to-Work results, adjudication decisions, and verified PII directly into candidate records so recruiters never leave Dayforce to review results.
Sync AI-generated shift schedules with Dayforce WFM
Workforce scheduling apps can read org units, jobs, employee availability, and time-off, then push optimized shifts back as Dayforce schedules so time tracking and payroll stay governed by Dayforce's continuous engine.
Automate HR-driven user provisioning
IdPs and IT automation tools can poll Dayforce employees and org structure to provision accounts, assign app access by department or job code, and deprovision on termination without manual HRIS exports.
Push candidate assessment results into recruiter workflows
Talent assessment platforms can create candidate assessments in Dayforce and write back scores, status, and report links so hiring managers see outcomes inline with the applicant record.
What You Can Build
Ship these features with Truto + Dayforce
Concrete product features your team can ship faster by leveraging Truto’s Dayforce integration instead of building from scratch.
Real-time earnings ledger with payroll write-back
Combine employee punches, pay summaries, and pay adjustments to show workers accrued wages and post deductions for advances taken.
Two-way shift scheduling with availability awareness
Read employee availability and time-away-from-work, then create and update Dayforce employee schedules from your scheduling UI.
Time clock and punch ingestion
Stream validated punches or raw hardware events from kiosks and mobile apps into Dayforce, with support for bulk delete and corrections.
Background screening orchestration hub
Create screening packages and billing codes, then bulk-update candidate screening status, adjudication, Right-to-Work results, and PII fields as checks progress.
Candidate assessment integration for the Dayforce ATS
Register assessments against candidates and post back scores, statuses, and report URLs so recruiters see results on the applicant profile.
HR-driven identity and access provisioning
Detect new hires, role changes, and terminations from the employees endpoint and map DepartmentXRefCode and JobXRefCode to downstream app entitlements.
SuperAI
Dayforce AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_dayforce_client_metadata
Get Dayforce client metadata for your organization, resolving the client- and version-specific API service URL to target for subsequent requests. Returns exactly two fields: ServiceVersion and ServiceUri. Call at minimum once a day if you store the returned URL.
list_all_dayforce_background_screening_billing_codes
List the background screening billing codes and their associated packages configured for the Dayforce background screening integration. Returns: BillingCodeId, Name, Description, AssociatedPackages.
create_a_dayforce_background_screening_billing_code
Send a list of background screening billing codes and their associated packages to Dayforce. Billing codes omitted from the request are treated as deleted or inactive. Returns: BillingCodeId, Name, Description, AssociatedPackages. Required: ProviderReference, BillingCodes.
list_all_dayforce_background_screening_packages
List background screening packages configured in Dayforce, including each package's Right to Work flag and associated billing codes. Returns: PackageId, Name, Description, IncludeRTW, AssociatedBillingCodes.
create_a_dayforce_background_screening_package
Create background screening packages in Dayforce by sending the provider's package list. Returns: PackageId, Name, Description, IncludeRTW, AssociatedBillingCodes. Required: ProviderReference, Packages. Packages omitted from the request are treated as deleted or inactive.
list_all_dayforce_background_screening_provider_statuses
List background screening provider statuses in Dayforce. Returns each record's ProviderReference plus its OrderStatuses, AdjudicationStatuses, and ResultStatuses lists.
create_a_dayforce_background_screening_provider_status
Send background screening provider statuses to Dayforce. The request body takes ProviderReference plus OrderStatuses, AdjudicationStatuses, and ResultStatuses string lists; each list is optional but at least one status list must be included. Returns an empty 204 response on success.
dayforce_candidate_background_screening_bulk_update
Update a candidate's background screening data in Dayforce — set the screening and adjudication status, the partner result URL, and candidate PII (date of birth, SSN/SIN, driver license). Returns the updated record: ScreeningRequestId, Url, ScreeningStatus, CandidatePII. Required: ScreeningRequestId. Properties set to null are cleared in Dayforce; omitted properties remain unchanged.
candidate_background_screening_right_to_work_bulk_update
Update the candidate right to work result for a Dayforce background screening. Returns the right to work record including WorkRightStatus, Status, DateIssued, PartnerIdentifier, and Documents. Required: ScreeningRequestId. WorkRightStatus must be one of UNLIMITED, LIMITED, or NONE.
candidate_background_screening_personal_identifiable_information
Update a candidate's background screening personal identifiable information (PII) in Dayforce. Returns the updated record with fields such as BioExempt, BirthDate, SocialSecurityNumber, HireDate, and DisplayName. Required: ScreeningRequestId and CandidatePII (with DateOfBirth, SocialSecurityNumber, SocialInsuranceNumber, DriverLicense).
candidate_background_screening_adjudication_status_bulk_update
Update the adjudication status of a candidate background screening order in Dayforce. Returns the updated screening record with ScreeningRequestId plus AdjudicationStatus, ScreeningStatus, Url, and CandidatePII. Required: ScreeningRequestId and AdjudicationStatus in the body.
dayforce_candidate_background_screening_status_bulk_update
Update the background screening order status for a candidate in Dayforce. Returns: ScreeningRequestId, ScreeningStatus, BioExempt, BirthDate, Culture, Gender, HireDate, HomePhone, OriginalHireDate, PhotoExempt, RequiresExitInterview, SocialSecurityNumber, StartDate, FirstTimeAccessEmailSentCount, FirstTimeAccessVerificationAttempts, SendFirstTimeAccessEmail, PreStartDate, PayrollKey, LoginId,…
list_all_dayforce_benefits_carrier_feed_ongoing_exports
Retrieve ongoing Dayforce benefits carrier feed data for employees and dependents whose benefit elections are in effect across a defined look-back/look-forward period range, for regular transmission to a single carrier. Returns a JSON payload with Data (Header carrier/policy/employer metadata plus EmployeeRecords covering employee details, elections, dependents, beneficiaries and earning…
list_all_dayforce_benefits_carrier_feed_open_enrollment_exports
Retrieve Dayforce open enrollment data for employees and dependents whose benefit elections are in effect as of the plan year start date, intended for one-time transmission to a single carrier after an annual enrollment period. Returns the JSON feed payload (data). Required: carrierXRefCode, planStartDate, planEndDate, clientNamespace.
list_all_benefits_carrier_feed_multi_carrier_ongoing_exports
Retrieve the Dayforce ongoing multi-carrier benefits export: employees and dependents with benefit elections in effect as of the defined period range, for regular transmission to multiple carriers. Returns: Data. Required: carrierXRefCode, planStartDate, planEndDate, clientNamespace.
list_benefits_carrier_feed_multi_carrier_open_enrollment_exports
Retrieve Dayforce open enrollment benefits data for multiple carriers: employees and dependents whose benefit elections are in effect as of the plan year start date, typically sent once after an annual enrollment period. Returns Data with Header, EmployeeRecords (employee, election, dependent, beneficiary details) and ProcessResults. Required: carrierXRefCode, planStartDate, planEndDate,…
list_all_dayforce_employees
List Dayforce employee XRefCodes — step one of the two-part retrieval pattern: query XRefCodes first, then request each employee's details. Accepts filters for employment status, org unit, hire/termination date ranges, and update windows. Returns records including XRefCode, DisplayName, and FirstName; results are subject to the 1,000-employee query governor limit.
get_single_dayforce_employee_by_id
Get a Dayforce employee's details by XRefCode, with an optional as-of context date and expand parameter for top-level child data. Returns: XRefCode, DisplayName, FirstName, LastName, Gender, BirthDate, HireDate, OriginalHireDate, StartDate, PreStartDate, HomePhone, SocialSecurityNumber, PayrollKey, LoginId, BioExempt, PhotoExempt, RequiresExitInterview, SendFirstTimeAccessEmail,…
update_a_dayforce_employee_by_id
Update an existing Dayforce employee record identified by XRefCode, sending the full employee data in the request body (same structure as the GET response). Returns the updated record's XRefCode. Required: id.
create_a_dayforce_employee
Create a new employee record in Dayforce by posting the employee data. Returns the created employee record including XRefCode, FirstName, and LastName.
dayforce_employees_partial_update
Partially update a Dayforce employee by XRefCode — the request body uses the same structure as the GET response; include only the fields to change (for example HomePhone, LastName, MaidenName). Returns the updated employee record including XRefCode, DisplayName, FirstName, and LastName. Required: id.
list_all_dayforce_employee_availability
List availability data for a specific Dayforce employee over a date range. Returns: DateOfRequest, UnAvailable, IsDefault, StartTime1, EndTime1. Required: x_ref_code, filterAvailabilityStartDate, filterAvailabilityEndDate.
create_a_dayforce_employee_availability
Create a new availability record for a Dayforce employee. Returns availability data including DateOfRequest, IsDefault, UnAvailable, StartTime1, and EndTime1. Required: employee_x_ref_code. Pass isValidateOnly=true to run validations without committing changes.
list_all_dayforce_employee_schedules
List Dayforce employee schedules for a specific employee by x_ref_code. Returns: EmployeeScheduleXRefCode, EmployeeXRefCode, TimeStart, TimeEnd, NetHours, DepartmentXRefCode, JobXRefCode, PositionXRefCode, OrgUnitXRefCode, SiteOrgUnitXRefCode, OrgLocationTypeXRefCode, PayAdjCodeXRefCode, DocketXRefCode, ProjectXRefCode, Comment, Published, Breaks, Activities, Skills, LaborMetrics, Segments,…
create_a_dayforce_employee_schedule
Create a new employee schedule (shift) in Dayforce. Returns the created schedule record including EmployeeScheduleXRefCode, EmployeeXRefCode, TimeStart, TimeEnd, NetHours, Published, Breaks, and Segments. Requires a requester-generated EmployeeScheduleXRefCode in the request body.
update_a_dayforce_employee_schedule_by_id
Update an existing Dayforce employee schedule by id (the schedule's EmployeeScheduleXRefCode); the body only needs the entities being updated. Returns the updated schedule record including EmployeeScheduleXRefCode, TimeStart, TimeEnd, NetHours, Published, Breaks, and Segments. Required: id.
list_all_dayforce_employee_time_away_from_work
List an employee's time away from work (TAFW) requests in Dayforce, optionally filtered by start/end date and request status. Returns each request's TAFWXRefCode, DateOfRequest, TimeStart, TimeEnd, NetHours, ReasonName, AllDay/HalfDay flags, and employee/manager comments. Required: x_ref_code.
list_all_dayforce_documents
List Dayforce document metadata for a specific employee. Returns metadata records including DocumentGUID, DocumentName, DocumentType, FileName, UploadedDate, and UploadedBy — document content is not included; use the DocumentGUID with the get endpoint to fetch content. Required: EmployeeXRefCode.
get_single_dayforce_document_by_id
Get a single Dayforce document by its DocumentGUID, returning both the document metadata and its content. Returns: DocumentGroup, SourceReportUniqueId, PublishDateTime, Title, PageCount, CultureId, Contents, FileName, SizeBytes. Required: id (DocumentGUID).
list_all_dayforce_employee_punches
List employee punch time entries in dayforce. Returns each punch's PunchXRefCode, EmployeeXRefCode, TimeStart, TimeEnd, Quantity, MealBreaks, Transfers, and PunchLaborMetrics. Filter by EmployeeXRefCode and UTC transaction time range; pagination is supported.
create_a_dayforce_employee_punch
Create an employee punch (time entry) in dayforce. Returns the created punch with PunchXRefCode, EmployeeXRefCode, TimeStart, TimeEnd, meal breaks, transfers, and labor metrics.
update_a_dayforce_employee_punch_by_id
Update an employee punch (time entry) in dayforce by id. Returns the updated punch with PunchXRefCode, EmployeeXRefCode, TimeStart, TimeEnd, meal breaks, transfers, and labor metrics. Required: id (the punch's XRefCode).
dayforce_employee_punches_bulk_delete
Delete an employee punch (time entry) in dayforce. The employeePunchXRefCode must be an exact match or a 400 error is returned, and all linked tardy pay adjustments, labor metrics, transfers, meals, and breaks are removed with it. Returns an empty 204 response on success. Required: employeePunchXRefCode.
create_a_dayforce_employee_raw_punch
Create employee raw clock entries (raw punches) in Dayforce. Returns the processed punch entry with fields including RawPunchXRefCode, PunchState, RawPunchTime, IsDuplicate, and RejectedReason. Set IsValidateOnly=true to run validations without committing changes.
list_all_dayforce_org_units
List Dayforce org unit XRefCodes. Returns one record per org unit with its XRefCode (for example, Corporate or Shop1); org units without XRefCodes aren't returned. Pass an XRefCode as the id to retrieve full org unit details.
get_single_dayforce_org_unit_by_id
Get full details for a single Dayforce org unit by id (its XRefCode). Returns: XRefCode, ShortName, LongName, OrgLevel, OrgUnitLegalEntities, OrgUnitParents, ChildOrgUnits. Data is returned as of the requested as-of date; the full org unit history isn't included. Required: id.
create_a_dayforce_org_unit
Create an org unit in Dayforce. Returns: requestId, processResults. Required: XRefCode — a unique requester-generated identifier sent in the body; Dayforce returns an error if the XRefCode already matches an existing org unit (resubmit as an update instead).
update_a_dayforce_org_unit_by_id
Update an existing Dayforce org unit by id (its XRefCode), including creating new effective-dated subordinate records (OrgUnitParents, OrgUnitLegalEntities). Returns: requestId, processResults. Required: id. The body needs only the entities being changed; XRefCode, if included in the body, must match the id.
list_all_dayforce_departments
List the XRefCodes of all departments configured in Dayforce. Returns: XRefCode. Departments without an XRefCode are excluded; pass each XRefCode as the id for the department detail, create, and update calls.
get_single_dayforce_department_by_id
Get the full detail of a single Dayforce department by id (its XRefCode). Returns: OrgLevel, OrgUnitLegalEntities, OrgUnitParents, ChildOrgUnits, XRefCode, ShortName, LongName. Required: id.
create_a_dayforce_department
Create a department in Dayforce. The request body uses the same JSON structure as the department detail response and must include a requester-generated unique XRefCode (duplicates return an error — resubmit as an update instead). Returns: OrgLevel, OrgUnitLegalEntities, OrgUnitParents, ChildOrgUnits, XRefCode, ShortName, LongName. Required: XRefCode. Supports IsValidateOnly=true to validate…
update_a_dayforce_department_by_id
Update an existing Dayforce department by id (its XRefCode); send only the entities and elements to change, in the same JSON structure as the department detail response. Returns: OrgLevel, OrgUnitLegalEntities, OrgUnitParents, ChildOrgUnits, XRefCode, ShortName, LongName. Required: id. Supports IsValidateOnly=true to validate without committing.
list_all_dayforce_jobs
List the XRefCodes of all jobs configured in the Dayforce organization. Returns the job xref_code; jobs without an XRefCode are excluded. Pass each XRefCode as id to the job details GET to retrieve the full job record.
get_single_dayforce_job_by_id
Get the details of a single Dayforce job by its XRefCode. Returns the job xref_code. Required: id (the job XRefCode).
create_a_dayforce_job
Create a job record in Dayforce. Returns the job xref_code. Required: xref_code — a requester-generated identifier that must be unique across jobs; Dayforce returns an error if it already exists, in which case resubmit as an update. Pass is_validate_only=true to run validations without committing changes.
update_a_dayforce_job_by_id
Update an existing Dayforce job identified by its XRefCode; the body needs only the entities and elements being changed, using the same JSON structure returned by the job details GET. Returns the job xref_code. Required: id (the job XRefCode). Pass is_validate_only=true to validate without committing.
list_all_dayforce_positions
List the XRefCodes of every position configured in the Dayforce organization — the first step of the two-step position retrieval pattern. Returns position records including XRefCode, PositionAssignments, DepartmentXRefCode, JobXRefCode, OrgUnitXRefCode, and Published. Positions without an XRefCode are not returned.
get_single_dayforce_position_by_id
Get a Dayforce position's details by id (the position's XRefCode); the response reflects data as of the request date rather than the full position history. Returns: XRefCode, PositionAssignments, DateOfRequest, UnAvailable, IsDefault, StartTime1, EndTime1, TimeStart, TimeEnd, NetHours, DepartmentXRefCode, JobXRefCode, OrgUnitXRefCode, Published, Breaks, Activities, Skills, LaborMetrics,…
create_a_dayforce_position
Create a Dayforce position with a caller-assigned unique XRefCode; the request body uses the same JSON structure as the position details response. Returns: XRefCode. Duplicate XRefCodes are rejected — resubmit the change as an update instead. Required: XRefCode.
update_a_dayforce_position_by_id
Update an existing Dayforce position by id (its XRefCode); the body needs only the data entities and elements being changed. Returns: XRefCode. Required: id.
list_all_dayforce_hr_admin_types
List contact information type XRefCodes configured in the Dayforce organization. Returns records with XRefCode (zero, one, or many); first step of the two-step retrieve pattern — pass an XRefCode as id to get full details.
get_single_dayforce_hr_admin_type_by_id
Get the full details of a single Dayforce contact information type by its XRefCode. Returns the detail record: id (the Dayforce XRefCode string) and attributes, whose shape varies by HR Admin subfeature. Required: id.
list_all_dayforce_labor_metrics
Get the details of a specific labor metric code in Dayforce by its external reference code. Returns: Name, Description, EffectiveStart, EffectiveEnd, LaborMetricsCodeXRefCode, ClockTransferCode, LedgerCode, OrgXRefCodes, LaborMetricsTypeXRefCode. Required: XRefCode, which must be an exact match.
create_a_dayforce_labor_metric
Create a new labor metric code in Dayforce. Returns the created labor metric code record including its Name, Description, LaborMetricsCodeXRefCode, ClockTransferCode, LedgerCode, and LaborMetricsTypeXRefCode.
dayforce_labor_metrics_bulk_update
Update an existing labor metric code in Dayforce. Returns the updated labor metric code record including its Name, Description, LaborMetricsCodeXRefCode, ClockTransferCode, LedgerCode, and LaborMetricsTypeXRefCode. Required: LaborMetricsCodeXRefCode in the request body to identify the record to update.
list_all_dayforce_labor_metric_types
List labor metric types in Dayforce. Returns each type's Name, Description, ClockTransferCode, and LaborMetricTypeXRefCode.
create_a_dayforce_labor_metric_type
Create a new labor metric type in Dayforce. Returns the created type's Name, Description, ClockTransferCode, and LaborMetricTypeXRefCode.
dayforce_labor_metric_types_bulk_update
Update an existing labor metric type in Dayforce. Returns the updated type's Name, Description, ClockTransferCode, and LaborMetricTypeXRefCode. Required: laborMetricTypeXRefCode.
list_all_dayforce_projects
List all projects configured in Dayforce, filtered by combinations of criteria such as short_name, long_name, project type/client/phase reference codes, org unit, last-modified and start/due/completed date ranges, and budget or priority ranges. Returns each project record with fields including ProjectXRefCode, ShortName, LongName, StartDate, DueDate, PctComplete, BudgetHours, and assignment…
get_single_dayforce_project_by_id
Get a single Dayforce project by its XRefCode. The value provided must be an exact match, otherwise a bad request (400) error is returned. Returns the full project record including ProjectXRefCode, ShortName, LongName, StartDate, DueDate, PctComplete, BudgetHours, and assignment XRefCode collections. Required: id.
create_a_dayforce_project
Create a new Dayforce project, supplying a requester-generated ProjectXRefCode along with fields such as ShortName, LongName, CreationOrgUnitXRefCodes, StartDate, DueDate, BudgetHours, and BudgetAmount. Returns the created project record including ProjectXRefCode, ShortName, LongName, StartDate, DueDate, PctComplete, and BudgetHours. Set isValidateOnly to true to run validations without…
update_a_dayforce_project_by_id
Update an existing Dayforce project by its XRefCode, sending the fields to modify such as ShortName, LongName, CreationOrgUnitXRefCodes, StartDate, DueDate, BudgetHours, and PctComplete. Returns the updated project record including ProjectXRefCode, ShortName, LongName, StartDate, DueDate, PctComplete, and BudgetHours. Required: id. Set isValidateOnly to true to run validations without committing…
dayforce_projects_bulk_update
Update an existing Dayforce project identified through the projectXRefCode query parameter, sending the fields to modify such as ShortName, LongName, CreationOrgUnitXRefCodes, StartDate, DueDate, BudgetHours, and PctComplete. Returns the updated project record including ProjectXRefCode, ShortName, LongName, StartDate, DueDate, PctComplete, and BudgetHours. Required: projectXRefCode. Set…
list_all_dayforce_employee_pay_summaries
List employee pay summaries in Dayforce for a given filter period. Returns each summary's EmployeeXRefCode, PayCodeXRefCode, PayDate, TimeStart, TimeEnd, NetHours, Rate, PayAmount, and IsPremium. Required: filterPaySummaryStartDate, filterPaySummaryEndDate.
list_all_dayforce_employee_pay_adjustments
List Dayforce employee pay adjustments — corrections made to employees' time and attendance or pay records — matching search criteria. Returns adjustment records with EmployeePayAdjustXRefCode, EmployeeXRefCode, PayAdjustmentCodeXRefCode, PayDate, Hours, Rate, and Amount. Required: filterPayAdjustmentStartDate, filterPayAdjustmentEndDate; the two dates must be seven days apart or less.
create_a_dayforce_employee_pay_adjustment
Create a pay adjustment record in Dayforce. Returns the created adjustment with EmployeePayAdjustXRefCode, EmployeeXRefCode, PayAdjustmentCodeXRefCode, PayDate, Hours, Rate, and Amount. The body must carry a unique requester-generated EmployeePayAdjustXRefCode; if it already exists, resubmit via PATCH. Set isValidateOnly=true to validate without committing. Required: EmployeePayAdjustXRefCode.
update_a_dayforce_employee_pay_adjustment_by_id
Update an existing Dayforce employee pay adjustment by id (the pay adjustment's XRefCode). The body only needs the entities and elements to insert or update. Returns the updated adjustment with EmployeePayAdjustXRefCode, EmployeeXRefCode, PayAdjustmentCodeXRefCode, PayDate, Hours, Rate, and Amount. Set isValidateOnly=true to validate without committing. Required: id.
list_all_dayforce_job_step_rates
List job step rates from Dayforce for an effective date range. Returns each employee's EmployeeXRefCode with nested JobStepRates including WorkAssignment details, EffectiveFrom/EffectiveTo dates, JobSetXRef, JobSetLevelRate, and Transactions.
list_all_dayforce_employee_pay_summaries_retro
List Dayforce employee retro pay summary data. Returns each entry's IsRetro flag, EmployeeXRefCode, PayCodeXRefCode, PayDate, NetHours, Rate, PayAmount, and LaborMetrics code reference fields. Required: payGroupXRefCode.
list_all_dayforce_kpis
Get KPI data from Dayforce for the specified organizational units and KPIs. Returns KPI data records with OrgUnitXRefCode, KpiXRefCode, Day, Week, Minute, Value, and AdjustedValue, filterable by kpiDataType (Actual, Forecast, Plan, Supplementary) and timePeriod (minute, day, week).
create_a_dayforce_kpi
Create new KPI data in Dayforce by posting an array of KPI data records. Returns each processed record with OrgUnitXRefCode, KpiXRefCode, Day, Week, Minute, Value, and AdjustedValue. Filter with orgUnitXRefCode, kpiXRefCode, kpiDataType (Actual, Forecast, Plan, Supplementary), and timePeriod (minute, day, week).
update_a_dayforce_kpi_by_id
Update existing KPI data in Dayforce by id. Sends an array of KPI data records to process and returns the updated records with OrgUnitXRefCode, KpiXRefCode, Day, Value, and AdjustedValue. Required: id.
list_all_dayforce_plan_targets
List Dayforce plan targets. Returns plan target records including PlanTargetXRefCode, Name, TargetValue, EffectiveStart, EffectiveEnd, KpiXRefCode, ZoneXRefCode, DaysOfWeek, and OrgUnitXRefCodes. Supports filtering by plan target, org unit, KPI, and zone XRefCode, and by active status.
create_a_dayforce_plan_target
Create a new plan target in Dayforce. Returns the created plan target record including PlanTargetXRefCode, Name, TargetValue, EffectiveStart, EffectiveEnd, KpiXRefCode, ZoneXRefCode, DaysOfWeek, OrgUnitXRefCodes, and CreationOrgUnitXRefCode. Pass isValidateOnly=true to validate without committing.
update_a_dayforce_plan_target_by_id
Update an existing plan target in Dayforce by its id (the plan target's XRefCode). Returns the updated plan target record including PlanTargetXRefCode, Name, TargetValue, EffectiveStart, EffectiveEnd, and OrgUnitXRefCodes. Required: id.
list_all_dayforce_operating_hours
List Dayforce operating hours for specified locations and date periods. Returns the operating hours data with EffectiveStart, EffectiveEnd, OrgUnit, and an OperatingHours array of per-day entries showing open/close times, closure flags, and exception markers.
create_a_dayforce_operating_hour
Create operating hours in Dayforce. Returns the operating hours data with EffectiveStart, EffectiveEnd, OrgUnit, and per-day OperatingHours entries. Requires XRefCode — a requester-generated unique identifier; Dayforce returns an error if the value already exists.
dayforce_operating_hours_bulk_update
Update operating hours in Dayforce by patching an operating hours exception; the request body reuses the GET Operating Hours JSON structure. Returns the updated operating hours data with EffectiveStart, EffectiveEnd, OrgUnit, and per-day OperatingHours entries. Required: isValidateOnly.
list_all_dayforce_reports
List report definitions accessible via Dayforce RESTful web services. Returns metadata for each report: Name, Description, XRefCode, and MaxRows (the maximum number of rows the report can return). Report data content is not included in this listing.
get_single_dayforce_report_by_id
Get the data rows for one Dayforce report by id (the report's XRefCode from the metadata list). Returns: XRefCode, Rows. Large result sets are paged via a next-page link. Required: id.
list_all_dayforce_job_feeds
List job posting feeds from Dayforce career sites for sharing with external job boards. Returns postings including Title, Description, ApplyUrl, DatePosted, CompanyName, and location details. Optional filters: companyName, parentCompanyName, internalJobBoardCode, includeActivePostingOnly, lastUpdateTimeFrom/To (max 1 month range), and datePostedFrom/To.
create_a_dayforce_candidate_sourcing
Submit a candidate application from an external job board to Dayforce (Candidate Sourcing). Returns: id, attributes. Body carries locale, appliedOnMillis, candidateSource, job (jobId or jobRequisitionId), questionnaire questions with answers, and applicant details (resume, additionalDocuments).
list_all_dayforce_candidate_application_statuses
List Dayforce candidate application status updates for applications submitted via the POST Candidate Sourcing endpoint. Returns: HasUnretrievedStatuses, ApplicationStatusUpdates. Max 1,000 status updates per call; HasUnretrievedStatuses is "True" while more updates remain to be retrieved.
update_a_dayforce_i_9_order_by_id
Update the status of an employee's I-9 order in Dayforce. Requires id (the I-9 order id, which must match the I9OrderId sent in the request body) and OrderStatusXRefCode set to one of the supported order statuses. Returns an empty 200 response on success.
list_all_dayforce_activities
List Dayforce activities available for use in employee schedules. Returns each activity's ActivityXRefCode, ShortName, and ZoneXRefCode.
create_a_dayforce_candidate_assessment
Register a Dayforce candidate for an assessment with the candidate assessment provider. Returns the registration response with CreationDateTime, AssessmentURL (the link Dayforce sends to the candidate), CandidateAssessmentGuid, ReceiptId, and StatusInfo. The request body carries the Candidate details, JobReqInfo, AssessmentReference, and PushBackLinks.
list_all_dayforce_legacy_labor_metrics
Get the details of a specific legacy labor metric in Dayforce. Returns the Data object with Name, Description, LegacyLaborMetricType, and LegacyLaborMetricXRefCode, plus ProcessResults. Required: legacyLaborMetricType, legacyLaborMetricXRefCode (must be an exact external reference code match).
create_a_dayforce_legacy_labor_metric
Create a new legacy labor metric in Dayforce. Returns the created record: Name, Description, LegacyLaborMetricType, LegacyLaborMetricXRefCode. Supports isValidateOnly to run validations without committing changes.
dayforce_legacy_labor_metrics_bulk_delete
Delete a specific legacy labor metric in Dayforce. Returns the deleted record: Name, Description, LegacyLaborMetricType, LegacyLaborMetricXRefCode. Required: legacyLaborMetricType, legacyLaborMetricXRefCode (must be an exact external reference code match).
dayforce_legacy_labor_metrics_bulk_update
Update an existing legacy labor metric in Dayforce. Returns the updated record: Name, Description, LegacyLaborMetricType, LegacyLaborMetricXRefCode. Required: legacyLaborMetricXRefCode; optionally include isValidateOnly to validate without committing.
list_all_dayforce_employee_balance_periods
List Dayforce employee balance periods, i.e. an employee's entitlement balances. Returns: EmployeeXRefCode, BalanceName, BalanceXRefCode, EffectiveStart, EffectiveEnd, InitialAccruedValue, InitialGrantValue, CurrentAccruedValue, CurrentGrantValue, MinimumValue, MaximumValue. Required: employeeXRefCode.
create_a_dayforce_employee_balance_transaction
Create employee balance transactions in Dayforce using the JSON structure returned by the Get Employee Balance Transactions request. Returns the created record with EmployeeBalancePeriodIdExternal, EffectiveStart/EffectiveEnd, and nested Transactions (TransactionDate, Delta, ApprovalStatus). Required: XRefCode (requester-generated, must be unique) and IsValidateOnly.
dayforce_employee_balance_transactions_bulk_update
Update an existing employee balance transaction in Dayforce. Returns the updated record with EmployeeBalancePeriodIdExternal, EffectiveStart/EffectiveEnd, and nested Transactions (TransactionDate, Delta, ApprovalStatus). Required: employeeBalanceTransactionId, IsValidateOnly.
list_all_dayforce_report_metadata
List metadata for Dayforce reports that are accessible via RESTful web services. Returns each report's Name, Description, XRefCode, and MaxRows; the reports' data content is not included in this response — use the XRefCode with the report data endpoints.
list_all_dayforce_assessments
List all active assessments configured for the client in the Dayforce candidate assessment provider integration. Returns: ShortName, LongName, ReferenceCode. Assessments omitted from the response are treated as deleted or inactive.
create_a_dayforce_candidate_assessment_report
Post candidate assessment reports to Dayforce when a candidate completes their assessment. Returns: CreationDateTime, CandidateAssessmentGuid, Reports. Requires CandidateAssessmentGuid and a Reports list where each report needs ReportLink (ShortName optional); report links surface on candidate profiles in Recruiting.
create_a_dayforce_candidate_assessment_score
Post candidate assessment scores to Dayforce when a candidate completes their assessment; the scores are shown on candidate profiles in Recruiting. Returns the posted scores payload with CandidateAssessmentGuid, OverallScore, IsRecommended, DetailedScores, Reports, and StatusInfo (Code, Message). Required: CandidateAssessmentGuid, OverallScore (with Score), and Reports.
create_a_dayforce_candidate_assessment_status
Create a candidate assessment status request in dayforce to retrieve whether a candidate completed their assessment. Returns: CreationDateTime, CandidateAssessmentGuid. Required: CandidateAssessmentGuid.
dayforce_candidate_right_to_work_results_bulk_update
Update a candidate's right to work results in Dayforce; the work rights status is displayed in the Indicators field on the candidate grid. Returns ScreeningRequestId and the CandidateRightToWorkResults object (WorkRightStatus, Status, Documents). WorkRightStatus is one of UNLIMITED, LIMITED or NONE. Required: ScreeningRequestId.
list_all_dayforce_job_posting_questionnaires
List the screening questionnaire questions for a Dayforce job posting. Returns each question item's id, type, question text, and answer options (value, label). Required: jobPostingId, cultureId.
Why Truto
Why use Truto’s MCP server for Dayforce
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Dayforce in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Dayforce account
Use Truto’s frontend SDK to connect your customer’s Dayforce account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Dayforce
Truto’s Proxy API is a 1-to-1 mapping of the Dayforce API. You call us, we call Dayforce, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Dayforce’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Dayforce on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How do end users authenticate their Dayforce account?
Dayforce uses per-tenant API credentials issued by the customer's Dayforce admin, scoped to a specific namespace and environment (stage or production). Truto handles credential capture, storage, and injection on every request so your app never touches the raw secrets.
How do I reference Dayforce entities like departments, jobs, and positions?
Nearly every write endpoint requires an XRefCode (External Reference Code) rather than an internal ID. You should first sync org_units, departments, jobs, and positions to map your product's entities to Dayforce's hierarchy before pushing employees, punches, schedules, or pay adjustments.
What if the data I need isn't exposed by a native Dayforce API?
Dayforce supports a 'Report-as-an-API' pattern. Your customer's admin builds a custom report in Dayforce, and you can list available reports via list_all_dayforce_reports and fetch output via get_single_dayforce_report_by_id to retrieve custom fields and bespoke datasets.
How fresh is the data from Dayforce?
Dayforce runs on a single continuous calculation engine, so punches, pay summaries, and employee changes are available via API shortly after they're entered. Most integrations use scheduled polling with update-window filters on endpoints like list_all_dayforce_employees and list_all_dayforce_employee_punches to pick up deltas.
Does the integration support bulk operations?
Yes. Dayforce provides dedicated bulk endpoints for background screening status, Right-to-Work updates, adjudication, PII updates, labor metrics, projects, employee balance transactions, operating hours, and punch deletes, which are the recommended path for high-volume writes.
Can I both read and write employee records?
Yes. You can list employees, fetch a single employee by ID, create new employees, and perform full or partial updates, which supports hire, rehire, profile sync, and termination workflows end-to-end.
From the Blog
Dayforce integration guides
Deep dives, architecture guides, and practical tutorials for building Dayforce integrations.
Dayforce
Get Dayforce integrated into your app
Our team understands what it takes to make a Dayforce integration successful. A short, crisp 30 minute call with folks who understand the problem.