> ## 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.

# Plane

> Project management — members & access

<Tabs>
  <Tab title="Overview">
    Connect Plane with a workspace access token and your workspace slug to sync workspace members and projects, and run access reviews. Read-only.

    <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>

    <Info>
      **What you'll see.** The Access page lists the **members** of one Plane workspace — the one whose slug you enter — with their display name, email, workspace role and the date they joined, and respects Plane's own active flag: a member Plane reports as inactive is shown as **Inactive**. Bot users are left out. Plane reports no MFA state, so the **MFA** column shows **Unknown**.
    </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 the Plane workspace member roster — names, emails, roles, active state and join dates — which appears on your **Access** page; and the workspace's **projects**, which appear on your **Inventory** page with their identifier, network setting and description. Issues and cycles are never read.

    It calls these Plane endpoints on `api.plane.so`:

    * `/api/v1/users/me/` (used to validate the token)
    * `/api/v1/workspaces/{slug}/members/`
    * `/api/v1/workspaces/{slug}/projects/`

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

    ## Troubleshooting

    <AccordionGroup>
      <Accordion title="The connection is rejected">
        Plane has no API to look a workspace up, so the **Workspace slug** must be copied exactly from your app URL, `app.plane.so/<slug>`. A wrong slug and a wrong token fail the same way. Check both and connect again.
      </Accordion>

      <Accordion title="I have several workspaces">
        One connection covers one workspace. There is no in-product way to add a second workspace to an existing connection; DSALTA supports one Plane connection per organization, so pick the workspace that matters most for the review.
      </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/compliance/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 Plane workspace access token plus the workspace slug from your app URL. Read-only.

    **Before you begin**

    * A Plane workspace on [app.plane.so](https://app.plane.so), and a member of it who can see the member list — the token acts as that user, so a workspace **Admin** is the safe choice. This integration talks to Plane Cloud; a self-hosted Plane instance cannot be connected.
    * Your workspace slug, read from the app URL `app.plane.so/<slug>`.

    You will need:

    | Field              | Where to find it                                | Example                         |
    | ------------------ | ----------------------------------------------- | ------------------------------- |
    | **Access Token**   | **Workspace Settings → API tokens**             | Plane labels it an Access token |
    | **Workspace slug** | Your browser address bar, `app.plane.so/<slug>` | `acme`                          |

    <Steps>
      <Step title="Start in DSALTA">
        Open **Integrations** in the DSALTA sidebar, find **Plane**, and click **Connect** to open the connect panel.
      </Step>

      <Step title="Create an access token">
        In [app.plane.so](https://app.plane.so), open **Workspace Settings → API tokens** and create a token — the Plane UI calls it an **Access token**, not an API token. Copy it.

        <Info>
          Plane's API documentation describes the same token under **Profile Settings → Personal Access Tokens → Add personal access token**; either path produces a token DSALTA accepts. The token carries your own workspace permissions.
        </Info>
      </Step>

      <Step title="Find your workspace slug">
        Look at your browser address bar while inside Plane: the URL is `app.plane.so/<slug>`. Copy the `<slug>` part exactly — Plane has no API to discover it.
      </Step>

      <Step title="Connect Plane">
        Return to the connect panel, paste the access token and the workspace slug, and click **Connect**.
      </Step>
    </Steps>

    <Check>
      DSALTA validates the pair when you click **Connect**, by reading the token's own user and listing the workspace's members. 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, or a workspace slug that does not match `app.plane.so/<slug>`.

      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/plane/user-access-to-critical-system-should-be-valid) | Info     | Checks that everyone with Plane access is an active employee on the People page. |
    | [Offboarded users should not have active access](/integrations/plane/offboarded-users-should-not-have-active-access) | High     | Checks that offboarded employees no longer have active Plane access.             |
  </Tab>

  <Tab title="Useful links">
    | Topic       | Link                                                                             |
    | ----------- | -------------------------------------------------------------------------------- |
    | Setup       | [Plane API introduction](https://developers.plane.so/api-reference/introduction) |
    | Remediation | [Workspace members](https://docs.plane.so/core-concepts/workspaces/members)      |
    | General     | [Plane](https://app.plane.so)                                                    |
    | DSALTA      | [Connection error messages](/troubleshooting/connection-error-messages)          |
  </Tab>
</Tabs>
