Skip to content
Engage

Reach the right users on the right device

Compose once. Target precisely. Measure honestly. Delivered messages cannot be recalled from the platform once they leave — the audit view records what was sent, when, and to whom.

Channels

Push · In-app · Inbox

Beta

Push notifications

Send targeted push through your configured provider. Delivery is reported back for the analytics view.

Docs →
Beta

In-app messages

Modals, banners, and cards that render on the next foreground of a matching device.

Docs →
Beta

Inbox

Persistent per-user inbox with read/unread state, deep-link actions, and read-all controls.

Docs →
Composer

Everything a modern campaign needs

Segments

Target by app version, locale, geo, custom traits, and behavioural events.

Docs →

Schedule delivery windows

Set send-at times per campaign. Device-local quiet-hours behavior depends on how your app handles the delivered payload.

Docs →

Analytics

Impressions, opens, and actions per campaign. Exportable via events pipeline.

Docs →
Actions and localization

Deep-links are payloads your app decides how to handle

CtrlApp delivers the action payload (kind + value) alongside the message. Validating and routing that link is the host app's responsibility — we recommend an app-side allowlist so a stale or malformed link falls back to a safe no-op.

Localization is a first-class field on every message. Send Kurdish (Sorani, RTL) alongside English, Arabic, and any other locale your app supports. Localization docs →

Ship a campaign this week.

Create an account and connect an SDK — the composer is available in the dashboard.