Skip to main content

Deel integration

Written by Efrat Barak Zadok

Use the Shapes > Deel integration to automatically export your team's time tracking and time away balances directly into Deel for payroll processing. This integration enables seamless transfer of approved hours and leave data between platforms, ensuring your global payroll is populated with accurate, up-to-date records without the need for manual file uploads.

This integration supports a bi-directional data sync. If you would like to ensure employee data syncs both from Shapes > Deel and from Deel > Shapes please include all listed scopes as per Step 1.3


Step 1: Generate an Access Token in Deel

Before connecting in Shapes, you must create a secure connection point within your Deel account:

  1. Log in to Deel and navigate to More > Developer.

  2. Select the Access Tokens tab and click Generate new token

    Deel Access Tokens tab with the Generate new token button
  3. When prompted to Select scopes, check the following permissions to ensure data can sync:

    • people:read

    • time-off:read

    • time-off:write

    • webhooks:read*

    • webhooks:write*
      *The webhook scopes allow for the automatic creation of new employees' records in Shapes when they are created in Deel.

      Deel token scope selection screen showing people and time-off permissions
      Deel token scope selection screen continued, showing additional permission options

      Webhook scopes (to support bi-directional sync):

      Deel webhook scope options for enabling bi-directional sync
  4. Complete the remaining steps (Permission levels, Groups, etc.) and copy your token once generated.

Step 2: Configure the Integration in Shapes

Once you have your token, you can link the two platforms:

  1. In Shapes, go to Integrations > Deel and click Connect.

    Shapes Integrations page with Deel Connect button
  2. Paste your Deel API Token into the credentials field and click Next to validate the connection.

    Deel API Token entry field in the Shapes integration setup

  3. If you would like to sync new employees's data from Deel > Shapes, check off the "Automatically create a new employee in Shapes when an employee created in Deel"

    Toggle to automatically create new employees in Shapes when created in Deel

  4. On the Map Data screen, choose which Shapes time-away policies (e.g., Vacation, Sick Leave) should map to specific Deel policies.

    Deel integration Map Data screen for matching Shapes time-away policies to Deel policies

  5. For any policies you do not wish to sync, select Do not map.

  6. Click Map policies to finish the setup.

    Map policies confirmation button completing the Deel time-away policy setup

Managing your Integration

Once the setup is complete, policies will be exported to Deel automatically. You can view the status or update your mapping at any time by clicking the Manage button within the Deel integration settings in Shapes.

Employee Data Sync

Shapes performs a daily automated sync to keep employee details in Deel up-to-date, including information such as names and roles.

  • The sync updates records for employees who already exist in both systems.

  • This process does not automatically create new employee profiles or terminate existing ones in Deel.


Syncing Payslips from Deel

Shapes supports automatic synchronization of payslips from Deel (EOR and Global Payroll), allowing you to store them directly on each employee's profile.

How it works

  • When a new payslip is generated in Deel, Shapes automatically downloads the file.

  • The file is attached to the specific file field you have designated on the employee's profile.

  • This feature is optional and requires manual activation.

How to enable

  1. Generate Token: In Deel, create a new access token that includes permissions for payslips.

  2. Update Integration: In Shapes, navigate to Account Settings → Integrations → Deel and update the access token.

  3. Configure Sync: Toggle on Sync Payslips and select your preferred target file field for storage.

Did this answer your question?