Skip to main content

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

  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
InputDefaultNotes
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

InputNotesExample
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

InputNotes
Connection
connection
/ Required
connection
 

Select Employee Field

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

InputNotes
Connection
connection
/ Required
connection
 

Select Employees

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

InputNotes
Connection
connection
/ Required
connection
 

Select Folder

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

InputNotes
Connection
connection
/ Required
connection
 

Select Task

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

InputNotes
Connection
connection
/ Required
connection
 

Actions

Add List Item

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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputDefaultNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputDefaultNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputDefaultNotes
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

InputNotes
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

InputNotes
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

InputNotes
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

InputDefaultNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputDefaultNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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
}
}