Prerequisites
Before you begin, ensure you have:- Okta Super Admin or Application Administrator access
- Your Okta organization domain
- Permissions to create Application Integrations
- Ability to grant admin roles to service accounts
Setup guide
Create Okta API Service Integration manually
Create a custom app

Choose API Services

Name the app integration

Add a public key

Copy the private key

Save the key and copy the KID

Switch client authentication to the key

Turn off DPoP

Grant required scopes
okta.users.readokta.users.manageokta.groups.readokta.groups.manageokta.apps.readokta.apps.manageokta.factors.readokta.factors.manageokta.logs.read(required for the copilot to search the Okta System Log when diagnosing access issues, sign-in failures, and MFA events)okta.appGrants.read(recommended, see below)
okta.accessRequests.catalog.readokta.accessRequests.request.readokta.accessRequests.request.manageokta.accessRequests.condition.read

Assign admin roles
Application AdministratorGroup AdministratorHelp Desk AdministratororSuper Administrator(required for password and MFA reset)
Access Requests Administrator
Access Requests Administrator pairs automatically with Access Requests Resource Set. Click Save Changes.

Add integration
Find Okta

Enter your Okta details
- Client ID: the Client ID from your app’s Client Credentials card
- Key ID: the KID from your app’s Public keys card
- Private Key (PEM format): the private key you copied, including the
BEGINandENDlines - Okta Domain: your Okta domain, such as
https://your-org.okta.com

Save
Troubleshooting
Invalid credentials error
Invalid credentials error
- Verify the Private Key PEM is copied correctly (including BEGIN/END markers)
- Ensure the KID matches the key in Okta
- Check that the key hasn’t been deleted in Okta
- Try generating a new key pair if needed
Missing scopes or partial sync
Missing scopes or partial sync
- Verify all required scopes are granted in the Okta Admin Console on your app’s Okta API Scopes tab
- Check that Application Administrator role is assigned
- Ensure Group Administrator role is assigned
- For password and MFA reset, assign
Help Desk AdministratororSuper Administrator - Review the integration’s admin role assignments
- After granting the missing scopes, trigger a resync from the integration page (no need to disconnect and reconnect)
A Foundry action fails with an Okta scope error
A Foundry action fails with an Okta scope error
- Grant
okta.appGrants.readon your app’s Okta API Scopes tab. Ravenna can then read back your granted scopes and name the missing one in the error, before it ever calls Okta - Grant the scope the error names, then rerun the action. No reconnect or resync is needed
- If the scope name looks invented, check it against Okta’s available scopes. Okta admin role permissions such as
okta.groups.createlook like scopes but are not, and Okta rejects them
Password or MFA reset fails with a permission error (403)
Password or MFA reset fails with a permission error (403)
Application Administrator and Group Administrator cannot reset credentials.Solution:- Assign
Help Desk AdministratororSuper Administratorto the integration - Retry the action; no resync or reconnect is needed
DPoP requirement error
DPoP requirement error
- In Okta, open your app’s General tab and click Edit on the General Settings card
- Clear Require Demonstrating Proof of Possession (DPoP) header in token requests
- Save the changes and retry the connection
Key validation failed
Key validation failed
- Ensure the key is in PEM format
- Verify the key includes the full BEGIN/END markers
- Check for any line breaks or formatting issues
- Generate a new key pair if the format is corrupted