Getting notified by your AI assistant
Setting this up takes about a minute. The slow part is not the software — it is deciding what to call yourself, because the handle ends up on a poster and cannot be changed afterwards.
What this actually looks like
An agent that works for twenty minutes and then waits for you to come back is an agent you have to babysit. Connect the MCP server, give it a sealed channel of your own, and it can put a line on your phone when the build is green, the research is done, or a decision is needed.
How you would set it up
- Create a private channel for yourself and subscribe your own phone with the invite link.
- Point your assistant at the MCP server, or at the REST API with a key scoped to that one channel.
- Let it send at Normal, and reserve Important for the things you would genuinely stop for.
Everything the console does, from your own code
A REST API you can read in an afternoon: one key, one POST, one alert. Credentials carry scopes, so the cron job that sends can be forbidden from deleting a channel, and a key can be bound to a single channel. Webhooks push sends, cancels and subscriptions to your endpoint with a signature you verify, instead of you polling us for something you already know. There is also an MCP server, so an assistant can be connected over OAuth — no pasted keys, revocable per client, and narrowed to the scopes you approve on a consent screen you read first.
A channel asks. The phone decides.
Every channel declares what it would like to be able to do: make a sound, show a banner, override Do Not Disturb, take over the screen, speak the text aloud. Each subscriber grants those one at a time, on their own handset, and can take any of them back later without unsubscribing. Nothing a channel asks for is granted by asking. The loudest thing an unpermitted channel can achieve is an ordinary notification — which still arrives, and still says what you wrote.
Private means sealed, not merely unlisted
A private channel is not one that is simply missing from a directory. It requires an invite code both to subscribe AND to read anything about it, and a request without one gets exactly the same “not found” as a handle that never existed — because a different answer would let anybody confirm that a school’s or an ops team’s channel exists by guessing its name. Invite codes can carry a use limit and can be revoked; revoking is a timestamp and by default removes nobody who already joined.
Questions, answered plainly
Is there an API?
Yes — the same one the console uses, so anything you can do by hand you can automate. Scoped keys, signed webhooks, and an MCP server if you want an assistant to do it.
Can you guarantee my alert will make a sound?
No, and nobody honestly can. Whether it makes a sound is decided on the handset by what that subscriber granted your channel and by their own settings. What we guarantee is that the alert reaches every subscribed device. Any service promising more is either wrong or is describing a carrier cell broadcast, which is a different thing entirely.
Can somebody find my private channel by guessing the name?
No. A sealed channel answers a request without an invite code with exactly the same “not found” that a nonexistent handle gets. There is no response that distinguishes “this exists but you may not see it” from “this does not exist”, because that difference is itself a leak.
Do subscribers need an account?
No. They install the app, subscribe to a handle, and that is the whole of it. Only the person running the channel signs up for anything.
Say it once. Every subscribed phone gets it.
Free up to 100 subscribers, no card to start, and the handle is yours permanently.
Start a channel