Skip to main content

HiBob Component

HiBob is an HR platform for people management, performance, and engagement.

Component key: hibob

Changelog ↓

Description

HiBob is an HR platform for people management, performance, and engagement.

Use the HiBob component to manage employee data using the HiBob API, including employee profiles, work history, salary information, and bank account details.

API Documentation:

The component was built using the HiBob API Reference

Connections

Basic Authentication

To use the HiBob component, you'll need to obtain API credentials (Service User ID and Token) from your HiBob account.

Obtaining API Credentials

  1. Access HiBob Admin Panel

    • Log in to your HiBob account
    • Navigate to the Service Users configuration page
  2. Create a New Service User

    • Create a new API service user
    • You'll receive a Service User ID and Token
    • Make sure to copy these credentials immediately as the token can only be viewed once
  3. Set Up Permissions

    • Create a dedicated permission group for your service user
    • Add the service user to this group
    • Configure the necessary permissions based on the API operations you plan to perform
    • For basic employee data access, ensure you have the "Default Employee Fields" permissions enabled

Note: If you don't have direct access to HiBob's admin panel, you'll need to contact your HiBob administrator to generate these credentials for you.

Required Permissions

For basic functionality, ensure your service user has the following permissions:

  • View access to employee data sections
  • Access to the specific features you plan to use via the API
InputNotesExample
Service User ID

Your HiBob API Service User ID.

Token

Your HiBob API token.

Use Sandbox

Use the sandbox environment.

false

Triggers

Webhook

Receive and validate webhook requests from HiBob for webhooks you configure. | key: webhook

InputNotesExample
App Secret

The secret key used to validate webhook signatures from HiBob.

your-app-secret

Data Sources

Select Company List

Select a company list. | key: selectCompanyList | type: picklist

InputNotesExample
Connection

Select Employee Field

Select an employee field. | key: selectEmployeeField | type: picklist

InputNotesExample
Connection

Select Employees

Select an employee. | key: selectEmployee | type: picklist

InputNotesExample
Connection

Select Folder

Select a document folder. | key: selectFolder | type: picklist

InputNotesExample
Connection

Select Task

Select a task. | key: selectTask | type: picklist

InputNotesExample
Connection

Actions

Add List Item

Add a new item to an existing list. | key: addListItem

InputNotesExample
Connection
Item Name

The name of the new list item.

Human Resources
List Name

The name of the list to add the item to.

Departments
Parent ID

ID of the new hierarchy parent node.

1234567890

{
"data": {
"id": "string"
}
}

Complete Task

Mark a task as completed. | key: completeTask

InputNotesExample
Connection
Task ID

The ID of the task to complete.

21345678

{
"data": {
"toDosUpdated": 0
}
}

Create Custom Table Entry

Create a new entry in a custom table for an employee. | key: createCustomTableEntry

InputNotesExample
Connection
Custom Table ID

The ID of the custom table to create an entry in.

custom_table_123
Employee ID

The ID of the employee to create the custom table entry for.

employee_123
Entry Data

The data for the custom table entry in JSON format.

{
"data": {
"id": "entry_123",
"employeeId": "employee_123",
"customTableId": "custom_table_123",
"data": {
"Certification Name": "AWS Solutions Architect",
"Issuing Organization": "Amazon Web Services",
"Issue Date": "2023-01-15",
"Expiration Date": "2026-01-15"
},
"createdAt": "2023-01-15T10:00:00Z",
"updatedAt": "2023-01-15T10:00:00Z"
}
}

Create Employee

Create a new employee with the specified fields. | key: createEmployee

InputNotesExample
Connection
Email

Employee's email address.

john.doe@example.com
First Name

Employee's first name.

John
Site

The employee's site.

London
Start Date

The employee's employment start date.

2024-01-01
Surname

Employee's surname.

Doe

{
"data": {
"fullName": "string",
"displayName": "string",
"creationDateTime": "string",
"work": {
"shortStartDate": "2025-05-05",
"startDate": "2025-05-05",
"manager": "string",
"tenureDuration": "string",
"durationOfEmployment": "string",
"reportsToIdInCompany": "string",
"employeeIdInCompany": "string",
"reportsTo": "string",
"tenureDurationYears": "string",
"department": "string",
"siteID": "string",
"tenureYears": "string",
"isManager": "string",
"title": "string",
"site": "string",
"originalStartDate": "string",
"activeEffectiveDate": "string",
"secondLevelManager": "string",
"daysOfPreviousService": "string",
"yearsOfService": "string"
},
"avatarUrl": "string",
"secondName": "string",
"about": {
"foodPreferences": "string",
"superpowers": "string",
"hobbies": "string",
"about": "string",
"avatar": "string"
},
"companyId": "string",
"email": "user@example.com",
"surname": "string",
"coverImageUrl": "string",
"id": "string",
"firstName": "string"
}
}

Create New Field

Create a new custom field in HiBob. | key: createNewField

InputNotesExample
Category

The category of the field.

Custom Field
Connection
Description

A description of the field's purpose.

This field stores custom employee data
Historical

When true, this field keeps the history of its values, each being active starting from a certain date.

false
Field Name

The name of the new field to create.

Custom Field
Field Type

The data type of the new field.

{
"data": {
"id": "string"
}
}

Delete Custom Table Entry

Delete an existing entry from a custom table for an employee. | key: deleteCustomTableEntry

InputNotesExample
Connection
Custom Table ID

The ID of the custom table containing the entry to delete.

custom_table_123
Employee ID

The ID of the employee whose custom table entry will be deleted.

employee_123
Entry ID

The ID of the custom table entry to delete.

entry_123

{
"data": {
"success": true,
"message": "Custom table entry entry_123 deleted successfully"
}
}

Delete Field

Delete an existing custom field from HiBob. | key: deleteField

InputNotesExample
Connection
Field ID

The ID of the field to delete.

custom_field_123

{
"data": {
"success": true,
"message": "Field custom_field_123 deleted successfully"
}
}

Delete File From Folder

Delete a file from an employee's document folder. | key: deleteFileFromFolder

InputNotesExample
Connection
Document ID

The ID of the document to delete.

23278123
Employee ID

The ID of the employee whose file to delete.

employee_123
Folder ID

Required if folder type is 'Custom'. The ID of the custom folder containing the file.

1044123
Folder Type

The type of folder containing the file to delete.

{
"data": {
"success": true,
"message": "Document doc_123 deleted successfully"
}
}

Delete List Item

Delete an existing item from a company list. | key: deleteListItem

InputNotesExample
Connection
Item ID

The ID of the list item to delete.

1044123
List Name

The name of the list containing the item to delete.

Departments

{
"data": {
"success": true,
"message": "List item item_123 deleted successfully"
}
}

Download Employee Documents

Download list of documents of an employee. | key: downloadEmployeeDocuments

InputNotesExample
Connection
Employee ID

The ID of the employee whose documents to download.

employee_123

{
"data": {
"documents": [
{
"documentName": "string",
"downloadLink": "string"
}
]
}
}

Get Company List

Retrieve a specific named list from the company. | key: getCompanyList

InputNotesExample
Connection
Include Archived

Whether to include archived items in the response.

false
List Name

The name of the list to retrieve.

Departments

{
"data": {
"name": "string",
"items": [
{
"id": 0,
"value": "string",
"name": "string",
"archived": true,
"children": [
{
"id": 0,
"value": "string",
"name": "string",
"archived": true,
"children": [
{
"id": 0,
"value": "string",
"name": "string",
"archived": true
}
]
}
]
}
]
}
}

Get Custom Table Metadata

Retrieve metadata for a specific custom table. | key: getCustomTableMetadata

InputNotesExample
Connection
Custom Table ID

The ID of the custom table to retrieve metadata for.

custom_table_123

{
"data": {
"id": "string",
"category": "string",
"name": "string",
"description": "string",
"columns": [
{
"id": "string",
"name": "string",
"description": "string",
"mandatory": true,
"type": "string",
"typeData": {
"listId": "string"
}
}
]
}
}

Get Employee Tasks

Retrieve all tasks assigned to a specific employee. | key: getEmployeeTasks

InputNotesExample
Connection
Employee ID

The Employee ID as pulled from the database, or from the URL In Bob when viewing the employee.

3332883884017713238
Task Status

Filter tasks by open / closed status. Not sending any value will return all tasks.

{
"data": {
"tasks": [
{
"id": 0,
"owner": {
"id": "string",
"firstName": "string",
"surname": "string",
"email": "string",
"displayName": "string"
},
"title": "string",
"requestedFor": {
"id": "string",
"firstName": "string",
"surname": "string",
"email": "string",
"displayName": "string"
},
"due": "2025-05-05",
"linkInBob": "string",
"set": "string",
"workflow": "string",
"ordinalInWorkflow": 0,
"description": "string",
"status": "string",
"completionDate": "2025-05-05",
"employeeGroupId": 0,
"companyId": 0
}
]
}
}

List Company Lists

Retrieve all named lists in the company. | key: listCompanyLists

InputNotesExample
Connection
Include Archived

Whether to include archived items in the response.

false

{
"data": [
{
"name": "string",
"items": [
{
"id": 0,
"value": "string",
"name": "string",
"archived": true,
"children": [
{
"id": 0,
"value": "string",
"name": "string",
"archived": true,
"children": [
{
"id": 0,
"value": "string",
"name": "string",
"archived": true
}
]
}
]
}
]
}
]
}

List Employee Fields

Retrieve a list of all employee fields in the company. | key: listEmployeeFields

InputNotesExample
Connection

{
"data": [
{
"id": "string",
"categoryId": "string",
"categoryDisplayName": "string",
"category": "string",
"name": "string",
"description": "string",
"jsonPath": "string",
"type": "string",
"typeData": {
"listId": "string"
},
"historical": true
}
]
}

List Folders

Retrieve a list of all document folders in the system. | key: listFolders

InputNotesExample
Connection

{
"data": [
{
"id": "string",
"name": "string",
"folderType": "string"
}
]
}

List Open Tasks

Retrieve a list of all open tasks in the system. | key: listOpenTasks

InputNotesExample
Connection

{
"data": {
"tasks": [
{
"id": 0,
"owner": {
"id": "string",
"firstName": "string",
"surname": "string",
"email": "string",
"displayName": "string"
},
"title": "string",
"requestedFor": {
"id": "string",
"firstName": "string",
"surname": "string",
"email": "string",
"displayName": "string"
},
"due": "2025-05-05",
"linkInBob": "string",
"set": "string",
"workflow": "string",
"ordinalInWorkflow": 0,
"description": "string",
"status": "string",
"completionDate": "2025-05-05",
"employeeGroupId": 0,
"companyId": 0
}
]
}
}

Raw Request

Send raw HTTP request to HiBob. | key: rawRequest

InputNotesExample
Connection
Data

The HTTP body payload to send to the URL.

{"exampleKey": "Example Data"}
File Data

File Data to be sent as a multipart form upload.

[{key: "example.txt", value: "My File Contents"}]
File Data File Names

File names to apply to the file data inputs. Keys must match the file data keys above.

Form Data

The Form Data to be sent as a multipart form upload.

[{"key": "Example Key", "value": new Buffer("Hello World")}]
Header

A list of headers to send with the request.

User-Agent: curl/7.64.1
Max Retry Count

The maximum number of retries to attempt. Specify 0 for no retries.

0
Method

The HTTP method to use.

Query Parameter

A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.

Response Type

The type of data you expect in the response. You can request json, text, or binary data.

json
Retry On All Errors

If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.

false
Retry Delay (ms)

The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.

0
Timeout

The maximum time that a client will await a response to its request

2000
URL

Input the path only (/docs/folders/metadata), The base URL is already included (https://api.hibob.com/v1). For example, to connect to https://api.hibob.com/v1/docs/folders/metadata, only /docs/folders/metadata is entered in this field.

/docs/folders/metadata
Use Exponential Backoff

Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.

false

Read Employee Fields

Retrieve employee data for a specific employee by ID or email. | key: readEmployeeFields

InputNotesExample
Connection
Fields

An optional list of fields to be returned in the response. When not specified, a default set of fields and categories are returned.

Human Readable

A flag that determines the data format to be returned in the response payload. Use this flag to convert "machine format" numeric IDs, such as "1644513820829" to the "human readable" values.

Employee Identifier

The employee's ID or email address to retrieve data for.

3332883884017713238

{
"data": {
"employees": [
{
"fullName": "example"
},
{
"displayName": "example"
},
{
"creationDateTime": "2024-03-27T09:12:21.680867"
},
{
"work": {
"shortStartDate": "01/05",
"startDate": "01/05/2015",
"manager": "example",
"tenureDuration": "9 years, 1 month and 26 days",
"durationOfEmployment": "9 years, 1 month and 26 days",
"reportsToIdInCompany": "30",
"employeeIdInCompany": "40",
"reportsTo": "example",
"tenureDurationYears": "9.155",
"department": "Client Services",
"siteId": "example",
"tenureYears": "9",
"isManager": "No",
"title": "Account Manager",
"site": "example",
"originalStartDate": "01/05/2015",
"activeEffectiveDate": "01/05/2015",
"secondLevelManager": "v",
"daysOfPreviousService": "0",
"yearsOfService": "9.155"
}
},
{
"avatarUrl": "string URL"
},
{
"secondName": "example"
},
{
"about": {
"foodPreferences": "",
"superpowers": "pitching,copywriting",
"hobbies": "Rugby,Cycling,Running",
"about": "string",
"avatar": "string URL"
}
},
{
"companyId": "636192"
},
{
"email": "example@samplebob.com"
},
{
"surname": "Tullin"
},
{
"coverImageUrl": "string URL"
},
{
"id": "3332883884017713938"
},
{
"firstName": "example"
}
]
}
}

Revoke Employee Access

Revoke access to Bob for a specific employee. | key: revokeEmployeeAccess

InputNotesExample
Connection
Employee Identifier

The employee's ID or email address to revoke access for.

3332883884017713238

{
"data": {
"success": true,
"message": "Employee access revoked successfully"
}
}

Search Employee

Retrieve employee data based on specified criteria. | key: searchEmployee

InputNotesExample
Connection
Fields

An optional list of fields to be returned in the response. When not specified, a default set of fields and categories are returned.

Filters

An optional filter based on a field and a condition to filter the results.

Human Readable

A flag that determines the data format to be returned in the response payload. Use this flag to convert "machine format" numeric IDs, such as "1644513820829" to the "human readable" values.

Show Inactive

Defines whether response should include inactive employees.

false

{
"data": {
"employees": [
{
"fullName": "example"
},
{
"displayName": "example"
},
{
"creationDateTime": "2024-03-27T09:12:21.680867"
},
{
"work": {
"shortStartDate": "01/05",
"startDate": "01/05/2015",
"manager": "example",
"tenureDuration": "9 years, 1 month and 26 days",
"durationOfEmployment": "9 years, 1 month and 26 days",
"reportsToIdInCompany": "30",
"employeeIdInCompany": "40",
"reportsTo": "example",
"tenureDurationYears": "9.155",
"department": "example",
"siteId": "example",
"tenureYears": "9",
"isManager": "No",
"title": "example",
"site": "example",
"originalStartDate": "01/05/2015",
"activeEffectiveDate": "01/05/2015",
"secondLevelManager": "example",
"daysOfPreviousService": "0",
"yearsOfService": "9.155"
}
},
{
"avatarUrl": "string URL"
},
{
"secondName": "example"
},
{
"about": {
"foodPreferences": "",
"superpowers": "example",
"hobbies": "example",
"about": "string",
"avatar": "string URL"
}
},
{
"companyId": "636192"
},
{
"email": "example@samplebob.com"
},
{
"surname": "example"
},
{
"coverImageUrl": "string URL"
},
{
"id": "3332883884017713938"
},
{
"firstName": "example"
}
]
}
}

Terminate Employee

Terminate a specific employee with a given termination date and reason. | key: terminateEmployee

InputNotesExample
Connection
Employee Identifier

The backend-id of the Employee to terminate. Retrieve this ID from the database.

3332883884017713238
Last Day of Work

The last day of work for the employee.

2025-09-22
Notice Period

Notice period length.

Reason

The ID of the 'lifecycleReasonType' list entry.

End of Contract
Termination Date

The date when the employee's termination takes effect (YYYY-MM-DD format).

2024-03-15
Termination Reason

The ID of the 'terminationReason' list entry.

Redundant

{
"data": {
"success": true,
"message": "Employee terminated successfully"
}
}

Update Custom Table Entry

Update an existing entry in a custom table for an employee. | key: updateCustomTableEntry

InputNotesExample
Connection
Custom Table ID

The ID of the custom table containing the entry to update.

custom_table_123
Employee ID

The ID of the employee whose custom table entry will be updated.

employee_123
Entry Data

The updated data for the custom table entry in JSON format.

Entry ID

The ID of the custom table entry to update.

entry_123

{
"data": {
"success": true,
"message": "Custom table entry updated successfully"
}
}

Update Employee

Update employee data for a specific employee by ID or email. | key: updateEmployee

InputNotesExample
Connection
Fields

The fields to update for the employee. This should be a JSON object containing the field paths and their new values.

Employee Identifier

The employee's ID to update.

3332883884017713238

{
"data": {
"success": true,
"message": "Employee updated successfully"
}
}

Update Employee Email

Update the email address for a specific employee. | key: updateEmployeeEmail

InputNotesExample
Connection
New Email Address

The new email address for the employee.

john.doe@example.com
Employee Identifier

The employee's ID to update the email address for.

3332883884017713238

{
"data": {
"success": true,
"message": "Employee email updated successfully"
}
}

Update Field

Update an existing custom field in HiBob. | key: updateField

InputNotesExample
Connection
Description

A new description for the field.

Updated field description
Field ID

The ID of the field to update.

custom_field_123
Field Name

The new name for the field.

Updated Field Name

{
"data": {
"success": true,
"message": "Field updated successfully"
}
}

Update List Item

Update an existing item in a company list. | key: updateListItem

InputNotesExample
Connection
Item ID

The ID of the list item to update.

1044123
Item Name

The new name for the list item.

Human Resources Department
List Name

The name of the list containing the item to update.

Departments
Parent ID

The ID of the new hierarchy parent node.

1234

{
"data": {
"success": true,
"message": "List item updated successfully"
}
}

Upload File From URL

Upload a file from a URL to an employee's document folder. | key: uploadFileFromUrl

InputNotesExample
Connection
Document Name

The name of the Document.

document.pdf
Document URL

The URL pointing to the document to upload.

https://example.com/documents/file.pdf
Employee ID

The ID of the employee to upload the file for.

23278123
Folder ID

Required if folder type is 'Custom'. The ID of the custom folder to upload to.

1044123
Folder Type

The type of folder to upload the file to.

Tags

A array of tags that you want to attach to the document in Bob.

{
"data": {
"id": 0,
"employeeId": "string",
"uploadedById": "string",
"name": "string",
"creationDate": "string",
"status": "string",
"tags": [
"string"
],
"folderId": 0,
"mimeType": "string",
"fileId": 0,
"documentName": "string",
"owner": {
"id": "string"
},
"actionRequestDate": "string",
"actionCompleteDate": "string"
}
}

Upload File To Folder

Upload a file directly to an employee's document folder. | key: uploadFileToFolder

InputNotesExample
Connection
Employee ID

The ID of the employee to upload the file for.

23278123
File Data

The binary data of the file to upload. This should be a reference to a previous action that returns file data.

File Name

The name of the file to upload.

document.pdf
Folder ID

Required if folder type is 'Custom'. The ID of the custom folder to upload to.

1044123
Folder Type

The type of folder to upload the file to.

{
"data": {
"id": 0
}
}

Changelog

2025-05-08

Initial release of HiBob component with comprehensive employee management, custom table operations, file management, and task management capabilities