Concepts
Notifications
The Oblien mobile app spins up agents in workspaces. Each workspace acts as a channel: an agent running inside a workspace can push a notification to your phone — when a build finishes, a task needs input, or a long run completes.
How it works
- You mint a send token scoped to a workspace (the channel)
- Code inside the workspace calls
/notifications/sendwith that token - Oblien resolves the channel to its subscribed devices and delivers the push
The Oblien app handles device subscription for you — you only ever work with the send token.
The send token
The token you use inside a workspace is an opaque, Oblien-controlled handle — never a device's push token:
- The real device token never enters a workspace. A workspace can't read it, exfiltrate it, or message devices directly.
- Revocable independently. Kill a workspace's token without affecting devices or other workspaces.
- Per-workspace, with metadata. Each token belongs to one workspace (channel) and carries arbitrary metadata, e.g. a
channellabel. - Stored hashed. Only a sha256 hash is kept; the plaintext is shown once, at creation.
Send is authenticated by the token itself (Authorization: Bearer), not your account credentials — so it can run unattended inside a workspace. Minting and revoking tokens use your normal API credentials.
From the SDK
const client = new Oblien({ clientId, clientSecret });
// Mint a per-workspace send token (plaintext returned once — store it).
const { token } = await client.notifications.createToken({ workspace_id: 'ws_123', name: 'agent' });
// Inside the workspace, send to the channel with that token.
await client.notifications.send(token.token, { title: 'Build done', body: 'Agent finished' });
// Revoke when no longer needed.
await client.notifications.revokeToken(token.id);API reference
See the Notifications API for the full REST endpoint reference.