Transformation Rule configuration
A Transformation Rule maps an incoming webhook payload into Unit Oncall's normalized alert format. It can be created independently of other resources.
Fields
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
name | string | Yes | — | Rule name. Cannot be empty. |
description | string | No | "" | Free-text description. |
is_active | boolean | Yes | — | Whether the rule is active. Send this value explicitly (true to enable). If omitted, the rule is treated as inactive (false). |
mappings | object | Yes | {} | Mapping definitions per target field. Keys: fingerprint, title, message, severity, timestamp, labels, tags. Each value is a field mapping (see below). |
Field mapping
Each entry in mappings is an object describing how to extract that target field from the incoming payload:
| Sub-field | Required | Value | Notes |
|---|---|---|---|
type | Yes | jsonpath, format, or static | The extraction method. |
path | When type is jsonpath | JSONPath string | Path into the incoming payload. |
format | When type is format | format string | Template that combines other values. |
value | When type is static | fixed value | A constant value. |
mapping | No | key–value map | Translates an extracted value to another value. |
default | No | fallback value | Used when extraction yields nothing. |
fingerprint, title, and severity are recommended for reliable alerts, though they are not strictly enforced.
⚠️ Map
timestamp(the detection time) whenever your source provides it. Whentimestampis absent, Unit Oncall falls back to the time the webhook was received. Under delivery retries or network reordering, the order of state transitions for the samefingerprint(e.g.warning→critical→info) may be misjudged, so an alert's current state can settle on the wrong severity or a resolved alert may appear unresolved. Map your source's detection time (e.g. Prometheus/GrafanastartsAt, Datadog$LAST_UPDATED). Accepted formats: RFC3339 string or epoch seconds/milliseconds.
