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

# Okta OAuth 2.0 (Managed App) connector profile – StackOne setup guide

> Set up the OAuth 2.0 (Managed App) connector profile for Okta in StackOne. One-time admin setup required before your users can link Okta accounts via Hub.

<Warning>Ensure that your Okta account has <strong>API Access Administrator</strong>, <strong>Organization Administrator</strong>, or <strong>Super Administrator</strong> privileges.</Warning>

<Panel>
  <div className="not-prose guides-scope-selector" data-guides-scope-selector data-guide-actions-json="[{&#x22;id&#x22;:&#x22;okta_list_devices&#x22;,&#x22;label&#x22;:&#x22;List Devices&#x22;,&#x22;scopes&#x22;:[&#x22;okta.devices.read&#x22;]},{&#x22;id&#x22;:&#x22;okta_get_device&#x22;,&#x22;label&#x22;:&#x22;Get Device&#x22;,&#x22;scopes&#x22;:[&#x22;okta.devices.read&#x22;]},{&#x22;id&#x22;:&#x22;okta_delete_device&#x22;,&#x22;label&#x22;:&#x22;Delete Device&#x22;,&#x22;scopes&#x22;:[&#x22;okta.devices.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_activate_device&#x22;,&#x22;label&#x22;:&#x22;Activate Device&#x22;,&#x22;scopes&#x22;:[&#x22;okta.devices.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_deactivate_device&#x22;,&#x22;label&#x22;:&#x22;Deactivate Device&#x22;,&#x22;scopes&#x22;:[&#x22;okta.devices.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_list_groups&#x22;,&#x22;label&#x22;:&#x22;List Groups&#x22;,&#x22;scopes&#x22;:[&#x22;okta.groups.read&#x22;]},{&#x22;id&#x22;:&#x22;okta_get_group&#x22;,&#x22;label&#x22;:&#x22;Get Group&#x22;,&#x22;scopes&#x22;:[&#x22;okta.groups.read&#x22;]},{&#x22;id&#x22;:&#x22;okta_create_group&#x22;,&#x22;label&#x22;:&#x22;Create Group&#x22;,&#x22;scopes&#x22;:[&#x22;okta.groups.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_update_group&#x22;,&#x22;label&#x22;:&#x22;Update Group&#x22;,&#x22;scopes&#x22;:[&#x22;okta.groups.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_delete_group&#x22;,&#x22;label&#x22;:&#x22;Delete Group&#x22;,&#x22;scopes&#x22;:[&#x22;okta.groups.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_list_group_members&#x22;,&#x22;label&#x22;:&#x22;List Group Members&#x22;,&#x22;scopes&#x22;:[&#x22;okta.groups.read&#x22;]},{&#x22;id&#x22;:&#x22;okta_add_user_to_group&#x22;,&#x22;label&#x22;:&#x22;Add User To Group&#x22;,&#x22;scopes&#x22;:[&#x22;okta.groups.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_remove_user_from_group&#x22;,&#x22;label&#x22;:&#x22;Remove User From Group&#x22;,&#x22;scopes&#x22;:[&#x22;okta.groups.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_list_realms&#x22;,&#x22;label&#x22;:&#x22;List Realms&#x22;,&#x22;scopes&#x22;:[&#x22;okta.realms.read&#x22;]},{&#x22;id&#x22;:&#x22;okta_get_realm&#x22;,&#x22;label&#x22;:&#x22;Get Realm&#x22;,&#x22;scopes&#x22;:[&#x22;okta.realms.read&#x22;]},{&#x22;id&#x22;:&#x22;okta_create_realm&#x22;,&#x22;label&#x22;:&#x22;Create Realm&#x22;,&#x22;scopes&#x22;:[&#x22;okta.realms.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_update_realm&#x22;,&#x22;label&#x22;:&#x22;Update Realm&#x22;,&#x22;scopes&#x22;:[&#x22;okta.realms.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_delete_realm&#x22;,&#x22;label&#x22;:&#x22;Delete Realm&#x22;,&#x22;scopes&#x22;:[&#x22;okta.realms.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_get_userinfo&#x22;,&#x22;label&#x22;:&#x22;Get User Info&#x22;,&#x22;scopes&#x22;:[&#x22;openid&#x22;]},{&#x22;id&#x22;:&#x22;okta_list_users&#x22;,&#x22;label&#x22;:&#x22;List Users&#x22;,&#x22;scopes&#x22;:[&#x22;okta.users.read&#x22;]},{&#x22;id&#x22;:&#x22;okta_get_user&#x22;,&#x22;label&#x22;:&#x22;Get User&#x22;,&#x22;scopes&#x22;:[&#x22;okta.users.read&#x22;]},{&#x22;id&#x22;:&#x22;okta_create_user&#x22;,&#x22;label&#x22;:&#x22;Create User&#x22;,&#x22;scopes&#x22;:[&#x22;okta.users.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_update_user&#x22;,&#x22;label&#x22;:&#x22;Update User&#x22;,&#x22;scopes&#x22;:[&#x22;okta.users.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_replace_user&#x22;,&#x22;label&#x22;:&#x22;Replace User&#x22;,&#x22;scopes&#x22;:[&#x22;okta.users.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_list_user_blocks&#x22;,&#x22;label&#x22;:&#x22;List User Blocks&#x22;,&#x22;scopes&#x22;:[&#x22;okta.users.read&#x22;]},{&#x22;id&#x22;:&#x22;okta_delete_user&#x22;,&#x22;label&#x22;:&#x22;Delete User&#x22;,&#x22;scopes&#x22;:[&#x22;okta.users.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_list_user_types&#x22;,&#x22;label&#x22;:&#x22;List User Types&#x22;,&#x22;scopes&#x22;:[&#x22;okta.userTypes.read&#x22;]},{&#x22;id&#x22;:&#x22;okta_get_user_type&#x22;,&#x22;label&#x22;:&#x22;Get User Type&#x22;,&#x22;scopes&#x22;:[&#x22;okta.userTypes.read&#x22;]},{&#x22;id&#x22;:&#x22;okta_create_user_type&#x22;,&#x22;label&#x22;:&#x22;Create User Type&#x22;,&#x22;scopes&#x22;:[&#x22;okta.userTypes.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_update_user_type&#x22;,&#x22;label&#x22;:&#x22;Update User Type&#x22;,&#x22;scopes&#x22;:[&#x22;okta.userTypes.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_replace_user_type&#x22;,&#x22;label&#x22;:&#x22;Replace User Type&#x22;,&#x22;scopes&#x22;:[&#x22;okta.userTypes.manage&#x22;]},{&#x22;id&#x22;:&#x22;okta_delete_user_type&#x22;,&#x22;label&#x22;:&#x22;Delete User Type&#x22;,&#x22;scopes&#x22;:[&#x22;okta.userTypes.manage&#x22;]}]" style={{ borderRadius: '8px', padding: '16px', marginBottom: '24px' }}>
    <div className="guides-scope-selector__title" style={{ fontSize: '16px', fontWeight: '600', marginBottom: '12px' }}>Select Actions to adjust the guide</div>
    <div className="guides-scope-selector__muted" style={{ fontSize: '13px', marginBottom: '12px' }}>Some actions may require additional configuration in the provider to be accessible. Choose the actions you need and the guide will be updated.</div>

    <div style={{ display: 'flex', gap: '8px', marginBottom: '12px', flexWrap: 'wrap' }}>
      <input type="text" placeholder="Search actions..." className="guides-scope-selector__input" data-guide-action-search style={{ padding: '8px 12px', borderRadius: '6px', fontSize: '13px', flex: 1, minWidth: '160px' }} />

      <button type="button" className="guides-scope-selector__quick-btn" data-guide-select-all style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Select all</button>
      <button type="button" className="guides-scope-selector__quick-btn" data-guide-clear style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Clear</button>
    </div>

    <div className="guides-scope-selector__list" style={{ maxHeight: '240px', overflowY: 'auto', borderRadius: '6px', marginBottom: '12px' }}>
      <div className="guides-scope-selector__list-header" style={{ display: 'flex', alignItems: 'center', gap: '10px', padding: '8px 12px', fontSize: '12px', fontWeight: '600', position: 'sticky', top: 0, zIndex: 1 }}>
        <div style={{ width: '16px', flexShrink: 0 }} />

        <div style={{ flex: 1, textAlign: 'left' }}>Action</div>
        <div style={{ minWidth: '120px', marginLeft: 'auto', textAlign: 'right' }}>Scope(s)</div>
      </div>

      <div className="guides-scope-selector__muted" data-guide-loading style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>Loading actions...</div>
      <div className="guides-scope-selector__muted" data-guide-no-results hidden style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>No actions match your search.</div>
    </div>

    <div className="guides-scope-selector__url-section" style={{ marginTop: '12px', paddingTop: '12px' }}>
      <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Dynamic Guide URL</div>

      <div style={{ display: 'flex', alignItems: 'center', gap: '8px', flexWrap: 'wrap' }}>
        <input type="text" readOnly className="guides-scope-selector__input" data-guide-url style={{ flex: 1, minWidth: '200px', padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace' }} />

        <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-url style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap', marginLeft: 'auto' }}>Copy URL</button>
      </div>

      <div style={{ marginTop: '12px' }}>
        <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Scopes Selected</div>

        <div style={{ display: 'flex', alignItems: 'stretch', gap: '8px', flexWrap: 'wrap' }}>
          <pre className="guides-scope-selector__input" role="textbox" aria-readonly="true" tabIndex={0} data-guide-scopes-output style={{ flex: 1, minWidth: '200px', minHeight: '88px', maxHeight: '120px', overflowY: 'auto', margin: 0, padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace', whiteSpace: 'pre-wrap' }} />

          <div className="guides-scope-selector__muted" style={{ display: 'flex', flexDirection: 'column', gap: '8px', fontSize: '12px', fontWeight: '500', flexShrink: 0, alignItems: 'flex-start' }}>
            <div style={{ whiteSpace: 'nowrap' }}>Separator</div>

            <select className="guides-scope-selector__input" data-guide-scope-delimiter style={{ width: '100%', padding: '6px 10px', borderRadius: '6px', fontSize: '12px' }}>
              <option value="space">Space</option>
              <option value="comma">Comma</option>
              <option value="semicolon">Semicolon</option>
              <option value="pipe">Pipe</option>
              <option value="newline">Newline</option>
            </select>

            <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-scopes style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap' }}>Copy scopes</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</Panel>

<section data-guide-section data-guide-scopes="">
  <h2>Getting Your Okta Credentials</h2>

  <p>To configure the Okta connector profile, you'll need your Okta domain and OAuth application credentials. These are set once at the profile level — end users will not be asked for them.</p>

  <Steps>
    <Step title="Log in to Okta">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Log in to your Okta account at <a href="https://login.okta.com/" target="_blank" rel="noopener noreferrer">[https://login.okta.com/](https://login.okta.com/)</a></p>
      </div>
    </Step>

    <Step title="Find Your Okta Domain">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Your Okta domain can be found in the URL when logged in to Okta.</p>

        <ul>
          <li>Given the URL `https://your-org.okta.com/app/UserHome`, your domain is `your-org.okta.com`</li>
          <li>For preview environments, the domain may be `your-org.oktapreview.com`</li>
        </ul>
      </div>
    </Step>

    <Step title="Navigate to Okta Admin Console">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>From your Okta homepage, click the <strong>Admin</strong> button in the top right corner.</p>
      </div>
    </Step>

    <Step title="Create an OAuth Application">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Create an OAuth application to obtain your Client ID and Client Secret.</p>

        <ul>
          <li>In the Admin Console, navigate to <strong>Applications > Applications</strong></li>
          <li>Click <strong>Create App Integration</strong></li>
          <li>Select <strong>OIDC - OpenID Connect</strong> as the Sign-in method</li>
          <li>Select <strong>Web Application</strong> as the Application type</li>
          <li>Click <strong>Next</strong></li>
        </ul>
      </div>
    </Step>

    <Step title="Configure Application Settings">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Configure your OAuth application with the appropriate settings.</p>

        <ul>
          <li>Enter an <strong>App integration name</strong> (e.g., StackOne Integration)</li>
          <li>Check `Authorization Code` and `Refresh Token` both under the <strong>Grant type</strong></li>
          <li>Set the <strong>Sign-in redirect URI</strong> to the callback URL provided by StackOne: `https://api.stackone.com/connect/oauth2/okta/callback`</li>
          <li>Under <strong>Assignments</strong>, assign every user who should be able to connect their account</li>
          <li>Click <strong>Save</strong></li>
        </ul>
      </div>
    </Step>

    <Step title="Copy Client Credentials">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>After saving, copy your OAuth credentials.</p>

        <ul>
          <li><strong>Client ID</strong> is displayed on the application's General tab</li>
          <li><strong>Client Secret</strong> is also on the General tab (click the eye icon to reveal)</li>
          <li>Store these credentials securely as you'll need them for the connector profile</li>
        </ul>
      </div>
    </Step>

    <Step title="Configure API Scopes">
      <div data-guide-step data-guide-scopes="offline_access,openid,profile,email,address,phone,okta.users.read,okta.users.manage,okta.groups.read,okta.groups.manage,okta.devices.read,okta.devices.manage,okta.userTypes.read,okta.userTypes.manage,okta.realms.read,okta.realms.manage,okta.eventHooks.read,okta.eventHooks.manage" data-guide-display-scopes-list="offline_access,openid,profile,email,address,phone,okta.users.read,okta.users.manage,okta.groups.read,okta.groups.manage,okta.devices.read,okta.devices.manage,okta.userTypes.read,okta.userTypes.manage,okta.realms.read,okta.realms.manage,okta.eventHooks.read,okta.eventHooks.manage">
        <div className="connector-guide-actions-badge" data-guide-actions-badge data-guide-actions-badge-scopes="offline_access,openid,profile,email,address,phone,okta.users.read,okta.users.manage,okta.groups.read,okta.groups.manage,okta.devices.read,okta.devices.manage,okta.userTypes.read,okta.userTypes.manage,okta.realms.read,okta.realms.manage,okta.eventHooks.read,okta.eventHooks.manage" style={{ display: 'block', width: 'fit-content', maxWidth: '100%', padding: '2px 8px', borderRadius: '8px', fontSize: '12px', marginBottom: '8px', marginTop: '-10px', whiteSpace: 'nowrap', overflowX: 'auto', overflowY: 'hidden', msOverflowStyle: 'none', scrollbarWidth: 'none' }}>
          <span>Enables actions: </span><span data-guide-actions-badge-labels>Activate Device, Add User To Group, Create Group, Create Realm, Create User, Create User Type, Deactivate Device, Delete Device, Delete Group, Delete Realm, Delete User, Delete User Type, Get Device, Get Group, Get Realm, Get User, Get User Info, Get User Type, List Devices, List Group Members, List Groups, List Realms, List User Blocks, List User Types, List Users, Remove User From Group, Replace User, Replace User Type, Update Group, Update Realm, Update User, Update User Type</span>
        </div>

        <p>Navigate to the <strong>Okta API Scopes</strong> tab.<br />Grant the required OAuth scopes for this integration.<br />See <a href="https://developer.okta.com/docs/api/oauth2/" target="_blank" rel="noopener noreferrer">Okta OAuth 2.0 Scopes</a> for details.<br />Also include the `offline_access` and `openid` scopes in the list of scopes configured on the connector profile.</p>

        <div style={{ marginTop: '8px' }} data-guide-display-scopes>
          <div className="connector-guide-scopes-container connector-guide-scopes-container--scrollable">
            <ul className="not-prose" style={{ listStyleType: "'- '", paddingLeft: '1em', margin: 0 }}>
              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="offline_access">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy offline_access" title="Copy scope" data-copy="offline_access">
                  <span className="connector-guide-scope-copy__label">offline\_access</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="openid">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy openid" title="Copy scope" data-copy="openid">
                  <span className="connector-guide-scope-copy__label">openid</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="profile">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy profile" title="Copy scope" data-copy="profile">
                  <span className="connector-guide-scope-copy__label">profile</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="email">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy email" title="Copy scope" data-copy="email">
                  <span className="connector-guide-scope-copy__label">email</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="address">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy address" title="Copy scope" data-copy="address">
                  <span className="connector-guide-scope-copy__label">address</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="phone">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy phone" title="Copy scope" data-copy="phone">
                  <span className="connector-guide-scope-copy__label">phone</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="okta.users.read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy okta.users.read" title="Copy scope" data-copy="okta.users.read">
                  <span className="connector-guide-scope-copy__label">okta.users.read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="okta.users.manage">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy okta.users.manage" title="Copy scope" data-copy="okta.users.manage">
                  <span className="connector-guide-scope-copy__label">okta.users.manage</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="okta.groups.read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy okta.groups.read" title="Copy scope" data-copy="okta.groups.read">
                  <span className="connector-guide-scope-copy__label">okta.groups.read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="okta.groups.manage">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy okta.groups.manage" title="Copy scope" data-copy="okta.groups.manage">
                  <span className="connector-guide-scope-copy__label">okta.groups.manage</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="okta.devices.read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy okta.devices.read" title="Copy scope" data-copy="okta.devices.read">
                  <span className="connector-guide-scope-copy__label">okta.devices.read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="okta.devices.manage">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy okta.devices.manage" title="Copy scope" data-copy="okta.devices.manage">
                  <span className="connector-guide-scope-copy__label">okta.devices.manage</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="okta.userTypes.read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy okta.userTypes.read" title="Copy scope" data-copy="okta.userTypes.read">
                  <span className="connector-guide-scope-copy__label">okta.userTypes.read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="okta.userTypes.manage">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy okta.userTypes.manage" title="Copy scope" data-copy="okta.userTypes.manage">
                  <span className="connector-guide-scope-copy__label">okta.userTypes.manage</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="okta.realms.read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy okta.realms.read" title="Copy scope" data-copy="okta.realms.read">
                  <span className="connector-guide-scope-copy__label">okta.realms.read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="okta.realms.manage">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy okta.realms.manage" title="Copy scope" data-copy="okta.realms.manage">
                  <span className="connector-guide-scope-copy__label">okta.realms.manage</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="okta.eventHooks.read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy okta.eventHooks.read" title="Copy scope" data-copy="okta.eventHooks.read">
                  <span className="connector-guide-scope-copy__label">okta.eventHooks.read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="okta.eventHooks.manage">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy okta.eventHooks.manage" title="Copy scope" data-copy="okta.eventHooks.manage">
                  <span className="connector-guide-scope-copy__label">okta.eventHooks.manage</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="okta.realms.read,okta.realms.manage">
  <h2>Realm Access Configuration</h2>

  <div className="connector-guide-actions-badge" data-guide-actions-badge data-guide-actions-badge-scopes="okta.realms.read,okta.realms.manage" style={{ display: 'block', width: 'fit-content', maxWidth: '100%', padding: '2px 8px', borderRadius: '8px', fontSize: '12px', marginBottom: '8px', marginTop: '-10px', whiteSpace: 'nowrap', overflowX: 'auto', overflowY: 'hidden', msOverflowStyle: 'none', scrollbarWidth: 'none' }}>
    <span>Required for: </span><span data-guide-actions-badge-labels>Create Realm, Delete Realm, Get Realm, List Realms, Update Realm</span>
  </div>

  <p>Realm scopes require an Okta Identity Governance, Secure Partner Access, or Advanced Directory Management subscription.</p>

  <Steps>
    <Step title="Verify subscription eligibility">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>If your subscription does not include realm management, the API will return authorization errors.</p>

        <ul>
          <li>Navigate to <strong>Settings</strong> > <strong>Account</strong> in the Admin Console to verify your subscription tier</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

## Creating the StackOne Connector Profile

To create the Connector Profile in StackOne for <strong>Okta</strong>:

<Steps>
  <Step title="Navigate to Connector Profiles">
    Login to StackOne and navigate to [Connector Profiles](https://app.stackone.com/connector_profiles)
  </Step>

  <Step title="Create New Connector Profile">
    <ul>
      <li>Click <strong>+ Connector Profile</strong></li>
      <li>Search for and select <strong>Okta</strong></li>
      <li>Select <strong>Type</strong> as <strong>OAuth 2.0 (Managed App)</strong></li>

      <li>
        Fill out the fields using details retrieved from your provider:

        <ul style={{ marginLeft: '20px' }}>
          <li><strong>Okta Domain</strong></li>
          <li><strong>Client ID</strong></li>
          <li><strong>Client Secret</strong></li>
          <li><strong>Scopes</strong> (Optional)</li>
        </ul>
      </li>

      <li>(Optional) Select <strong>Actions</strong> to be enabled for this Connector Profile</li>
      <li>Click <strong>Create profile</strong></li>
    </ul>
  </Step>
</Steps>

Congratulations! The new Connector Profile will now show up in your project ready to be used. You can now continue to <a href="/connect/managing-connectors/linking-accounts">Link Accounts</a> for <strong>Okta</strong>.
