Hello,
I’m using Grafana-managed alerting with AWS IoT SiteWise as the data source.
The SiteWise query returns a time, numeric value, and quality for each data point. I have an alert rule that monitors the numeric value and sends an email whenever the state changes.
The issue is with the timestamp in the alert email. Grafana’s .StartsAt represents when Grafana evaluated the rule and changed the alert to Firing. What I need instead is the original timestamp of the data point from AWS IoT SiteWise that caused the state change.
For example, if the source value changes at 12:22:51, but Grafana evaluates the rule later, I want the email to show 12:22:51 as the state-change time rather than the alert evaluation time.
I can see the correct timestamp in the raw SiteWise query response, but after the query goes through the alert expressions/reduction, the timestamp is not available in $values; only the reduced numeric values and labels remain.
What I’m trying to achieve is:
SiteWise data point → actual source timestamp → Grafana alert → alert email showing the exact state-change timestamp
Has anyone implemented something similar with AWS IoT SiteWise and Grafana-managed alerting? I’m looking for a way to retain or pass the original data-point timestamp through the alert evaluation so it can be displayed in the notification email.



