Skip to main content

Quarterback AI

Okta

Okta is a platform in the Identity-as-a-Service (IDaaS) category, which gives you and your colleagues access to all other (company) software with one login.

Supported Actions and Example Prompts

The following table lists the supported actions and prompt examples for an action:

Action Name

Description

Prompt Example

Expire User Password

This action generates a One-Time Token (OTT) that can be used to reset a user's password. This operation transitions the user to the recovery status, and the user cannot log in. For more information, see Action: Expire User Password.

Expire the password of the user ID 00ub0ongtswtbkolglnr using Okta.

Find User

This action searches for a specific user. For more information, see Action: Find User.

Find the user John Doe in Okta

List Users

This action returns a list of all users who do not have a status of de-provisioned. For most organizations, this action returns up to a maximum of 200. For more information, see Action: List Users.

List all users that do not have a status of de-provisioned in Okta.

Remove User From Group

This action removes a specific user from a group. For more information, see Action: Remove User From Group.

Remove the user 00ub0ongtswtbkolglnr from the group 00ub0ongtswtbkolglnr in Okta.

Suspend User

This action suspends a user, and the operation can only be performed on users with an active status. When the process is complete, the user's status is suspended. For more information, see Action: Suspend User.

Suspend the user 00ub0ongtswtbkolglnr in Okta.

Unsuspend User

This action unsuspends a user and returns them to the active state. This operation can only be performed on users who have a suspended status. For more information, see Action: Unsuspend User.

Unsuspend the user 00ub0ongtswtbkolglnr in Okta.

Install and Configure the App

Install and configure the required apps to enable Quarterback AI to perform various security-related tasks and provide relevant responses. After installing an app, you must create an instance that will be used to communicate with the app endpoints. An app can have multiple instances, and you can set a default instance from the configured instance list.

Before you Start

Ensure that you have the API token to authenticate with the Okta app.

Steps

To install and configure an app, follow these steps:

  1. Go to the application, in the left pane, select Quarterback AI.

  2. In Apps, select Okta and click Install.

  3. After the app is installed, click Configure and enter the following details to create an instance:

    • Instance Name: Enter a name for the instance.

    • Instance Description: Enter a description for the instance.

    • Expiry: Select an expiry date for the instance.

    • Set as default instance: Select this option to set this instance as the default instance.

    • Base URL: Enter the base URL to be used for executing all actions. For example, https://server_fqdn:port.

    • API Token: Enter the API token to be used for executing all actions.

    • Timeout: Enter the timeout value in seconds. This is the number of seconds that requests will wait to establish a connection with Okta. You can enter values between 15 - 120 seconds. By default, 15 seconds is set.

    • Verify: Select this option to verify SSL while making requests. It is recommended to select this option to ensure a secure connection. By default, this option is not selected.

  4. Click Done.

The instance is created, and you can view it in Instances. To create another instance, click Add Instance.

Action: Expire User Password

This action expires a users password so that they are required to change their password at their next login. If the temporary password is included in the request, the user's password is reset to a temporary password that is returned, and then the temporary password is expired.

If you have integrated Okta with your on-premise Active Directory (AD), then setting a user's password as expired in Okta also expires the password in Active Directory. When the user tries to log in to Okta, delegated authentication finds the password-expired status in the Active Directory, and the user is presented with the password-expired page where he or she can change the password.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

User ID 

Enter the user ID.

Example:

00ub0ongtswtbkolglnr

Text

Required

Set Temporary Password 

Sets the user's password to temporary password.

Example:

If the temporary password value is set to true, the user's password is set as temporary password.

Boolean

Optional

Default value:

false

Example Request

[
    {
        "user_id": "00u2ndtlfiyNGDQgq5d7"
    }
]

Action Response Parameters

Parameter

Type

Description

id

String

Unique identifier for the user. Example: "00ub0oNGTSWTBKOLGLNR"

status

String

The current status of the user. Example: "STAGED"

created

String

The timestamp when the user was created, in ISO 8601 format. Example: "2013-07-02T21:36:25.344Z"

activated

String

The timestamp when the user was activated, in ISO 8601 format, or null if not activated.

statusChanged

String

The timestamp when the status last changed, in ISO 8601 format, or null if not changed.

lastLogin

String

The timestamp when the user last logged in, in ISO 8601 format, or null if never logged in. Example: null

lastUpdated

String

The timestamp when the user was last updated, in ISO 8601 format. Example: "2013-07-02T21:36:25.344Z"

passwordChanged

String

The timestamp when the password was last changed, in ISO 8601 format, or null if not changed. Example: null

profile

Object

An object containing the user's profile information.

profile.firstName

String

The user's first name. Example: "Isaac"

profile.lastName

String

The user's last name. Example: "Brock"

profile.email

String

The user's email address. Example: "isaac.brock@example.com"

profile.login

String

The user's login name. Example: "isaac.brock@example.com"

profile.mobilePhone

String

The user's mobile phone number. Example: "555-415-1337"

credentials

Object

An object containing credential-related information.

credentials.provider

Object

An object containing information about the credential provider. Example: { "type": "OKTA", "name": "OKTA" }

credentials.provider.type

String

The type of credential provider. Example: "OKTA"

credentials.provider.name

String

The name of the credential provider. Example: "OKTA"

_links

Object

An object containing hypermedia links related to the user.

_links.resetPassword.href

String

The URL to reset the user's password. Example: "https://{yourOktaDomain}/api/v1/users/00ub0oNGTSWTBKOLGLNR/lifecycle/reset_password"

_links.resetFactors.href

String

The URL to reset the user's authentication factors. Example: "https://{yourOktaDomain}/api/v1/users/00ub0oNGTSWTBKOLGLNR/lifecycle/reset_factors"

_links.expirePassword.href

String

The URL to expire the user's password. Example: "https://{yourOktaDomain}/api/v1/users/00ub0oNGTSWTBKOLGLNR/lifecycle/expire_password"

_links.forgotPassword.href

String

The URL to initiate the forgot password flow. Example: "https://{yourOktaDomain}/api/v1/users/00ub0oNGTSWTBKOLGLNR/credentials/forgot_password"

_links.changeRecoveryQuestion.href

String

The URL to change the user's recovery question. Example: "https://{yourOktaDomain}/api/v1/users/00ub0oNGTSWTBKOLGLNR/credentials/change_recovery_question"

_links.deactivate.href

String

The URL to deactivate the user. Example: "https://{yourOktaDomain}/api/v1/users/00ub0oNGTSWTBKOLGLNR/lifecycle/deactivate"

_links.changePassword.href

String

The URL to change the user's password. Example: "https://{yourOktaDomain}/api/v1/users/00ub0oNGTSWTBKOLGLNR/credentials/change_password"

Action: Find User

This action searches for the specific user.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

User to Find 

Enter first name, last name, or email of the user.

Example:

John

Text

Required

Limit 

Enter the number of users to list.

Integer

Optional

Default value: 

1

Example Request

[
    {
        "user_to_find": "John"
    }
]

Action Response Parameters

Parameter

Type

Description

id

String

Unique identifier for the user. Example: "00ub0oNGTSWTBKOLGLNR"

status

String

The current status of the user. Example: "STAGED"

created

String

The timestamp when the user was created, in ISO 8601 format. Example: "2013-07-02T21:36:25.344Z"

activated

String

The timestamp when the user was activated, in ISO 8601 format, or null if not activated.

statusChanged

String

The timestamp when the status last changed, in ISO 8601 format, or null if not changed.

lastLogin

String

The timestamp when the user last logged in, in ISO 8601 format, or null if never logged in. Example: null

lastUpdated

String

The timestamp when the user was last updated, in ISO 8601 format. Example: "2013-07-02T21:36:25.344Z"

passwordChanged

String

The timestamp when the password was last changed, in ISO 8601 format, or null if not changed. Example: null

profile

Object

An object containing the user's profile information.

profile.firstName

String

The user's first name. Example: "Isaac"

profile.lastName

String

The user's last name. Example: "Brock"

profile.email

String

The user's email address. Example: "isaac.brock@example.com"

profile.login

String

The user's login name. Example: "isaac.brock@example.com"

profile.mobilePhone

String

The user's mobile phone number. Example: "555-415-1337"

credentials

Object

An object containing credential-related information.

credentials.provider

Object

An object containing information about the credential provider. Example: { "type": "OKTA", "name": "OKTA" }

credentials.provider.type

String

The type of credential provider. Example: "OKTA"

credentials.provider.name

String

app_instance.response.id 

Long

The ID of the asset.

app_instance.response.domain_id 

Long

The ID of the domain this asset belongs to.

The URL to the user's profile. Example: "https://{yourOktaDomain}/api/v1/users/00ub0oNGTSWTBKOLGLNR""

Action: List Users

This action lists all users that do not have a status of deprovisioned.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

Limit 

Specify the number of users returned (maximum 200).

Integer

Optional

User to Fetch after 

Specify the pagination cursor for the next page of users.

Text

Optional

Example Request

[
    {
        "limit": 20
    }
]

Action Response Parameters

Parameter

Type

Description

id

String

The ID of the user. For example, "00ub0oNGTSWTBKOLGLNR".

status

String

The status of the user account. For example, "ACTIVE".

created

String

The timestamp when the user was created. For example, "2013-06-24T16:39:18.000Z".

activated

String

The timestamp when the user account was activated. For example, "2013-06-24T16:39:19.000Z".

statusChanged

String

The timestamp when the user account status was last changed. For example, "2013-06-24T16:39:19.000Z".

lastLogin

String

The timestamp of the user's last login. For example, "2013-06-24T17:39:19.000Z".

lastUpdated

String

The timestamp when the user profile was last updated. For example, "2013-07-02T21:36:25.344Z".

passwordChanged

String

The timestamp when the user's password was last changed. For example, "2013-07-02T21:36:25.344Z".

profile

Object

Profile details of the user.

profile.firstName

String

The first name of the user. For example, "Isaac".

profile.lastName

String

The last name of the user. For example, "Brock".

profile.email

String

The email address of the user. For example, "isaac.brock@example.com".

profile.mobilePhone

String

The mobile phone number of the user. For example, "555-415-1337".

credentials

Object

Credential details of the user.

credentials.password

Object

The user's password information.

credentials.recovery_question

Object

Details of the user's recovery question.

credentials.provider

Object

The name and type of the authentication provider.

_links

Object

The URL to retrieve the user's details.

Action: Remove User From Group

This action removes a user from a group.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

Group ID 

Enter the group ID.

Example:

00g2k73tukPDiTWvN5d7

Text

Required

User ID 

Enter the user ID.

Example:

00ub0ongtswtbkolglnr

Text

Required

Example Request

[
    {
        "user_id": "00u2ndudhttUauH6Q5d7",
        "group_id": "00g2k73tukPDiTWvN5d7"
    }
]

Action Response Parameters

Parameter

Type

Description

Status Code

Integer

The HTTP status code indicating successful operation with no content in the response body. For example, "HTTP/1.1 204 No Content".

Action: Suspend User

This operation can only be performed on users with an ACTIVE status. The user has a status of SUSPENDED when the process is complete.

Suspended users:

  • Can't log in to Okta.

  • Their group and app assignments are retained and can only be unsuspended or deactivated.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

User ID 

Enter the user ID that needs to be suspended.

Example:

00ub0ongtswtbkolglnr

Text

Required

Example Request

[
    {
        "user_id": "00ub0ongtswtbkolglnr"
    }
]

Action Response Parameters

Parameter

Type

Description

Status Code

Integer

The HTTP status code indicating successful operation. For example, "HTTP/1.1 200 OK".

Action: Unsuspend User

This action unsuspends a user and returns them to the active state. This operation can only be performed on users that have a suspended status.

Action Input Parameters

Parameter

Description

Field Type

Required/Optional

Comments

User ID 

Enter the user ID that needs to be unsuspended.

Example:

00ub0ongtswtbkolglnr

Text

Required

Example Request

[
    {
        "user_id": "00ub0ongtswtbkolglnr"
    }
]

Action Response Parameters

Parameter

Type

Description

Status Code

Integer

The HTTP status code indicating successful operation. For example, "HTTP/1.1 200 OK".