target / goalert

Open source on-call scheduling, automated escalations, and notifications so you never miss a critical alert
https://goalert.me
Apache License 2.0
2.21k stars 235 forks source link

Call alert script with arguments #871

Open hugoreadonlyuser opened 3 years ago

hugoreadonlyuser commented 3 years ago

Is your feature request related to a problem? Please describe: We would like to to send alert messages to whatsapp and or telegram . For instance use smooch api with a python script that receives the message and its values via arguments from goalert. Currently we are locked on twilio which cannot configured to use whatsapp instead of SMS.

Describe the solution you'd like: Having a media type alert or custom script that can be configured with arguments would open to use any message providers.

m17ch commented 3 years ago

Hi @hugoreadonlyuser -- thanks for the enhancement suggestion.

Just gathering some additional data / feedback on what you have in mind for this:

You're not necessarily looking for direct WhatsApp or Telegram support, but a generic method of sending a webhook (with the alert details payload) to external services?

Let me know if you have any additional details for what you're thinking or if I am misinterpreting the request. Thanks again!

forrayz commented 3 years ago

Hi sorry I was using our hugo service acc for post :) A generic webhook method would be better. Twilio vendor lock is a show stopper for us.

ekeih commented 3 years ago

Hi, we are also very interested in this. We would like to use goalert to send generic emails (smtp) and SMS with other providers. Maybe my thoughts about this provide some additional background that could help during decisions. I see the following options to support a broader range of outgoing alert targets:

  1. Implement SMTP handler for outgoing alerts. #45
  2. Implement handlers for other SMS providers one by one.
  3. Implement an exec handler, that runs an external script for outgoing alerts.
  4. Implement a webhook handler for outgoing alerts.

I think 1. would be cool, because it is already very generic and therefore could be part of the goalert core. 2. sounds like a never ending maintenance nightmare. 3. and 4. are universal solutions that would allow anyone to implement their own alert handlers without the need to change the goalert core. 3. reminds me of the NotificationCommand of Icinga2 and 4. of the webooks in Prometheus Alertmanager. I think 3. is a bit easier for the enduser, but 4. is better suited for distributed systems like Kubernetes.

Personally I would love it if goalert implements 1., 3. and 4., but I would already be happy if just 3. or 4. works. However you decide, thank you very much for all the work you put into goalert and have a nice day 🙂

mastercactapus commented 3 years ago

So maybe for MVP:

There are further considerations like putting a webhook directly on an EP, or a more integrated/system-wide webhook (i.e., some sort of plugin system) that could be more next step things.

As far as #1 that has been merged into master, not in an official release yet though.

mastercactapus commented 3 years ago

Another quick question, what providers are others using for SMS/Voice? Just in terms of prioritization, we have had backlog-plans to add additional provider options in the future, and would be helpful to know which to look at first.

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity.

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity.