
Planday
Read and write Planday employees, departments and shifts; read employee groups, skills, positions, shift types, time and cost, absence requests and punch clock records.
Connect shift planning and worked hours in Planday with HR, payroll, POS and budgeting systems.
Source actions
12
Destination actions
5
Data types
10
Validation status
Implemented · fixture tested.
Implementation is checked against provider-shaped fixtures for every action, authentication failures, rate limits, pagination and duplicate safety. Provider sandbox and authorised account validation are recorded separately when credential-backed runs are completed.
What you can map
absence requests
- List absence requestsSource
Vacation and absence requests with period and status.
absence_requests.list
departments
- Create departmentDestinationNot retried automaticallyApproval before production
Creates a department.
departments.create - List departmentsSource
Departments with number.
departments.list
employee groups
- List employee groupsSource
Employee groups (roles people are scheduled as).
employee_groups.list
employees
- Create employeeDestinationNot retried automaticallyApproval before production
Creates an employee in one or more departments.
employees.create - Get employeeSource
One employee by ID.
employees.get - List employeesSourceIncremental
Active employees with departments, groups, job title and supervisor.
employees.list - Update employeeDestinationProvider duplicate protectionApproval before production
Updates an employee's details, departments and groups.
employees.update
positions
- List positionsSource
Positions within departments and sections.
positions.list
punch clock records
- List punch clock recordsSource
Punched-in and punched-out times with the planned shift and approval.
punch_clock_records.list
shift types
- List shift typesSource
Shift types with salary code and pay supplement.
shift_types.list
shifts
- Create shiftDestinationNot retried automaticallyApproval before production
Creates a shift in a department, assigned or open.
shifts.create - Get shiftSource
One shift by ID.
shifts.get - List shiftsSourceIncremental
Scheduled shifts with employee, department, position and status.
shifts.list - Update shiftDestinationProvider duplicate protectionApproval before production
Changes a shift's date, times, employee, position or comment.
shifts.update
skills
- List skillsSource
Skills that can be required on shifts.
skills.list
time and cost
- List time and costSource
Scheduled duration and wage cost per shift for a department (breaks excluded).
time_and_cost.list
Authentication
Planday app ID and portal refresh token
Plans and access
Planday portals with API access enabled by an administrator. The app's scopes (employee, department, shift, timeandcost, punchclockshift, absence) must be granted to the portal under Settings → Integrations → API Access.
Test environment
Planday provides test portals to integration partners on request.
Rate limits
Per portal 20 requests per second and 750 per minute; per app 100 per second and 2000 per minute; HTTP 429 with x-ratelimit-reset.
Pagination
offset and limit (max 50) with paging.total.
Provider events
Planday webhooks for employee, shift and punch clock events. Nexra event triggers are not yet available; flows run on demand or on a schedule.
Before you build a flow
- Planday's token request takes only client_id, grant_type and refresh_token; the shared OAuth runtime also sends the client secret field, so the App ID is entered twice. That Planday ignores the extra client_secret is not verified on a live portal.
- Whether Planday rotates refresh tokens is not documented; Nexra stores any new refresh token it returns.
- Employee updates use PUT; whether omitted fields are kept or cleared is not documented, so map every field you want to keep.
- SSNs, birth dates, bank accounts and salary identifiers are never requested or mapped.
- Time and cost, absence requests and punch clock records are read only; approvals, punching in or out and payroll exports are not automated.
- Deletes are not implemented. Planday has no idempotency key; uncertain creates are not repeated.
Developer reference
- Create the Planday A/S (Xero) credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Planday, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/planday and the Connections API.