Skip to main content
By configuring an HTTP endpoint, Flashduty issues a request on the schedule you define and parses the response into events conforming to the Standard Alert Event protocol, which are then written into the alert channel. Your system does not need to support push delivery — it only needs to expose a readable alert query endpoint. :::tips HTTP Pull is the right choice when your source cannot send webhooks, is query-only by nature, or when you do not want to modify the upstream system. If your system already supports webhook delivery, prefer the corresponding push-based integration (Prometheus, Zabbix, etc.) — it has lower latency and a smaller resource footprint. :::

Setup Steps


In Flashduty

Configuration


HTTP Request

Pagination

Many query-style endpoints cap the number of records returned per call and require cursor-based pagination to walk through the full result set. Flashduty supports cursor pagination: on each response it extracts the next-page cursor, injects it into the next request, and repeats until the cursor is missing or the page cap is reached.

Severity Mapping

External systems use different field names and values for alert severity. Severity Mapping translates the external value into Flashduty’s standard Critical / Warning / Info.
  • Flashduty reads the event_status field from each event in the response (the severity field defined by the Standard Alert Event protocol) and looks it up in the mapping table to find the corresponding Flashduty severity.
  • Default mapping: P1 → Critical, P2 → Warning, P3 → Info. You may remove the defaults or add any number of custom entries.
  • Fallback when no match: if the event_status value does not match any key in the mapping, it falls back to Warning.

Response Format

The response must conform to Flashduty’s Standard Alert Event protocol (response_mode = standard). Key fields include event_status, title_rule, alert_key, description, labels, etc. Refer to the Standard Alert Event documentation for the semantics and length limits of each field. When pagination is enabled, the response must additionally expose a field for the next-page cursor, located at the path you set in Cursor Path. A typical shape:

Default Route


When creating a “Shared Integration” (under Integration Center => Alert Events), you must configure a default route — otherwise newly pulled events will be dropped. After creation, you can add finer-grained rules under Route. A “Dedicated Integration” (created under the Integrations tab of a specific channel) is automatically bound to that channel and does not need a separate default route.

Template Variables


The URL and request body support Go template syntax. There is currently one built-in variable: Usage rules:
  • When cursor pagination is enabled, {{.PageValue}} must appear at least once in the URL (when Inject To is URL Query) or the body (when Inject To is Body) — otherwise the next-page cursor cannot take effect.
  • GET requests force Inject To to URL Query, but you still decide which query parameter the variable lives in, or you can use Param Name to let Flashduty append it for you.
  • When pagination is None, the variable always renders as an empty string.