Using webhook_configs with Zoom

210 views
Skip to first unread message

Yordan Yordanov

unread,
Jul 2, 2019, 3:29:26 AM7/2/19
to Prometheus Users
Hello, I've already asked the question in Stack overflow, so I'm attaching the link. Any help will be much appreciated. Thanks.


Simon Pasquier

unread,
Jul 2, 2019, 11:42:08 AM7/2/19
to Yordan Yordanov, Prometheus Users
I don't have much knowledge of Zoom bots (assuming you're talking
about this [1]). But the general rule for using the webhook notifier
is that you run an intermediate service close to AlertManager that
receives the webhook payload from AlertManager and translates it into
something that your end system will understand.

[1] https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-chatbot-app

On Tue, Jul 2, 2019 at 9:29 AM Yordan Yordanov <yordan...@gmail.com> wrote:
>
> Hello, I've already asked the question in Stack overflow, so I'm attaching the link. Any help will be much appreciated. Thanks.
>
> https://stackoverflow.com/questions/56774455/connecting-prometheus-alertmanager-with-zoom-via-an-incoming-webhook
>
> --
> You received this message because you are subscribed to the Google Groups "Prometheus Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-use...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-users/5f48c7ea-c1fc-499e-b02c-46a6ddb39899%40googlegroups.com.

Yordan Yordanov

unread,
Jul 3, 2019, 8:55:25 AM7/3/19
to Prometheus Users
Zoom has an WebHook integration and it generates incoming webhook url, just like Slack, the difference is that it generates a token, which has to be included in the request. This is why I'm using the http_config. Why would I need intermediate service ?


вторник, 2 юли 2019 г., 18:42:08 UTC+3, Simon Pasquier написа:
I don't have much knowledge of Zoom bots (assuming you're talking
about this [1]). But the general rule for using the webhook notifier
is that you run an intermediate service close to AlertManager that
receives the webhook payload from AlertManager and translates it into
something that your end system will understand.

[1] https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-chatbot-app

On Tue, Jul 2, 2019 at 9:29 AM Yordan Yordanov <yordan...@gmail.com> wrote:
>
> Hello, I've already asked the question in Stack overflow, so I'm attaching the link. Any help will be much appreciated. Thanks.
>
> https://stackoverflow.com/questions/56774455/connecting-prometheus-alertmanager-with-zoom-via-an-incoming-webhook
>
> --
> You received this message because you are subscribed to the Google Groups "Prometheus Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to promethe...@googlegroups.com.

Simon Pasquier

unread,
Jul 3, 2019, 11:57:37 AM7/3/19
to Yordan Yordanov, Prometheus Users
AlertManager supports Slack webhooks via slack_config [1]. This is
different from webhook_config [2] which is there to enable
integrations not supported natively by AlertManager. See [3] for a
list of such intermediate services.
Is there any documentation available for the Zoom webhook integration?

[1] https://prometheus.io/docs/alerting/configuration/#slack_config
[2] https://prometheus.io/docs/alerting/configuration/#webhook_config
[3] https://prometheus.io/docs/operating/integrations/#alertmanager-webhook-receiver
> To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-use...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-users/a227dac6-b5f2-4a99-8dc0-4c571744a6ef%40googlegroups.com.

Yordan Yordanov

unread,
Jul 4, 2019, 2:45:09 AM7/4/19
to Prometheus Users


Here are the docs for Zoom IncomingWebhook - https://zoomappdocs.docs.stoplight.io/incoming-webhook-chatbot

Simon Pasquier

unread,
Jul 4, 2019, 5:09:07 AM7/4/19
to Yordan Yordanov, Prometheus Users
Thanks! I understand better now: you want to pass the raw JSON payload
from the webhook receiver to the Zoom chatbot as it doesn't seem to
mandate a particular format.
Unfortunately HTTP-based receivers such as the web hook only support
standard auth methods: basic auth, bearer token and TLS client auth.
Allowing arbitrary values for the Authorization header has already
been discussed in the past [2], the conclusion so far has been that we
wanted to support only authentication schemes that are standard [3].
In all cases, a custom integration with Zoom is still needed if you
want customized messages.

[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication#Authentication_schemes
[2] https://github.com/prometheus/common/issues/140
https://github.com/prometheus/common/pull/152
https://github.com/prometheus/prometheus/issues/5107
[3] https://www.iana.org/assignments/http-authschemes/http-authschemes.xhtml

On Thu, Jul 4, 2019 at 8:45 AM Yordan Yordanov <yordan...@gmail.com> wrote:
>
>
>
> Here are the docs for Zoom IncomingWebhook - https://zoomappdocs.docs.stoplight.io/incoming-webhook-chatbot
>
> --
> You received this message because you are subscribed to the Google Groups "Prometheus Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-use...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-users/5219dd3f-6988-4630-864c-b90da1c5a701%40googlegroups.com.

Yordan Yordanov

unread,
Jul 4, 2019, 10:55:30 AM7/4/19
to Prometheus Users
Thanks, but the Zoom webhook uses standard Auth method(bearer token  in the Authorization header) and I'm including it using the http_config: bearer_token field. I don't understand what is the problem here ?
Here is an example of working CURL request
curl 'https://inbots.zoom.us/incoming/hook/<SECRET>' -X POST -H 'Authorization: <SECRET>' -d 'Hello World!'

четвъртък, 4 юли 2019 г., 12:09:07 UTC+3, Simon Pasquier написа:
Thanks! I understand better now: you want to pass the raw JSON payload
from the webhook receiver to the Zoom chatbot as it doesn't seem to
mandate a particular format.
Unfortunately HTTP-based receivers such as the web hook only support
standard auth methods: basic auth, bearer token and TLS client auth.
Allowing arbitrary values for the Authorization header has already
been discussed in the past [2], the conclusion so far has been that we
wanted to support only authentication schemes that are standard [3].
In all cases, a custom integration with Zoom is still needed if you
want customized messages.

[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication#Authentication_schemes
[2] https://github.com/prometheus/common/issues/140
https://github.com/prometheus/common/pull/152
https://github.com/prometheus/prometheus/issues/5107
[3] https://www.iana.org/assignments/http-authschemes/http-authschemes.xhtml

On Thu, Jul 4, 2019 at 8:45 AM Yordan Yordanov <yordan...@gmail.com> wrote:
>
>
>
> Here are the docs for Zoom IncomingWebhook - https://zoomappdocs.docs.stoplight.io/incoming-webhook-chatbot
>
> --
> You received this message because you are subscribed to the Google Groups "Prometheus Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to promethe...@googlegroups.com.

Simon Pasquier

unread,
Jul 5, 2019, 3:34:28 AM7/5/19
to Yordan Yordanov, Prometheus Users
With bearer_token, the AlertManager request will be equivalent to:

curl 'https://inbots.zoom.us/incoming/hook/<SECRET>' -X POST -H
'Authorization: Bearer <SECRET>' -d 'Hello World!'

As I wrote earlier the standard specifies that the Authorization
header should be composed of the authorization type followed by the
credentials:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication#Authorization_and_Proxy-Authorization_headers
> To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-use...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-users/cefb19eb-fd44-4c33-974f-9fbefb64c6a4%40googlegroups.com.

Yordan Yordanov

unread,
Jul 5, 2019, 8:19:31 AM7/5/19
to Prometheus Users
Oh ok, I think I get it now. So the issue is that Zoom is expecting "Authorization: <SECRET>" but AM is sending "Authorization: Bearer <SECRET>". Thanks :)
Reply all
Reply to author
Forward
0 new messages