Search all guides

Reference · Tools

Okta integration

Create, retrieve, update, and delete user accounts within the 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.

Works as
Action
Tool name
okta
Operations
5 — Create , Delete , Get , Get Many , Update
Parameters
16
Outputs
Output, Error
Credentials
Okta API
Official docs
Okta docs developer.okta.com

What you can build with Okta

  • 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.

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.

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 NamestringYes—First name of the user. Supports expressions like {{ $json.firstName }}.
Last NamestringYes—Last name of the user. Supports expressions like {{ $json.lastName }}.
UsernamestringYes—Unique identifier for the user (must be an email address). Supports expressions.
EmailstringYes—Primary 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.
— CitystringNo—City for the user’s address.
— Cost CenterstringNo—Name of cost center assigned to user.
— Country CodestringNo—Country code (ISO 3166-1 alpha-2).
— DepartmentstringNo—Name of user’s department.
— Display NamestringNo—Name of the user displayed in the UI.
— DivisionstringNo—Name of user’s division.
— Employee NumberstringNo—Organization- or company-assigned unique identifier.
— Honorific PrefixstringNo—Honorific prefix (e.g., Mr., Dr.).
— Honorific SuffixstringNo—Honorific suffix (e.g., Jr., III).
— LocalestringNo—User’s default location for time zone and language (e.g., en_US).
— ManagerstringNo—DisplayName of the user’s manager.
— Manager IDstringNo—ID of the user’s manager.
— Middle NamestringNo—Middle name of the user.
— Mobile PhonestringNo—Mobile phone number.
— Nick NamestringNo—Casual way to address the user.
— OrganizationstringNo—Name of the user’s organization.
— PasswordstringNo—Initial password for the user.
— Postal AddressstringNo—Mailing address component.
— Preferred LanguagestringNo—User’s preferred written or spoken language (e.g., en-US).
— Primary PhonestringNo—Primary phone number.
— Profile URLstringNo—URL of the user’s online profile (e.g., a web page).
— Recovery Question AnswerstringNo—Answer to the security/recovery question.
— Recovery QuestionstringNo—Security/recovery question text.
— Second EmailstringNo—Alternate email address of the user.
— StatestringNo—State or province component of the user’s address.
— Street AddressstringNo—Full street address component.
— TimezonestringNo—User’s time zone (IANA format, e.g., America/Los_Angeles).
— TitlestringNo—User’s title (e.g., Vice President).
— User TypestringNo—Used to describe the organization-to-user relationship.
— Zip CodestringNo—Zip 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 IDstringYes—The 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 IDstringYes—The 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 QuerystringNo—Filter 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 IDstringYes—The 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.
— CitystringNo—City for the user’s address.
— Cost CenterstringNo—Name of cost center assigned to user.
— Country CodestringNo—Country code (ISO 3166-1 alpha-2).
— DepartmentstringNo—Name of user’s department.
— Display NamestringNo—Name of the user displayed in the UI.
— DivisionstringNo—Name of user’s division.
— EmailstringNo—Primary email address of the user.
— Employee NumberstringNo—Organization- or company-assigned unique identifier.
— First NamestringNo—First name of the user.
— Honorific PrefixstringNo—Honorific prefix (e.g., Mr., Dr.).
— Honorific SuffixstringNo—Honorific suffix (e.g., Jr., III).
— Last NamestringNo—Last name of the user.
— LocalestringNo—User’s default location for time zone and language (e.g., en_US).
— ManagerstringNo—DisplayName of the user’s manager.
— Manager IDstringNo—ID of the user’s manager.
— Middle NamestringNo—Middle name of the user.
— Mobile PhonestringNo—Mobile phone number.
— Nick NamestringNo—Casual way to address the user.
— OrganizationstringNo—Name of the user’s organization.
— PasswordstringNo—Initial password for the user.
— Postal AddressstringNo—Mailing address component.
— Preferred LanguagestringNo—User’s preferred written or spoken language (e.g., en-US).
— Primary PhonestringNo—Primary phone number.
— Profile URLstringNo—URL of the user’s online profile (e.g., a web page).
— Recovery QuestionstringNo—Security/recovery question text.
— Recovery Question AnswerstringNo—Answer to the security/recovery question.
— Second EmailstringNo—Alternate email address of the user.
— StatestringNo—State or province component of the user’s address.
— Street AddressstringNo—Full street address component.
— TimezonestringNo—User’s time zone (IANA format, e.g., America/Los_Angeles).
— TitlestringNo—User’s title (e.g., Vice President).
— User TypestringNo—Used to describe the organization-to-user relationship.
— UsernamestringNo—Unique identifier (must be an email).
— Zip CodestringNo—Zip 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 }}.

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

This tool manages user accounts in the Okta identity and access management platform. It is ideal for creating, retrieving, updating, or deleting specific user accounts, or for listing multiple users. The tool produces the details of user accounts, confirmation of actions, or lists of users.

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 Okta

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 reviewed . Spotted something wrong? Tell us.