Sending notifications programmatically: let me count the ways
trickster.dev
trickster.dev
If you have XMPP, you can also send notifications to XMPP directly via sendxmpp (of which there are actually many incarnations: https://wiki.xmpp.org/web/User:MDosch/Sendxmpp_incarnations ) or via a webhook/HTTP API such as https://slickmsg.com/
The normal public telephone numbers we use are "International ITU-T E.164-number for geographic areas" and all E.164 numbers consist of the digit 0 to 9 only and no other characters. Spaces, symbols prefixes or suffixes do not form part of the number.
Section 12 explains that when a local code should be called in order to make an international call (e.g. dialling 00 from the UK or 011 from the USA) then E.123 suggests using the symbol + before the E.164 number. This symbol can be used when displaying the number to a human so the human can understand that they should replace the + with their local code to call internationally.
There's also a bit in section B.7 which describes CLIs and denotes that a CLI Should only be "the full international ITU-T E.164-number, i.e., country code (CC), national destination code (NDC) and subscriber number (SN). No other information, such as prefixes or symbols (e.g., "+"), should be included"
We take the approach of essentially offering an abstraction layer that lets you route to one or more channels based on data related to the notification event instead of having to hardcode the integration at the callsite. This has the added benefit of also letting you pull the template abstraction into the same space (so you don't go crazy manually maintaining HTML templates for email, plain text for SMS, BlockKit for Slack, etc. etc.)
FYI we support integrations for nearly all of the channels mentioned here: email (via SMTP, SendGrid, SES, and others), Discord, SMS (via Twilio and others), web push, WhatsApp (via Twilio WhatsApp), Slack, & PagerDuty. And many others...
Then when you wish to reconfigure the channels you use for different notifications you can do so in a zero code way.
Alertmanager is available in Grafana Cloud as part of the alerting stack that is standard, so if you're using Grafana Cloud you already have Alertmanager. Alternatively it's free with Prometheus.
If I remember right it's the same message object format as the full api, the only real limitation is that it's oneway only communication.
That URL is: ttps://api.telegram.org/bot[bot_id]/sendMessage?chat_id=[chat_id]&parse_mode=Markdown&text=[message_contents]
Get the bot_id by sending "/newbot" to a telegram user named botfather.
Get the chat_id as described here: https://stackoverflow.com/questions/32423837
https://www.lifewire.com/sms-gateway-from-email-to-sms-text-...