oncall-engine/docs/sources/integrations/webhook/index.md
Alyssa Wada 80f932995c
oncall docs refactor (#3757)
# What this PR does

- Restructure the OnCall documentation to align with Grafana Labs
[documentation structure
guidance](https://grafana.com/docs/writers-toolkit/structure/).

- Updates documentation front matter to include all required fields.

## Which issue(s) this PR fixes
Related to issue #3700 

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [ ] Documentation added (or `pr:no public docs` PR label added if not
required)
- [ ] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not
required)

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-02-08 22:59:28 +00:00

68 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
aliases:
- ../add-webhook-integration/
canonical: https://grafana.com/docs/oncall/latest/integrations/webhook/
keywords:
- Grafana Cloud
- Alerts
- Notifications
- on-call
- Alertmanager
- Prometheus
title: Inbound Webhook
weight: 700
---
# Inbound Webhook integrations for Grafana OnCall
Grafana OnCall directly supports many integrations, those that arent currently listed in the Integrations menu can be
connected using the webhook integration and configured alert templates.
With the webhook integration, you can connect to any alert source that isn't listed in the **Create Integration** page.
There are two available formats, **Webhook** and **Formatted Webhook**.
- **Webhook** will pull all of the raw JSON payload and display it in the manner that it's received.
- **Formatted Webhook** can be used if the alert payload sent by your monitoring service is formatted in a way that
OnCall recognizes.
The following fields are recognized, but none are required:
- `alert_uid`: a unique alert ID for grouping.
- `title`: a title.
- `image_url`: a URL for an image attached to alert.
- `state`: either `ok` or `alerting`. Helpful for auto-resolving.
- `link_to_upstream_details`: link back to your monitoring system.
- `message`: alert details.
To configure a webhook integration:
1. In the **Integrations** tab, click **+ New integration to receive alerts**.
2. Select either **Webhook** or **Formatted Webhook** integration.
3. Follow the configuration steps in the **How to connect** section of the integration settings.
4. Use the unique webhook URL to complete any configuration in your monitoring service to send POST requests. Use any
http client, e.g. curl to send POST requests with any payload.
For example:
```bash
curl -X POST \
https://a-prod-us-central-0.grafana.net/integrations/v1/formatted_webhook/m12xmIjOcgwH74UF8CN4dk0Dh/ \
-H 'Content-Type: Application/json' \
-d '{
"alert_uid": "08d6891a-835c-e661-39fa-96b6a9e26552",
"title": "The whole system is down",
"image_url": "https://upload.wikimedia.org/wikipedia/commons/e/ee/Grumpy_Cat_by_Gage_Skidmore.jpg",
"state": "alerting",
"link_to_upstream_details": "https://en.wikipedia.org/wiki/Downtime",
"message": "Smth happened. Oh no!"
}'
```
To learn how to use custom alert templates for formatted webhooks, see
[Configure alerts templates][jinja2-templating].
{{% docs/reference %}}
[jinja2-templating]: "/docs/oncall/ -> /docs/oncall/<ONCALL_VERSION>/configure/jinja2-templating"
[jinja2-templating]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/oncall/configure/jinja2-templating"
{{% /docs/reference %}}