> For the complete documentation index, see [llms.txt](https://help.join.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.join.com/integrations/external-hr-tools/personio.md).

# Personio

Set up the Personio integration to sync jobs to JOIN for multiposting and send applications back to Personio. Learn requirements, credentials, optional filters, and screening question limitations.

The Personio integration lets you manage recruitment in one place. Support activates and manages the integration. Jobs created in Personio automatically sync to JOIN and publish across job boards. Candidate applications go straight back to Personio.

{% hint style="warning" %}
Before you begin, make sure to review the [External HR tools](/integrations/external-hr-tools.md) article to understand the general requirements and limitations that apply to all integrations (e.g. sync frequency, job limits, multi-language/locations, screening questions).
{% endhint %}

Once connected, the Personio integration allows you to:

* Automatically sync jobs from Personio to JOIN for multiposting
* Send applications received via JOIN directly into Personio in real time
* Continue using Personio as your main ATS, while JOIN distributes and collects applications in the background

***

### Request Personio activation

{% stepper %}
{% step %}

#### Prepare the activation details

Send Support every item below:

* **Personio ID**
* Your Personio identifier, in the format `xxxx.jobs.personio.de`
* A **Recruiting API access token/API key** for a Personio user with permissions to create jobs and applications
* Confirmation that your XML feed is active and reachable at `https://<identifier>/xml`

Create or retrieve the Recruiting API access token/API key in Personio under `Settings` → `API credentials`.

{% hint style="info" %}
The Personio card may not appear under `Settings` → `Integrations`. Support activates Personio, so you do not enter these details in JOIN.
{% endhint %}
{% endstep %}

{% step %}

#### Request activation from Support

Contact [Support](mailto:contact@join.com) with the activation details. Support confirms when the integration is live.

Contact Support to update credentials or make any other integration changes after activation.
{% endstep %}

{% step %}

#### Configure optional tracking after activation

After Support activates the integration, you can optionally configure tracking in Personio:

* Create a `JOIN` channel under `Settings` → `Recruiting` → `Channels`. Send its optional **Channel ID** to Support.
* Add a text candidate-profile field under `Settings` → `Recruiting` → `Attributes` → `Candidate profile`. Send its optional **API name** to Support for original-source tracking.

These options help identify candidates who apply through JOIN in Personio.
{% endstep %}

{% step %}

#### Sync only selected jobs (optional)

If you want to sync only selected jobs from Personio:

1. Open the job in Personio
2. Add the keyword `join` in the `subtitle keywords` section
3. Inform JOIN Support that keyword-based filtering has been configured

We’ll then enable filtering on our side so only tagged jobs sync to JOIN.

{% hint style="info" %}
Keyword filtering is not automatic—it must be enabled by JOIN after you notify us.
{% endhint %}
{% endstep %}
{% endstepper %}

***

### Screening questions

{% hint style="info" %}
[Screening questions](#user-content-fn-1)[^1] are not supported by default in the Personio integration.
{% endhint %}

However, we can enable hardcoded screening questions across your account on request. Here's how it works:

* Questions apply to *all synced jobs* (not on a per-job basis)
* You must provide:
  * Question text
  * Answer options
  * Whether each answer should be mandatory or optional
* Candidate responses will appear in Personio as notes or messages, not structured fields
* [Knockout questions](/jobs/job-creation.md#to-create-a-custom-screening-question) are not supported

{% hint style="warning" %}
Screening questions must be defined at the account level and cannot be customised per job.
{% endhint %}

***

### FAQs

<details>

<summary>Can I manage or edit synced jobs directly in JOIN?</summary>

No. Once the integration is active, all job management must be done in Personio. Editing or archiving jobs in JOIN can disrupt the sync.

</details>

<details>

<summary>What happens if I archive a synced job in JOIN?</summary>

If you archive a synced job (labeled `Synced` with a green checkmark <i class="fa-circle-check">:circle-check:</i>) directly in JOIN, it will stop syncing permanently unless you restore it from the `Archived` jobs tab.

</details>

<details>

<summary>How often does JOIN sync with Personio?</summary>

JOIN syncs jobs from Personio every 30–60 minutes. Candidate applications are forwarded to Personio in real time.

</details>

<details>

<summary>Can I choose which jobs to sync from Personio?</summary>

Yes, but filtering must be enabled manually. Add the keyword `join` in your Personio job settings and notify JOIN Support to activate keyword-based filtering.

</details>

<details>

<summary>Can I add screening questions to Personio jobs via JOIN?</summary>

JOIN can support hardcoded, account-wide screening questions on request. These apply to all synced jobs and cannot be set individually per job.

</details>

<br>

[^1]: Screening questions are custom or pre-set questions included in the application form to help you gather important information from candidates early in the hiring process. These questions can cover availability, skills, experience, or qualifications — making it easier to identify strong matches right from the start. By filtering out unsuitable applicants early on, they help streamline your recruitment process and focus your attention on the most relevant candidates.

    [Job creation](/jobs/job-creation.md#screening-questions)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.join.com/integrations/external-hr-tools/personio.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
