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

# HiBob

<div className="page-title-row">
  <img src="https://mintcdn.com/klef/Ah7jH7HMYs9GebMV/images/connectors/hi-bob.svg?fit=max&auto=format&n=Ah7jH7HMYs9GebMV&q=85&s=29fa27ecf31af9e5583f3cfd2c3b863e" alt="" noZoom width="37" height="37" data-path="images/connectors/hi-bob.svg" />

  <h1>HiBob</h1>
</div>

## Connection

### Setup

<Steps>
  <Step>
    In HiBob, [create a service user and a permission group for it](https://apidocs.hibob.com/docs/api-service-users), and copy the service user's ID and token.
  </Step>

  <Step>
    Give the permission group these **People's fields** permissions:

    | Category | Permission | Fields |
    | - | - | - |
    | Address | View | All |
    | Basic info | View | All |
    | Employment | View | All |
    | Work | View | Employee ID, Manager ID, Start date, Original start date, and all of the Work table |
    | Lifecycle | View | All |
    | Jobs | View | All |
    | Work contact details | View | Work mobile, Work phone |
    | Personal contact details | View | All |
    | Temporary address | View | All |
  </Step>

  <Step>
    In the group's **Access data for** condition, make sure **Lifecycle status** is set to **Any**. Without it, people who have left or haven't started yet won't sync.
  </Step>

  <Step>
    Enter the service user's ID and token in the connection's settings and click the **Save** button. Turn on **Sandbox** only for a HiBob sandbox account.
  </Step>
</Steps>

<Note>
  When you add a custom field in HiBob, give the service user's permission group **View** on it. Klef will only sync custom fields the group can view.
</Note>

Klef reads every custom field the permission group can view. A custom field in **Work** or **Employment** belongs to the assignment, and any other custom field belongs to the worker. Make sure each custom field has a unique name, since a policy reads a custom field by name.

### Settings

| Setting | Required | Description |
| - | - | - |
| Service user ID | Yes | ID of a HiBob service user, such as SERVICE-12345. |
| Token | Yes | Token of that service user. Klef reads only what its permission group can view. Stored encrypted. |
| Sandbox | | Whether the account is a HiBob sandbox. |

## Fields

The [worker model](/docs/connectors/worker-model) fields Klef fills from HiBob.

| Field | Type | Description |
| - | - | - |
| `worker.source_id` | string | The worker's ID in the HR system. |
| `worker.employee_id` | string | Employee number from the HR system. |
| `worker.legal_name` | object | Legal name. |
| `worker.legal_name.given` | string | Legal first name. |
| `worker.legal_name.family` | string | Legal last name. |
| `worker.preferred_name` | object | Name the worker goes by. |
| `worker.preferred_name.given` | string | Preferred first name. |
| `worker.preferred_name.family` | string | Preferred last name. |
| `worker.display_name` | string | Full name for display. |
| `worker.business_email` | string | Primary business email address. |
| `worker.personal_email` | string | Primary personal email address. |
| `worker.status` | string | Pending, Active, Leave, Terminated, Deceased or Unspecified. |
| `worker.start_date` | date | Start date of the primary assignment. |
| `worker.end_date` | date | End date of the primary assignment. |
| `worker.hire_date` | date | Original hire date. |
| `worker.department` | object | Department of the primary assignment. |
| `worker.department.code` | string | Department code. |
| `worker.department.name` | string | Department name. |
| `worker.job` | object | Job of the primary assignment. |
| `worker.job.code` | string | Job code. |
| `worker.job.name` | string | Job name. |
| `worker.manager` | string | Source ID of the primary assignment's manager. |
| `worker.location` | object | Work location of the primary assignment. |
| `worker.location.code` | string | Location code. |
| `worker.location.name` | string | Location name. |
| `worker.location.street` | string | Street address. |
| `worker.location.city` | string | City. |
| `worker.location.region` | string | State or region. |
| `worker.location.postal_code` | string | Postal code. |
| `worker.location.country` | string | Country. |
| `worker.worker_type` | string | Employee or Contractor, from the primary assignment. |
| `worker.business_phone` | string | Business phone number. |
| `worker.business_mobile_phone` | string | Business mobile phone number. |
| `worker.personal_phone` | string | Personal phone number. |
| `worker.personal_mobile_phone` | string | Personal mobile phone number. |
| `worker.custom_fields` | map | Fields your HR system defines, by name. |
| `worker.custom_fields.<name>` | string | Field value. |
| `worker.assignments` | array | Every job the worker holds. |
| `worker.assignments[].source_id` | string | The assignment's ID in the HR system. |
| `worker.assignments[].is_primary` | bool | Whether this is the worker's primary assignment. |
| `worker.assignments[].status` | string | Pending, Active, Leave, Terminated, Deceased or Unspecified. |
| `worker.assignments[].job` | object | Job of the assignment. |
| `worker.assignments[].job.code` | string | Job code. |
| `worker.assignments[].job.name` | string | Job name. |
| `worker.assignments[].department` | object | Department of the assignment. |
| `worker.assignments[].department.code` | string | Department code. |
| `worker.assignments[].department.name` | string | Department name. |
| `worker.assignments[].location` | object | Work location. |
| `worker.assignments[].location.code` | string | Location code. |
| `worker.assignments[].location.name` | string | Location name. |
| `worker.assignments[].location.street` | string | Street address. |
| `worker.assignments[].location.city` | string | City. |
| `worker.assignments[].location.region` | string | State or region. |
| `worker.assignments[].location.postal_code` | string | Postal code. |
| `worker.assignments[].location.country` | string | Country. |
| `worker.assignments[].manager` | string | Source ID of the assignment's manager. |
| `worker.assignments[].start_date` | date | Start date. |
| `worker.assignments[].end_date` | date | End date. |
| `worker.assignments[].worker_type` | string | Employee or Contractor. |
| `worker.assignments[].custom_fields` | map | Fields your HR system defines, by name. |
| `worker.assignments[].custom_fields.<name>` | string | Field value. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.