Integrate Elaan in an afternoon
One API for an in-app inbox, email, and push. Drop a component into your frontend, trigger events from your backend, and Elaan handles rendering, delivery, and real-time updates across every channel.
All documentation
Getting started
Overview Quickstart SDK packagesFrontend
React Vue Svelte React Native Web Components Headless & theming Real-timeBackend API
Authentication Templates Trigger & status Contacts & preferencesMore
Self-hosting MCP server ReferenceOverview
Elaan is real-time notification infrastructure. You model notification types and templates once, then trigger a single event whenever something happens. Elaan fans it out to each channel the recipient has enabled (in-app inbox, email, mobile push, browser push), rendering per-brand templates and delivering asynchronously.
Integrating takes three pieces, and these docs cover all of them:
- Your frontend drops in a prebuilt inbox, bell, and preferences UI, or uses the headless hooks and stores to build your own.
- Your backend mints short-lived contact tokens for the browser and triggers notification events.
- Elaan resolves channels, renders templates, and delivers, pushing live updates to connected clients.
How it works
- Your backend mints a contact token. Call
POST /v1/contacts/tokenswith your service key and a contact'sexternal_id. You get back a short-lived token scoped to that one contact. - Your frontend renders the UI. Hand the SDK a
tokenProviderthat fetches that token from your own endpoint. Drop in<NotificationBell />,<NotificationFeed />, and<Preferences />. - Your backend triggers events. When something happens, call
POST /v1/notificationswith a type key, one or more recipients'external_ids, and any template variables. Elaan accepts it (202) and delivers to each recipient asynchronously. - Elaan delivers & streams. The inbox updates in real time over SSE (with polling fallback); email and push are sent by background workers.
Prerequisites
- An Elaan account. Sign up at console.elaan.io; the first sign-up provisions your account and a default brand.
- A service key (
sk_…) from the console, used by your backend to authenticate. Keep it server-side. - At least one notification type and a template for the channels you want to send, created in the console.
The API base is https://api.elaan.io/v1 (self-hosted installs use your own host; see Self-hosting).
All documentation
Start with the Quickstart for a complete working integration, then go deeper on the piece you need.