Resources · n8n integration

Okta n8n integrationAutomate Okta with n8n.

Every Okta account change can start from a workflow instead of the Admin Console. The Okta n8n integration exposes one resource, User, and 5 operations: create, get, get many, update, delete. There is no Okta trigger node, so you pair it with a Schedule Trigger or a webhook. Made for IT and ops teams.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the Okta n8n integration actually do?

The Okta n8n integration connects the n8n Okta node to your Okta org through an API token, so a workflow can read and write user accounts without anyone opening the Admin Console. The node ships with n8n itself, on Cloud and on a self-hosted instance, and it covers a single resource: User. Five operations sit behind it, from creating an account to deleting one.

Start with onboarding. A hiring sheet fills up, n8n reads the new row from Google Sheets, and user.create opens the account with First Name, Last Name, Username and Email. Turn on Activate and the person can reach the applications assigned to them right away; leave it off and the account waits. A message to the IT channel in Slack closes the loop.

Offboarding runs the same way, backwards. A ticket or an HR export sitting in Postgres names the person leaving, user.get confirms the account is still there, and user.delete removes it. Send Email decides whether Okta warns the administrator that the account was deactivated. Writing the deletion down somewhere outside Okta is worth the extra node.

The third one is the recurring directory check. A Schedule Trigger fires, user.getAll pulls the accounts with Return All switched on, and the list lands in a table you can actually read, MySQL or a spreadsheet. Search Query narrows things down before the export, using Okta's own filter syntax: profile.lastName sw "Smi".

The node stops at the User resource. Anything else in the Okta API has no dedicated operation here, and that is what the HTTP Request node is for. It calls any address of the API, an endpoint, and reuses the same credential through predefined authentication. Nothing extra to set up on the connection side.

Two limits are worth knowing before you build. Okta has no trigger node in n8n, so nothing pushes events into your workflow: a Schedule Trigger on a fixed interval, an n8n Webhook, which is a URL another service calls, or another tool's trigger has to start the run. And Simplify, available on Get a user and Get many users, returns a trimmed response instead of the raw data, which is handy right up until a later node needs the attribute it dropped. More on the platform itself in the n8n review.

Connect

How do you connect Okta to n8n?

  1. 01

    Create the API token in Okta

    In the Admin Console, go to Security > API > Tokens > Create token. You need an admin account on an existing Okta org, or an Okta free trial if you are only testing. The SSWS token you get back is the single key n8n uses for all 5 operations, so copy it and put it in a password manager before you close the tab.

  2. 02

    Find your org URL

    The credential also wants the URL, the base address of your Okta org. Two ways to get it. In the Admin Console, select your Profile, hover over the domain listed under your username and click the Copy icon, then add https:// in front of it. Or take the Admin Console address, https://dev-123456-admin.okta.com, and drop the -admin part: https://dev-123456.okta.com.

  3. 03

    Save the credential in n8n

    In n8n, open the Credentials menu and create an Okta credential, meaning an access you register once. Paste the URL and the SSWS Access Token. From then on every workflow can reuse it, and the Okta node offers it in its dropdown without you retyping anything. All that is left is picking the User resource and the operation you need.

Actions

What can the Okta node do?

The Okta node exposes 5 operations across 1 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

Resources × operations matrix
ResourceCreateGetGet ManyUpdateDelete
User✓✓✓✓✓

User

5 operations
01

Create a new user

user.create

What you see in n8n

Notes & use cases

Creates the account in Okta and returns the new user, ready for the nodes that come after it.

Key parameters

  • First Name and Last Name: both required, usually filled with an expression like {{ $json.field }} from the incoming item.
  • Username: the unique identifier for the account, and it has to be an email address.
  • Email: the address written on the profile, the same as Username or different.
  • Activate: on, the account is active with access to its assigned applications; off, it is created and waits.
  • Fields: an optional collection of 30 extra profile attributes, Department, Manager, Title and Mobile Phone among them.
Use cases
a start date lands in the hiring sheet and the Okta account exists before the laptop ships.
02

Delete a user

user.delete

What you see in n8n

Notes & use cases

Removes the account from your Okta org. There is no way back, so read whatever you want to keep before this node runs.

Key parameters

  • User: a resource locator. Pick the account from the list n8n loads out of your org, or pass an ID, for instance {{ $json.field }} coming from an earlier node.
  • Send Email: switched on, a deactivation email goes out to the administrator.
Use cases
a contractor's end date is logged in the HR tool, and the account goes away without anyone filing a ticket for it.
03

Get a user

user.get

What you see in n8n

Notes & use cases

Reads one account and hands its details to the rest of the workflow. It is how you confirm that a person still exists in Okta before acting on their record.

Key parameters

  • User: the same resource locator as the other single-account operations, from the dropdown or as an ID.
  • Simplify: returns a trimmed version of the response instead of the raw data. Enough for a name check, not always enough for a full profile sync.
Use cases
a support ticket quotes an email address, and the workflow pulls the matching Okta profile into the reply.
04

Get many users

user.getAll

What you see in n8n

Notes & use cases

Lists the accounts in your org, one n8n item per user. This is the operation behind every export and every access review.

Key parameters

  • Search Query: filters the list with Okta's syntax, for example profile.lastName sw "Smi".
  • Return All: on, n8n walks through every page of results; off, Limit sets how many accounts come back.
  • Limit: the maximum number of users returned while Return All stays off.
  • Simplify: a shorter response per user, lighter to push into a spreadsheet.
Use cases
a weekly reconciliation between the Okta accounts and the list of people actually on payroll.
05

Update a user

user.update

What you see in n8n

Notes & use cases

Changes the profile of an existing account without touching what you left blank.

Key parameters

  • User: the account being modified, chosen from the list or given by its ID.
  • Fields: the collection of 34 attributes you can rewrite, including Username, Email, First Name, Last Name, Department, Manager, Title and Mobile Phone. Only what you add to the collection is sent to Okta.
Use cases
someone moves from support to sales, and the workflow rewrites Department and Manager straight from the HR export.
Need help

Need help automating Okta with n8n?

A person reads every message.

FAQ

Okta and n8n, the questions that come next

01Is the Okta n8n integration free?
Yes, on the n8n side. The Okta node ships with n8n, so there is nothing to install and nothing extra to pay, whether you run n8n Cloud or a self-hosted instance under the Community Edition and its Sustainable Use license. A workflow behaves the same in both places. What Okta itself costs depends on your own Okta contract, and this page does not cover it. To try the integration without touching a production org, the credentials documentation points to an Okta free trial or to an admin account on an org you already have.
02What credentials does the n8n Okta node need?
One credential, built on an SSWS API access token. It holds two values: the URL of your Okta org, meaning the base address with https:// in front and without the -admin part of the Admin Console address, and the SSWS Access Token you generate under Security > API > Tokens > Create token. Creating that token takes an admin account on an Okta org, or an Okta free trial. Once saved in the Credentials menu, the credential is reused across every workflow, and the Okta node offers it in its dropdown.
03What are the limits of the Okta node in n8n?
One resource, User, and 5 operations: create, get, get many, update, delete. Everything else in the Okta API has no dedicated operation in this node, and the way out is the HTTP Request node, which calls any address of the API and reuses the same Okta credential through predefined authentication. On Get many users, switch Return All on if you want the whole directory, otherwise Limit caps the result. And turn Simplify off as soon as a later node needs an attribute the trimmed response left out.
04Can Okta trigger an n8n workflow in real time?
No, and it is not a question of delay: there is no Okta trigger node in n8n at all. Nothing inside Okta starts a workflow on its own. A workflow that touches Okta begins somewhere else: a Schedule Trigger running at a fixed interval, an n8n Webhook, which is a URL you hand to another service so it can call your workflow, or the trigger of another tool you already run. In practice, accounts get read on a schedule, or written in reaction to something happening in your HR tool, your ticketing system or a spreadsheet.
05n8n or Make for Okta?
It depends on where your directory data is allowed to live. n8n can be self-hosted with Docker or npm, or used on n8n Cloud, and the workflow is identical either way. Make is a hosted platform with no self-hosting option, and it bills per operation. For a directory export that walks every page of users with Return All, that cost model shows up quickly. If the token and the user records have to stay on infrastructure you control, self-hosting settles it. Otherwise, pick the visual logic you find easier to maintain.