HiBob Component

HiBob is an HR platform for people management, performance, and engagement.
Component key: hibob
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
-
Access HiBob Admin Panel
- Log in to your HiBob account
- Navigate to the Service Users configuration page
-
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
-
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
Input | Default | Notes |
---|---|---|
Service User ID string / Required serviceUserId | Your HiBob API Service User ID. | |
Token password / Required token | Your HiBob API token. | |
Use Sandbox boolean / Required useSandbox | false | Use the sandbox environment. |
Triggers
Webhook
Receive and validate webhook requests from HiBob for webhooks you configure. | key: webhook
Input | Notes | Example |
---|---|---|
App Secret password / Required appSecret | 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
Input | Notes |
---|---|
Connection connection / Required connection |
Select Employee Field
Select an employee field. | key: selectEmployeeField | type: picklist
Input | Notes |
---|---|
Connection connection / Required connection |
Select Employees
Select an employee. | key: selectEmployee | type: picklist
Input | Notes |
---|---|
Connection connection / Required connection |
Select Folder
Select a document folder. | key: selectFolder | type: picklist
Input | Notes |
---|---|
Connection connection / Required connection |
Select Task
Select a task. | key: selectTask | type: picklist
Input | Notes |
---|---|
Connection connection / Required connection |
Actions
Add List Item
Add a new item to an existing list. | key: addListItem
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Item Name string / Required itemName | The name of the new list item. | Human Resources |
List Name string / Required listName | The name of the list to add the item to. | Departments |
Parent ID string parentId | ID of the new hierarchy parent node. | 1234567890 |
{
"data": {
"id": "string"
}
}
Complete Task
Mark a task as completed. | key: completeTask
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Task ID string / Required taskId | 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Custom Table ID string / Required customTableId | The ID of the custom table to create an entry in. | custom_table_123 |
Employee ID string / Required employeeId | The ID of the employee to create the custom table entry for. | employee_123 |
Entry Data code / Required entryData | 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Email string / Required email | Employee's email address. | john.doe@example.com |
First Name string / Required firstName | Employee's first name. | John |
Site string / Required site | The employee's site. | London |
Start Date string / Required startDate | The employee's employment start date. | 2024-01-01 |
Surname string / Required 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
Input | Default | Notes | Example |
---|---|---|---|
Category string / Required category | The category of the field. | Custom Field | |
Connection connection / Required connection | |||
Description string description | A description of the field's purpose. | This field stores custom employee data | |
Historical boolean historical | false | When true, this field keeps the history of its values, each being active starting from a certain date. | |
Field Name string / Required name | The name of the new field to create. | Custom Field | |
Field Type string / Required 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Custom Table ID string / Required customTableId | The ID of the custom table containing the entry to delete. | custom_table_123 |
Employee ID string / Required employeeId | The ID of the employee whose custom table entry will be deleted. | employee_123 |
Entry ID string / Required entryId | 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Field ID string / Required fieldId | 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Document ID string / Required documentId | The ID of the document to delete. | 23278123 |
Employee ID string / Required employeeId | The ID of the employee whose file to delete. | employee_123 |
Folder ID string folderId | Required if folder type is 'Custom'. The ID of the custom folder containing the file. | 1044123 |
Folder Type string / Required folderType | 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Item ID string / Required itemId | The ID of the list item to delete. | 1044123 |
List Name string / Required listName | 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Employee ID string / Required employeeId | 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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Include Archived boolean includeArchived | false | Whether to include archived items in the response. | |
List Name string / Required listName | 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Custom Table ID string / Required customTableId | 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Employee ID string / Required employeeId | The Employee ID as pulled from the database, or from the URL In Bob when viewing the employee. | 3332883884017713238 |
Task Status string taskStatus | 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
Input | Default | Notes |
---|---|---|
Connection connection / Required connection | ||
Include Archived boolean includeArchived | false | Whether to include archived items in the response. |
{
"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
Input | Notes |
---|---|
Connection connection / Required 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
Input | Notes |
---|---|
Connection connection / Required connection |
{
"data": [
{
"id": "string",
"name": "string",
"folderType": "string"
}
]
}
List Open Tasks
Retrieve a list of all open tasks in the system. | key: listOpenTasks
Input | Notes |
---|---|
Connection connection / Required 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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Data string data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} | |
File Data string Key Value List fileData | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] | |
File Data File Names string Key Value List fileDataFileNames | File names to apply to the file data inputs. Keys must match the file data keys above. | ||
Form Data string Key Value List formData | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] | |
Header string Key Value List headers | A list of headers to send with the request. | User-Agent: curl/7.64.1 | |
Max Retry Count string maxRetries | 0 | The maximum number of retries to attempt. Specify 0 for no retries. | |
Method string / Required method | The HTTP method to use. | ||
Query Parameter string Key Value List queryParams | 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 string / Required responseType | json | The type of data you expect in the response. You can request json, text, or binary data. | |
Retry On All Errors boolean retryAllErrors | false | 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. | |
Retry Delay (ms) string retryDelayMS | 0 | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | |
Timeout string timeout | The maximum time that a client will await a response to its request | 2000 | |
URL string / Required 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 boolean useExponentialBackoff | false | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. |
Read Employee Fields
Retrieve employee data for a specific employee by ID or email. | key: readEmployeeFields
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Fields code 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 string humanReadable | 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 string / Required 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Employee Identifier string / Required 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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Fields code 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 code filters | An optional filter based on a field and a condition to filter the results. | ||
Human Readable string humanReadable | 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 boolean showInactive | false | Defines whether response should include inactive employees. |
{
"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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Employee Identifier string / Required identifier | The backend-id of the Employee to terminate. Retrieve this ID from the database. | 3332883884017713238 |
Last Day of Work string lastDayOfWork | The last day of work for the employee. | 2025-09-22 |
Notice Period code noticePeriod | Notice period length. | |
Reason string reason | The ID of the 'lifecycleReasonType' list entry. | End of Contract |
Termination Date string / Required terminationDate | The date when the employee's termination takes effect (YYYY-MM-DD format). | 2024-03-15 |
Termination Reason string terminationReason | 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Custom Table ID string / Required customTableId | The ID of the custom table containing the entry to update. | custom_table_123 |
Employee ID string / Required employeeId | The ID of the employee whose custom table entry will be updated. | employee_123 |
Entry Data code / Required entryData | The updated data for the custom table entry in JSON format. | |
Entry ID string / Required entryId | 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Fields code / Required fields | The fields to update for the employee. This should be a JSON object containing the field paths and their new values. | |
Employee Identifier string / Required 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
New Email Address string / Required email | The new email address for the employee. | john.doe@example.com |
Employee Identifier string / Required 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Description string description | A new description for the field. | Updated field description |
Field ID string / Required fieldId | The ID of the field to update. | custom_field_123 |
Field Name string 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Item ID string / Required itemId | The ID of the list item to update. | 1044123 |
Item Name string itemName | The new name for the list item. | Human Resources Department |
List Name string / Required listName | The name of the list containing the item to update. | Departments |
Parent ID string parentId | 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Document Name string / Required documentName | The name of the Document. | document.pdf |
Document URL string / Required documentUrl | The URL pointing to the document to upload. | https://example.com/documents/file.pdf |
Employee ID string / Required employeeId | The ID of the employee to upload the file for. | 23278123 |
Folder ID string folderId | Required if folder type is 'Custom'. The ID of the custom folder to upload to. | 1044123 |
Folder Type string / Required folderType | The type of folder to upload the file to. | |
Tags code 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
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Employee ID string / Required employeeId | The ID of the employee to upload the file for. | 23278123 |
File Data data / Required fileData | The binary data of the file to upload. This should be a reference to a previous action that returns file data. | |
File Name string / Required fileName | The name of the file to upload. | document.pdf |
Folder ID string folderId | Required if folder type is 'Custom'. The ID of the custom folder to upload to. | 1044123 |
Folder Type string / Required folderType | The type of folder to upload the file to. |
{
"data": {
"id": 0
}
}