Settings
| Setting | What it is |
|---|---|
| ConnectionRequired | The Personio Recruiting connection — the recruiting token and company id, not the employee-data client id. |
| First nameRequired | text |
| Last nameRequired | text |
| E-mailRequired | text |
| Job idRequired | The List recruiting jobs node gives you the id. The posting has to be published at the moment you post. |
| Channel id | Which source this application came in through. Leave at 0 for none. |
| External posting id | The id of the job board posting the applicant answered. |
| Message | The applicant's own motivation, as they wrote it. |
| Application date | YYYY-MM-DD, and never in the future. Leave empty for today. |
| Starting phase | "" or "system" or "custom" |
| Phase id | For a fixed phase: unassigned, rejected, withdrawn, offer or accepted. An unknown phase silently becomes unassigned. |
| Tags | Comma-separated. A tag that does not exist yet is created. |
| Files | The document id comes from the Upload application document node. These rows are literal — to pass an id from an earlier node, use the field below. |
| Files from an earlier node | An array of { uuid, original_filename, category }. Use this when the id comes from an earlier node; it replaces the rows above. |
| Applicant attributes | Personio's own ids are birthday, gender, location, phone, available_from and salary_expectations. Your own look like custom_attribute_123 — find them under Settings → Recruiting → Applicant. |
Technical details
| Key | Value |
|---|---|
connection | texta connection id from `requires.connections` (provider `personio-recruiting`) |
firstName | textits `{{ }}` must give a string |
lastName | textits `{{ }}` must give a string |
email | textits `{{ }}` must give a string |
jobPositionId | number |
recruitingChannelId | number, by default 0 |
externalPostingId | text |
message | text |
applicationDate | text |
phaseType | "" or "system" or "custom" |
phaseId | textused when `phaseType` is not "" |
tags | text |
files | list of {uuid: text, originalFilename: text, category: "cv" or "cover-letter" or "employment-reference" or "certificate" or "work-sample" or "other"}, by default [] |
filesJson | list of any JSON, by default [] |
attributes | object of text, by default {} |
Output
| Field | Type |
|---|---|
createdPersonio accepted the application | boolean |
Sample output, and the expression for each field
- createdtrue
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": {
"applicationDate": "",
"attributes": {},
"connection": "<connection id>",
"email": "<e-mail>",
"externalPostingId": "",
"files": [],
"filesJson": [],
"firstName": "<first name>",
"jobPositionId": 1,
"lastName": "<last name>",
"message": "",
"phaseId": "",
"phaseType": "",
"recruitingChannelId": 0,
"tags": ""
},
"label": "Create application",
"type": "personio.createApplication",
"version": 1
}