nikoksr/notify

A dead simple Go library for sending notifications to various messaging services.

Go

3,908

1,241 commits

updated Oct 12, 2026

See the code

README

notify logo

A dead simple Go library for sending notifications to various messaging services.

 

CI Go Report Card go.dev reference

 

About

Notify started as a solution to a personal problem: I needed a simple way to send notifications across different messaging platforms. What began as a tool for my own use has grown into a library designed for quick integration and ease of use, applicable to any notification scenario you might have.

Disclaimer

Any misuse of this library is your own liability and responsibility and cannot be attributed to the authors of this library. See license for more.

Spamming through the use of this library may get you permanently banned on most supported platforms.

Since Notify is highly dependent on the consistency of the supported external services and the corresponding latest client libraries, we cannot guarantee its reliability nor its consistency, and therefore you should probably not use or rely on Notify in critical scenarios.

Install

go get -u github.com/nikoksr/notify

Example usage

// Create a telegram service. Ignoring error for demo simplicity.
telegramService, _ := telegram.New("your_telegram_api_token")

// Passing a telegram chat id as receiver for our messages.
// Basically where should our message be sent?
telegramService.AddReceivers(-1234567890)

// Tell our notifier to use the telegram service. You can repeat the above process
// for as many services as you like and just tell the notifier to use them.
// Inspired by http middlewares used in higher level libraries.
notify.UseServices(telegramService)

// Send a test message.
_ = notify.Send(
	context.Background(),
	"Subject/Title",
	"The actual message - Hello, you awesome gophers! :)",
)

Recommendation

In this example, we use the global Send() function. Similar to most logging libraries such as zap, we provide global functions for convenience. However, as with most logging libraries, we also recommend avoiding the use of global functions as much as possible. Instead, use one of our versatile constructor functions to create a new local Notify instance and pass it down the stream.

Contributing

Yes, please! Contributions of all kinds are very welcome! Feel free to check our open issues. Please also take a look at the contribution guidelines.

Psst, don't forget to check the list of missing services waiting to be added by you or create a new issue if you want a new service to be added.

Supported services

Click here to request a missing service.

ServicePathCreditsStatus
Amazon SESservice/amazonsesaws/aws-sdk-go-v2✔️
Amazon SNSservice/amazonsnsaws/aws-sdk-go-v2✔️
Barkservice/bark-✔️
DingTalkservice/dindingblinkbean/dingtalk✔️
Discordservice/discordbwmarrin/discordgo✔️
Emailservice/mailjordan-wright/email✔️
Firebase Cloud Messagingservice/fcmappleboy/go-fcm✔️
Google Chatservice/googlechatgoogleapis/google-api-go-client✔️
HTTPservice/http-✔️
Larkservice/larkgo-lark/lark✔️
Lineservice/lineline/line-bot-sdk-go✔️
Line Notifyservice/lineutahta/go-linenotify✔️
Mailgunservice/mailgunmailgun/mailgun-go✔️
Mailtrapservice/mailtrap-✔️
Matrixservice/matrixmautrix/go✔️
Microsoft Teamsservice/msteamsatc0005/go-teams-notify✔️
PagerDutyservice/pagerdutyPagerDuty/go-pagerduty✔️
Plivoservice/plivoplivo/plivo-go✔️
Pushoverservice/pushovergregdel/pushover✔️
Pushbulletservice/pushbulletcschomburg/go-pushbullet✔️
Redditservice/redditvartanbeno/go-reddit✔️
RocketChatservice/rocketchatRocketChat/Rocket.Chat.Go.SDK✔️
SendGridservice/sendgridsendgrid/sendgrid-go✔️
Slackservice/slackslack-go/slack✔️
Syslogservice/sysloglog/syslog✔️
Telegramservice/telegramgo-telegram-bot-api/telegram-bot-api✔️
TextMagicservice/textmagictextmagic/textmagic-rest-go-v2✔️
Twilioservice/twiliokevinburke/twilio-go✔️
Twitterservice/twitterdrswork/go-twitter✔️
Viberservice/vibermileusna/viber✔️
WeChatservice/wechatsilenceper/wechat✔️
Webpush Notificationservice/webpushSherClockHolmes/webpush-go✔️
WhatsAppservice/whatsappRhymen/go-whatsapp❌

Special Thanks

Maintainers

Logo

The logo was made by the amazing MariaLetta.

More Projects

If you find this library useful, you might also be interested in:

  • assert-go - Tiny (~100 LoC) Go assertion library focused on crystal-clear failure messages
  • konfetty - Zero-dependency, type-safe and powerful post-processing for your existing config solution in Go
  • typeid-zig - Complete Zig implementation of the TypeID specification, recognized as an official community implementation

Built with ❤️ by @nikoksr
aws-ses
bot
discord
email
go
golang
hacktoberfest
messaging
microsoft-teams
notification
notify
pushbullet
rocketchat
sendgrid
slack
telegram
twilio
twitter
wechat
whatsapp

nikoksr/notify

A dead simple Go library for sending notifications to various messaging services.

Go

3,908

1,241 commits

updated Oct 12, 2026

See the code

README

notify logo

A dead simple Go library for sending notifications to various messaging services.

 

CI Go Report Card go.dev reference

 

About

Notify started as a solution to a personal problem: I needed a simple way to send notifications across different messaging platforms. What began as a tool for my own use has grown into a library designed for quick integration and ease of use, applicable to any notification scenario you might have.

Disclaimer

Any misuse of this library is your own liability and responsibility and cannot be attributed to the authors of this library. See license for more.

Spamming through the use of this library may get you permanently banned on most supported platforms.

Since Notify is highly dependent on the consistency of the supported external services and the corresponding latest client libraries, we cannot guarantee its reliability nor its consistency, and therefore you should probably not use or rely on Notify in critical scenarios.

Install

go get -u github.com/nikoksr/notify

Example usage

// Create a telegram service. Ignoring error for demo simplicity.
telegramService, _ := telegram.New("your_telegram_api_token")

// Passing a telegram chat id as receiver for our messages.
// Basically where should our message be sent?
telegramService.AddReceivers(-1234567890)

// Tell our notifier to use the telegram service. You can repeat the above process
// for as many services as you like and just tell the notifier to use them.
// Inspired by http middlewares used in higher level libraries.
notify.UseServices(telegramService)

// Send a test message.
_ = notify.Send(
	context.Background(),
	"Subject/Title",
	"The actual message - Hello, you awesome gophers! :)",
)

Recommendation

In this example, we use the global Send() function. Similar to most logging libraries such as zap, we provide global functions for convenience. However, as with most logging libraries, we also recommend avoiding the use of global functions as much as possible. Instead, use one of our versatile constructor functions to create a new local Notify instance and pass it down the stream.

Contributing

Yes, please! Contributions of all kinds are very welcome! Feel free to check our open issues. Please also take a look at the contribution guidelines.

Psst, don't forget to check the list of missing services waiting to be added by you or create a new issue if you want a new service to be added.

Supported services

Click here to request a missing service.

ServicePathCreditsStatus
Amazon SESservice/amazonsesaws/aws-sdk-go-v2✔️
Amazon SNSservice/amazonsnsaws/aws-sdk-go-v2✔️
Barkservice/bark-✔️
DingTalkservice/dindingblinkbean/dingtalk✔️
Discordservice/discordbwmarrin/discordgo✔️
Emailservice/mailjordan-wright/email✔️
Firebase Cloud Messagingservice/fcmappleboy/go-fcm✔️
Google Chatservice/googlechatgoogleapis/google-api-go-client✔️
HTTPservice/http-✔️
Larkservice/larkgo-lark/lark✔️
Lineservice/lineline/line-bot-sdk-go✔️
Line Notifyservice/lineutahta/go-linenotify✔️
Mailgunservice/mailgunmailgun/mailgun-go✔️
Mailtrapservice/mailtrap-✔️
Matrixservice/matrixmautrix/go✔️
Microsoft Teamsservice/msteamsatc0005/go-teams-notify✔️
PagerDutyservice/pagerdutyPagerDuty/go-pagerduty✔️
Plivoservice/plivoplivo/plivo-go✔️
Pushoverservice/pushovergregdel/pushover✔️
Pushbulletservice/pushbulletcschomburg/go-pushbullet✔️
Redditservice/redditvartanbeno/go-reddit✔️
RocketChatservice/rocketchatRocketChat/Rocket.Chat.Go.SDK✔️
SendGridservice/sendgridsendgrid/sendgrid-go✔️
Slackservice/slackslack-go/slack✔️
Syslogservice/sysloglog/syslog✔️
Telegramservice/telegramgo-telegram-bot-api/telegram-bot-api✔️
TextMagicservice/textmagictextmagic/textmagic-rest-go-v2✔️
Twilioservice/twiliokevinburke/twilio-go✔️
Twitterservice/twitterdrswork/go-twitter✔️
Viberservice/vibermileusna/viber✔️
WeChatservice/wechatsilenceper/wechat✔️
Webpush Notificationservice/webpushSherClockHolmes/webpush-go✔️
WhatsAppservice/whatsappRhymen/go-whatsapp❌

Special Thanks

Maintainers

Logo

The logo was made by the amazing MariaLetta.

More Projects

If you find this library useful, you might also be interested in:

  • assert-go - Tiny (~100 LoC) Go assertion library focused on crystal-clear failure messages
  • konfetty - Zero-dependency, type-safe and powerful post-processing for your existing config solution in Go
  • typeid-zig - Complete Zig implementation of the TypeID specification, recognized as an official community implementation

Built with ❤️ by @nikoksr
aws-ses
bot
discord
email
go
golang
hacktoberfest
messaging
microsoft-teams
notification
notify
pushbullet
rocketchat
sendgrid
slack
telegram
twilio
twitter
wechat
whatsapp

Project health

Overall

6.9/10

Maintained

10/10

Code review

3/10
OpenSSF Scorecard

Latest release

v1.6.0 · Aug 31, 2026

Releases this year

3

Significant stargazers

(top 24 of 37)

Joseph Kato

305 followers · starred Nov 2024

Andy Grunwald

515 followers · starred Jul 2024

Oz

186 followers · starred May 2026

Amaury

446 followers · starred Jan 2022