> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kombo.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Workday HRIS Integration

> Workday connector for Kombo's HRIS API

The Workday HRIS integration allows you to sync HRIS data between Workday and your application through Kombo's unified API. The tool slug for this connector is `workday`.

## Guides and Resources

<CardGroup cols={2}>
  <Card title="Connection Setup Guide" icon="link" href="https://help.kombo.dev/hc/en-us/articles/14350938170897">
    Step-by-step instructions to connect your Workday account to Kombo.
  </Card>

  <Card title="How to set up Custom Fields" icon="book" href="https://help.kombo.dev/hc/en-us/articles/24079912530961-Workday-How-do-I-set-up-custom-fields">
    Additional documentation and guides for Workday.
  </Card>
</CardGroup>

## Supported Features & Coverage

<Tabs>
  <Tab title="Models">
    <Accordion title="Legal Entities">
      | Field               | Notes |
      | ------------------- | ----- |
      | id                  |       |
      | remote\_id          |       |
      | changed\_at         |       |
      | remote\_deleted\_at |       |
      | name                |       |
    </Accordion>

    <Accordion title="Work Locations">
      | Field               | Notes |
      | ------------------- | ----- |
      | id                  |       |
      | remote\_id          |       |
      | changed\_at         |       |
      | remote\_deleted\_at |       |
      | name                |       |
      | address             |       |
      | type                |       |
      | remote\_data        |       |
    </Accordion>

    <Accordion title="Employees">
      | Field                 | Notes |
      | --------------------- | ----- |
      | id                    |       |
      | remote\_id            |       |
      | changed\_at           |       |
      | remote\_deleted\_at   |       |
      | employee\_number      |       |
      | first\_name           |       |
      | last\_name            |       |
      | nationality           |       |
      | display\_full\_name   |       |
      | job\_title            |       |
      | work\_email           |       |
      | personal\_email       |       |
      | mobile\_phone\_number |       |
      | ssn                   |       |
      | gender                |       |
      | ethnicity             |       |
      | marital\_status       |       |
      | employment\_status    |       |
      | employment\_type      |       |
      | weekly\_hours         |       |
      | work\_location\_id    |       |
      | legal\_entity\_id     |       |
      | manager\_id           |       |
      | home\_address         |       |
      | bank\_accounts        |       |
      | date\_of\_birth       |       |
      | start\_date           |       |
      | termination\_date     |       |
      | custom\_fields        |       |
      | integration\_fields   |       |
      | remote\_data          |       |
    </Accordion>

    <Accordion title="Absence Types">
      | Field                 | Notes |
      | --------------------- | ----- |
      | id                    |       |
      | remote\_id            |       |
      | changed\_at           |       |
      | remote\_deleted\_at   |       |
      | name                  |       |
      | half\_days\_supported |       |
      | remote\_data          |       |
    </Accordion>

    <Accordion title="Absences">
      <Note>
        Some time off entries might not have a time off type associated with them because Workday is not exposing information about the time off types.
      </Note>

      | Field               | Notes |
      | ------------------- | ----- |
      | id                  |       |
      | remote\_id          |       |
      | changed\_at         |       |
      | remote\_deleted\_at |       |
      | employee\_id        |       |
      | start\_date         |       |
      | end\_date           |       |
      | start\_time         |       |
      | amount              |       |
      | unit                |       |
      | status              |       |
      | employee\_note      |       |
      | type\_id            |       |
      | remote\_data        |       |
    </Accordion>

    <Accordion title="Employments">
      | Field               | Notes |
      | ------------------- | ----- |
      | id                  |       |
      | remote\_id          |       |
      | changed\_at         |       |
      | remote\_deleted\_at |       |
      | employee\_id        |       |
      | job\_title          |       |
      | pay\_rate           |       |
      | pay\_period         |       |
      | pay\_frequency      |       |
      | employment\_type    |       |
      | pay\_currency       |       |
      | effective\_date     |       |
      | remote\_data        |       |
      | custom\_fields      |       |
      | integration\_fields |       |
    </Accordion>

    <Accordion title="Groups">
      | Field               | Notes |
      | ------------------- | ----- |
      | id                  |       |
      | remote\_id          |       |
      | changed\_at         |       |
      | remote\_deleted\_at |       |
      | name                |       |
      | type                |       |
      | parent\_id          |       |
      | remote\_data        |       |
    </Accordion>

    <Accordion title="Time Off Balances">
      | Field               | Notes |
      | ------------------- | ----- |
      | id                  |       |
      | remote\_id          |       |
      | changed\_at         |       |
      | remote\_deleted\_at |       |
      | employee\_id        |       |
      | type\_id            |       |
      | balance             |       |
      | balance\_unit       |       |
      | remote\_data        |       |
    </Accordion>

    <Accordion title="Timesheets">
      <Note>
        Time blocks are synced from Workday Time Tracking API Open clock-in timesheets (ended\_at is null) are deleted once Workday converts them into a full time block.
      </Note>

      | Field               | Notes |
      | ------------------- | ----- |
      | id                  |       |
      | remote\_id          |       |
      | changed\_at         |       |
      | remote\_deleted\_at |       |
      | employee\_id        |       |
      | started\_at         |       |
      | ended\_at           |       |
      | timezone            |       |
      | payable\_hours      |       |
      | approval\_status    |       |
      | comment             |       |
      | custom\_fields      |       |
      | integration\_fields |       |
      | remote\_data        |       |
    </Accordion>

    <Accordion title="Employee Document Categories">
      | Field               | Notes |
      | ------------------- | ----- |
      | id                  |       |
      | remote\_id          |       |
      | changed\_at         |       |
      | remote\_deleted\_at |       |
      | name                |       |
    </Accordion>

    <Accordion title="Performance Review Cycles">
      | Field                       | Notes |
      | --------------------------- | ----- |
      | id                          |       |
      | remote\_id                  |       |
      | changed\_at                 |       |
      | remote\_deleted\_at         |       |
      | name                        |       |
      | review\_period\_start\_date |       |
      | remote\_data                |       |
    </Accordion>

    <Accordion title="Performance Reviews">
      | Field               | Notes |
      | ------------------- | ----- |
      | id                  |       |
      | remote\_id          |       |
      | changed\_at         |       |
      | remote\_deleted\_at |       |
      | review\_cycle\_id   |       |
      | reviewee\_id        |       |
      | reviewer\_id        |       |
      | type                |       |
      | summary\_comment    |       |
      | summary\_rating     |       |
      | remote\_data        |       |
    </Accordion>

    <Accordion title="Staffing entities">
      | Field                | Notes |
      | -------------------- | ----- |
      | id                   |       |
      | remote\_id           |       |
      | changed\_at          |       |
      | remote\_deleted\_at  |       |
      | name                 |       |
      | model\_type          |       |
      | description          |       |
      | status               |       |
      | employment\_types    |       |
      | number\_of\_openings |       |
      | parent\_id           |       |
      | custom\_fields       |       |
      | integration\_fields  |       |
      | remote\_data         |       |
    </Accordion>

    <Accordion title="Skills">
      | Field               | Notes |
      | ------------------- | ----- |
      | id                  |       |
      | remote\_id          |       |
      | changed\_at         |       |
      | remote\_deleted\_at |       |
      | name                |       |
      | remote\_data        |       |
    </Accordion>

    <Accordion title="Employee Skill Proficiency Ratings">
      | Field                | Notes |
      | -------------------- | ----- |
      | id                   |       |
      | remote\_id           |       |
      | changed\_at          |       |
      | remote\_deleted\_at  |       |
      | employee\_id         |       |
      | skill\_id            |       |
      | proficiency          |       |
      | rating\_source       |       |
      | rating\_provider\_id |       |
      | remote\_data         |       |
    </Accordion>

    <Accordion title="Employee <> Group">
      | Field               | Notes |
      | ------------------- | ----- |
      | employee\_id        |       |
      | team\_id            |       |
      | id                  |       |
      | changed\_at         |       |
      | remote\_deleted\_at |       |
    </Accordion>

    <Accordion title="Staffing Entity <> Location">
      | Field                | Notes |
      | -------------------- | ----- |
      | staffing\_entity\_id |       |
      | location\_id         |       |
      | id                   |       |
      | changed\_at          |       |
      | remote\_deleted\_at  |       |
    </Accordion>

    <Accordion title="Staffing Entity <> Legal Entity">
      | Field                | Notes |
      | -------------------- | ----- |
      | staffing\_entity\_id |       |
      | legal\_entity\_id    |       |
      | id                   |       |
      | changed\_at          |       |
      | remote\_deleted\_at  |       |
    </Accordion>

    <Accordion title="Staffing entity <> Group">
      | Field                | Notes |
      | -------------------- | ----- |
      | staffing\_entity\_id |       |
      | group\_id            |       |
      | id                   |       |
      | changed\_at          |       |
      | remote\_deleted\_at  |       |
    </Accordion>

    <Accordion title="Staffing entity <> Skill">
      | Field                 | Notes |
      | --------------------- | ----- |
      | expected\_proficiency |       |
      | staffing\_entity\_id  |       |
      | skill\_id             |       |
      | id                    |       |
      | changed\_at           |       |
      | remote\_deleted\_at   |       |
    </Accordion>
  </Tab>

  <Tab title="Actions">
    <Accordion title="Create employee">
      | Input Field             | Notes |
      | ----------------------- | ----- |
      | first\_name             |       |
      | last\_name              |       |
      | work\_email             |       |
      | home\_address.street\_1 |       |
      | home\_address.street\_2 |       |
      | home\_address.city      |       |
      | home\_address.state     |       |
      | home\_address.zip\_code |       |
      | home\_address.country   |       |
      | mobile\_phone\_number   |       |
      | nationality             |       |
    </Accordion>

    <Accordion title="Create employee (v2)">
      <Info>For detailed information about [creating employees with form](/hris/implementation-guide/create-employee), please see the [**Create Employee with Form** tab](#create-employee-with-form) above.</Info>

      | Input Field          | Notes |
      | -------------------- | ----- |
      | staffing\_entity\_id |       |
      | properties           |       |
    </Accordion>

    <Accordion title="Add document to employee">
      | Input Field            | Notes |
      | ---------------------- | ----- |
      | employee\_id           |       |
      | category\_id           |       |
      | document.name          |       |
      | document.content\_type |       |
      | document.data\_url     |       |
      | document.data          |       |
    </Accordion>

    <Accordion title="Upsert employee skill proficiency rating">
      <Note>
        Workday rounds skill proficiency ratings up to one decimal place (e.g. 3.44 → 3.5).
      </Note>

      | Input Field        | Notes |
      | ------------------ | ----- |
      | employee\_id       |       |
      | skill\_id          |       |
      | rating.proficiency |       |
    </Accordion>

    <Accordion title="Upsert staffing entity skill expectation">
      <Note>
        Workday only accepts integer values for expected proficiency. Updating a Workday job modifies its shared job profile and may also affect other jobs or positions linked to that profile. Writes replace the job profile's complete skill set. Run writes targeting the same profile sequentially to avoid lost updates.
      </Note>

      | Input Field           | Notes |
      | --------------------- | ----- |
      | staffing\_entity\_id  |       |
      | skill\_id             |       |
      | expected\_proficiency |       |
    </Accordion>

    <Accordion title="Upsert managed skill">
      | Input Field | Notes |
      | ----------- | ----- |
      | origin\_id  |       |
      | name        |       |
      | status      |       |
    </Accordion>
  </Tab>

  <Tab title="Features">
    | Feature               | Notes |
    | --------------------- | ----- |
    | API Passthrough       |       |
    | Additional Scopes     |       |
    | Scope Testing         |       |
    | Per Model Tests       |       |
    | Per Field Tests       |       |
    | Custom Field Explorer |       |
    | Employees             |       |
    | Employments           |       |
    | Connection Guide      |       |
    | Prerequisites         |       |
    | Create credentials    |       |
    | Group Types           |       |
    | DEPARTMENT            |       |
    | COST\_CENTER          |       |
  </Tab>

  <Tab title="Create Employee with Form">
    <Info>
      Some **optional** form fields are referencing the following data models:

      * Employees
      * Groups
      * Locations

      Consider enabling these in your [scope configuration](/hris/features/scopes).
    </Info>

    <ResponseField name="Name_Data" type="object" required>
      **Personal Data**

      <Expandable title="properties">
        <ResponseField name="Country_Reference" type="single_select" required>**Country**<br />
        The Country that the name is in reference to.</ResponseField>
        <ResponseField name="First_Name" type="text" required>**First Name**<br />
        The first name of the employee<br />
        Unified field: `first_name`</ResponseField>
        <ResponseField name="Last_Name" type="text" required>**Last Name**<br />
        The last name of the employee<br />
        Unified field: `last_name`</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="Contact_Data" type="object" required>
      **Contact Data**

      <Expandable title="properties">
        <ResponseField name="Address_Data" type="object">
          **Address Data**

          <Expandable title="properties">
            <ResponseField name="Country_Reference" type="single_select" required>**Country of the Address**</ResponseField>
            <ResponseField name="Country_Region_Reference" type="single_select">**Country Region**<br />
            The region of the country, you can only set this for certain countries.</ResponseField>
            <ResponseField name="Last_Modified" type="date">**Last Modified**<br />
            The moment when the address was last modified.</ResponseField>
            <ResponseField name="ADDRESS_LINE_1" type="text" required>**Address Line 1**<br />
            Unified field: `home_address.street_1`</ResponseField>
            <ResponseField name="ADDRESS_LINE_2" type="text">**Address Line 2**<br />
            Unified field: `home_address.street_2`</ResponseField>
            <ResponseField name="CITY" type="text" required>**City**<br />
            Unified field: `home_address.city`</ResponseField>
            <ResponseField name="POSTAL_CODE" type="text" required>**Postal Code**<br />
            Unified field: `home_address.zip_code`</ResponseField>
            <ResponseField name="REGION" type="text">**Region**<br />
            Unified field: `home_address.state`</ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="Phone_Data" type="object">
          **Phone Data**

          <Expandable title="properties">
            <ResponseField name="Phone_Number" type="text">**Phone Number**<br />
            Unified field: `mobile_phone_number`</ResponseField>
            <ResponseField name="International_Phone_Code" type="text">**International Phone Code**<br />
            The international phone code of the phone number.</ResponseField>
            <ResponseField name="Phone_Device_Type_Reference" type="single_select">**Phone Device Type**</ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="Email_Address_Data" type="object" required>
          **Email Address Data**

          <Expandable title="properties">
            <ResponseField name="Email_Address" type="text" required>**Private Email**<br />
            The private email address of the employee<br />
            Unified field: `private_email`</ResponseField>
            <ResponseField name="Email_Comment" type="text">**Email Comment**</ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="Recruiting_Data" type="object">
      **Recruiting Data**

      <Expandable title="properties">
        <ResponseField name="Applicant_Entered_Date" type="date">**The date the applicant was created.**</ResponseField>
        <ResponseField name="Applicant_Comments" type="text">**Comments about the applicant.**</ResponseField>
        <ResponseField name="Applicant_Source_Reference" type="single_select">**Applicant Source**</ResponseField>
        <ResponseField name="Referred_by_Worker_Reference" type="single_select">**Referred by Worker**<br />
        References `/v1/hris/employees?remote_model=employee`</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="Universal_ID" type="text">**Universal ID**</ResponseField>

    <ResponseField name="Post_Hire_Data" type="object">
      **Post Hire Data**

      <Expandable title="properties">
        <ResponseField name="Is_Contingent_Worker" type="checkbox" required>**Is Contingent Worker**<br />
        If enabled, the employee will be hired as a contingent worker.</ResponseField>
        <ResponseField name="Auto_Complete" type="checkbox">**Auto Complete**<br />
        When checked, the business process (Hire Employee/Contract Contingent Worker) is automatically processed. This means that all approvals will be automatically approved in the system, all reviews and to-do's will be automatically by-passed, and all notifications will be automatically suppressed.</ResponseField>
        <ResponseField name="Run_Now" type="checkbox">**Run Now**<br />
        Indicates the transaction should process to completion before the response is generated.</ResponseField>
        <ResponseField name="Comment_Data" type="text">**Comment**</ResponseField>
        <ResponseField name="Positions_Reference" type="single_select" required>**Position Reference**<br />
        References `/v1/hris/staffing-entities?model_types=POSITION&statuses=OPEN_LIMITED%2COPEN_UNLIMITED`</ResponseField>
        <ResponseField name="Organization_Reference" type="single_select">**Supervisory Organization**<br />
        References `/v1/hris/groups?types=DEPARTMENT`</ResponseField>
        <ResponseField name="Contract_Start_Date" type="date" required>**Hire / Contract Start Date**</ResponseField>

        <ResponseField name="Hire_Employee_Event_Data" type="object">
          **Hire Employee Event Data**

          <Expandable title="properties">
            <ResponseField name="Employee_Type_Reference" type="single_select" required>**Employee Type**<br />
            The employee type for the hire (e.g. Regular, Fixed Term). Defaults to the type defined on the position.</ResponseField>
            <ResponseField name="Employment_End_Date" type="date">**Employment End Date**<br />
            Required for fixed term employee types. Must be after the hire date.</ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="Propose_Compensation_for_Hire_Sub_Process" type="object">
          **Stock Compensation**<br />
          Assign an active amount-based stock compensation plan as part of the hire process.

          <Expandable title="properties">
            <ResponseField name="Stock_Plan_Reference" type="single_select" required>**Stock Compensation Plan**</ResponseField>
            <ResponseField name="Individual_Target_Amount" type="number" required>**Amount**<br />
            The individual target amount for the stock compensation plan.</ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="Request_One_Time_Payment_Sub_Process" type="object">
          **One-Time Payment**<br />
          Request an amount-based one-time payment, such as a sign-on or relocation payment, as part of the hire process.

          <Expandable title="properties">
            <ResponseField name="One_Time_Payment_Plan_Reference" type="single_select" required>**One-Time Payment Plan**</ResponseField>

            <ResponseField name="Amount" type="number" required />

            <ResponseField name="Currency_Reference" type="single_select">**Currency**<br />
            Defaults to the currency configured on the selected plan when omitted.</ResponseField>
            <ResponseField name="Effective_Date" type="date">**Effective Date**</ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="Contingent_Worker_Event_Data" type="object">
          **Contingent Worker Event Data**<br />
          Details for the contingent worker contract event. Required when hiring as a contingent worker.

          <Expandable title="properties">
            <ResponseField name="Contract_Worker_Type_Reference" type="single_select" required>**Contingent Worker Type**</ResponseField>
            <ResponseField name="Job_Profile_Reference" type="single_select">**Job Profile**<br />
            The Job Profile for the filled position. This is required if there is no job profile on the position.</ResponseField>
            <ResponseField name="Location_Reference" type="single_select" required>**Location**<br />
            The Location for the filled position.<br />
            References `/v1/hris/locations?remote_model=location`</ResponseField>
            <ResponseField name="Position_Time_Type_Reference" type="single_select" required>**Position Time Type**<br />
            The time type for the position (e.g., part time or full time).</ResponseField>

            <ResponseField name="Contract_Details_Data" type="object">
              **Contract Details**<br />
              Contingent worker contract details. If omitted, Workday keeps the existing contract details.

              <Expandable title="properties">
                <ResponseField name="Contract_Pay_Rate" type="number">**Contract Pay Rate**<br />
                The pay rate for the position.</ResponseField>
                <ResponseField name="Currency_Reference" type="single_select">**Currency**<br />
                The preferred currency for the contract pay rate.</ResponseField>
                <ResponseField name="Frequency_Reference" type="single_select">**Frequency**<br />
                The frequency with which the worker is paid. If Create Purchase Order is set, this must have an hourly behavior.</ResponseField>
              </Expandable>
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Tab>
</Tabs>

## Integration Variants

**Current connector:** Choose this variant if you want to use the Workday SOAP API for comprehensive HRIS data access

For **Workday**, we also offer the following other connector variants:

<CardGroup cols={2}>
  <Card title="Workday Custom Reports" icon="https://storage.googleapis.com/kombo-assets/integrations/workdaycustomreport/icon.svg" href="/hris/connectors/workdaycustomreport">
    Choose this variant if you want to use Workday Custom Reports API. Requires custom report setup in Workday
  </Card>

  <Card title="Workday ATS" icon="https://storage.googleapis.com/kombo-assets/integrations/workday/icon.svg" href="/ats/connectors/workday">
    Workday for the ATS category
  </Card>

  <Card title="Workday Assessment" icon="https://storage.googleapis.com/kombo-assets/integrations/workday/icon.svg" href="/assessment/connectors/workday">
    Workday for the Assessment category
  </Card>

  <Card title="Workday LMS" icon="https://storage.googleapis.com/kombo-assets/integrations/workday/icon.svg" href="/lms/connectors/workday">
    Workday for the LMS category
  </Card>
</CardGroup>

<Note>Multiple variants can be used within your Kombo environment at the same time.</Note>
