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.
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.
| Object | Landing table | Sync mode |
|---|---|---|
| users | okta_users | Upsert by primary key, incremental on updated-at |
| groups | okta_groups | Upsert by primary key, incremental on updated-at |
| applications | okta_applications | Upsert by primary key, incremental on updated-at |
| system log events | okta_system_log_events | Append-only, incremental by timestamp |
| factors | okta_factors | Upsert by primary key, incremental on updated-at |
| group memberships | okta_group_memberships | Upsert 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.
| API | Okta Management API (Core API + System Log) |
|---|---|
| Authentication | API 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. |
| Pagination | link_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 limit | 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. |
| Incremental cursor | since 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. |
| Webhooks | Yes — Event Hooks (asynchronous outbound call on user lifecycle and object-change events; your endpoint must return 200/204) |
| Bulk export | No |
| Deletes detectable | Yes — 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. |
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.
Popular destinations for Okta
Choose a destination below to open the ready pipeline page.
- AAirtable
Relational spreadsheet destination for ops and go-to-market teams.
View pipeline - AAmazon Athena
Serverless SQL over S3 data lake tables.
View pipeline - AAmazon DynamoDB
Serverless key-value and document store on AWS.
View pipeline - AAmazon QuickSight
AWS serverless BI with SPICE and embedded analytics.
View pipeline - AAmazon Redshift
AWS petabyte-scale warehouse with Spectrum.
View pipeline - AAmazon S3 Data Lake
Object storage landing zone for parquet and snapshots.
View pipeline - AApache Superset
Open-source BI for SQL exploration, charts, and dashboard publishing.
View pipeline - AAzure Data Lake Storage
ADLS Gen2 object storage for analytics workloads.
View pipeline - AAzure 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.