tableau / VizAlerts

Data-driven alerting for Tableau Server
MIT License
211 stars 91 forks source link

Add WhatsApp support #34

Open jdrummey opened 8 years ago

jdrummey commented 8 years ago

As an alternative (or addition?) to SMS delivery add support for WhatsApp.

PATH is an international healthcare NGO working with the Zambian Ministry of Health to eliminate malaria, with the support of the Tableau Foundation. There are community health workers who have feature phones (so email is not an option) who primarily use WhatsApp rather than SMS.

There is no official WhatsApp API, there is a Python library at https://github.com/tgalal/yowsup.

Given the risk that the community-built library could be made invalid by a change to WhatsApp any deployment needs to have a fallback, so I propose having the ability for VizAlerts in the same installation to support both an SMS delivery (such as via the Twilio integration) and the WhatsApp integration. I'm thinking that we'd add a new Email Action value of 3 for WhatsApp, then if a user needed to fall back they could change their trigger views to use 2 instead. Otherwise the code would look much like the Twilio integration.

Some other notes:

jdrummey commented 7 years ago

A follow-up on this. From more research the yowsup library and other 3rd-party libraries are not feasible at this time for two reasons: 1) they aren't using an officially supported API they can fail at any time if WhatsApp makes a change and 2) WhatsApp is really sensitive to spam and sending unsolicited messages, it appears to be all to easy to have numbers blocked by sending too many messages in too short an interval, etc.

Until WhatsApp has an official API we're going to need to hold off on this.