Getting started

Integration types

When you create a new app the very first thing you'll choose is the integration type. Everything else flows from this decision.

Embedded

Your app is shipped into okta-web as code and runs in the same process.

Hosted by Okta
UI Livewire/Blade rendered inside the tenant dashboard
Communication In-process calls into App\Services\PartnerApi\*
Repository Dedicated GitHub repo with ready-made boilerplate
Pro Seamless tenant UX, low latency
Con Strict isolation rules — must go through PartnerApi

External

Your app is hosted by you and talks to Okta exclusively over HTTP.

Hosted by You
UI Yours (web/mobile/server-only)
Communication REST API + signed webhooks
Repository None — no source code lives at Okta
Pro Full freedom over your stack
Con You manage hosting, secrets, webhook security

Notification (provider)

A pluggable notification provider (WhatsApp / SMS / Push / Slack / ...) that the platform consumes through one unified send(recipient, message) interface, regardless of the underlying transport.

Hosted by You (api), Okta (embedded), or both (hybrid)
UI None — server-only app invoked by the rest of the platform
Communication Single unified call from the platform per recipient
Pro Adds a new channel (e.g. WhatsApp Cloud, Twilio) without core changes
Con The platform owns the contract — you can't extend it on your own

Three delivery modes:

  • api — Okta POSTs to your endpoint with HMAC.
  • embedded — you ship a class inside okta-web that implements PartnerNotificationProvider.
  • hybrid — embedded as the primary, falls back to api on failure.

Rule of thumb: Pick Embedded for features that should feel like part of Okta (e.g. a custom reports tab). Pick External when you need an independent service (e.g. linking Okta to a system you already operate). Pick Notification when you only want to add a delivery channel — no UI, no workflow, just a way for the rest of the platform to reach users on a new medium.

Payment (provider)

A payment gateway/method (Tabby / Tamara / Noon Payments / ...) a tenant installs once, after which any other app charges through it via a uniform charge(...) contract. Shaped like a notification provider, but the verb is collecting money rather than sending messages. Same three delivery modes: api / embedded / hybrid. Consuming this contract (charging from another app) is available exclusively to Embedded apps — see Consuming payments from your app. Full details in Payment apps.


View the whole guide on one page · ↧ Raw Markdown