# Personio

The Personio integration allows you to manage your entire recruitment process in one place. Jobs created in Personio are automatically synced to JOIN and published across multiple job boards. When candidates apply, their applications are sent straight back into Personio, keeping everything in one streamlined workflow.

{% hint style="warning" %}
Before you begin, make sure to review the [External HR tools](https://help.join.com/integrations/external-hr-tools) 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

***

### Connect Personio and JOIN

{% stepper %}
{% step %}

#### **Get your Personio credentials**

Before setting up the integration in JOIN, gather the following details from your Personio account:

1. Go to `Settings` → `API credentials`
2. Create or view your 'Recruiting API key'
3. Copy your 'Company ID' and 'Access Token'
4. Next, ensure your XML feed is active:

* Go to `Settings` → `Recruiting` → `Career page` → `Activations`
* Confirm that the XML feed is activated

Optional but recommended:

To improve tracking in Personio, it’s recommended to create a dedicated channel for JOIN. Go to `Settings` → `Recruiting` → `Channels`, then add a new channel named 'JOIN'. Once created, copy the `Channel ID`—you’ll need this when setting up the integration in JOIN.&#x20;

{% hint style="info" %}
This helps you tag and identify candidates who apply via JOIN more easily within Personio.
{% endhint %}

Track original sources in Personio:

* Go to `Settings` → `Recruiting` → `Attributes` → `Candidate profile`
* Add a field called something like **'JOIN Original Source'**
* Set the type to 'Text' and copy the `API name`
  {% endstep %}

{% step %}

#### Enter details in JOIN

1. In JOIN, go to `Settings` → `Integrations` → `Personio`
2. Enter the following details:
   * **Company ID**
   * **Access Token**
   * **Channel ID** (optional)
   * **API name** for the source field (optional)
3. Click the `Request` button in the top right corner

<figure><img src="https://1825767176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEdFjOFlkC1DEfDv3nGRh%2Fuploads%2FBgaYkkka3CVgscoWH43f%2Fpersonio-connect.png?alt=media&#x26;token=e4be4b8d-8200-44fa-ae59-c1773999bbf8" alt=""><figcaption></figcaption></figure>

Our team will review your request and activate the integration within 1 business day. You’ll receive a confirmation email once everything is live.
{% 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](https://help.join.com/jobs/job-creation#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.

    [#screening-questions](https://help.join.com/jobs/job-creation#screening-questions "mention")
