Skip to main content
Uptrends pushes alerts through a custom integration (Uptrends integration): when a monitor fails, while the error is ongoing, and when it recovers, Uptrends posts one JSON body to Flashduty, built from the body template on this page. Each Uptrends incident maps to one Flashduty alert: it opens when the monitor fails and closes automatically when the monitor recovers.

In Flashduty On-call

You can get the integration push URL in either of the following ways.

Use a dedicated integration

  1. In the Flashduty console, select Channel and open a channel
  2. Select Configuration → Integrations → Private integration, then click Add integration
  3. Select Uptrends and click Save
  4. Open the generated integration card and copy the Push URL

Use a shared integration

  1. In the Flashduty console, go to Integration Center → Alert Events
  2. Select Uptrends and enter an integration name
  3. Configure the default route and select a channel. You can add more rules under Routing after creation
  4. Click Save and copy the generated Push URL

Configure Uptrends

The steps below need an Uptrends user who can manage Integrations and Alert definitions.
1

Create a custom integration in Uptrends

Where: Uptrends › Alerting › Integrations › + (new navigation: Configure › Alerting channels › +)You need an Uptrends account that can manage Integrations and Alert definitions.
2

Set up the request template in Uptrends

Where: Uptrends › Alerting › Integrations › Customizations tab (new navigation: Configure › Alerting channels)Body template:
Do not rename the fields; incident_key and alert_type are required. Monitor names, error descriptions, and other text can contain quotes or line breaks, so the template escapes them with @JsonEncode. Keep it.By default, Uptrends sends Error, Reminder, and Ok messages with the same request, so this one template covers both alerts and recoveries. Do not split them with Add steps. If they are already split, make sure every message type uses the template above and that OK alert is checked.
3

Send a test alert in Uptrends

Where: Uptrends › Alerting › Integrations (bottom of the integration page) › Send test alertPick any Alert type (Error alert, OK alert or Reminder alert), click Start test, and confirm that the result shows 200 OK. Then click Save.Uptrends fills a test alert with fictitious monitor and alert data. Flashduty recognizes test alerts of every type, answers 200, and creates no alert. The test therefore proves connectivity only and does not turn the checklist’s “first event received” green.
4

Attach the integration to an alert definition in Uptrends

Where: Uptrends › Alerting › Alert definitions (new navigation: Configure › Alert escalations)An integration sends alerts only when an alert definition uses it. Open the alert definition you want to use, select an Escalation level tab, check the Flashduty integration you created, and click Save.
5

Verify the lifecycle

Make a monitor fail (for example, temporarily point an HTTPS monitor to a path that returns 500) and confirm that Flashduty receives an alert. Restore the address, wait for the monitor to recover, and confirm that the alert closes. Uptrends sends an alert only after the error is confirmed (usually by more than one checkpoint) and the escalation level conditions of the alert definition are met.

Alert key

Flashduty uses incident_key ({{@incident.key}}) as the Alert Key. Uptrends documents that the error alert and the Ok alert of one incident share the same incident key and that each new incident gets a new key, so the error, reminder, and recovery messages all land on the same Flashduty alert. A new failure after the monitor recovers opens a new alert. Changes to the monitor name, error description, checkpoint, or alert definition do not change the Alert Key. Flashduty rejects a request that lacks incident_key or alert_type, or in which either field is still an unrendered {{@...}} variable.

Alert lifecycle

Flashduty handles each message by its alert_type field ({{@alert.type}}, case-insensitive): Any other value is rejected.

Status and severity

Uptrends alerts carry no severity, so every alert is Critical by default. For another severity, append &severity=Warning (or Info) to the push URL. A recovery event keeps the severity of the original alert.

Alert content

  • Title: the monitor name, or Uptrends incident <incident_key> when the monitor name is missing
  • Description: the error description ({{@alert.description}}), which includes the failing step number for multi-step monitors
  • Labels: check (monitor name), resource (the address the monitor checks), incident_key, alert_type, monitor_guid, monitor_type, checkpoint (checkpoint of the last check), error_type_id, first_error_utc (time of the first error, UTC), first_error_check_url (link to the check that first failed), dashboard_url (link to the monitor dashboard), and alert_definition (alert definition name)
Empty fields are not written as labels.

Troubleshooting

  • The test alert fails: Make sure ApiUrl is the full push URL, including the integration_key parameter, and that Method is POST
  • Flashduty reports that the body is not valid JSON: Make sure the request body matches the template and the text fields use @JsonEncode
  • No alert is sent: Make sure the alert definition of the monitor has the integration checked in an Escalation level. The Messages tab of the alert details in Uptrends shows the request Uptrends sent and the response from Flashduty
  • The alert does not recover: Make sure Ok messages use the same template and that incident_key in the template is {{@incident.key}}
For the meaning of each variable, see the Uptrends documentation Alerting system variables and Custom integrations.