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 standardCritical / Warning / Info.
- Flashduty reads the
event_statusfield 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_statusvalue does not match any key in the mapping, it falls back toWarning.
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 isURL Query) or the body (when Inject To isBody) — otherwise the next-page cursor cannot take effect. GETrequests force Inject To toURL 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.