AgentNotify
Outbound delivery · every one opt in

Reach yourself wherever you actually are.

A notification is recorded on your computer first and always. A channel is the optional second step that carries it somewhere else — your phone, a chat room, an inbox, an endpoint of your own. Nineteen are implemented; every one is off until you configure and enable it.

19

adapters implemented

0

enabled before you say so

1

local record that stays authoritative

The inventory

Pick the ones you already use.

You can add more than one of each — a quiet Slack channel for completions, your phone for approvals only.

Your own phone

The path built for this job, rather than someone else's product with notifications bolted on.

AgentNotify Relay

Push services

Self-hosted or public push, if you already run one.

ntfyGotifyPushoverPushbullet

Chat and mail

Where your team already looks. Message content is excluded by default.

SMTPTelegramDiscordSlackMicrosoft Teams WorkflowsZoho CliqGoogle ChatMattermostMatrix

Automation and self-hosted

For anything with an endpoint or a broker of its own.

Generic HTTPS webhookMQTT 5

Paid messaging

Billed per message by the provider, and labelled as such in the interface.

Twilio SMSMeta WhatsApp Cloud APITwilio WhatsApp
How they behave

Delivery is secondary, on purpose.

A channel that is down, misconfigured, or rate limited never removes, changes, or delays the local record.

Off until you say otherwise
New profiles and new routes are both created disabled. Nothing leaves the machine because you added a channel — only because you enabled a route that matches.
Message content is opt in
A route sends the title and type by default. Including the message body is a separate tick, because chat rooms have other people in them.
Credentials never come back
Secrets are encrypted for the current user and are write-only in the interface: leave a field blank to keep it, type to replace it, tick to erase it.
A durable outbox
Delivery runs off the request path with bounded retries, timeouts, payload limits, and idempotency, so a slow provider cannot stall the broker.
Routes decide, not channels
Priority, type, project, and agent filters choose what goes where. One notification can match several routes and delivers once per route.
Paid services are labelled
Twilio and WhatsApp adapters carry a visible cost warning, and stay opt-in like everything else.
Honest about verification

Tested with fake transports, not with your account.

Automated tests use synthetic secrets and fake transports. They prove the adapter builds and sends the right request; they cannot prove your provider account, template, broker ACL, quota, or recipient is correct. That is what each channel's Test button is for — after you have read what it will cost and who will see it.