Planday
Bring new starters, changes and leavers from Planday into every system that needs them, with HR approving each change.
32 ways to read, 18 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Planday, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Create departmentApproval by rule
- Create employee groupApproval by rule
- Get absence account balanceRead
Example flow
- Planday · Get absence account balanceDone
- Planday · Create departmentNeeds approval
- Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Planday.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Planday
- Planday's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect your own account when you are ready to go live.
For developers
Technical detail
Read and write Planday employees, departments, groups, shifts, positions, sections, shift types and revenue; read absence, punch clock and payroll exports.
Planday A/S (Xero) API docs- Source actions
- 32
- Destination actions
- 18
- Data types
- 26
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
Absence account balances1
- Get absence account balanceSource
Balance of one absence account, optionally at a date.
Absence account types1
- List absence account typesSource
Account types with absence type, spending unit, start balance and accrual rate.
Absence accounts1
- List absence accountsSource
Vacation, absence, flextime and accrued accounts per employee.
Absence records1
- List absence recordsSource
Approved and declined absence with per-day registrations and account costs.
Absence requests1
- List absence requestsSource
Vacation and absence requests with period and status.
Deactivated employees1
- List deactivated employeesSourceIncremental
Former employees with deactivation date, termination type and reason.
Departments4
- Create departmentDestinationNot retried automaticallyApproval before production
Creates a department.
- Get departmentSource
One department by ID.
- List departmentsSource
Departments with number.
- Update departmentDestinationProvider duplicate protectionApproval before production
Renames a department or changes its number.
Employee field definitions1
- Get employee field definitionsSource
JSON schema of employee fields, including portal custom fields, for create or update.
Employee groups4
- Create employee groupDestinationNot retried automaticallyApproval before production
Creates an employee group.
- Get employee groupSource
One employee group by ID.
- List employee groupsSource
Employee groups (roles people are scheduled as).
- Update employee groupDestinationProvider duplicate protectionApproval before production
Renames an employee group.
Employee types1
- List employee typesSource
Employee types such as full time or hourly.
Employees4
- Create employeeDestinationNot retried automaticallyApproval before production
Creates an employee in one or more departments.
- Get employeeSource
One employee by ID.
- List employeesSourceIncremental
Active employees with departments, groups, job title and supervisor.
- Update employeeDestinationProvider duplicate protectionApproval before production
Updates an employee's details, departments and groups.
Payroll salaried1
- List payroll salaried linesSource
Payroll export of fixed salary lines for salaried employees.
Payroll shifts1
- List payroll shift linesSource
Payroll export of worked shifts with salary, wage, supplements and breaks.
Payroll supplements1
- List payroll supplement linesSource
Payroll export of supplements (for example evening or weekend pay).
Positions4
- Create positionDestinationNot retried automaticallyApproval before production
Creates a position in a department for an employee group.
- Get positionSource
One position by ID.
- List positionsSource
Positions within departments and sections.
- Update positionDestinationProvider duplicate protectionApproval before production
Changes a position's name, section, revenue unit, skills or validity.
Punch clock breaks1
- List punch clock breaksSource
Breaks recorded on a punch clock record.
Punch clock records2
- Get punch clock record for shiftSource
The punch clock record of one scheduled shift.
- List punch clock recordsSource
Punched-in and punched-out times with the planned shift and approval.
Revenue units3
- Create revenue unitDestinationNot retried automaticallyApproval before production
Creates a revenue unit in a department.
- List revenue unitsSource
Revenue units across the portal.
- Update revenue unitDestinationProvider duplicate protectionApproval before production
Updates a revenue unit; Planday requires every field, so unmapped flags use defaults.
Revenue2
- List revenueSource
Daily turnover per revenue unit and department.
- Record revenueDestinationProvider duplicate protectionApproval before production
Creates or replaces a revenue unit's turnover for one day.
Schedule days1
- List schedule daysSource
Schedule days of a department with holidays, notes and lock state.
Sections3
- Create sectionDestinationNot retried automaticallyApproval before production
Creates a section in a department.
- List sectionsSource
Sections that group positions within departments.
- Update sectionDestinationProvider duplicate protectionApproval before production
Renames a section or changes its colour.
Shift types3
- Create shift typeDestinationNot retried automaticallyApproval before production
Creates a shift type with its salary code.
- List shift typesSource
Shift types with salary code and pay supplement.
- Update shift typeDestinationProvider duplicate protectionApproval before production
Changes a shift type's name, colour, salary code or breaks.
Shifts4
- Create shiftDestinationNot retried automaticallyApproval before production
Creates a shift in a department, assigned or open.
- Get shiftSource
One shift by ID.
- List shiftsSourceIncremental
Scheduled shifts with employee, department, position and status.
- Update shiftDestinationProvider duplicate protectionApproval before production
Changes a shift's date, times, employee, position or comment.
Skills2
- List skillsSource
Skills that can be required on shifts.
- Update skillDestinationProvider duplicate protectionApproval before production
Renames a skill or changes whether it is time limited.
Supervisors1
- List supervisorsSource
Supervisors and their employee IDs.
Time and cost1
- List time and costSource
Scheduled duration and wage cost per shift for a department (breaks excluded).
Access and limits
- 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, employeegroup, shift, shifttype, position, section, timeandcost, punchclockshift, absence, payroll and revenue) 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. Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
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.
- 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, punch clock records and payroll exports are read only; approvals, declines, punching in or out, breaks, balance adjustments and draft publishing are intentionally not automated.
- Employee deactivation, reactivation, invitations, password resets and username changes are not implemented.
- Payroll shift lines can be read for several departments at once (departmentIds, comma-separated as documented). Supplement and salaried lines are read per department because salaried lines have no Planday ID, so Nexra derives one from kind, employee, date, salary code and start.
- The employee field-definition response is undocumented in the OpenAPI spec; Nexra maps it as a JSON schema (required, properties, readOnly, unique).
- Skill creation is not implemented because Planday answers 204 without the new skill ID; skills can be updated.
- Revenue is written per revenue unit and day; Planday creates or replaces that day's record, so repeats converge.
- Payroll exports, deactivated employees and field definitions never request SSNs, birth dates or bank accounts (the special parameter is not sent).
- 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.
