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

# Paycor HRIS Integration

> Paycor connector for Kombo's HRIS API

<Note>This connector is in open beta. You can freely enable it in your account.</Note>

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

## Guides and Resources

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

## Supported Features & Coverage

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

    <Accordion title="Work Locations">
      <Note>
        We only expose the "physical" address of a work location from Paycor.
      </Note>

      | 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            |       |
      | job\_title            |       |
      | work\_email           |       |
      | personal\_email       |       |
      | mobile\_phone\_number |       |
      | ssn                   |       |
      | tax\_id               |       |
      | gender                |       |
      | ethnicity             |       |
      | marital\_status       |       |
      | employment\_status    |       |
      | employment\_type      |       |
      | work\_location\_id    |       |
      | legal\_entity\_id     |       |
      | manager\_id           |       |
      | home\_address         |       |
      | 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                |       |
      | remote\_data        |       |
    </Accordion>

    <Accordion title="Absences">
      <Note>
        Each day will be an individual absence, because an absence request in Paycor can skip days in the middle of the requested range. We can only sync absences 1 year into the past for Paycor
      </Note>

      | Field               | Notes |
      | ------------------- | ----- |
      | id                  |       |
      | remote\_id          |       |
      | changed\_at         |       |
      | remote\_deleted\_at |       |
      | employee\_id        |       |
      | approver\_id        |       |
      | start\_date         |       |
      | end\_date           |       |
      | start\_time         |       |
      | end\_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        |       |
      | pay\_rate           |       |
      | pay\_period         |       |
      | 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>
  </Tab>

  <Tab title="Actions">
    <Accordion title="Create absence">
      <Note>
        Our "start\_half\_day", "end\_half\_day", "start\_time" and "end\_time" parameters are only available for single day absence requests in Paycor The amount parameter will be split evenly when the absence request spans mutilple days in Paycor Paycor's API only allows specifying the absence's length in hours. Creating absences with the Kombo 'unit' parameter as `days` will create an an absence with 8h per day. The endpoint will only return absence data for the first day when the absence request spans mutilple days in Paycor.
      </Note>

      | Input Field       | Notes |
      | ----------------- | ----- |
      | employee\_id      |       |
      | absence\_type\_id |       |
      | status            |       |
      | start\_date       |       |
      | end\_date         |       |
      | start\_half\_day  |       |
      | end\_half\_day    |       |
      | amount            |       |
      | unit              |       |
      | employee\_note    |       |
      | start\_time       |       |
      | end\_time         |       |
    </Accordion>

    <Accordion title="Create employee">
      <Note>
        This endpoint will take at least 60s for Paycor due to their API restrictions. It is recommend to increase your timeout accordingly. An Paycor employee will always have the country US and currency USD assigned. legal\_entity\_id, start\_date, home\_address.street\_1, home\_address.zip\_code, remote\_fields.paycor.departmentRemoteId and remote\_fields.paycor.paygroupRemoteId are additional required fields to create an employee in Paycor.
      </Note>

      | Input Field             | Notes |
      | ----------------------- | ----- |
      | first\_name             |       |
      | last\_name              |       |
      | work\_email             |       |
      | gender                  |       |
      | home\_address.street\_1 |       |
      | home\_address.street\_2 |       |
      | home\_address.city      |       |
      | home\_address.state     |       |
      | home\_address.zip\_code |       |
      | home\_address.country   |       |
      | date\_of\_birth         |       |
      | nationality             |       |
      | start\_date             |       |
      | legal\_entity\_id       |       |
    </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>
  </Tab>

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

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

      * Legal Entities

      Additionally, there are some **optional** form fields that reference:

      * Groups
      * Locations

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

    <ResponseField name="legalEntityId" type="single_select" required>**Legal Entity**<br />
    Employee's Legal Entity ID.<br />
    References `/v1/hris/legal-entities?remote_model=legal_entity`</ResponseField>
    <ResponseField name="exportedByEmailAddress" type="text">**Exported By Email Address**<br />
    The email address of the user who exported the employee.</ResponseField>
    <ResponseField name="firstName" type="text" required>**First Name**<br />
    The first name of the employee<br />
    Unified field: `first_name`</ResponseField>
    <ResponseField name="lastName" type="text" required>**Last Name**<br />
    The last name of the employee<br />
    Unified field: `last_name`</ResponseField>
    <ResponseField name="preferredName" type="text">**Preferred Name**<br />
    Preferred name of the Person.</ResponseField>
    <ResponseField name="countryCode" type="text">**Country**<br />
    The uppercase two-letter ISO country (e.g., DE)<br />
    Unified field: `home_address.country`</ResponseField>
    <ResponseField name="zip" type="text">**ZIP Code**<br />
    The ZIP code of the employee<br />
    Unified field: `home_address.zip_code`</ResponseField>
    <ResponseField name="state" type="text">**State**<br />
    The state of the employee<br />
    Unified field: `home_address.state`</ResponseField>
    <ResponseField name="city" type="text">**City**<br />
    The city of the employee<br />
    Unified field: `home_address.city`</ResponseField>
    <ResponseField name="address1" type="text">**Street 1**<br />
    The street address of the employee<br />
    Unified field: `home_address.street_1`</ResponseField>
    <ResponseField name="address2" type="text">**Street 2**<br />
    The street address of the employee<br />
    Unified field: `home_address.street_2`</ResponseField>
    <ResponseField name="mobilePhone" type="text">**Mobile Phone Number**<br />
    The mobile phone number of the employee<br />
    Unified field: `mobile_phone_number`</ResponseField>
    <ResponseField name="homePhone" type="text">**Home Phone**<br />
    Home phone number of the employee.</ResponseField>
    <ResponseField name="homeEmailAddress" type="text" required>**Private Email**<br />
    The private email address of the employee<br />
    Unified field: `private_email`</ResponseField>
    <ResponseField name="gender" type="single_select">**Gender**</ResponseField>
    <ResponseField name="ethnicity" type="single_select">**Ethnicity**</ResponseField>
    <ResponseField name="veteranStatus" type="single_select">**Veteran Status**</ResponseField>
    <ResponseField name="startDate" type="date">**Start Date**<br />
    Date the employement start.<br />
    Unified field: `start_date`</ResponseField>
    <ResponseField name="departmentCode" type="single_select">**Department Code**<br />
    The department code that the employee belongs to.<br />
    References `/v1/hris/groups?types=DEPARTMENT`</ResponseField>
    <ResponseField name="disability" type="single_select">**Disability Status**</ResponseField>
    <ResponseField name="workLocation" type="single_select">**Work Location**<br />
    The name of the Work Location to associate with new hire.<br />
    References `/v1/hris/locations?remote_model=location`</ResponseField>
    <ResponseField name="onboardingGroupName" type="text">**Onboarding Group Name**<br />
    This is the name of Onboarding group that is created at client level (this must be acquired via the UI of Paycor at this time). If OnboardingType is “Invite”, then this field is required or else the Onboarding Employee will be set to awaiting invite, if not passed, then the Onboarding Employee will be set to "AwaitingInvite" and need to be updated via the UI prior to the invite being sent.</ResponseField>
    <ResponseField name="inviteType" type="single_select">**Invite Type**</ResponseField>
    <ResponseField name="workerType" type="single_select">**Worker Type**</ResponseField>
    <ResponseField name="isFullTime" type="checkbox">**Is Full Time**<br />
    Determines if an employee is Full Time or Part Time</ResponseField>
  </Tab>
</Tabs>

## Integration Variants

**Current connector:** Paycor

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

<CardGroup cols={2}>
  <Card title="Paycor ATS" icon="https://storage.googleapis.com/kombo-assets/integrations/paycor/icon.svg" href="/ats/connectors/paycor">
    Paycor for the ATS category
  </Card>
</CardGroup>
