Reference · Tools

Okta

Manage users in Okta identity and access management platform

Action Development v1

The Okta node manages user accounts — creating, reading, updating and deleting them — in Okta's identity platform. A typical build is provisioning an account when someone is added to the HR system and deactivating it on the day they leave.

Node type
Action
Parameters
16
Outputs
Output, Error
Credentials
Okta API

Okta

Create, read, update, and delete users in Okta.

Overview

Okta is an identity and access management platform. This tool allows you to create, retrieve, update, and delete user accounts via the Okta Users API. It supports cursor-based pagination for listing users, search/filter queries, and a simplified response mode that returns only core user fields.

Category: Development
Tool Name: okta
Version: 1

Appearance: Icon: si-okta | Color: #007dc1

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Okta API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Useruser

Operations

OperationValueDescription
CreatecreateCreate a new user
DeletedeleteDelete an existing user
GetgetGet details of a user
Get ManygetAllGet many users
UpdateupdateUpdate an existing user

Parameters

User: Create

ParameterTypeRequiredDefaultDescription
First NamestringYesFirst name of the user. Supports expressions like {{ $json.firstName }}.
Last NamestringYesLast name of the user. Supports expressions like {{ $json.lastName }}.
UsernamestringYesUnique identifier for the user (must be an email address). Supports expressions.
EmailstringYesPrimary email address of the user. Supports expressions.
ActivatebooleanNotrueWhether to activate the user and allow access to all assigned applications.
Fields (getCreateFields)collectionNo{}Additional optional fields for user creation.
— CitystringNoCity for the user’s address.
— Cost CenterstringNoName of cost center assigned to user.
— Country CodestringNoCountry code (ISO 3166-1 alpha-2).
— DepartmentstringNoName of user’s department.
— Display NamestringNoName of the user displayed in the UI.
— DivisionstringNoName of user’s division.
— Employee NumberstringNoOrganization- or company-assigned unique identifier.
— Honorific PrefixstringNoHonorific prefix (e.g., Mr., Dr.).
— Honorific SuffixstringNoHonorific suffix (e.g., Jr., III).
— LocalestringNoUser’s default location for time zone and language (e.g., en_US).
— ManagerstringNoDisplayName of the user’s manager.
— Manager IDstringNoID of the user’s manager.
— Middle NamestringNoMiddle name of the user.
— Mobile PhonestringNoMobile phone number.
— Nick NamestringNoCasual way to address the user.
— OrganizationstringNoName of the user’s organization.
— PasswordstringNoInitial password for the user.
— Postal AddressstringNoMailing address component.
— Preferred LanguagestringNoUser’s preferred written or spoken language (e.g., en-US).
— Primary PhonestringNoPrimary phone number.
— Profile URLstringNoURL of the user’s online profile (e.g., a web page).
— Recovery Question AnswerstringNoAnswer to the security/recovery question.
— Recovery QuestionstringNoSecurity/recovery question text.
— Second EmailstringNoAlternate email address of the user.
— StatestringNoState or province component of the user’s address.
— Street AddressstringNoFull street address component.
— TimezonestringNoUser’s time zone (IANA format, e.g., America/Los_Angeles).
— TitlestringNoUser’s title (e.g., Vice President).
— User TypestringNoUsed to describe the organization-to-user relationship.
— Zip CodestringNoZip or postal code.

Password, Recovery Question and Recovery Question Answer are sent as the new user’s credentials; every other field becomes part of the user’s profile.

User: Delete

ParameterTypeRequiredDefaultDescription
User IDstringYesThe Okta user ID or login (username/email). Find in Okta Admin Console: Directory > People > select user > General tab. Supports expressions like {{ $json.userId }}.
Send EmailbooleanNofalseWhether to send a deactivation email to the administrator.

User: Get

ParameterTypeRequiredDefaultDescription
User IDstringYesThe Okta user ID or login (username/email). Find in Okta Admin Console: Directory > People > select user > General tab. Supports expressions like {{ $json.userId }}.
SimplifybooleanNotrueWhether to return a simplified version of the response instead of the raw data.

User: Get Many

ParameterTypeRequiredDefaultDescription
Search QuerystringNoFilter users using Okta search expression syntax. See https://developer.okta.com/docs/reference/core-okta-api/#filter for syntax reference. Supports expressions.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo20Max number of results to return. (shown when Return All is false)
SimplifybooleanNotrueWhether to return a simplified version of the response instead of the raw data.

User: Update

ParameterTypeRequiredDefaultDescription
User IDstringYesThe Okta user ID or login (username/email). Find in Okta Admin Console: Directory > People > select user > General tab. Supports expressions like {{ $json.userId }}.
Fields (getUpdateFields)collectionNo{}Fields to update on the user profile.
— CitystringNoCity for the user’s address.
— Cost CenterstringNoName of cost center assigned to user.
— Country CodestringNoCountry code (ISO 3166-1 alpha-2).
— DepartmentstringNoName of user’s department.
— Display NamestringNoName of the user displayed in the UI.
— DivisionstringNoName of user’s division.
— EmailstringNoPrimary email address of the user.
— Employee NumberstringNoOrganization- or company-assigned unique identifier.
— First NamestringNoFirst name of the user.
— Honorific PrefixstringNoHonorific prefix (e.g., Mr., Dr.).
— Honorific SuffixstringNoHonorific suffix (e.g., Jr., III).
— Last NamestringNoLast name of the user.
— LocalestringNoUser’s default location for time zone and language (e.g., en_US).
— ManagerstringNoDisplayName of the user’s manager.
— Manager IDstringNoID of the user’s manager.
— Middle NamestringNoMiddle name of the user.
— Mobile PhonestringNoMobile phone number.
— Nick NamestringNoCasual way to address the user.
— OrganizationstringNoName of the user’s organization.
— PasswordstringNoInitial password for the user.
— Postal AddressstringNoMailing address component.
— Preferred LanguagestringNoUser’s preferred written or spoken language (e.g., en-US).
— Primary PhonestringNoPrimary phone number.
— Profile URLstringNoURL of the user’s online profile (e.g., a web page).
— Recovery QuestionstringNoSecurity/recovery question text.
— Recovery Question AnswerstringNoAnswer to the security/recovery question.
— Second EmailstringNoAlternate email address of the user.
— StatestringNoState or province component of the user’s address.
— Street AddressstringNoFull street address component.
— TimezonestringNoUser’s time zone (IANA format, e.g., America/Los_Angeles).
— TitlestringNoUser’s title (e.g., Vice President).
— User TypestringNoUsed to describe the organization-to-user relationship.
— UsernamestringNoUnique identifier (must be an email).
— Zip CodestringNoZip or postal code.

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

The Okta response is merged onto the input item JSON — the fields already on the item pass through and the user object is written on top of them.

OperationOutput items per input item
create, get, updateOne item carrying the Okta user object. Binary data is forwarded unchanged.
deleteOne item carrying success: true. Binary data is forwarded unchanged.
getAllFans out — one item per user. Binary data is not forwarded on this operation.

With Simplify on (the default for Get and Get Many), the user object is reduced to the core fields:

{
  "id": "00u1abcd2345EfGHIjk6",
  "status": "ACTIVE",
  "created": "2026-01-15T10:30:00.000Z",
  "activated": "2026-01-15T10:31:00.000Z",
  "lastLogin": "2026-02-02T08:12:00.000Z",
  "lastUpdated": "2026-02-01T17:45:00.000Z",
  "passwordChanged": "2026-01-15T10:31:00.000Z",
  "profile": {
    "firstName": "Nathan",
    "lastName": "Smith",
    "login": "nathan@example.com",
    "email": "nathan@example.com"
  }
}

Turn Simplify off to get the raw Okta user object, including the full profile, credentials metadata and _links. Create and Update always return the raw object.

Deleting a user in Okta requires deactivating it first; this node does both in one call, so a still-active user is deactivated and then removed. With Return All on, Get Many pages through every user with the API cursor; with it off, it requests one page capped at Limit.

Reference the result downstream by expression, e.g. {{ $json.id }} or {{ $json.profile.email }}.

Usage Examples

  • Create a new Okta user with email and name
  • List all active users in Okta
  • Delete a deprovisioned user from Okta
  • Update a user’s department and title in Okta
  • Get details of a specific Okta user by ID

Example Configuration

Create a user with an extended profile, without activating it yet:

{
  "type": "okta",
  "parameters": {
    "resource": "user",
    "operation": "create",
    "firstName": "{{ $json.firstName }}",
    "lastName": "{{ $json.lastName }}",
    "login": "{{ $json.email }}",
    "email": "{{ $json.email }}",
    "activate": false,
    "getCreateFields": {
      "department": "Engineering",
      "title": "Senior Developer",
      "mobilePhone": "+1-555-0123",
      "manager": "manager@example.com",
      "employeeNumber": "EMP001"
    }
  }
}

Get one user in simplified form:

{
  "type": "okta",
  "parameters": {
    "resource": "user",
    "operation": "get",
    "userId": "{{ $json.userId }}",
    "simplify": true
  }
}

List active engineers, 50 at a time:

{
  "type": "okta",
  "parameters": {
    "resource": "user",
    "operation": "getAll",
    "searchQuery": "profile.department eq \"Engineering\" and status eq \"ACTIVE\"",
    "returnAll": false,
    "limit": 50,
    "simplify": true
  }
}

Update a user’s profile:

{
  "type": "okta",
  "parameters": {
    "resource": "user",
    "operation": "update",
    "userId": "{{ $json.id }}",
    "getUpdateFields": {
      "title": "Lead Developer",
      "department": "Engineering",
      "city": "Austin",
      "state": "TX"
    }
  }
}

Delete a user and notify the administrator:

{
  "type": "okta",
  "parameters": {
    "resource": "user",
    "operation": "delete",
    "userId": "{{ $json.userId }}",
    "sendEmail": true
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Create, read, update, and delete user accounts in Okta identity management platform.

Frequently asked questions

What can it manage?

User accounts: create, read, update and delete. It is focused on the user lifecycle rather than the whole Okta object model.

Is this useful for joiner-mover-leaver processes?

Yes, that is the natural fit — creating on hire and deactivating on departure are the two operations most identity workflows want automated first.

Can I combine it with a directory?

Yes. Pairing it with the LDAP node lets one workflow provision in both Okta and a directory server, which is common in hybrid environments.

Which credential does it need?

An Okta API credential with permission to administer users in your org.

Build with the Okta node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Okta API credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.