DatriseAI-first ETL

Source connector

Okta connector

Okta integration for databases, warehouses and BI tools

Identity provider for SSO and user lifecycle. Datrise captures Okta entities such as users, groups, applications, system log events, factors and group memberships, then lands normalized and typed models for warehouse reporting, attribution, and AI workflows.

The Okta Management API (Core API + System Log) authenticates with API key, OAuth 2.0, incremental runs key on since query parameter on the System Log (/api/v1/logs), filtered on the published timestamp, and Okta caps calls at No single org-wide number; documented examples include 4 requests/second for unauthenticated /api/v1/authn and /oauth2/v1/token, and 40 requests per user per 10 seconds per endpoint from the Admin Console/End-User Dashboard. Actual Management API bucket quotas are visible only in each org's own Rate Limits dashboard.

Of the 6 objects, 5 sync as upserts keyed on the primary key and 1 as append-only streams, so each incremental run moves only what changed since the last watermark. Every object lands in its own table (for example `okta_users`) with a schema derived from the Okta API rather than a flattened CSV, in any of the 43 supported destinations.

Datrise is in early access: pick a destination below to open the Okta pipeline page, and join the waitlist to get the Okta connector with guided onboarding.

Incremental syncSchema-aware mapping43 destinations available

What Okta data Datrise extracts

Each object lands in its own typed table. Sync mode is derived from the object: history-style objects append, everything else upserts.

ObjectLanding tableSync mode
usersokta_usersUpsert by primary key, incremental on updated-at
groupsokta_groupsUpsert by primary key, incremental on updated-at
applicationsokta_applicationsUpsert by primary key, incremental on updated-at
system log eventsokta_system_log_eventsAppend-only, incremental by timestamp
factorsokta_factorsUpsert by primary key, incremental on updated-at
group membershipsokta_group_membershipsUpsert by primary key, incremental on updated-at

Okta API: setup facts for the connector

Verified against the vendor documentation on 2026-09-02. Unknown values are left blank rather than guessed.

APIOkta Management API (Core API + System Log)
AuthenticationAPI key, OAuth 2.0 — SSWS API token in the Authorization header for simple integrations; scoped OAuth 2.0 apps (client credentials with a private-key JWT) for production/ISV use.
Paginationlink_header — Link header with a rel=next, system-generated after cursor; the System Log endpoint (/api/v1/logs) defaults to a limit of 100 events per request.
Rate limitNo single org-wide number; documented examples include 4 requests/second for unauthenticated /api/v1/authn and /oauth2/v1/token, and 40 requests per user per 10 seconds per endpoint from the Admin Console/End-User Dashboard. Actual Management API bucket quotas are visible only in each org's own Rate Limits dashboard.
Incremental cursorsince query parameter on the System Log (/api/v1/logs), filtered on the published timestamp — A polling query is an ASCENDING request with until omitted; events are ordered by internal persistence time rather than published time, so always follow the response's next Link header instead of re-deriving since from the last event.
WebhooksYes — Event Hooks (asynchronous outbound call on user lifecycle and object-change events; your endpoint must return 200/204)
Bulk exportNo
Deletes detectableYes — GET /api/v1/users?filter=status eq "DEPROVISIONED" (deactivated/deprovisioned users are excluded from default list results), or user.lifecycle.delete.initiated / deactivate events via Event Hooks or the System Log.

Official API reference

What bites when replicating Okta

  • There is no single published Management API rate limit — quotas are per-bucket and per-org (e.g. 4 requests/second for unauthenticated /api/v1/authn and /oauth2/v1/token), and the real numbers for your org only show up in its own Rate Limits dashboard.
  • GET /api/v1/users excludes DEACTIVATED/DEPROVISIONED users from the default listing; you must explicitly filter status eq "DEPROVISIONED" or deletions look invisible to a naive sync.
  • System Log polling queries order events by internal persistence time, not the `published` field, so consecutive pages can contain events slightly out of chronological order — follow the `next` Link header rather than re-querying with `since` set to the last event's `published` value.
  • System Log requests default to 100 events per page with no documented maximum, so high-volume orgs must paginate aggressively via the next link to avoid falling behind and missing the retention window.

Compare this against every other documented API

Popular destinations for Okta

Choose a destination below to open the ready pipeline page.

  • A
    Airtable

    Relational spreadsheet destination for ops and go-to-market teams.

    View pipeline
  • A
    Amazon Athena

    Serverless SQL over S3 data lake tables.

    View pipeline
  • A
    Amazon DynamoDB

    Serverless key-value and document store on AWS.

    View pipeline
  • A
    Amazon QuickSight

    AWS serverless BI with SPICE and embedded analytics.

    View pipeline
  • A
    Amazon Redshift

    AWS petabyte-scale warehouse with Spectrum.

    View pipeline
  • A
    Amazon S3 Data Lake

    Object storage landing zone for parquet and snapshots.

    View pipeline
  • A
    Apache Superset

    Open-source BI for SQL exploration, charts, and dashboard publishing.

    View pipeline
  • A
    Azure Data Lake Storage

    ADLS Gen2 object storage for analytics workloads.

    View pipeline
  • A
    Azure Synapse

    Microsoft analytics workspace with SQL pools.

    View pipeline

Okta connector FAQ

What Okta data does the connector extract?
6 objects: users, groups, applications, system log events, factors and group memberships. Each lands in its own table with types preserved; history-style objects (1: system log events) load as append-only streams.
Is the Okta integration incremental?
Yes. After the initial full load, every run reads only records changed since the last watermark (updated-at or event timestamp) and applies an upsert or an append depending on the object.
Where can I load Okta data?
Into 43 destinations: relational databases, cloud warehouses, data lakes, spreadsheets and BI tools. Each Okta → destination pair has its own page with the object-to-table mapping.

Related sources

Other sources in the same category, each with its own connector page.

Early access

Launch your Okta pipeline with guided onboarding

Join the waitlist to get priority access for Okta integrations with guided setup, schema-aware mapping, and production-grade incremental sync.