Team notification roles
Everything below rests on one rule: a channel asks, and the phone decides. What arrives is guaranteed; how loudly it arrives is not, and any page that told you otherwise was selling.
More than one person, without sharing a password
A workspace holds the channels; people are invited into it with a role — owner, admin, editor, analyst or billing. An editor can compose and send; an analyst can read the numbers and nothing else; billing sees invoices and not subscribers. A member can also be restricted to a single channel, which is what a large organisation needs when the communications team and the facilities team should not be able to speak as each other.
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.
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.
Questions, answered plainly
Can I let somebody send without giving them everything?
Yes. Roles separate composing, sending, reading the numbers and seeing invoices, and a member can be restricted to a single channel. The same split exists for API keys, so a script can be allowed to send and forbidden from deleting.
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.
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.
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