Overview

The Okta connector enables your AI Colleagues to integrate with your organization's Okta Identity Cloud platform, facilitating automated identity and access management, user lifecycle operations, and group-based access control workflows.

Okta is a leading identity and access management service that provides secure authentication, user management, and single sign-on capabilities for enterprise applications. The Okta connector allows Leena AI to automate user provisioning, password management, group assignments, and audit operations seamlessly.

API Details

Leena AI integrates with Okta via REST APIs.

Documentation link: https://developer.okta.com/docs/reference/

Setup

The Okta connector uses API Key authentication.


Prerequisites

Before setting up the Okta connector, ensure you have:

  • Administrator access to your Okta Admin Console
  • Super Administrator or appropriate admin role with API credentials creation permissions
  • Access to Security API section in Okta Admin Console
  • Access to your Leena AI workspace with connector management permissions

Get credentials

Here is how to create an API key in Okta Admin Console:

  1. Log in to Okta Admin Console (Ensure you are signed in as an admin with super administrator privileges).
  2. Navigate to Security then API:
    1. Click on Security in the sidebar
    2. Select API
  3. Create API Credentials:
    1. Click on the Tokens tab
    2. Click Create
  4. Configure Details:
    1. Name: Enter a descriptive name for your credentials (e.g., Leena AI Integration)
    2. API calls must originate from: Select an option to specify where connections are allowed from:
      • Any IP: Allow connections from any IP address or network zone
      • In any network zone defined in Okta: Allow connections from any defined network zone
      • In any of the following zones: Allow connections from specific network zones
      • Not in any network zone defined in Okta: Allow connections from outside defined zones
  5. Save and Note Credentials:
    1. Click Create
    2. Copy the value immediately and store it securely
    3. Important: The value is displayed only once during creation. After creation, it is stored as a hash and cannot be retrieved again.

Note: API credentials inherit the privilege level of the admin account used to create them. It is recommended to create a dedicated service account for API credential creation. Credentials are valid for 30 days from creation or last use, and credentials not used for 30 days will expire.

Add connection

Here is how to add a connection on Leena AI:

  1. Log in to your Leena AI workspace
  2. Navigate to Settings then Integrations
  3. Search for Okta and select it from the list to add its new connector
  4. Start configuring the connector:
    1. Base URL: Your Okta organization URL (e.g., https://example.okta.com)
    2. Auth Type: Select API Key from the dropdown
    3. API Key: The API credentials created in Okta Admin Console (format: SSWS followed by your key value)
  5. Complete Configuration and Save:
    1. Click Connect in Leena AI for Okta connector setup
    2. The connector will validate the credentials
    3. Upon successful validation, the connector will be saved

Actions

The following actions are supported for the Okta connector:

Users: Create User

Creates a new user account in Okta. The Agent can leverage the skill (workflow), which has been designed to create a new user in Okta, once the user raises a query to do so. Here are some common use cases:

  • Employee Onboarding: Create accounts for new hires
  • User Provisioning: Automate user creation from HR systems
  • Bulk User Creation: Create multiple users through workflows

Input Parameters

Here are the input parameters required to set up this action:

Optional

NameDescription
First NameGiven name of the user (givenName)
Middle NameThe middle name of the user
Last NameThe family name of the user (familyName)
Display NameName of the user suitable for display to end users
EmailThe primary email address of the user
Second EmailThe secondary email address of the user typically used for account recovery
LoginThe unique identifier for the user (username). Every user within your Okta org must have a unique identifier for a login
Password Type?Select password type: Value, Hash, or Hook
PasswordSpecifies the password for a user. The password policy validates this password (when Password Type is Value)
Password Hash AlgorithmThe algorithm used to generate the hash (when Password Type is Hash)
Password Hash Digest AlgorithmAlgorithm used to generate the key. Only required for PBKDF2 algorithm
Password Hash Iteration CountThe number of iterations used when hashing passwords using PBKDF2. Must be greater than or equal to 4096
Password Hash Key SizeSize of the derived key in bytes. Only required for PBKDF2 algorithm
Password Hash saltOnly required for salted hashes
Password Hash Salt OrderSpecifies whether salt was pre- or postfixed to the password before hashing
Password Hash ValueThe hash value (when Password Type is Hash)
Password Hash Work FactorGoverns the strength of the hash. Only required for BCRYPT algorithm
Password Hook TypeSpecify a password import inline hook. Currently must be set to default
ActivateExecutes an activation lifecycle operation when creating the user (default: true)
ProviderIndicates whether to create a user with a specified authentication provider
Next LoginWith activate=true, if nextLogin=changePassword, password is set to EXPIRED
Credentials Provider NameThe name of the authentication provider
Credentials Provider TypeThe type of authentication provider
Add Recovery Question?Toggle to add recovery question
Recovery QuestionThe recovery question for the user
Recovery Question AnswerThe answer to the recovery question
CityThe city or locality of the user address
Cost CenterName of the cost center assigned to a user
Country CodeThe country name component of the user address
DepartmentName of the user department
DivisionName of the user division
Employee NumberThe organization assigned unique identifier for the user
Honorific PrefixHonorific prefix(es) of the user, or title
Honorific SuffixHonorific suffix(es) of the user
LocaleThe user default location for localizing items (default: en_US)
ManagerThe displayName of the user manager
Manager IDThe id of the user manager
Mobile PhoneThe mobile phone number of the user
Nick NameThe casual way to address the user
OrganizationName of the user organization
Postal AddressMailing address component of the user address
Preferred LanguageThe user preferred written or spoken language
Primary PhoneThe primary phone number of the user
Profile URLThe URL of the user online profile
StateThe state or region component of the user address
Street AddressThe full street address component of the user address
Time ZoneThe user time zone
TitleThe user title, such as Vice President
User TypeThe organization-to-user relationship, such as employee or contractor
ZipCodeThe ZIP code or postal code component of the user address
Group IDsComma separated group IDs to assign user to
Realm IDThe ID of the realm in which the user is residing
User Type IDThe ID of the user type for non-default User Type

Here is a sample JSON input:

{
  "profile": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "[email protected]",
    "login": "[email protected]",
    "mobilePhone": "+1-555-123-4567",
    "department": "Engineering",
    "title": "Software Engineer"
  },
  "credentials": {
    "password": {
      "value": "SecurePassword123!"
    }
  },
  "params": {
    "activate": true
  },
  "groupIds": "00g1234567890abcdef,00g0987654321fedcba"
}

Response

Upon successful creation, the action returns the created user details including:

  • User ID
  • User profile information
  • User status
  • Creation timestamp
  • Assigned groups

Users: List Users

Retrieves a list of users from Okta. This action can be leveraged by Leena AI Orchestrator/Agent to list all users in the organization or filter users based on specific criteria. Here are some common use cases:

  • User Directory: Get all users in the organization
  • User Search: Find users by name or email
  • Status Check: Find users with specific status
  • Audit Reports: Generate user listing for compliance

Input Parameters

Here are the input parameters required to set up this action:

Optional

NameDescription
Query StringFinds users who match the specified query. This does not support pagination
AfterThe cursor to use for pagination. It is an opaque string that specifies the current location in the list
LimitSpecifies the number of results returned. Defaults to 10 if q is provided (default: 200)
FilterFilters users with a supported expression for a subset of properties
SearchSearches for users with a supported filtering expression for most properties. Recommended for best performance
Sort BySpecifies field to sort by (for search queries only). Can be any single property
Sort OrderSpecifies sort order: asc or desc (for search queries only)

Here is a sample JSON input:

{
  "params": {
    "limit": 50,
    "search": "profile.department eq Engineering",
    "sortBy": "profile.lastName",
    "sortOrder": "asc"
  }
}

Response

The action returns a list of users, each containing:

  • User ID
  • Profile information (name, email, phone, etc.)
  • User status
  • Creation and modification timestamps
  • Pagination cursor (after) for next page

Users: Get User details

Retrieves detailed information about a specific user in Okta. The Agent can leverage the skill (workflow), which has been designed to get a user complete profile information. Here are some common use cases:

  • User Lookup: Get complete user profile by ID
  • Profile Verification: Verify user details
  • Troubleshooting: Debug user-related issues

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
UserThe user to retrieve details for (selected from dropdown)

Optional

NameDescription
ExpandAn optional parameter to include metadata in the _embedded attribute

Here is a sample JSON input:

{
  "id": "00u1234567890abcdef",
  "expand": true
}

Response

The action returns detailed user information including:

  • User ID
  • Complete profile information
  • User status
  • Credentials information
  • Creation and modification timestamps
  • Embedded metadata (if expand is true)

Users: Update User

Updates an existing user profile in Okta. The Agent can leverage the skill (workflow), which has been designed to modify user attributes, once the user raises a query to do so. Here are some common use cases:

  • Profile Updates: Update user contact information
  • Role Changes: Update title and department
  • Data Corrections: Fix incorrect user information
  • Password Updates: Update user credentials

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
UserThe user to update (selected from dropdown)

Optional

NameDescription
First NameGiven name of the user (givenName)
Middle NameThe middle name of the user
Last NameThe family name of the user (familyName)
Display NameName of the user suitable for display to end users
EmailThe primary email address of the user
Second EmailThe secondary email address of the user typically used for account recovery
LoginThe unique identifier for the user (username)
Password Type?Select password type: Value, Hash, or Hook
PasswordSpecifies the password for a user (when Password Type is Value)
Password Hash AlgorithmThe algorithm used to generate the hash (when Password Type is Hash)
Password Hash Digest AlgorithmAlgorithm used to generate the key. Only required for PBKDF2 algorithm
Password Hash Iteration CountThe number of iterations used when hashing passwords using PBKDF2
Password Hash Key SizeSize of the derived key in bytes. Only required for PBKDF2 algorithm
Password Hash saltOnly required for salted hashes
Password Hash Salt OrderSpecifies whether salt was pre- or postfixed to the password before hashing
Password Hash ValueThe hash value (when Password Type is Hash)
Password Hash Work FactorGoverns the strength of the hash. Only required for BCRYPT algorithm
Password Hook TypeSpecify a password import inline hook. Currently must be set to default
StrictIf true, validates against minimum age and history password policy (default: true)
Add Recovery Question?Toggle to add recovery question
Recovery QuestionThe recovery question for the user
Recovery Question AnswerThe answer to the recovery question
CityThe city or locality of the user address
Cost CenterName of the cost center assigned to a user
Country CodeThe country name component of the user address
DepartmentName of the user department
DivisionName of the user division
Employee NumberThe organization assigned unique identifier for the user
Honorific PrefixHonorific prefix(es) of the user, or title
Honorific SuffixHonorific suffix(es) of the user
LocaleThe user default location for localizing items
ManagerThe displayName of the user manager
Manager IDThe id of the user manager
Mobile PhoneThe mobile phone number of the user
Nick NameThe casual way to address the user
OrganizationName of the user organization
Postal AddressMailing address component of the user address
Preferred LanguageThe user preferred written or spoken language
Primary PhoneThe primary phone number of the user
Profile URLThe URL of the user online profile
StateThe state or region component of the user address
Street AddressThe full street address component of the user address
Time ZoneThe user time zone
TitleThe user title, such as Vice President
User TypeThe organization-to-user relationship, such as employee or contractor
ZipCodeThe ZIP code or postal code component of the user address
Realm IDThe ID of the realm in which the user is residing

Here is a sample JSON input:

{
  "id": "00u1234567890abcdef",
  "profile": {
    "department": "Sales",
    "title": "Senior Account Executive",
    "mobilePhone": "+1-555-987-6543"
  },
  "params": {
    "strict": true
  }
}

Response

Upon successful update, the action returns the updated user details including:

  • User ID
  • Updated profile information
  • User status
  • Modification timestamp

Users: Activate User

Activates a user account in Okta. The Agent can leverage the skill (workflow), which has been designed to activate a user account, once the user raises a query to do so. Here are some common use cases:

  • Employee Onboarding: Activate new hire accounts
  • Account Restoration: Reactivate previously staged accounts
  • Provisioning Workflows: Complete user provisioning process

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
UserThe user to activate (selected from dropdown)

Optional

NameDescription
Send EmailSends an activation email to the user (default: true)

Here is a sample JSON input:

{
  "userId": "00u1234567890abcdef",
  "params": {
    "sendEmail": true
  }
}

Response

Upon successful activation, the action returns:

  • User activation status
  • Activation link (if sendEmail is false)
  • Updated user status

Users: Deactivate User

Deactivates a user account in Okta. The Agent can leverage the skill (workflow), which has been designed to deactivate a user account, once the user raises a query to do so. Here are some common use cases:

  • Employee Offboarding: Deactivate departing employee accounts
  • Security Response: Quickly revoke user access
  • Account Cleanup: Deactivate unused accounts

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
UserThe user to deactivate (selected from dropdown)

Optional

NameDescription
Send EmailSends a deactivation email to the user

Here is a sample JSON input:

{
  "userId": "00u1234567890abcdef",
  "params": {
    "sendEmail": true
  }
}

Response

Upon successful deactivation, the action returns:

  • Confirmation of deactivation
  • Updated user status
  • Deactivation timestamp

Users: Suspend User

Suspends a user account in Okta. The Agent can leverage the skill (workflow), which has been designed to suspend a user account temporarily, once the user raises a query to do so. Here are some common use cases:

  • Leave of Absence: Temporarily suspend accounts during employee leave
  • Security Investigation: Suspend accounts during security reviews
  • Policy Enforcement: Suspend users for policy violations

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
UserThe user to suspend (selected from dropdown)

Here is a sample JSON input:

{
  "userId": "00u1234567890abcdef"
}

Response

Upon successful suspension, the action returns:

  • Confirmation of suspension
  • Updated user status
  • Suspension timestamp

Users: Unsuspend User

Unsuspends a previously suspended user account in Okta. The Agent can leverage the skill (workflow), which has been designed to restore a suspended user account, once the user raises a query to do so. Here are some common use cases:

  • Return from Leave: Restore accounts after employee leave
  • Investigation Cleared: Restore accounts after security review
  • Account Restoration: Unsuspend accounts after policy compliance

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
UserThe user to unsuspend (selected from dropdown)

Here is a sample JSON input:

{
  "userId": "00u1234567890abcdef"
}

Response

Upon successful unsuspension, the action returns:

  • Confirmation of unsuspension
  • Updated user status (ACTIVE)
  • Restoration timestamp

Users: Expire Password

Expires a user password immediately in Okta. The Agent can leverage the skill (workflow), which has been designed to expire a user password, forcing them to change it on next login. Here are some common use cases:

  • Security Policy: Force password rotation
  • Compliance Requirements: Enforce periodic password changes
  • Account Handover: Require new password after account transfer

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
UserThe user whose password to expire (selected from dropdown)

Here is a sample JSON input:

{
  "userId": "00u1234567890abcdef"
}

Response

Upon successful password expiration, the action returns:

  • Confirmation of password expiration
  • Temporary password (if applicable)
  • User must change password on next login

Users: Reset Password

Initiates an admin-driven password reset for a user in Okta. The Agent can leverage the skill (workflow), which has been designed to reset a user password, once the user raises a query to do so. Here are some common use cases:

  • Helpdesk Support: Reset passwords for locked-out users
  • Security Incident: Force password reset after breach
  • Account Recovery: Help users regain access

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
UserThe user whose password to reset (selected from dropdown)
Send EmailWhether to send a password reset email to the user

Optional

NameDescription
Revoke SessionsRevokes all user sessions, except for the current session

Here is a sample JSON input:

{
  "userId": "00u1234567890abcdef",
  "params": {
    "sendEmail": true,
    "revokeSessions": true
  }
}

Response

Upon successful password reset, the action returns:

  • Reset password URL (if sendEmail is false)
  • Confirmation of email sent (if sendEmail is true)
  • Session revocation status

Users: Reset Forgetten Password

Triggers a forgot password flow for a user in Okta. The Agent can leverage the skill (workflow), which has been designed to initiate the forgot password process for a user. Here are some common use cases:

  • Self-Service Support: Help users who forgot their password
  • Automated Recovery: Trigger password recovery flows
  • User Assistance: Initiate password reset on behalf of user

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
UserThe user to trigger forgot password for (selected from dropdown)

Optional

NameDescription
Send EmailSends a forgot password email to the user (default: true)

Here is a sample JSON input:

{
  "userId": "00u1234567890abcdef",
  "params": {
    "sendEmail": true
  }
}

Response

Upon successful initiation, the action returns:

  • Password recovery URL (if sendEmail is false)
  • Confirmation of recovery email sent (if sendEmail is true)
  • Recovery expiration time

Users: List User's Groups

Retrieves all groups that a specific user belongs to in Okta. The Agent can leverage the skill (workflow), which has been designed to list a user group memberships. Here are some common use cases:

  • Access Review: Review user group memberships
  • Audit Reports: Document user access for compliance
  • Troubleshooting: Debug access issues by checking group membership

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
UserThe user whose groups to list (selected from dropdown)

Here is a sample JSON input:

{
  "userId": "00u1234567890abcdef"
}

Response

The action returns a list of groups the user belongs to, each containing:

  • Group ID
  • Group name
  • Group type
  • Group description

Users: List user applications

Retrieves all applications assigned to a specific user in Okta. The Agent can leverage the skill (workflow), which has been designed to list applications a user has access to. Here are some common use cases:

  • Access Review: Review user application access
  • Audit Reports: Document application assignments
  • Onboarding Verification: Verify correct application assignments

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
UserThe user whose applications to list (selected from dropdown)

Optional

NameDescription
AfterSpecifies the pagination cursor for the next page of results
LimitSpecifies the number of results in a page (default: 200)

Here is a sample JSON input:

{
  "userId": "00u1234567890abcdef",
  "params": {
    "limit": 50
  }
}

Response

The action returns a list of applications assigned to the user, each containing:

  • Application ID
  • Application name
  • Application status
  • Application settings
  • Pagination cursor (after) for next page

Groups: List Groups

Retrieves a list of groups from Okta. This action can be leveraged by Leena AI Orchestrator/Agent to list all groups in the organization or filter groups based on specific criteria. Here are some common use cases:

  • Group Directory: Get all groups in the organization
  • Group Search: Find groups by name
  • Access Management: Review available groups for assignment

Input Parameters

Here are the input parameters required to set up this action:

Optional

NameDescription
Query StringFinds a group that matches the name property
FilterFilter expression for groups
AfterSpecifies the pagination cursor for the next page of groups
LimitSpecifies the number of group results in a page (default: 200)
ExpandAdditional metadata to include in response. Possible values: stats, app
SearchSearches for groups with a supported filtering expression
Sort BySpecifies field to sort by (for search queries only)
Sort OrderSpecifies sort order: asc or desc (for search queries only)

Here is a sample JSON input:

{
  "params": {
    "q": "Engineering",
    "limit": 50,
    "expand": "stats"
  }
}

Response

The action returns a list of groups, each containing:

  • Group ID
  • Group name
  • Group type
  • Group description
  • Member count (if expand=stats)
  • Pagination cursor (after) for next page

Groups: List Users of Group

Retrieves all users that belong to a specific group in Okta. The Agent can leverage the skill (workflow), which has been designed to list members of a group. Here are some common use cases:

  • Group Membership Review: Review who belongs to a group
  • Audit Reports: Document group membership for compliance
  • Access Analysis: Analyze group access patterns

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
GroupThe group whose users to list (selected from dropdown)

Optional

NameDescription
AfterThe cursor to use for pagination obtained from the Link response header
LimitSpecifies the number of user results in a page (default: 200)

Here is a sample JSON input:

{
  "groupId": "00g1234567890abcdef",
  "params": {
    "limit": 100
  }
}

Response

The action returns a list of users in the group, each containing:

  • User ID
  • User profile information
  • User status
  • Pagination cursor (after) for next page

Groups: Assign User to Group

Assigns a user to a group in Okta. The Agent can leverage the skill (workflow), which has been designed to add a user to a group, once the user raises a query to do so. Here are some common use cases:

  • Access Provisioning: Grant access by adding to groups
  • Role Assignment: Assign roles via group membership
  • Project Teams: Add users to project-specific groups

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
UserThe user to assign to the group (selected from dropdown)
GroupThe group to assign the user to (selected from dropdown)

Here is a sample JSON input:

{
  "userId": "00u1234567890abcdef",
  "groupId": "00g1234567890abcdef"
}

Response

Upon successful assignment, the action returns:

  • Confirmation of successful assignment
  • HTTP status code 204 (No Content) on success

Groups: Remove User from Group

Removes a user from a group in Okta. The Agent can leverage the skill (workflow), which has been designed to remove a user from a group, once the user raises a query to do so. Here are some common use cases:

  • Access Revocation: Remove access by removing from groups
  • Role Changes: Update roles via group membership changes
  • Project Completion: Remove users from completed project groups

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
UserThe user to remove from the group (selected from dropdown)
GroupThe group to remove the user from (selected from dropdown)

Here is a sample JSON input:

{
  "userId": "00u1234567890abcdef",
  "groupId": "00g1234567890abcdef"
}

Response

Upon successful removal, the action returns:

  • Confirmation of successful removal
  • HTTP status code 204 (No Content) on success

Others: Get System Log Events

Retrieves system log events from Okta. The Agent can leverage the skill (workflow), which has been designed to fetch audit logs and system events. Here are some common use cases:

  • Security Monitoring: Monitor login attempts and security events
  • Audit Compliance: Retrieve logs for compliance reporting
  • Incident Investigation: Investigate security incidents
  • Activity Tracking: Track user and admin activities

Input Parameters

Here are the input parameters required to set up this action:

Optional

NameDescription
SinceFilters the lower time bound of the log events published property
UntilFilters the upper time bound of the log events published property
AfterRetrieves the next page of results
FilterFilter expression that filters the results. All operators except brackets are supported
Query StringFilters log events results by one or more case insensitive keywords
LimitSets the number of results returned in the response (default: 100)
Sort OrderThe order of the returned events sorted by the published property. Options: ASCENDING, DESCENDING

Here is a sample JSON input:

{
  "params": {
    "since": "2025-01-01T00:00:00Z",
    "until": "2025-01-31T23:59:59Z",
    "filter": "eventType eq user.session.start",
    "limit": 100,
    "sortOrder": "DESCENDING"
  }
}

Response

The action returns a list of system log events, each containing:

  • Event UUID
  • Event type
  • Published timestamp
  • Actor information
  • Target details
  • Outcome (success/failure)
  • Client information
  • Pagination cursor (after) for next page