Getting started
Xulo documentation
Send iOS push notifications and show a native in-app card, from the iOS SDK, the dashboard, an agent, or the REST API.
Xulo sends iOS push notifications and shows a native card inside your app. One SDK covers both, and push and the card use the same audience.
The bill is per app, on monthly active users. The first 1,000 monthly active users on an app are free. After that, $6 per 1,000. Apps do not pool. A new app starts free. With no users there is nothing to bill. The first 1,000 monthly active users on that app stay at $0.
Start here
- Quickstart takes you from a new app to a push on your own iPhone.
- Install the iOS SDK if you already have an app in the dashboard.
- Send from your server with one REST call.
- Read the concepts to see how apps, keys, people and drafts fit together.
Three ways to send
| From | How it sends |
|---|---|
| The dashboard | You write a push and press Send, or save a draft and send it later. |
| An agent | Your agent connects to https://mcp.xulo.io/mcp, writes a draft, and sends it after a person says yes in the chat. |
| The REST API | Your server calls POST /api/v1/notifications with the app's REST key. The call starts the send right away, or at the time you set. |
All three write the same record, so a send shows in the dashboard whichever way it was made. Sends to test devices are the exception and are left out of the push list. See Drafts and approval for what waits and what does not.
What you need
- An iOS app on iOS 15 or later, built with Xcode 16 or later.
- An Apple push key (
.p8) or certificate (.p12) for that app. - A physical iPhone to receive a real push. The simulator does not receive remote notifications.
See Platform support for the full list.