---
title: Dayforce API Integration on Truto
slug: dayforce
category: HRIS
canonical: "https://truto.one/integrations/detail/dayforce/"
---

# Dayforce API Integration on Truto



**Category:** HRIS  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 100 tools for Dayforce that AI agents can call directly.

- **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.

## How it works

1. **Link your customer's Dayforce account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Dayforce.** The Proxy API is a 1-to-1 mapping of the Dayforce API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **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

- **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.

## FAQs

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

## Related reading

- [Connect Dayforce to AI Agents: Automate Recruiting and Personnel Tasks](https://truto.one/blog/connect-dayforce-to-ai-agents-automate-recruiting-and-personnel-tasks/) — Learn how to connect Dayforce to AI Agents using Truto's /tools endpoint. Fetch tools, bind them to LangChain, and automate complex HR and recruiting workflows.
