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

# Connect Planday with OAuth 2.0 (Client Credentials) – StackOne Hub

> Link a Planday account in the StackOne Hub using OAuth 2.0 (Client Credentials). End-user guide to authorize the integration and start using Planday actions.

> [!WARNING]
>
> Creating and authorizing a Planday API app requires an Administrator account in the Planday portal you are connecting.

Select Actions to adjust the guideSome actions may require additional configuration in the provider to be accessible. Choose the actions you need and the guide will be updated.

Select all
Clear

ActionScope(s)

Loading actions...No actions match your search.

Dynamic Guide URL

Copy URL

Scopes Selected

<pre role="textbox" aria-readonly="true" tabIndex="0" />

Separator

Copy scopes

## Creating and authorizing an API app

The app belongs to the Planday portal you create it in, and its **Token** gives access to that portal only, within the scopes ticked on the app.

**1. Create the app**

Sign in to your [Planday account](https://id.planday.com/findCompanyUrl), then open **Settings** > **API access** under **Integrations** in the left sidebar.

<ul>
  <li>Click **Create app**.</li>
  <li>**Title**: `StackOne Integration`</li>
</ul>

![The New Application dialog with the Title field highlighted](https://mintcdn.com/stackone-60/cuVzfrXyg8voVZvw/connectors/planday/images/oauth2_client_credentials-config-new-application.png?fit=max\&auto=format\&n=cuVzfrXyg8voVZvw\&q=85\&s=565faef43b2aed402d2aa0479d667fd9)

**2. Select the scopes and save the app**

Enables actions: Approve Absence Request, Approve Shift, Assign Shift To Employee, Change Employee Username, Create Absence Adjustment, Create Accrued Account Type, Create Department, Create Employee, Create Employee Group, Create Or Update Employee Period Salary, Create Or Update Revenue, Create Position, Create Shift, Create Shift Type, Create Skill, Create Transaction, Deactivate Employee, Decline Absence Record, Delete Account Type, Delete Department, Delete Employee Group, Delete Position, Delete Revenue, Delete Shift, Delete Skill, Deny Absence Request, Get Absence Records, Get Absence Request Draft, Get Account Balance, Get Accrued Account Type, Get Department By ID, Get Employee By ID, Get Employee Field Definition, Get Employee Group By ID, Get Employee Pay Rates For All Groups, Get Employee Pay Rates In Employee Group, Get Employee Period Salary, Get Employee Salary Allocation, Get Payroll Data, Get Position By ID, Get Revenue Records, Get Shift By ID, Invite Employee, List Absence Accounts, List Absence Adjustments, List Absence Requests, List Absence Types, List Account Transactions, List Account Types, List Available Positions, List Available Sections, List Available Shifts, List Countries, List Deactivated Employees, List Departments, List Employee Account Balances, List Employee Groups, List Employee Shifts For Today, List Employee Types, List Of Employees, List Punch Clock Records, List Revenue Units, List Revenue Units For Department, List Salary Types, List Shift Types, List Skills, List Supervisors, Publish Draft Shifts, Reactivate Employee, Submit Absence Request, Update Accrued Account Type, Update Department, Update Employee, Update Employee Group, Update Employee Group Pay Rates, Update Position, Update Shift, Update Shift Type, Update Skill

In the **Scopes** section, each scope is one box: its resource row and its **Read**, **Create**, **Update** or **Delete** column. `revenue:set` is the **Create** box on the **Revenue** row.

<ul>
  <li>Tick the box for every scope listed.</li>
  <li>To read and write employee bank accounts, birth dates and social security numbers in **List of Employees**, **Get Employee by ID**, **Create Employee** and **Update Employee**, also tick `bankaccount:read`, `bankaccount:create`, `bankaccount:update`, `birthdate:read`, `birthdate:create`, `birthdate:update`, `ssn:read`, `ssn:create` and `ssn:update` on the **Bank Account**, **Birth Date** and **Social Security Number** rows.</li>
  <li>Click **Save**.</li>
</ul>

![The Scopes grid with the HR rows ticked in the Read, Create, Update and Delete columns](https://mintcdn.com/stackone-60/cuVzfrXyg8voVZvw/connectors/planday/images/oauth2_client_credentials-config-scopes.png?fit=max\&auto=format\&n=cuVzfrXyg8voVZvw\&q=85\&s=beb5f545fe9be272237b7b73f98c21bf)

<ul>
  <li>
    absence:read
  </li>

  <li>
    absence:create
  </li>

  <li>
    absence:update
  </li>

  <li>
    absencesettings:read
  </li>

  <li>
    absencesettings:create
  </li>

  <li>
    absencesettings:update
  </li>

  <li>
    absencesettings:delete
  </li>

  <li>
    department:read
  </li>

  <li>
    department:create
  </li>

  <li>
    department:update
  </li>

  <li>
    department:delete
  </li>

  <li>
    employee:read
  </li>

  <li>
    employee:create
  </li>

  <li>
    employee:update
  </li>

  <li>
    bankaccount:read
  </li>

  <li>
    bankaccount:create
  </li>

  <li>
    bankaccount:update
  </li>

  <li>
    birthdate:read
  </li>

  <li>
    birthdate:create
  </li>

  <li>
    birthdate:update
  </li>

  <li>
    ssn:read
  </li>

  <li>
    ssn:create
  </li>

  <li>
    ssn:update
  </li>

  <li>
    employeegroup:read
  </li>

  <li>
    employeegroup:create
  </li>

  <li>
    employeegroup:update
  </li>

  <li>
    employeegroup:delete
  </li>

  <li>
    employeetype:read
  </li>

  <li>
    skill:read
  </li>

  <li>
    skill:create
  </li>

  <li>
    skill:update
  </li>

  <li>
    skill:delete
  </li>

  <li>
    punchclockshift:read
  </li>

  <li>
    revenue:read
  </li>

  <li>
    revenue:set
  </li>

  <li>
    revenue:delete
  </li>

  <li>
    shift:read
  </li>

  <li>
    shift:create
  </li>

  <li>
    shift:update
  </li>

  <li>
    shift:delete
  </li>

  <li>
    shiftposition:read
  </li>

  <li>
    shiftposition:create
  </li>

  <li>
    shiftposition:update
  </li>

  <li>
    shiftposition:delete
  </li>

  <li>
    shifttype:read
  </li>

  <li>
    shifttype:create
  </li>

  <li>
    shifttype:update
  </li>

  <li>
    payroll:read
  </li>

  <li>
    payrates:read
  </li>

  <li>
    payrates:update
  </li>

  <li>
    salaries:read
  </li>

  <li>
    salaries:update
  </li>
</ul>

**3. Authorize the app**

On the **API access** page, the **StackOne Integration** tile has an **Application ID** but no **Token** until the app is authorized.

<ul>
  <li>Click **Authorise** on the **StackOne Integration** tile.</li>
  <li>Review the **Would like to** list on **Allow access to your Planday account**.</li>
  <li>Click **Authorize**.</li>
</ul>

![The Allow access to your Planday account screen with the Authorize button highlighted](https://mintcdn.com/stackone-60/cuVzfrXyg8voVZvw/connectors/planday/images/oauth2_client_credentials-config-consent.png?fit=max\&auto=format\&n=cuVzfrXyg8voVZvw\&q=85\&s=b193ad3a8c84d38be5db3c5aef669c94)

**4. Copy the credentials**

The **StackOne Integration** tile now reads **Authorised** and shows a **Token** below the **Application ID**.

<ul>
  <li>Click the copy icon beside **Application ID** and copy the **Application ID** across.</li>
  <li>Click the copy icon beside **Token** and copy the **Token** across.</li>
</ul>

![The authorized StackOne Integration tile with the copy icons for Application ID and Token highlighted](https://mintcdn.com/stackone-60/cuVzfrXyg8voVZvw/connectors/planday/images/oauth2_client_credentials-config-copy-credentials.png?fit=max\&auto=format\&n=cuVzfrXyg8voVZvw\&q=85\&s=dee5b10d3dfe58f72007dbeee5bad50b)

## Link the Account

**1. Connect**

<ul>
  <li>Click **Connect**.</li>
  <li>If applicable, the provider will redirect you to a sign-in or authorization page. Complete the provider's authorization flow.</li>
  <li>Once authorization is successful, you will see a confirmation popup.</li>
</ul>

**2. Use Actions**

Connect an AI platform to the linked account's actions. See [AI Platforms](https://docs.stackone.com/ai-platforms/overview.md).

Other ways to call actions are listed in [Protocols & SDKs](https://docs.stackone.com/connect/protocols-and-sdks.md).


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