Request time off
BetaChanges data
Submits a HiBob time off request in the shape the policy wants.
Settings
| Setting | What it is |
|---|---|
| ConnectionRequired | The HiBob connection the step signs in with. |
| Employee idRequired | Picked from the list HiBob offers. |
| Policy typeRequired | As the List time off policy types node spells it. |
| How the time is counted | Bob's policies are counted in days or in hours, and the request has to be written the way the policy counts. The List time off policy types node says which. |
| FromRequired | YYYY-MM-DD. |
| ToRequired | YYYY-MM-DD. The same day as From for a single day. |
| First day | "all_day" or "afternoon" |
| Last day | "all_day" or "morning" |
| Hours | number |
| Minutes | number |
| Hours per day | number |
| Minutes per day | number |
| Which half of the day | "morning" or "afternoon" |
| From time | HH:mm in the employee's own time zone. |
| To time | text |
| Per-day durations | One entry per day between From and To, in Bob's own shape: a portion for each day, or a start and end time for each day. |
| Note | What the person wrote on the request. Everyone who may see the request reads it. |
| Reason | The numeric id of a reason Bob offers for this policy — the List time off policy types node leads to them. 0 means no reason. |
| Approver | The employee id of the person who should approve it, instead of the default. |
| Approve it straight away | Admins only. Switching this on creates the request already approved and skips the person's manager entirely. |
Technical details
| Key | Value |
|---|---|
connection | texta connection id from `requires.connections` (provider `hibob`) |
employeeId | texta value from the vendor's own list |
policyType | text |
requestRangeType | "days" or "hours" or "portionOnRange" or "hoursOnRange" or "specificHoursOnRange" or "differentDayDurations" or "differentSpecificHoursDayDurations", by default "days" |
startDate | text |
endDate | text |
startDatePortion | "all_day" or "afternoon", by default "all_day"used when `requestRangeType` is "days" |
endDatePortion | "all_day" or "morning", by default "all_day"used when `requestRangeType` is "days" |
hours | number, by default 0used when `requestRangeType` is "hours" |
minutes | number, by default 0used when `requestRangeType` is "hours" |
dailyHours | number, by default 0used when `requestRangeType` is "hoursOnRange" |
dailyMinutes | number, by default 0used when `requestRangeType` is "hoursOnRange" |
dayPortion | "morning" or "afternoon", by default "morning"used when `requestRangeType` is "portionOnRange" |
localStartTime | textused when `requestRangeType` is "specificHoursOnRange" |
localEndTime | textused when `requestRangeType` is "specificHoursOnRange" |
durations | list of any JSON, by default []used when `requestRangeType` is one of "differentDayDurations", "differentSpecificHoursDayDurations" |
description | text |
reasonCode | number, by default 0 |
approver | text |
skipManagerApproval | true/false, by default false |
Output
| Field | Type |
|---|---|
requestId | string |
request | object |
Sample output, and the expression for each field
- request
- id"912"
- requestId"912"
Errors
When a step of this node stops a run, the run page shows a code. Look it up:
Example step
The step as a flow file holds it. Replace each value in <…>.
{
"config": {
"approver": "",
"connection": "<connection id>",
"dailyHours": 0,
"dailyMinutes": 0,
"dayPortion": "morning",
"description": "",
"durations": [],
"employeeId": "<employee id>",
"endDate": "<to>",
"endDatePortion": "all_day",
"hours": 0,
"localEndTime": "",
"localStartTime": "",
"minutes": 0,
"policyType": "<policy type>",
"reasonCode": 0,
"requestRangeType": "days",
"skipManagerApproval": false,
"startDate": "<from>",
"startDatePortion": "all_day"
},
"label": "Request time off",
"type": "hibob.createTimeOffRequest",
"version": 1
}