Repository navigation
Send chat, email, SMS, push, and on-call notifications through one small Go Sender interface.
What's included
- 51 drivers, including Slack, Discord, Telegram, PagerDuty, ntfy, Gotify, APNs, FCM, SNS, and Web Push.
- Synchronous sends, bounded fanout, conservative fallback, and explicit incident lifecycles.
- Optional recipient planning, typed rendering, and process-local deduplication.
- Caller-owned HTTP transports, application testing fakes, and executable examples for every driver constructor.
- A standard-library-only root module. Mail reuses GoForj Mail; Mail, APNs, SNS, and Web Push are independent optional modules.
Try it
Requires Go 1.24 or newer.
go get github.com/goforj/notification@v0.1.0Install only the optional adapters you use:
go get github.com/goforj/notification/driver/mail@v0.1.0
go get github.com/goforj/notification/driver/apns@v0.1.0
go get github.com/goforj/notification/driver/sns@v0.1.0
go get github.com/goforj/notification/driver/webpush@v0.1.0See the README for the quick start and API examples. Each optional module has its own driver/<name>/v0.1.0 tag.
Verification scope
Protocol fixtures cover all drivers. ntfy, Gotify, and Matrix also have real-server verification. Live hosted-provider and paired Signal verification remains pending where marked in the driver guide. Provider acceptance does not prove recipient delivery.
The release record tracks module publication and detailed validation evidence.