> ## Documentation Index
> Fetch the complete documentation index at: https://usepike.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Planday

> Sync Planday employees, departments, employee groups, contracted hours and approved absence into Pike members, teams, capacity and time off.

The Planday integration syncs employees from Planday into Pike [members](https://usepike.com/docs/members/overview.md), contracted hours from Planday contract rules into weekly capacity, and approved absence requests into Pike [time off](https://usepike.com/docs/members/time-off.md). Your team keeps scheduling and HR in Planday. Resource managers plan project work on the hours each person is contracted for, minus the days they are away.

## At a glance

| | |
| - | - |
| **Direction** | Planday to Pike for employees, departments, employee groups, contracted hours and approved absence |
| **Who sets it up** | Workspace admins, with a refresh token from a Planday administrator who authorizes the Pike app under **API access** |
| **Plan** | All plans |
| **Sync** | Every 3 hours. On the Enterprise plan, changes sync in real time. |
| **Source of truth** | Planday for person fields, contracted hours and absence. Pike for capacity, allocations, projects, time and cost rates |

## Before you start

You need:

* The workspace admin role in Pike.
* A Planday user with the **Administrator** role and access to every department you want in Pike. Pike reads with that user's access, so departments the user cannot see do not sync. If that user is later deactivated in Planday, the token stops working and an administrator authorizes the app again.
* A Planday plan that includes **API access**.
* Contract rules on your employees in Planday, if you want contracted hours to set capacity.
* Pike time off types for the Planday absence accounts you use. You map each account during setup. See [Time off](https://usepike.com/docs/members/time-off.md).

## Connect Planday

**1. Open the integration**

Go to **Workspace settings → Integrations → Planday** and click **Add
integration**. Pike shows the Pike app ID. Copy it.

**2. Authorize the Pike app in Planday**

In Planday, go to **Settings → Integrations → API access** and click
**Connect app**. Paste the Pike app ID, click **Authorize**, and approve the
access Pike asks for: read access to employees, departments, employee
groups, contract rules, absence and pay. Copy the refresh token from the
**Token** column.

**3. Enter the token**

Back in Pike, paste the refresh token and click **Connect**. Pike checks the
token and shows the Planday portal name.

**4. Map time off types**

Under **Time off types**, choose a Pike time off type for each Planday
absence account. Pike suggests a mapping from the account names.

**5. Choose what syncs**

In the **What syncs with Planday** card, turn **Read** on or off for each
entity, and choose whether to turn on **Invite new employees**.

**6. Import**

Click **Import data**. Departments and employee groups import first, then
employees and contracted hours, then absence.

The integration page shows **Connected**, the Planday portal name, **Last synced** and **Next sync**.

## What syncs

| Planday | Pike | Direction |
| - | - | - |
| Employees | Members | Planday to Pike |
| Departments | Teams | Planday to Pike |
| Employee groups | Positions | Planday to Pike |
| Contract rules | Capacity per week | Planday to Pike |
| Approved absence requests | Time off | Planday to Pike |
| Pay rates and salaries | Member cost profiles | Planday to Pike, when **Sync compensation to cost profiles** is on |

### Employees

| Planday field | Pike field | Notes |
| - | - | - |
| First name, last name | Member name | |
| Email | Member email | Also used to match existing members |
| Departments | Teams | The member joins a team for each department. A team is created when no Pike team has the same name |
| Employee groups | Position | The first employee group on the employee sets the position. A position is created when no Pike position has the same name |
| Supervisor | Manager | When the supervisor is also a Pike member |
| Hired date | Hire date | |
| Deactivated | Member status | A deactivated employee becomes a deactivated member. History is kept |
| Employee ID | Planday ID | Shown on the member as the Planday marker |

### Contracted hours

| Planday field | Pike field | Notes |
| - | - | - |
| Contract rule hours | Capacity per week | Spread evenly over Monday to Friday |
| Contract rule changes | Contract history | A new contract rule adds a new contract row from the date it applies |

To give a part-time employee a different week, such as four days, set the [work schedule](https://usepike.com/docs/members/working-time.md#work-schedule) in Pike. Pike uses that schedule as long as the weekly total matches the Planday contract rule. An employee with no contract rule uses the capacity set in Pike.

Scheduled shifts in Planday do not import and do not change capacity. Shifts are the rota for who covers which hours. Allocations in Pike are planned against the contracted hours, so a week with fewer shifts does not show as free project time.

### Time off

| Planday field | Pike field | Notes |
| - | - | - |
| Employee | Member | |
| Absence account | Time off type | Through your type mapping |
| Start and end | Dates | |
| Hours | Hours per day | A part-day request removes only its hours from capacity |
| Status | Not stored | Only requests with the status **Approved** import |

Default type mapping: vacation accounts to Vacation, overtime accounts to Time off in lieu, sick to Sick, parental to Parental, unpaid to Unpaid leave, and every other account to Vacation. Each type counts toward the member's [norm hours](https://usepike.com/docs/members/working-time.md#norm-hours) as set on the Pike type.

### Compensation

**Sync compensation to cost profiles** is off by default. Only admins and finance users can turn it on. Planday sets pay rates per employee group, so Pike uses the rate for the employee group that sets the member's position.

| Planday field | Pike field | Notes |
| - | - | - |
| Hourly pay rate for the employee group | Cost profile salary, per hour | For hourly employees |
| Salary | Cost profile salary | For salaried employees, with its period |
| Valid from | Cost profile start date | Each change adds a new row |

See [Cost profile](https://usepike.com/docs/members/cost-profile.md).

## Matching and duplicates

On the first import, Pike matches before it creates:

* An employee matches a Pike member with the same email. A match links the two, and Planday values replace the Pike values for the fields in the mapping.
* A department matches a Pike team with the same name. An employee group matches a Pike position with the same name.
* Absence always imports as new time off. Time off already entered in Pike for the same member and dates stays, and the Planday request is listed in **Sync issues** as an overlap.

An employee with no matching member appears under **Unmatched employees** on the integration page. Click **Invite** to send a Pike invite, or **Link to member** to link the employee to a member with a different email. With **Invite new employees** on, Pike sends the invite automatically with the default role the admin chose.

## Which system wins

| Entity | Planday owns | Pike owns |
| - | - | - |
| Members | Name, email, teams, position, manager, status, hire date | Role, rates, working time policy, project access, allocations |
| Capacity | Weekly contracted hours, for employees with a contract rule | Work schedule split by weekday, and capacity for employees with no rule |
| Time off | Dates, hours and type of absence requests from Planday | Time off requested in Pike |
| Cost profiles | Salary rows, when compensation sync is on | Cost profiles, when compensation sync is off |

Edit Planday-owned fields in Planday. Pike shows them as read-only with the Planday marker.

## Sync schedule

Pike syncs Planday every 3 hours. On the Enterprise plan, changes sync in real time. **Import data**, **Sync now** and **Refresh** on a member run straight away on every plan. See [How sync works](https://usepike.com/docs/integrations/how-sync-works.md).

## Sync settings

While Planday is connected, the **What syncs with Planday** card is below the top button row on the integration page. Toggles save immediately.

| Entity | Read | Send |
| - | - | - |
| Employees | Yes | Not available |
| Contracted hours | Yes | Not available |
| Time off | Yes | Not available |
| Compensation | Off by default, admins and finance users only | Not available |

New connections start with **Read** on for employees, contracted hours and time off, **Invite new employees** off, and compensation off.

## How it works

```mermaid theme={"system"}
sequenceDiagram
  participant Manager as Manager in Planday
  participant Planday
  participant Pike
  participant RM as Resource manager in Pike
  Manager->>Planday: Set a 30 hour contract rule for Sofia
  Manager->>Planday: Approve Sofia's vacation for Friday
  Planday->>Pike: Contract rule and approved absence, on the next sync or in real time
  Pike->>Pike: Set capacity to 30 hours a week
  Pike->>Pike: Remove 6 hours from Friday capacity
  Pike-->>RM: Allocations show 24 hours free that week
  RM->>Pike: Move Friday's allocation to another person
```

## Use it in Pike

### Plan around approved leave

Open **Members → Allocations** to see each person's capacity for the week. Approved Planday absence shows on the day with its type, and the hours are already removed from capacity, so an over-allocated day stands out before the work is due. See [Workspace capacity](https://usepike.com/docs/allocation/workspace-capacity.md).

### Staff part-time people on their contracted hours

A designer on a 30 hour contract rule in Planday has 30 hours of capacity in Pike. Utilization for that person is measured against 30 hours, not a full-time week, so part-time staff do not show as underused.

### Onboard a new hire

When a new employee is added in Planday, they appear in Pike with their team and position on the next sync. Turn on **Invite new employees**, or click **Invite** under **Unmatched employees**, and the person can log time on their first day.

### Offboard a leaver

When an employee is deactivated in Planday, the member is deactivated in Pike. Their logged time, allocations and history stay on every project, and they stop counting toward capacity from the deactivation date.

## Deletes and removed records

An integration never deletes Pike data. An employee deleted in Planday is marked **Removed in Planday** on the member, stays in Pike with their history, and stops syncing. An absence request canceled in Planday after approval is removed from Pike capacity on the next sync, and the change appears in the member's time off history.

## Troubleshooting

| Symptom | Fix |
| - | - |
| An employee is missing in Pike | The Planday user who authorized the app cannot see the employee's department. Authorize with an administrator who has access to all departments, then click **Sync now**. |
| An employee shows under **Unmatched employees** | The email in Planday differs from the member's email in Pike. Click **Link to member**, or correct the email in Planday. |
| Capacity does not match the contract | The employee has no contract rule in Planday, or **Read** is off for contracted hours. Add the rule in Planday, then click **Refresh** on the member. |
| Approved absence is missing | Check that **Read** is on for time off and that the request is **Approved** in Planday. Then click **Refresh** on the member. |
| Time off shows the wrong type | The absence account maps to a different Pike type. Change it under **Time off types**. Existing time off updates on the next sync. |
| **Sync issues** lists an overlap | Time off for the same dates already exists in Pike. Delete the Pike entry, then click **Retry**. |
| **Sync issues** lists an authentication error | The administrator who authorized the app was deactivated, or the app was disconnected in Planday. Authorize the app again under **API access** and enter the new token under **Credentials**. |

## Limits

* Pike does not write to Planday. Planday punch clock entries belong to scheduled shifts, and Pike time entries belong to projects and tasks, so Pike time stays in Pike.
* Scheduled shifts do not import and do not set capacity. Contracted hours from the contract rule do.
* Vacation and overtime account balances stay in Planday. Pike shows balances from its own [time off policies](https://usepike.com/docs/members/time-off.md#balances).
* Pending or declined absence requests do not sync.
* Compensation sync is off until an admin or finance user turns it on.
* Pike reads only the departments the authorizing administrator can see.

## Disconnect

Go to **Workspace settings → Integrations → Planday** and click **Disconnect**. Syncing stops and every member, team, position, capacity row and time off entry stays in Pike with its history. Reconnecting the same Planday portal relinks the members.

## Related

* [How sync works](https://usepike.com/docs/integrations/how-sync-works.md): The schedule, real-time sync and sync issues.
* [Working time and overtime](https://usepike.com/docs/members/working-time.md): Work schedules, capacity per week and norm hours.
* [Workspace capacity](https://usepike.com/docs/allocation/workspace-capacity.md): How time off and contracts set available hours.
* [Danløn](https://usepike.com/docs/integrations/danlon.md): Hours, overtime and absence to payroll.
* [Zenegy](https://usepike.com/docs/integrations/zenegy.md): Hours and absence from closed pay periods to payroll.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.