goalert icon indicating copy to clipboard operation
goalert copied to clipboard

notification: plug-able providers

Open mastercactapus opened this issue 2 years ago • 3 comments

What problem would you like to solve? Please describe: Adding a new notification provider currently requires MANY touch-points in code and a lot of overhead: DB migrations, new types in several packages, updating various switch statements, etc...

Describe the solution you'd like: Make destinations generic so that things like listing Slack channels, sending messages to them, SMS, voice, etc... can be done through a separate service that can also be built/packaged with the core app.

Describe alternatives you've considered: As it stands, the only way to extend providers is to update a lot of spider-webby code.

Additional context: This will provide a clean way to add new providers quickly: #2290, #2102, #2049, #871, #552

mastercactapus avatar Sep 29 '22 15:09 mastercactapus

At a high level, here's what this might look like for an SMS provider. The plugin could also be built into GoAlert, but the overall functionality will be the same.

image

Additionally, optional interfaces for listing/enumeration (e.g., Slack channels) would be defined.

mastercactapus avatar Nov 30 '22 21:11 mastercactapus

+1 for this feature. In the above flow chart, can the class sms be a more general class like NotificationRequest? Just curious about the priority. Is there a tool to see all features progress?

Thank you!

tong-bluehill avatar Apr 16 '23 17:04 tong-bluehill

A lot of recent PRs have been made towards this end but were not tagged, for reference: https://github.com/target/goalert/pulls?q=is%3Apr+dest+is%3Aclosed

mastercactapus avatar Aug 21 '24 14:08 mastercactapus