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

# Deel

> Global HR/payroll — workforce access & IT assets

<Tabs>
  <Tab title="Overview">
    Connect Deel with a scoped personal access token to sync your workforce roster and IT assets, and run access reviews. Read-only — payroll, immigration, benefits and compensation are never read.

    <Info>
      **Read-only access.** DSALTA only reads data from this integration. It never creates, modifies, or deletes anything in your environment, and every remediation step is performed by your team directly in the third-party product.
    </Info>

    <Note>
      DSALTA collects this integration's data when you connect it — you can refresh it at any time with **Sync from integrations** on the **Integrations** page. The compliance checks below re-run once a day at 02:00 America/New\_York.
    </Note>

    ## What DSALTA reads

    DSALTA reads your Deel workforce roster — full name, primary email address, hiring type (contractor, EOR, PEO, HRIS direct employee or direct employee) as the role, worker status and creation date — which appears on your **Access** page; and your Deel IT assets — brand and product name, serial number, category, condition grade, status, location and the email of the person the asset is assigned to — which appear on your **Inventory** page. Workers whose Deel status is `OFFBOARDING`, `INACTIVE` or `NOT_STARTED` are recorded as Inactive and everyone else as Active, and MFA reads `Unknown` because Deel's people record carries no MFA field. Deel publishes no audit-log endpoint, so **Incidents** and **Changes** are not populated from Deel.

    It calls these Deel endpoints:

    * `/rest/v2/organizations`
    * `/rest/v2/people`
    * `/rest/it/assets`

    Every request is a read. DSALTA has no code path that creates, modifies, or deletes anything in your Deel environment.

    ## Troubleshooting

    <AccordionGroup>
      <Accordion title="The connection fails to validate">
        Invalid token, or a token scoped to a single contract. An Organization token with the `organizations:read` scope is required.
      </Accordion>

      <Accordion title="Inventory is empty but Access has rows">
        The token is missing the `it-assets:read` scope. Recreate it with that scope, then disconnect and connect Deel again.
      </Accordion>
    </AccordionGroup>

    <AccordionGroup>
      <Accordion title="How do I check whether the connection is healthy?">
        Open **Integrations** in the DSALTA sidebar, stay on the **Connected** tab, and click **Manage** on the integration's card. Open the **Status** tab: it shows either **Connected and working properly** or **Connection issues detected**.

        Use the **Status** tab, not **Overview** — Overview always reports **Connected** regardless of the real state.
      </Accordion>

      <Accordion title="A check shows Failed and nothing changed on my side">
        On an integration-powered check, **Failed** normally means DSALTA was blocked rather than that you are non-compliant. Open the test, go to **Source Data**, and read the result code: **403** is a missing permission, **428** is a setting DSALTA still needs, **500** is a failure on DSALTA's side.

        A real compliance gap shows **207** and leaves the test looking **Completed**. See [Understanding Test Results](/guides/data-library/test-results).
      </Accordion>

      <Accordion title="Data looks out of date">
        Compliance checks re-run once a day at 02:00 America/New\_York. To refresh sooner, open **Integrations → Connected** and click **Sync from integrations** at the top right — it refreshes every connected integration at once.
      </Accordion>

      <Accordion title="How do I repair a broken connection?">
        There is no Reconnect, Repair or Refresh Token button. The only repair available is to disconnect and connect again.

        <Warning>
          **Disconnecting is destructive and cannot be undone.** DSALTA removes the access records, inventory, vulnerabilities, code changes, incidents and device records collected from this integration, and deletes the test results tied to the connection. Export anything you still need as audit evidence first — see [Integration errors](/troubleshooting/integration-errors).
        </Warning>
      </Accordion>

      <Accordion title="Configure scope will not let me change anything">
        That is expected. **Configure scope** is read-only — it shows what DSALTA is permitted to read, and has no Save action. To change what DSALTA can see, change the permissions on the credential in the third-party product, then disconnect and connect again.
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="How to connect">
    A Deel personal access token, sent as `Authorization: Bearer`. Read-only.

    **Before you begin**

    * A Deel Organization token scoped to at least `people:read`, `groups:read`, `it-assets:read`, `contracts:read`, `organizations:read`
    * An Organization Admin role in Deel — the Developer Center is not reachable without it

    You will need:

    | Field                     | Where to find it                                       | Example                      |
    | ------------------------- | ------------------------------------------------------ | ---------------------------- |
    | **Personal Access Token** | [Open](https://developer.deel.com/docs/authentication) | `Deel personal access token` |

    <Steps>
      <Step title="Start in DSALTA">
        Open **Integrations** in the DSALTA sidebar, find **Deel**, and click **Connect** to open the connect panel. Leave it open — it lists every value you need, and you create those in the steps below.
      </Step>

      <Step title="Open Deel's Developer Center">
        In Deel, go to Settings → Developer Center → API Tokens. An Organization Admin role is required.
      </Step>

      <Step title="Create a personal access token">
        Create a new token. For DSALTA, only select the "people", "groups", "it-assets", "contracts", and "organizations" read scopes.

        <Warning>
          Do not grant payroll, i-9, immigration, benefits, or compensation scopes. DSALTA never reads them even if granted — there is no code path that touches those resources — so the only thing a broader scope adds is a stored credential that could expose payroll and immigration data if it ever leaked.
        </Warning>
      </Step>

      <Step title="Copy the token immediately">
        Deel only shows the full token once. Copy it somewhere safe — you'll paste it into the next step.

        <Tip>
          If you lose it, there is no reveal action: create a replacement token in the Developer Center, then disconnect and connect Deel again with the new value.
        </Tip>
      </Step>

      <Step title="Connect Deel">
        Paste your personal access token, then click Connect.
      </Step>
    </Steps>

    <Check>
      DSALTA validates the token when you click **Connect** — it lists your Deel organizations before saving anything. On success the integration moves to the **Connected** tab, and **Manage → Status** reads **Connected and working properly**. Checks begin reporting after the first sync.
    </Check>

    <Warning>
      **If the connection is rejected.** Invalid token.

      The on-screen message is generic — see [Connection error messages](/troubleshooting/connection-error-messages).
    </Warning>
  </Tab>

  <Tab title="Automated checks">
    Each check below re-runs once a day, at 02:00 America/New\_York, while this integration is connected. Click any check for step-by-step remediation guidance.

    | Check                                                                                                               | Severity | What it verifies                                                                          |
    | ------------------------------------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------- |
    | [User access to Critical System should be valid](/integrations/deel/user-access-to-critical-system-should-be-valid) | Info     | Checks that everyone with Deel workforce access is an active employee on the People page. |
    | [Offboarded users should not have active access](/integrations/deel/offboarded-users-should-not-have-active-access) | High     | Checks that offboarded workers no longer have active Deel access.                         |
  </Tab>

  <Tab title="Useful links">
    | Topic   | Link                                                                                                   |
    | ------- | ------------------------------------------------------------------------------------------------------ |
    | Setup   | [Deel API — authentication and personal access tokens](https://developer.deel.com/docs/authentication) |
    | General | [Deel website](https://deel.com)                                                                       |
    | DSALTA  | [Connection error messages](/troubleshooting/connection-error-messages)                                |
  </Tab>
</Tabs>
