Documentation Index
Fetch the complete documentation index at: https://docs.flashcat.cloud/llms.txt
Use this file to discover all available pages before exploring further.
Overview
By referencing variables from alert labels and attributes, you can modify and customize incident severity, title, description, and other information. This is primarily used in two scenarios:Event API Reporting
When reporting custom alert events via the alert [Event API](/en/on-call/integration/alert-integration/alert-sources/standard alert), you can use the
title_rule field to customize the alert title.Alert Pipeline
Reference variables in alert pipelines to modify alert severity, title, description, and other information.
Event API Example
title_rule
Specifies
resource and check labels as the alert title.Alert Pipeline Example

Variable Reference Methods
Reference Labels via ${var}
Use [TPL] as prefix and ${} to reference variables. Variable content is extracted from labels; if extraction fails, <no value> is used as a placeholder.
| Rule | Label Values | Generated Content |
|---|---|---|
[TPL]${resource} / ${check} | {"resource": "127.0.0.1", "check": "cpu idle low"} | 127.0.0.1 / cpu idle low |
[TPL]${resource} / ${check} | {"resource": "127.0.0.1"} | 127.0.0.1 / <no value> |
[TPL]${resource} / Host Down | {"resource": "127.0.0.1"} | 127.0.0.1 / Host Down |
Reference via Golang Template Syntax
Use[TPL] as prefix and {{}} to reference variables (can reference both labels and attributes); if extraction fails, returns an empty string for missing labels.
| Rule | Variable Values | Generated Content |
|---|---|---|
[TPL]{{.Labels.resource}} / {{.Labels.check}} | {"resource": "127.0.0.1", "check": "cpu idle low"} | 127.0.0.1 / cpu idle low |
[TPL]{{.Labels.resource}} / {{.Labels.check}} | {"resource": "127.0.0.1"} | 127.0.0.1 / |
[TPL]{{.EventSeverity}} / Host Down | {"EventSeverity": "Warning"} | Warning / Host Down |
${} syntax and {{}} syntax have two key differences:- Data scope:
${name}reads only fromLabelsand cannot reference attribute fields;{{}}uses the whole*AlertEventas the data source, so you can access every exported attribute as well asLabels. - Missing-value behavior: when a label is missing,
${}returns<no value>while{{}}returns an empty string.
Supported Attributes
When you use{{}} syntax, the template data object is the alert event (AlertEvent) itself. The main fields you can reference are listed below:
| Field | Type | Description |
|---|---|---|
Title | string | Alert title |
Description | string | Alert description |
EventSeverity | string | Severity (Critical / Warning / Info) |
EventStatus | string | Event status (Critical / Warning / Info / Ok, where Ok indicates recovery) |
AlertKey | string | The alert’s unique key, used to merge events from the same series into a single alert |
TitleRule | string | The title-generation rule supplied at report time |
IntegrationType | string | Integration type (such as prometheus or zabbix.v5) |
IntegrationName | string | Integration name |
Labels | map | Label key-value set; access a specific label with {{.Labels.xxx}} |
FAQ
What happens if a label doesn't exist when using labels to dynamically generate titles?
What happens if a label doesn't exist when using labels to dynamically generate titles?
Depending on which variable retrieval method you use, the title may retain the original variable information or use
<no value> as a placeholder.