{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":21332,"path":"integrate-applications/integration-hub/okta-v2-spoke.md","title":"Okta Spoke","bundle":null,"doc_type":null,"release":"australia","body":"\n# Okta Spoke\n\nUse Okta to manage users, passwords, and groups.\n\n## Request apps on the Store\n\nVisit the [ServiceNow Store](https://store.servicenow.com/sn_appstore_store.do#!/store/home) to view all the available apps, and for information about submitting requests to the store. For cumulative release notes information for all released apps, see the [ServiceNow Store version history release notes](https://www.servicenow.com/docs/r/store-release-notes/sn-store-release-notes.html).\n\n## Integration Hub subscription\n\nThis spoke requires an Integration Hub subscription. For more information, see [Legal schedules - IntegrationHub overview](https://www.servicenow.com/content/dam/servicenow-assets/public/en-us/doc-type/legal/snc-addendum-integrationhub.pdf).\n\n## Spoke version\n\nOkta spoke v4.8.3 is the latest version. For version history of the spoke, see [Okta Spoke release notes](https://www.servicenow.com/docs/r/store-release-notes/store-integrationhub-rn-okta.html).\n\n## Spoke dependencies\n\nIf you’re having trouble installing the app, ensure that these dependent plugins are installed:\n\n-   ServiceNow IntegrationHub Action Template - Data Stream \\(com.glide.hub.action\\_type.datastream\\)\n-   ServiceNow IntegrationHub Action Step - REST \\(com.glide.hub.action\\_step.rest\\)\n-   ServiceNow IntegrationHub Runtime \\(com.glide.hub.integration.runtime\\)\n-   ServiceNow Flow Designer - Dynamic Inputs \\(com.glide.hub.dynamic\\_inputs\\)\n-   ServiceNow IntegrationHub Action Step - REST \\(com.glide.hub.action\\_step.rest\\)\n-   com.glide.cobject:sys,com.glide.script.vtable\n-   com.snc.remote\\_directory\\_sync\n-   XML Parser for ServiceNow IntegrationHub \\(com.glide.hub.action\\_step.xmlparser\\)\n-   Flow Designer Model \\(com.glide.hub.designer\\_backend.model\\)\n-   Complex Object \\(com.glide.cobject\\)\n\n**Note:** Some of these plugins are licensable features and require an appropriate license if used outside the spoke implementation. For information on licenses, contact your account manager.\n\n## Supported versions\n\nAPI version v1.\n\n## Spoke flows\n\nThe Okta spoke provides sample flows in the draft state to demonstrate automating user and group management tasks. To customize a sample flow, copy it to a new application scope. Available sample flows include:\n\n|Flow|Description|\n|----|-----------|\n|Add User to Okta Group|When a user is created, it adds the user to the specified group.|\n|Onboard User in Okta|When a user is created in ServiceNow, creates and activates the user in Okta.|\n|Remove Okta Group Membership on Deactivation|When a user is deactivated, it removes the user from all Okta groups.|\n\n**Note:** Okta has the ServiceNow\\_UD application to provision users in ServiceNow. ServiceNow can also be configured to provision users at Okta. Therefore, ServiceNow administrators must confirm that circular user creation doesn’t occur.\n\n## Spoke subflows\n\nThe Okta spoke provides sample subflows to demonstrate automating Okta tasks. Available subflows are:\n\n<table id=\"table_ed3_sxs_mpb\"><thead><tr><th>\n\nSubflow category\n\n</th><th>\n\nSubflow\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td rowspan=\"2\">\n\nWebhook management\n\n</td><td>\n\nCheck Activate Application Event Hook\n\n</td><td>\n\nVerifies if an event hook for the application-lifecycle-activate exists in Okta.\n\n</td></tr><tr><td>\n\nInbound Integration from Okta to ServiceNow\n\n</td><td>\n\nAllows inbound integration from Okta to a ServiceNow instance. Verifies if an event hook exists for an application. If the event hook doesn’t exist, a new event hook is created. **Note:** Make sure that **Configuration URI** field value is in this format: `https://<instance-name>.service-now.com/api/sn_okta_spoke/oktawebhook`\n\n</td></tr><tr><td>\n\nGroup Management\n\n</td><td>\n\nGet Groups\n\n</td><td>\n\nUpdates an existing group or creates a group at Okta.\n\n</td></tr><tr><td>\n\nApplication Management\n\n</td><td>\n\nCreate or Update Okta Applications Record\n\n</td><td>\n\nCreates an Okta application record or updates an existing Okta application record.\n\n</td></tr></tbody>\n</table>## Available sample conversational subflows\n\nInstall Now Assist for Conversational Spokes and start using the conversational ability of Integration Hub spokes. For more information, see [ServiceNow Otto for Conversational Spokes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/integration-hub/conv-spokes-na.md).\n\n|Conversational subflow|Description|\n|----------------------|-----------|\n|Expire User Password - Sample|Expires the user's password in Okta.|\n|Reset to Temporary Password - Sample|Resets the user's password in Okta to a temporary password.|\n|Look up Group Details - Sample|Retrieves details of the required group in Okta.|\n|Look up User Profile - Sample|Retrieves details of the required user profile in Okta.|\n|Add User to Group - Sample|Adds user to the required group.|\n|Look up Group Members - Sample|Retrieves details of users in the required group in Okta.|\n|Is User in Group - Sample|Specifies if the user is a member of the provided group.|\n|Look up Users by Application - Sample|Retrieves details of users that have access to the specific application.|\n\n## Spoke modules\n\nThe Okta spoke adds the Okta application to your ServiceNow instance and includes these modules:\n\n<table id=\"table_hpp_vmz_mpb\"><thead><tr><th>\n\nModule\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nOkta Applications\n\n</td><td>\n\nShows the list of applications. Click **New** to create an application record.\n\n</td></tr><tr><td>\n\nOkta groups\n\n</td><td>\n\nShows the list of user groups at Okta. Click **Fetch Okta Groups** to retrieve details of the Okta groups. For more information, see [Fetch Okta groups](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/integration-hub/fetch-okta-groups.md).\n\n</td></tr><tr><td>\n\nOkta Users\n\n</td><td>\n\nShows the list of users at Okta.This is a remote table. When you click the **Okta Users** module, Okta Users \\[sn\\_okta\\_spoke\\_users\\] remote table definition is triggered and user details are cached in memory. For more information about the remote tables, see [Remote tables](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/servicenow-platform/remote-tables.md).\n\nYou can modify script definition of the Okta Users \\[sn\\_okta\\_spoke\\_users\\] remote table definition as per your requirement.\n\n</td></tr><tr><td>\n\nOkta Webhook Registry\n\n</td><td>\n\nShows the list of webhook registries. Click **New** to create a webhook registry. For more information, see[Set up a bi-directional webhook for Okta spoke](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/integration-hub/setup-webhook-okta.md).\n\n</td></tr></tbody>\n</table>## Spoke actions\n\nThe Okta spoke provides actions to authenticate and manage users and groups. Available actions include:\n\n<table id=\"table_p2h_x34_3fb\"><thead><tr><th>\n\nCategory\n\n</th><th>\n\nAction\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td rowspan=\"14\">\n\nUser Management\n\n</td><td>\n\nActivate User\n\n</td><td>\n\nStarts the process of activating a user at Okta by enabling new or returning users to configure their Okta account from an activation URL. This action can either have Okta send the activation URL to the user as an email, or it can return the activation URL as a data pill for use in a later action to send an email or notification.\n\n</td></tr><tr><td>\n\nClear User Session\n\n</td><td>\n\nClears all active sessions you have with Okta, which forces the user to log back in the next time they use Okta.\n\n</td></tr><tr><td>\n\nCreate User\n\n</td><td>\n\nCreates the specified user at Okta with the specified standard, optional, and mandatory field values.**Note:** Okta has the ServiceNow\\_UD application to provision users in ServiceNow. ServiceNow can also be configured to provision users at Okta. Therefore, ServiceNow administrators must confirm that circular user creation doesn’t occur.\n\n</td></tr><tr><td>\n\nDeactivate User\n\n</td><td>\n\nDeactivates the specified user at Okta, which removes the user's groups and application assignments, and changes the user status to DEACTIVATED. This action is commonly used when a user departs the company indefinitely.\n\n **Note:** Don’t perform this action on users with a DEPROVISIONED status.\n\n</td></tr><tr><td>\n\nDelete User\n\n</td><td>\n\nDeletes the specified user within Okta, which completely removes the user. This action is commonly used to clean up your user base after compliance regulations have been met.\n\n</td></tr><tr><td>\n\nIs User Account Locked\n\n</td><td>\n\nDetermines if a user account is locked.\n\n</td></tr><tr><td>\n\nLookup Okta User ID\n\n</td><td>\n\nRetrieves the Okta user ID for the specified Okta login ID or login short name.\n\n</td></tr><tr><td>\n\nLookup User Account Details by User ID\n\n</td><td>\n\nRetrieves user details for the specified Okta user ID.\n\n</td></tr><tr><td>\n\nLookup User Profile by User ID\n\n</td><td>\n\nRetrieves user profile details for the specified Okta user ID.\n\n</td></tr><tr><td>\n\nRestart User Activation\n\n</td><td>\n\nRestarts the specified user's activation within Okta. Use this action if the user didn’t complete their activation with the activation code or link provided by the **Activate User** Action.\n\n</td></tr><tr><td>\n\nSuspend User\n\n</td><td>\n\nSuspends the specified user within Okta by changing the user status from ACTIVE to SUSPENDED. For example, use this action to suspend access for users who are on temporary leave. To reactivate a suspended user, use the **Unsuspend** action.\n\n</td></tr><tr><td>\n\nUnsuspend User\n\n</td><td>\n\nUnsuspends the specified user at Okta.\n\n</td></tr><tr><td>\n\nUpdate User Profile\n\n</td><td>\n\nUpdates the user profile details for the specified user at Okta.\n\n</td></tr><tr><td>\n\nLook up Users Stream\n\n</td><td>\n\nRetrieves users from Okta based on the filter value.\n\n</td></tr><tr><td rowspan=\"6\">\n\nPassword Management\n\n</td><td>\n\nChange User's Password\n\n</td><td>\n\nChanges the specified user's password after validating the user's current password.\n\n</td></tr><tr><td>\n\nExpire User Password\n\n</td><td>\n\nExpires the specified user's password within Okta. This action is commonly used as a reaction to stop breaching attempts.\n\n</td></tr><tr><td>\n\nReset to Temporary Password\n\n</td><td>\n\nResets the specified user's password within Okta to a temporary password. This action is commonly used to get a user logged in who has forgotten their password.\n\n</td></tr><tr><td>\n\nReset User Factors\n\n</td><td>\n\nResets all of the multi-factor access devices for the specified user within Okta. This action is commonly used when a user loses their multi-factor authentication device or method.\n\n</td></tr><tr><td>\n\nSet User Password\n\n</td><td>\n\nSets the specified user's password in Okta.\n\n</td></tr><tr><td>\n\nUnlock User\n\n</td><td>\n\nUnlocks the specified user in Okta.\n\n</td></tr><tr><td rowspan=\"9\">\n\nGroup Management\n\n</td><td>\n\nAdd User To Group\n\n</td><td>\n\nAdds the specified user to the specified group in Okta.\n\n</td></tr><tr><td>\n\nCreate Group\n\n</td><td>\n\nCreates the specified group in Okta.\n\n</td></tr><tr><td>\n\nGet Groups\n\n</td><td>\n\nRetrieves all new and updated groups in Okta.\n\n</td></tr><tr><td>\n\nIs User In Group\n\n</td><td>\n\nDetermines if the specified user is a member of the specified group in Okta.\n\n</td></tr><tr><td>\n\nLookup Group Details by Group ID\n\n</td><td>\n\nRetrieves group details for the specified Okta group ID.\n\n</td></tr><tr><td>\n\nLookup Group ID By Name\n\n</td><td>\n\nRetrieves group details and group ID for the specified Okta group name.\n\n</td></tr><tr><td>\n\nRemove User From Group\n\n</td><td>\n\nRemoves the specified user from the specified Okta group ID.\n\n</td></tr><tr><td>\n\nUpdate Group\n\n</td><td>\n\nUpdates the group details for the specified Okta group ID.\n\n</td></tr><tr><td>\n\nLook up Groups Stream\n\n</td><td>\n\nRetrieves groups from Okta, based on the filter criteria.\n\n</td></tr><tr><td rowspan=\"2\">\n\nGroup Membership Management\n\n</td><td>\n\nLook up Group Members Stream\n\n</td><td>\n\nRetrieves users from the specified Okta group.\n\n</td></tr><tr><td>\n\nLook up User Groups Stream\n\n</td><td>\n\nRetrieves the group information from Okta to which the user belongs to.\n\n</td></tr><tr><td rowspan=\"3\">\n\nApplication Access Management\n\n</td><td>\n\nLook up Users by Application ID Stream\n\n</td><td>\n\nRetrieves users who have access to the specified application.\n\n</td></tr><tr><td>\n\nLook up Groups by Application ID Stream\n\n</td><td>\n\nRetrieves groups who have access to the specified application.\n\n</td></tr><tr><td>\n\nRevoke User Application Access\n\n</td><td>\n\nRevokes access to an application for the required user.\n\n</td></tr><tr><td rowspan=\"3\">\n\nApplication Management\n\n</td><td>\n\nLook up Applications Stream\n\n</td><td>\n\nRetrieves applications from Okta, based on the filter criteria. For more information about the criteria you can specify in the **Filter** input, see [List applications](https://developer.okta.com/docs/reference/api/apps/#list-applications) in [Okta Developer Documentation](https://developer.okta.com/docs/).\n\n</td></tr><tr><td>\n\nLook up Application by Application ID\n\n</td><td>\n\nRetrieves details of the specified application ID in Okta.\n\n</td></tr><tr><td>\n\nLook up App Launcher Applications Stream\n\n</td><td>\n\nRetrieves applications that are either active or are assigned to users.\n\n</td></tr><tr><td>\n\nLogs Management\n\n</td><td>\n\nLook up Okta Logs Stream\n\n</td><td>\n\nRetrieves the logs in Okta that are filtered by the given filter value and within the specified time duration. For more information about the event types and system logs, see [Event Types](https://developer.okta.com/docs/reference/api/system-log/#event-types) in [Okta Developer Documentation](https://developer.okta.com/docs/).\n\n</td></tr><tr><td rowspan=\"4\">\n\nMetadata Retrieval\n\n</td><td>\n\nLook up Additional Fields for User\n\n</td><td>\n\nRetrieves the metadata of the additional fields for a user in Okta.\n\n</td></tr><tr><td>\n\nLook up Applications Metadata\n\n</td><td>\n\nRetrieves the metadata of applications in Okta.\n\n</td></tr><tr><td>\n\nLook up Event Hooks Metadata\n\n</td><td>\n\nRetrieves the metadata of the event hooks in Okta.**Note:** Make sure that you use this action along with the actions that use Event Hook ID as a dynamic input.\n\n</td></tr><tr><td>\n\nLook up Groups Metadata\n\n</td><td>\n\nRetrieves the metadata details of the groups in Okta.\n\n</td></tr><tr><td rowspan=\"7\">\n\nWebhook Management\n\n</td><td>\n\nActivate Event Hook\n\n</td><td>\n\nChanges the status of the specified event hook to active in Okta.\n\n</td></tr><tr><td>\n\nCreate Event Hook\n\n</td><td>\n\nCreates an active event hook in Okta. **Note:** Make sure that **Configuration URI** field value is in this format: `https://<instance-name>.service-now.com/api/sn_okta_spoke/oktawebhook`\n\n</td></tr><tr><td>\n\nDeactivate Event Hook\n\n</td><td>\n\nSets the status of the specified Okta event hook to inactive.\n\n</td></tr><tr><td>\n\nLook up Event Hook by ID\n\n</td><td>\n\nRetrieves details of the Okta event hook for the specified ID.\n\n</td></tr><tr><td>\n\nLook up Event Hooks\n\n</td><td>\n\nRetrieves details of all the event hooks in Okta.\n\n</td></tr><tr><td>\n\nUpdate Event Hook\n\n</td><td>\n\nUpdates the specified event hook in Okta. **Note:** Make sure that **Configuration URI** field value is in this format: `https://<instance-name>.service-now.com/api/sn_okta_spoke/oktawebhook`\n\n</td></tr><tr><td>\n\nVerify Event Hook\n\n</td><td>\n\nVerifies and retrieves an external service endpoint configured for an event hook in Okta.\n\n</td></tr></tbody>\n</table>## Available conversational actions\n\nInstall Now Assist for Conversational Spokes and start using the conversational ability of Integration Hub spokes. For more information, see [ServiceNow Otto for Conversational Spokes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/integration-hub/conv-spokes-na.md).\n\nAvailable conversation action is Create Group that creates a group in Okta with the provided details.\n\n## Available AI agents\n\nInstall Now Assist for Integration Hub and start using the available AI agents. For more information, see [ServiceNow Otto for Integration Hub](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/integration-hub/now-assist-spokes.md).\n\nThis spoke provides standalone AI agents that mimic human-like intelligence to perform tasks in your ServiceNow instance.\n\n-   In the ServiceNow agentic system, you can create an agentic workflow that comprises of a set of large language model \\(LLM\\) instructions along with one or more standalone AI agents to execute an objective. See [Create an agentic workflow](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/intelligent-experiences/configure-use-case-ai-agents.md) for information about adding AI agents to create agentic workflows as per your requirement and provide the required trigger.\n\n    You can also search for other available AI agents and add them to your agentic workflow. See [Find AI agents](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/intelligent-experiences/find-ai-agents.md) for more information.\n\n-   You can create a clone of the required spoke AI agent and customize it as per your requirement. See [Duplicate an AI agent](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/intelligent-experiences/clone-ai-agent.md) for more information about creating a clone.\n-   See [AI Agent Studio \\(legacy\\)](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/intelligent-experiences/na-ai-agents.md) for information about AI agents.\n\nAvailable AI agents include:\n\n|AI Agent|Description|\n|--------|-----------|\n|Okta group management AI agent|Automates group-related tasks in Okta using Integration Hub such as those related to managing of groups, handling user memberships, and retrieving group details.|\n|Okta password management AI agent|Automates password-related workflows in Okta from Integration Hub. Automate actions such as reset password to temporary values, set new password, expire passwords, unlock user accounts, reset user authentication factors, and change user passwords.|\n|Okta group membership management AI agent|Automates group-related workflows in Okta from Integration Hub. Automate actions such as Look up User Groups Stream’, and 'Look up Group Members Stream'.|\n|Okta user management AI agent|Automates user management workflows in Okta from Integration Hub. Automate actions such as manage user accounts, sessions, and statuses.|\n|Okta application access management AI agent|Automates access management workflows in Okta from Integration Hub. Automate actions such as look up users and groups by application ID stream, and revoking user application access.|\n|Okta application management AI agent|Automates application management-related workflows in Okta from Integration Hub. Automate actions such as look up applications, retrieve application details by ID, and create or update Okta application records.|\n|Okta logs management AI agent|Automates log management-related workflows in Okta from Integration Hub. Automate actions such as 'Look up Okta Logs Stream’.|\n\nThere might be AI agents installed on your instance that are not used in agentic workflows. To learn how to see all agents that are available to you, see [Find AI agents](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/intelligent-experiences/find-ai-agents.md).\n\n**Note:** Ensure that the user running an AI agent has the required roles and permissions to access data or perform operations on data in the table that is associated with the AI agent.\n\n## Okta account requirements\n\nThe Okta spoke requires generating and configuring your Okta account to use a web API key.\n\n## Credential and connection alias requirements\n\nIntegration Hub uses aliases to manage connection and credential information. Using an alias eliminates the need to configure multiple credentials and connection information profiles when using multiple environments. If the connection or credential information changes, you don't need to update any actions that use the connection. For more information, see [Connections and Credentials](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-security/r-credentials.md).\n\nThis spoke uses the Okta Connection &amp; Credential Alias record to authorize actions. For information about setting up the spoke, see [Set up Okta spoke](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/integration-hub/set-up-okta-v1.1.1.md).\n\n## MID Server requirements\n\nThese actions use REST calls that can run either on an instance or, optionally, through a MID Server. Use the connection record associated with the Okta alias to configure where actions run and, if needed, specify MID Server selection attributes. For more information, see [MID server](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/servicenow-platform/mid-server-landing.md).\n\nTo set up the MID Server for this spoke, see [Set up MID Server for a spoke](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/integration-hub/config-adv-mid-settings-for-oauth-on-mid.md).\n\n"}}