notification.deliveries
Purpose
The notification.deliveries
dataset tracks the history of notification deliveries within Coralogix's Notification Center. It logs detailed information about each notification delivery attempt, including the status, timestamps, destination, and any errors that occurred. This dataset is invaluable for monitoring the success and failure of notification deliveries, diagnosing issues with notification routing, and auditing the overall performance of your notification system. It helps teams ensure that notifications are delivered reliably and enables troubleshooting when deliveries fail.
Schema description
Full JSON path | Field data type | Field data example | description |
---|---|---|---|
notificationCenter | Object | { ... } | Container for Notification Center envelope fields. |
notificationCenter.$l | Object | {"team":"SRE","service":"payments-api","env":"prod"} | Entity labels copied from the originating notification request. |
notificationCenter.$m | Object | { ... } | Metadata block for this delivery event. |
notificationCenter.$m.cxEventId | String (UUID) | "76c411be-6g4d-4fb1-a987-5fce042deaaf" | Unique Coralogix event identifier for this delivery record. |
notificationCenter.$m.timestamp | String (Date) | "2025-08-10T14:23:00Z" | Timestamp when this delivery event was recorded. |
notificationCenter.$m.severity | Enum | "Error" | Delivery severity derived from outcome.status (Info or Error ). |
notificationCenter.$m.priorityClass | String | "medium" | Delivery priority classification. |
notificationCenter.$m.entityType | String | "notificationDeliveries" | Fixed entity type marker. |
notificationCenter.$d | Object | { ... } | Delivery-specific identifiers and source linkage. |
notificationCenter.$d.notificationDeliveryId | String | "deliv-01H8F2J7Q0A3" | Unique identifier for this specific delivery attempt/record. |
notificationCenter.$d.source | Object | { ... } | Originating request identifiers and entity context. |
notificationCenter.$d.source.requestDeduplicationId | String (UUID) | "3f2504e0-4f89-11d3-9a0c-0305e82c3301" | Deduplication ID from the originating request. |
notificationCenter.$d.source.notificationId | String (UUID) | "6fa459ea-ee8a-3ca4-894e-db77e160355e" | Notification ID from the originating request. |
notificationCenter.$d.source.requestTimestamp | String (Date) | "2025-08-10T14:20:00Z" | Timestamp of the originating notification request. |
notificationCenter.$d.source.entityType | String | "alert" | Source entity type from the request. |
notificationCenter.$d.source.entitySubType | String | "threshold" | Source entity subtype from the request. |
destination | Object | { "type":"slack", "connectorInfo":{...}, "presetInfo":{...} } | Delivery destination details. |
destination.type | String | "slack" | Destination channel/category (e.g., slack , email , webhook ). |
destination.connectorInfo | Object | { "id":"conn-123", "userFacingId":"slack-oncall", "name":"Slack" } | Information about the connector used. |
destination.connectorInfo.id | String | "conn-123" | Internal connector identifier. |
destination.connectorInfo.userFacingId | String | "slack-oncall" | Human-readable identifier shown in the UI. |
destination.connectorInfo.name | String | "Slack" | Connector display name. |
destination.presetInfo | Object | { "id":"preset-9", "userFacingId":"oncall-room", "name":"#oncall" } | Preset configuration details, if used. |
destination.presetInfo.id | String | "preset-9" | Internal preset identifier. |
destination.presetInfo.userFacingId | String | "oncall-room" | Human-readable preset ID shown in the UI. |
destination.presetInfo.name | String | "#oncall" | Preset display name. |
message | String | "Alert: CPU usage is high!" | Optional human-readable message or summary for the delivery. |
content | Object | { "templated": { ... } } | Template inputs used to render message and connector payloads. |
content.templated | Object | { "messageConfig":"Alert: { alert.name }", "connectorConfig":"{ \"channel\":\"#oncall\" }" } | Serialized template inputs. |
content.templated.messageConfig | String | "Alert: { alert.name }" | Message configuration used for templating. |
content.templated.connectorConfig | String | "{ \"channel\":\"#oncall\", \"mention\":\"@oncall\" }" | Connector-specific template inputs. |
rendered | Object | { "messageConfig":"Alert: CPU usage is high!", "connectorConfig":"{ \"channel\":\"#oncall\" }" } | Rendered outputs after template resolution. |
rendered.messageConfig | String | "Alert: CPU usage is high!" | Rendered message payload. |
rendered.connectorConfig | String | "{ \"channel\":\"#oncall\" }" | Rendered connector payload/config. |
renderingErrors | Object | { "messageConfig": { "message": "template var missing" } } | Errors encountered during rendering, if any. |
renderingErrors.messageConfig | Object | { "message":"template var missing: alert.name" } | Message template rendering error details. |
renderingErrors.messageConfig.message | String | "template var missing: alert.name" | Error message from rendering the message template. |
renderingErrors.connectorConfig | Object | { "message":"invalid channel name" } | Connector template rendering error details. |
renderingErrors.connectorConfig.message | String | "invalid channel name" | Error message from rendering the connector template. |
routing | Object | { ... } | Routing metadata used to select destination. |
routing.routerInfo | Object | { "id":"router-01","userFacingId":"primary","name":"Primary Notifications Router" } | Router identification. |
routing.routerInfo.id | String | "router-01" | Router ID used to select the destination. |
routing.routerInfo.userFacingId | String | "primary" | Human-readable router ID shown in the UI. |
routing.routerInfo.name | String | "Primary Notifications Router" | Router name. |
routing.matchingRule | Object | { "name":"pagerduty-high","condition":"severity >= 3" } | The rule that matched for this delivery. |
routing.matchingRule.name | String | "pagerduty-high" | Name of the rule that matched. |
routing.matchingRule.condition | String | "severity >= 3" | Rule condition/expression that evaluated to a match. |
outcome | Object | { ... } | Final outcome and per-attempt details. |
outcome.timestamp | String (Date) | "2025-08-10T14:23:30Z" | Timestamp when the delivery outcome was finalized. |
outcome.durationMs | Number | 500 | Duration of the delivery execution (ms). |
outcome.e2eDuration | Number | 3000 | End-to-end duration from request registration to outcome (ms). |
outcome.protocol | String | "https" | Delivery protocol used (e.g., https , smtp , slack-api ). |
outcome.https | Object | { "responseStatusCode": 200 } | HTTPS-specific response details, if applicable. |
outcome.https.responseStatusCode | Number | 200 | HTTP status code returned by the destination. |
outcome.status | Enum | "Success" | Final outcome status: Success , Discarded , Failure , InternalFailure , or Rejected . |
outcome.statusReasons | Object / Array\ | { "type":"Timeout","message":"Request timed out after 10 seconds" } | Reason(s) for the final status (category + message). |
outcome.statusReasons.type | String | "Timeout" | Machine-friendly reason/category for the status. |
outcome.statusReasons.message | String | "Request timed out after 10 seconds" | Human-readable explanation of the status. |
outcome.attempts | Array\ | [{"timestamp":"2025-08-10T14:23:05Z","durationMs":300,"status":"Failure","protocol":"https","protocolDetails":{"retryAfterMs":1000}}] | Per-attempt execution details (retries, backoffs, etc.). |
outcome.attempts.timestamp | String (Date) | "2025-08-10T14:23:05Z" | Timestamp for the individual attempt. |
outcome.attempts.durationMs | Number | 300 | Attempt duration in milliseconds. |
outcome.attempts.status | String | "Failure" | Attempt status (often mirrors final outcome.status on last try). |
outcome.attempts.statusReasons | Object / Array\ | { "type":"Timeout","message":"Request timed out after 10 seconds" } | Reason(s) for the attempt status. |
outcome.attempts.protocol | String | "https" | Protocol used on the attempt. |
outcome.attempts.protocolDetails | Object | { "retryAfterMs": 1000 } | Protocol-specific detail map (e.g., headers, retry hints). |
How the data in this dataset can be used
Monitoring notification success and failures
By querying outcome.status
and outcome.timestamp
, users can monitor the success and failure rates of notifications. This helps track how often deliveries fail and identify the possible causes.
Example query:
source system/notification.deliveries
| filter outcome.status == 'Failure'
| explode outcome.statusReasons into reason
| groupby reason.type
aggregate count() as failures
| sortby failures desc
Auditing notification events
The dataset provides detailed timestamps and status data (outcome.timestamp
, outcome.status
), which is useful for auditing. For example, users can review all notifications sent in a specific time range and check their delivery statuses.
Example query:
source system/notification.deliveries
| filter outcome.timestamp >= 1753910400000000000
| filter outcome.timestamp <= 1754783999000000000
| groupby outcome.status
aggregate count() as deliveries
| sort deliveries desc
Troubleshooting delivery issues
If a notification fails, the statusReasons
field can be examined to identify common failure reasons (e.g., network timeout, rate limit reached). This allows teams to quickly identify and fix recurring issues.
Example query:
source system/notification.deliveries
| filter outcome.status == 'Failure'
| explode outcome.statusReasons into reason
| groupby reason.message
aggregate count() as failures
| sortby failures desc
notification.deliveries
schema
The notification.deliveries
dataset stores the history of notifications sent or attempted using Coralogix's Notification Center.
notificationCenter
$l
type: object
Entity labels copied from the originating notification request.
$m
cxEventId
type: string
(format: uuid
)
Unique Coralogix event identifier for this delivery record.
timestamp
type: string
Timestamp when this delivery event was recorded.
severity
Enum: Info
, Error
Delivery severity derived from outcome.status
.
priorityClass
type: string
Delivery priority classification (e.g., medium
).
entityType
type: string
Fixed entity type marker, e.g., notificationDeliveries
.
$d
notificationDeliveryId
type: string
Unique identifier for this specific delivery attempt/record.
source
requestDeduplicationId
type: string
Deduplication ID from the originating request.
notificationId
type: string
Notification ID from the originating request.
requestTimestamp
type: string
Timestamp of the originating notification request.
entityType
type: string
Source entity type from the request.
entitySubType
type: string
Source entity subtype from the request.
destination
type
type: string
Destination channel/category (e.g., slack
, email
, webhook
).
connectorInfo
id
type: string
Internal connector identifier.
userFacingId
type: string
Human-readable identifier shown in the UI.
name
type: string
Connector display name.
presetInfo
id
type: string
Internal preset identifier.
userFacingId
type: string
Human-readable preset ID shown in the UI.
name
type: string
Preset display name.
message
type: string
Optional human-readable message or summary for the delivery.
content
templated
messageConfig
type: string
Serialized template inputs for message content.
connectorConfig
type: string
Serialized template inputs for connector-specific options.
rendered
messageConfig
type: string
Rendered message payload after template resolution.
connectorConfig
type: string
Rendered connector payload/config after template resolution.
renderingErrors
messageConfig
message
type: string
Error details from rendering the message template.
connectorConfig
message
type: string
Error details from rendering the connector template.
routing
routerInfo
id
type: string
Router ID used to select the destination.
userFacingId
type: string
Human-readable router ID shown in the UI.
name
type: string
Router name.
matchingRule
name
type: string
Name of the rule that matched.
condition
type: string
Rule condition/expression that evaluated to a match.
outcome
timestamp
type: string
Timestamp when the delivery outcome was finalized.
durationMs
type: number
Duration of the delivery execution (ms).
e2eDuration
type: number
End-to-end duration from request registration to outcome (ms).
protocol
type: string
Delivery protocol used (e.g., https
, smtp
, slack-api
).
https
responseStatusCode
type: number
HTTP status code returned by the destination (if applicable).
status
Enum: Success
, Discarded
, Failure
, InternalFailure
, Rejected
Final outcome status for this delivery.
statusReasons
type
type: string
Machine-friendly reason/category for the status.
message
type: string
Human-readable explanation of the status.
attempts
type: array
Per-attempt execution details (retries, backoffs, etc.). { timestamp
: string
, durationMs
: number
, status
: string
, statusReasons
: object
, protocol
: string
, protocolDetails
: object
}