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

# Okta

> Okta user lifecycle, MFA, group access, and app assignment through Flow.

export const flowWebUrl = "https://app.letsflow.ai";

Flow uses this integration to manage Okta users, groups, factors, app assignments, and log-event reads from automations. Okta does not sync device inventory; see [Okta assets](/integrations/assets/okta) for asset posture.

<Tabs>
  <Tab title="Client credentials">
    ### Prepare in Okta

    <Steps>
      <Step title="Create an API Services app">
        In Okta Admin Console, open **Applications**, then **Applications**. Choose **Create App Integration**, select **API Services**, and create the app.
      </Step>

      <Step title="Configure private key auth">
        On the app's **General** tab, set client authentication to **Public key / Private key**. Add or generate a key, copy the private key JSON Web Key (JWK) immediately, and leave **Proof of possession (DPoP)** turned off.
      </Step>

      <Step title="Grant Okta API scopes">
        Open the app's **Okta API Scopes** tab and grant the scopes for the actions this team will use. Use the table below to match scopes to actions.
      </Step>

      <Step title="Assign an admin role">
        Open the app's **Admin roles** tab and assign a role with permissions for the selected actions. Okta scopes limit the token, but the app's admin role controls what it can do.
      </Step>
    </Steps>

    ### Connect in Flow

    <Steps>
      <Step title="Find the Okta integration">
        1. Open **Integrations**.
        2. Choose **Add connection**.
        3. In **Add connection**, search for **Okta**.
        4. Select the **Okta** card.

        <a className="flow-app-link" href={flowWebUrl}>
          Open Flow

          <svg aria-hidden="true" viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
            <path d="M7 7h10v10" />

            <path d="M7 17 17 7" />
          </svg>
        </a>
      </Step>

      <Step title="Connect">
        1. Pick the team that will use the connection.
        2. Select the Okta actions that team's automations need.
        3. Enter the Okta domain hostname, Client ID, private key JWK, and granted scopes when prompted. Use the bare hostname, for example `yourcompany.okta.com`.
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Permissions and scopes

Flow requests scopes during setup based on the actions allowed on the connection. At runtime, Flow checks action access and granted scopes before calling the provider.

<div className="flow-scope-filter" data-flow-scope-filter>
  <button type="button" className="flow-scope-filter-picker" data-flow-scope-filter-trigger>
    <svg aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M3 6h18" />

      <path d="M7 12h10" />

      <path d="M10 18h4" />
    </svg>

    Filter
  </button>

  <div className="flow-scope-filter-menu" data-flow-scope-filter-menu hidden />

  <span data-flow-scope-filter-chips />

  <button type="button" className="flow-scope-filter-clear" data-flow-scope-filter-clear hidden>Clear</button>
</div>

| Scope | Used by actions |
| - | - |
| `okta.apps.manage` | Assign user to app, Unassign user from app |
| `okta.apps.read` | List applications |
| `okta.groups.manage` | Assign user to group, Unassign user from group |
| `okta.groups.read` | List group users |
| `okta.logs.read` | List log events |
| `okta.users.manage` | Create phone enrollment, Create user, Deactivate user, Enroll factor, Reset factors, Reset password, Suspend user, Unenroll factor, Unlock user, Update user |
| `okta.users.read` | List app links, List user groups |

## Supported actions

| Action | Description | <Tooltip tip="Risk estimates the impact of the action. Low reads provider data, medium changes existing records, and high can grant access, remove data, disable resources, or make broad changes.">Risk</Tooltip> |
| - | - | - |
| Assign user to app | Updates or triggers an Okta user to an application using automation-provided input. Use it after the automation has selected the target record or command. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Assign user to group | Updates or triggers an Okta user to a group using automation-provided input. Use it after the automation has selected the target record or command. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Create phone enrollment | Creates an Okta phone authenticator enrollment using automation-provided input. Use it when the automation needs to add this provider record or request. | <Badge color="yellow" size="sm" shape="pill">medium</Badge> |
| Create user | Creates an Okta user using automation-provided input. Use it when the automation needs to add this provider record or request. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Deactivate user | Updates or triggers an Okta user using automation-provided input. Use it after the automation has selected the target record or command. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Enroll factor | Updates or triggers an Okta factor for a user using automation-provided input. Use it after the automation has selected the target record or command. | <Badge color="yellow" size="sm" shape="pill">medium</Badge> |
| List app links | Reads application links assigned to an Okta user. Use it to fetch current provider state without modifying data. | <Badge color="green" size="sm" shape="pill">low</Badge> |
| List applications | Reads Okta applications. Use it to fetch current provider state without modifying data. | <Badge color="green" size="sm" shape="pill">low</Badge> |
| List group users | Reads users in an Okta group. Use it to fetch current provider state without modifying data. | <Badge color="green" size="sm" shape="pill">low</Badge> |
| List log events | Reads Okta System Log events. Use it to fetch current provider state without modifying data. | <Badge color="green" size="sm" shape="pill">low</Badge> |
| List user groups | Reads groups for an Okta user. Use it to fetch current provider state without modifying data. | <Badge color="green" size="sm" shape="pill">low</Badge> |
| Reset factors | Updates or triggers factors for an Okta user using automation-provided input. Use it after the automation has selected the target record or command. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Reset password | Updates or triggers the password for an Okta user using automation-provided input. Use it after the automation has selected the target record or command. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Suspend user | Updates or triggers an Okta user using automation-provided input. Use it after the automation has selected the target record or command. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Unassign user from app | Removes an Okta application assignment for a user. Use it only after the flow confirms the exact target. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Unassign user from group | Removes an Okta group membership for a user. Use it only after the flow confirms the exact target. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Unenroll factor | Removes an Okta factor from a user. Use it only after the flow confirms the exact target. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Unlock user | Updates or triggers an Okta user using automation-provided input. Use it after the automation has selected the target record or command. | <Badge color="yellow" size="sm" shape="pill">medium</Badge> |
| Update user | Updates or triggers an Okta user using automation-provided input. Use it after the automation has selected the target record or command. | <Badge color="yellow" size="sm" shape="pill">medium</Badge> |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.