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

# SCIM with Okta

> Set up a SCIM connection with Okta

<Info>
  To test out SCIM, set up an [Okta developer instance](https://developer.okta.com/signup/) to use for this guide.
</Info>

## Configure a SCIM connection for a specific Organization

<Tabs>
  <Tab title="Adding SCIM to a SAML app">
    <Steps>
      <Step title="Enable SCIM provisioning for app">
        On the [existing SSO SAML application in Okta](/multi-tenant-auth/authentication/sso/overview), enable SCIM provisioning by navigating to the General tab of the application and checking “Enable SCIM Provisioning” under "App Settings".

        <img src="https://mintcdn.com/stytch-34ca0595/BnjAf5sdfGdYB0xZ/images/multi-tenant-auth/enterprise-ready/scim/okta-scim-add-to-existing-app.png?fit=max&auto=format&n=BnjAf5sdfGdYB0xZ&q=85&s=47d757d98c1c5adb75dc8283e17843a6" alt="Enable SCIM for an existing Okta SAML App" width="1840" height="886" data-path="images/multi-tenant-auth/enterprise-ready/scim/okta-scim-add-to-existing-app.png" />

        Save this change.
      </Step>

      <Step title="Create SCIM Connection in Stytch">
        Create a SCIM Connection on the Organization in the [Stytch Dashboard](https://stytch.com/dashboard/organizations) or the [Create SCIM Connection endpoint](/api-reference/b2b/api/scim/connection-management/create-scim-connection).  Select Okta as the IdP.

        <img src="https://mintcdn.com/stytch-34ca0595/BnjAf5sdfGdYB0xZ/images/multi-tenant-auth/enterprise-ready/scim/okta-create-connection-in-stytch.png?fit=max&auto=format&n=BnjAf5sdfGdYB0xZ&q=85&s=651c46f31f8c3fa449c4a065f320d7aa" alt="Create SCIM Connection in Stytch Dashboard" width="1304" height="588" data-path="images/multi-tenant-auth/enterprise-ready/scim/okta-create-connection-in-stytch.png" />

        Once you click save, you'll be provided with the base url and bearer token you'll need for the next step.

        <img src="https://mintcdn.com/stytch-34ca0595/BnjAf5sdfGdYB0xZ/images/multi-tenant-auth/enterprise-ready/scim/okta-connection-creds-in-stytch.png?fit=max&auto=format&n=BnjAf5sdfGdYB0xZ&q=85&s=47a838a5cc5cfba21ff29223e08f3c2b" alt="Stytch Okta SCIM Connection Credentials" width="2272" height="686" data-path="images/multi-tenant-auth/enterprise-ready/scim/okta-connection-creds-in-stytch.png" />

        Leave this tab open and navigate back to Okta to input the returned credentials.
      </Step>

      <Step title="Configure Okta SCIM settings">
        In the application view in Okta, navigate to the new "Provisioning" tab and:

        1. Change the Authentication mode to HTTP Header
        2. Copy the "BaseURL" from Stytch into the “SCIM connector base URL” field
        3. Set the Unique identifier to `userName`
        4. Under "Supported provisioning actions", select all the "Push.." options
        5. Copy the "HTTP Header Bearer Token" from Stytch into the "HTTP Header → Authorization" field

        Your connection settings should look as follows:

        <img src="https://mintcdn.com/stytch-34ca0595/BnjAf5sdfGdYB0xZ/images/multi-tenant-auth/enterprise-ready/scim/okta-scim-existing-config.png?fit=max&auto=format&n=BnjAf5sdfGdYB0xZ&q=85&s=f1b8ac83cc2112d7019baf53667cf1ce" alt="Expected SCIM Configuration for existing SAML App" width="1025" height="1039" data-path="images/multi-tenant-auth/enterprise-ready/scim/okta-scim-existing-config.png" />

        Save.
      </Step>

      <Step title="Provision users">
        Once saved, you can test the SCIM integration by assigning people to and removing people from the application.

        You should see the status of the member changing from `active` to `deactivated`.
      </Step>

      <Step title="(Optional) Configure webhooks">
        To notify your own system of changes that occur via SCIM, [configure webhooks](/resources/workspace-management/webhooks).  See the full list of relevant webhooks [here](/multi-tenant-auth/enterprise-ready/scim/overview#supported-scim-actions).
      </Step>
    </Steps>
  </Tab>

  <Tab title="Standalone SCIM app">
    <Steps>
      <Step title="Create SCIM app">
        If you haven't already configured a SAML application, create a standalone SCIM Application by

        1. Navigate to Applications → Browse App Catalog
        2. Search for “SCIM 2.0 Header Auth”
        3. Select the "SCIM 2.0 Test App (Header Auth)"

                   <img src="https://mintcdn.com/stytch-34ca0595/BnjAf5sdfGdYB0xZ/images/multi-tenant-auth/enterprise-ready/scim/okta-app-catalog-scim.png?fit=max&auto=format&n=BnjAf5sdfGdYB0xZ&q=85&s=73fd8af5972d8964a742334efa2835c2" alt="Search App Catalog for SCIM" width="1043" height="498" data-path="images/multi-tenant-auth/enterprise-ready/scim/okta-app-catalog-scim.png" />

        Name your application:

        <img src="https://mintcdn.com/stytch-34ca0595/BnjAf5sdfGdYB0xZ/images/multi-tenant-auth/enterprise-ready/scim/okta-scim-name-standalone-app.png?fit=max&auto=format&n=BnjAf5sdfGdYB0xZ&q=85&s=635560340e177c6ca4db303e8d951f4e" alt="Name your standalone SCIM app" width="1056" height="553" data-path="images/multi-tenant-auth/enterprise-ready/scim/okta-scim-name-standalone-app.png" />
      </Step>

      <Step title="Update SCIM configuration settings">
        On the "Sign-on Options" tab scroll to the bottom, and under "Credential Details" change the "Application username format" to "Email".

        <img src="https://mintcdn.com/stytch-34ca0595/BnjAf5sdfGdYB0xZ/images/multi-tenant-auth/enterprise-ready/scim/okta-scim-app-username-email.png?fit=max&auto=format&n=BnjAf5sdfGdYB0xZ&q=85&s=65b295df1c43ae1fa861d875c7dbccdf" alt="Use email for username in SCIM app" width="716" height="1018" data-path="images/multi-tenant-auth/enterprise-ready/scim/okta-scim-app-username-email.png" />

        Save the application, then navigate to the "Provisioning" tab and click "Configure API Integration".
      </Step>

      <Step title="Create Stytch SCIM Connection">
        Create a SCIM Connection on the Organization in the [Stytch Dashboard](https://stytch.com/dashboard/organizations) or the [Create SCIM Connection endpoint](/api-reference/b2b/api/scim/connection-management/create-scim-connection).  Select Okta as the IdP.

        <img src="https://mintcdn.com/stytch-34ca0595/BnjAf5sdfGdYB0xZ/images/multi-tenant-auth/enterprise-ready/scim/okta-create-connection-in-stytch.png?fit=max&auto=format&n=BnjAf5sdfGdYB0xZ&q=85&s=651c46f31f8c3fa449c4a065f320d7aa" alt="Create SCIM Connection in Stytch Dashboard" width="1304" height="588" data-path="images/multi-tenant-auth/enterprise-ready/scim/okta-create-connection-in-stytch.png" />

        <img src="https://mintcdn.com/stytch-34ca0595/BnjAf5sdfGdYB0xZ/images/multi-tenant-auth/enterprise-ready/scim/okta-connection-creds-in-stytch.png?fit=max&auto=format&n=BnjAf5sdfGdYB0xZ&q=85&s=47a838a5cc5cfba21ff29223e08f3c2b" alt="Stytch Okta SCIM Connection Credentials" width="2272" height="686" data-path="images/multi-tenant-auth/enterprise-ready/scim/okta-connection-creds-in-stytch.png" />
      </Step>

      <Step title="Input SCIM credentials into Okta">
        Back in the Okta admin dashboard, input the returned BaseURL and set the API Token to `Bearer ${returned_bearer_token}`.

        <img src="https://mintcdn.com/stytch-34ca0595/BnjAf5sdfGdYB0xZ/images/multi-tenant-auth/enterprise-ready/scim/okta-standalone-scim-app-credentials.png?fit=max&auto=format&n=BnjAf5sdfGdYB0xZ&q=85&s=9c312275656e20d9303df8b6193a0b79" alt="Stand alone SCIM app credentials" width="702" height="545" data-path="images/multi-tenant-auth/enterprise-ready/scim/okta-standalone-scim-app-credentials.png" />

        You will then be able to select which actions to send via SCIM.

        <img src="https://mintcdn.com/stytch-34ca0595/BnjAf5sdfGdYB0xZ/images/multi-tenant-auth/enterprise-ready/scim/okta-standalone-scim-enable-actions.png?fit=max&auto=format&n=BnjAf5sdfGdYB0xZ&q=85&s=2d91c8ce55984e2419b19b1b08d94dc4" alt="Enable SCIM actions to send from Okta" width="1022" height="928" data-path="images/multi-tenant-auth/enterprise-ready/scim/okta-standalone-scim-enable-actions.png" />
      </Step>

      <Step title="Provision users">
        Once saved, you can test the SCIM integration by assigning people to and removing people from the application.

        You should see the status of the member changing from `active` to `deactivated`.
      </Step>

      <Step title="(Optional) Configure webhooks">
        To notify your own system of changes that occur via SCIM, [configure webhooks](/resources/workspace-management/webhooks).  See the full list of relevant webhooks [here](/multi-tenant-auth/enterprise-ready/scim/overview#supported-scim-actions).
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Next Steps

If you only have a few customers who require SCIM connections, you can manage them by hand in the [Stytch Dashboard](https://stytch.com/dashboard/organizations).  However, as your enterprise customer base grows, you may want to build a UI in your application to allow admins of Organizations to self-serve creating and updating their own SCIM connections.

The simplest way to add SCIM connection management to your application is to use Stytch's pre-built [Admin Portal](/multi-tenant-auth/enterprise-ready/admin-portal) component.

<img src="https://mintcdn.com/stytch-34ca0595/ZVUUFsqZuqcX7gxa/images/api-reference/b2b/frontend-sdks/admin-portal-scim.png?fit=max&auto=format&n=ZVUUFsqZuqcX7gxa&q=85&s=6962e2e541541627e1319854e3fec76a" alt="Admin Portal SCIM Management UI" width="1552" height="1024" data-path="images/api-reference/b2b/frontend-sdks/admin-portal-scim.png" />

<Columns cols={2}>
  <Card title="Admin Portal Guide" href="/multi-tenant-auth/enterprise-ready/admin-portal" icon="grid-2x2-check" arrow>
    Read the guide on Admin Portal.
  </Card>

  <Card title="Admin Portal SDK Reference" href="/api-reference/b2b/frontend-sdks/react/prebuilt-ui/admin-portal/scim" icon="plug">
    Jump straight to the React, Next.js, or Vanilla JS SDK reference.
  </Card>
</Columns>
