Skip to main content

Prerequisites

The connector should already be set up, with a Connector Profile and a Linked Account. See Getting Started on the Personio connector page.

Automatic webhook setup

StackOne creates and manages the Personio webhook subscription automatically when the account is connected, and removes it when the account is disconnected. There is nothing to configure in Personio beyond the access right below.

1

Grant Webhooks access

When creating the custom integration in Personio, grant the Webhooks access right.

  • Go to Settings > Integrations > API credentials
  • In the custom integration’s access rights, select Read and Write for Webhooks
  • Personio allows up to 50 webhooks per company, so remove unused webhooks if the limit is reached

Available webhook events

The following Personio events can be enabled. Only events selected in StackOne are included in the subscription, so Personio will not deliver events that are not subscribed.

1

Person events

Events related to people (employee profiles).

  • Person Created (person.created) — Fired when a new person is created
  • Person Updated (person.updated) — Fired when a person profile is updated
  • Person Deleted (person.deleted) — Fired when a person is deleted
2

Employment events

Events related to a person’s employments.

  • Employment Created (employment.created) — Fired when a new employment is created for a person
  • Employment Updated (employment.updated) — Fired when an employment is updated
  • Employment Cost Centers Updated (employment.updated.cost-centers) — Fired when the cost centers of an employment change
  • Employment Deleted (employment.deleted) — Fired when an employment is deleted
  • Employment Started (employment.started) — Fired when an employment reaches its start date
  • Employment Terminated (employment.terminated) — Fired when an employment is terminated
3

Absence events

Events related to absence periods (time off).

  • Absence Period Created (absence-period.created) — Fired when a new absence period is requested or created
  • Absence Period Status Updated (absence-period.updated.status) — Fired when the approval status of an absence period changes
  • Absence Period Timerange Updated (absence-period.updated.timerange) — Fired when the start or end of an absence period changes
  • Absence Period Deleted (absence-period.deleted) — Fired when an absence period is deleted
4

Attendance events

Events related to attendance periods (worked time).

  • Attendance Period Created (attendance-period.created) — Fired when a new attendance period is recorded
  • Attendance Period Updated (attendance-period.updated) — Fired when an attendance period is updated
  • Attendance Period Deleted (attendance-period.deleted) — Fired when an attendance period is deleted
5

Document events

Events related to employee documents.

  • Document Created (document.created) — Fired when a new document is uploaded
  • Document Updated (document.updated) — Fired when a document is updated
  • Document Deleted (document.deleted) — Fired when a document is deleted
  • Document Signed (document.signed) — Fired when a document is signed

Delivery format

Details of how Personio delivers events to StackOne.

1

Identifier-only payloads

Each request carries a single event with company_id, event_name, occurred_at and a payload holding only the identifiers of the affected records (for example payload.person.id). Use the matching get action to fetch the full record. Personio retries failed deliveries for up to 3 days, so the same event can arrive more than once.

Verify

Your Connector should now be able to receive and process events. Try triggering an event and you should see an Event appear in the Connector logs.