Skip to main content

notification.deliveries

Purpose

The notification.deliveries dataset logs Notification Center delivery events. Alerts record delivery failures, while Cases record both successful and failed deliveries. This dataset is enabled by default for all environments and is hosted by Coralogix at no additional cost.

Use this dataset to monitor delivery success and failure rates, diagnose issues with notification routing, and audit the overall performance of your notification system.

Schema description

Show schema description

Full JSON pathField data typeField data exampledescription
notificationCenterObject{ ... }Container for Notification Center envelope fields.
notificationCenter.$lObject{"team":"SRE","service":"payments-api","env":"prod"}Entity labels copied from the originating notification request.
notificationCenter.$mObject{ ... }Metadata block for this delivery event.
notificationCenter.$m.cxEventIdString (UUID)"76c411be-6e4d-4fb1-a987-5fce042deaaf"Unique Coralogix event identifier for this delivery record.
notificationCenter.$m.ingressTimestampString (Date)"2025-08-10T14:23:01Z"Time the event was ingested.
notificationCenter.$m.timestampString (Date)"2025-08-10T14:23:00Z"Timestamp when this delivery event was recorded.
notificationCenter.$m.severityEnum"Error"Delivery severity derived from outcome.status (Info or Error).
notificationCenter.$m.priorityClassString"medium"Delivery priority classification.
notificationCenter.$dObject{ ... }Delivery-specific identifiers and source linkage.
notificationCenter.$d.notificationDeliveryIdString"deliv-01H8F2J7Q0A3"Unique identifier for this specific delivery attempt/record.
notificationCenter.$d.sourceObject{ ... }Originating request identifiers and entity context.
notificationCenter.$d.source.requestDeduplicationIdString (UUID)"3f2504e0-4f89-11d3-9a0c-0305e82c3301"Deduplication ID from the originating request.
notificationCenter.$d.source.notificationIdString (UUID)"6fa459ea-ee8a-3ca4-894e-db77e160355e"Notification ID from the originating request.
notificationCenter.$d.source.requestTimestampString (Date)"2025-08-10T14:20:00Z"Timestamp of the originating notification request.
notificationCenter.$d.source.entityTypeString"alert"Source entity type from the request.
notificationCenter.$d.source.entitySubTypeString"threshold"Source entity subtype from the request.
notificationCenter.$d.source.entityIdString (optional)"alert-01H8F2J7Q0A3"Unique identifier for the source entity.
notificationCenter.$d.source.entityUrlString (URI, optional)"https://example.app.coralogix.com/#/alerts/alert-01H8F2J7Q0A3"URL of the source entity.
destinationObject{ "type":"slack", "payloadType":"slack", "connectorInfo":{...}, "presetInfo":{...} }Delivery destination details.
destination.typeString"slack"Destination channel/category (e.g., slack, email, webhook).
destination.payloadTypeString"slack"Type of payload sent to the destination.
destination.connectorInfoObject{ "id":"conn-123", "name":"Slack" }Information about the connector used.
destination.connectorInfo.idString"conn-123"Internal connector identifier.
destination.connectorInfo.nameString"Slack"Connector display name.
destination.presetInfoObject{ "id":"preset-9", "type":"Custom", "name":"#oncall" }Preset configuration details, if used.
destination.presetInfo.idString"preset-9"Internal preset identifier.
destination.presetInfo.typeEnum"Custom"Preset type: System or Custom.
destination.presetInfo.nameString"#oncall"Preset display name.
messageString"Alert: CPU usage is high!"Optional human-readable message or summary for the delivery.
contentObject{ "templated": { ... } }Template inputs used to render message and connector payloads.
content.templatedObject{ "messageConfig":"Alert: { alert.name }", "connectorConfig":"{ \"channel\":\"#oncall\" }" }Serialized template inputs.
content.templated.messageConfigString"Alert: { alert.name }"Message configuration used for templating.
content.templated.connectorConfigString"{ \"channel\":\"#oncall\", \"mention\":\"@oncall\" }"Connector-specific template inputs.
content.renderedObject{ "messageConfig":"...", "messageConfigRenderingInfo":{...}, "connectorConfig":"...", "connectorConfigRenderingInfo":{...} }Rendered outputs after template resolution.
content.rendered.messageConfigString"Alert: CPU usage is high!"Rendered message payload.
content.rendered.messageConfigRenderingInfoObject{ "status":"Success", "sourceOverrides":[...] }Structured info about message rendering.
content.rendered.messageConfigRenderingInfo.statusEnum"Success"Message rendering status: Success or FallbackApplied.
content.rendered.messageConfigRenderingInfo.statusReasonString"template var missing: alert.name"Reason for the rendering status.
content.rendered.messageConfigRenderingInfo.sourceOverridesArray/Object[{ "fieldName":"text", "template":"{{alert.name}}" }]Field-level overrides applied from the source.
content.rendered.messageConfigRenderingInfo.sourceOverrides[].fieldNameString"text"Name of the overridden field.
content.rendered.messageConfigRenderingInfo.sourceOverrides[].templateString"{{alert.name}}"Template content for the field.
content.rendered.messageConfigRenderingInfo.renderingErrorsArray/Object[{ "message":"template var missing: alert.name" }]Errors encountered while rendering the message template.
content.rendered.messageConfigRenderingInfo.renderingErrors[].messageString"template var missing: alert.name"Error message from rendering the message template.
content.rendered.connectorConfigString"{ \"channel\":\"#oncall\" }"Rendered connector payload/config.
content.rendered.connectorConfigRenderingInfoObject{ "status":"Success", "sourceOverrides":[...], "entityOverrides":[...] }Structured info about connector rendering.
content.rendered.connectorConfigRenderingInfo.statusEnum"Success"Connector rendering status: Success or FallbackApplied.
content.rendered.connectorConfigRenderingInfo.sourceOverridesArray/Object[{ "fieldName":"channel", "template":"#oncall" }]Field-level overrides applied from the source.
content.rendered.connectorConfigRenderingInfo.sourceOverrides[].fieldNameString"channel"Name of the overridden field.
content.rendered.connectorConfigRenderingInfo.sourceOverrides[].templateString"#oncall"Template content for the field.
content.rendered.connectorConfigRenderingInfo.entityOverridesArray/Object[{ "fieldName":"channel", "template":"#sre" }]Field-level overrides applied from the entity.
content.rendered.connectorConfigRenderingInfo.entityOverrides[].fieldNameString"channel"Name of the overridden field.
content.rendered.connectorConfigRenderingInfo.entityOverrides[].templateString"#sre"Template content for the field.
content.rendered.connectorConfigRenderingInfo.renderingErrorsArray/Object[{ "message":"invalid channel name" }]Errors encountered while rendering the connector template.
content.rendered.connectorConfigRenderingInfo.renderingErrors[].messageString"invalid channel name"Error message from rendering the connector template.
routingObject{ ... }Routing metadata used to select destination.
routing.routerInfoObject{ "id":"router-01","name":"Primary Notifications Router","evaluationMode":"Sequential" }Router identification.
routing.routerInfo.idString"router-01"Router ID used to select the destination.
routing.routerInfo.nameString"Primary Notifications Router"Router name.
routing.routerInfo.evaluationModeEnum"Sequential"Router evaluation mode: Sequential or Parallel.
routing.matchingRuleTypeEnum"RuleMatched"Type of matching rule: RuleMatched or FallbackUsed.
routing.matchingRuleObject{ "name":"pagerduty-high","condition":"severity >= 3" }The rule that matched for this delivery.
routing.matchingRule.nameString"pagerduty-high"Name of the rule that matched.
routing.matchingRule.conditionString"severity >= 3"Rule condition/expression that evaluated to a match.
outcomeObject{ ... }Final outcome and per-attempt details.
outcome.timestampString (Date)"2025-08-10T14:23:30Z"Timestamp when the delivery outcome was finalized.
outcome.durationMsNumber500Duration of the delivery execution (ms).
outcome.e2eDurationNumber3000End-to-end duration from request registration to outcome (ms).
outcome.protocolString"https"Delivery protocol used (e.g., https, smtp, slack-api).
outcome.httpsObject{ "responseStatusCode": 200 }HTTPS-specific response details, if applicable.
outcome.https.responseStatusCodeInteger200HTTP status code returned by the destination.
outcome.statusEnum"Success"Final outcome status: Success, Discarded, Failure, InternalFailure, or Rejected.
outcome.status_reasonsObject{ "type":"Timeout","message":"Request timed out after 10 seconds" }Reason for the final status (category + message).
outcome.status_reasons.typeString"Timeout"Machine-friendly reason/category for the status.
outcome.status_reasons.messageString"Request timed out after 10 seconds"Human-readable explanation of the status.
outcome.sendingAttemptsArray/Object[{"timestamp":1754835785000000000,"durationMs":300,"status":"Failure","status_reasons":{"type":"Timeout","message":"Request timed out"},"protocol":"https","https":{"responseStatusCode":504}}]Per-attempt execution details (retries, backoffs, etc.).
outcome.sendingAttempts[].timestampNumber1754835785000000000Unix epoch timestamp for the individual attempt, in nanoseconds.
outcome.sendingAttempts[].durationMsNumber300Attempt duration in milliseconds.
outcome.sendingAttempts[].statusString"Failure"Attempt status (often mirrors final outcome.status on last try).
outcome.sendingAttempts[].status_reasonsObject{ "type":"Timeout","message":"Request timed out after 10 seconds" }Reason for the attempt status.
outcome.sendingAttempts[].status_reasons.typeString"Timeout"Machine-friendly reason/category for the attempt status.
outcome.sendingAttempts[].status_reasons.messageString"Request timed out after 10 seconds"Human-readable explanation of the attempt status.
outcome.sendingAttempts[].protocolString"https"Protocol used on the attempt.
outcome.sendingAttempts[].httpsObject{ "responseStatusCode": 504 }HTTPS-specific response details for the attempt.
outcome.sendingAttempts[].https.responseStatusCodeInteger504HTTP status code returned on the attempt.

How the data in this dataset can be used

Auditing notification events

By grouping notification delivery records by their outcome status and counting them, this query shows which results (e.g., delivered, failed) happen most often, ranked from most to least frequent.

Example query:

source system/notification.deliveries
| groupby outcome.status
aggregate count() as deliveries
| sortby deliveries desc

notification.deliveries schema

The notification.deliveries dataset stores the history of notifications sent or attempted using Coralogix's Notification Center.

Show full schema

{ `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.

`ingressTimestamp`

type: string
Time the event was ingested.

`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).

}
{ `$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.

`entityId`

type: string (optional)
Unique identifier for the source entity.

`entityUrl`

type: string (format: uri, optional)
URL of the source entity.

}
}
}
{ `destination`
`type`

type: string
Destination channel/category (e.g., slack, email, webhook).

`payloadType`

type: string
Type of payload sent to the destination.

{ `connectorInfo`
`id`

type: string
Internal connector identifier.

`name`

type: string
Connector display name.

}
{ `presetInfo`
`id`

type: string
Internal preset identifier.

`type`

Enum: System, Custom
Preset type.

`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.

{ `messageConfigRenderingInfo`
`status`

Enum: Success, FallbackApplied
Message rendering status.

`statusReason`

type: string
Reason for the rendering status.

{ `sourceOverrides[]`
`fieldName`

type: string
Name of the overridden field.

`template`

type: string
Template content for the field.

}
{ `renderingErrors[]`
`message`

type: string
Error message from rendering the message template.

}
}
`connectorConfig`

type: string
Rendered connector payload/config after template resolution.

{ `connectorConfigRenderingInfo`
`status`

Enum: Success, FallbackApplied
Connector rendering status.

{ `sourceOverrides[]`
`fieldName`

type: string
Name of the overridden field.

`template`

type: string
Template content for the field.

}
{ `entityOverrides[]`
`fieldName`

type: string
Name of the overridden field.

`template`

type: string
Template content for the field.

}
{ `renderingErrors[]`
`message`

type: string
Error message from rendering the connector template.

}
}
}
}
{ `routing`
{ `routerInfo`
`id`

type: string
Router ID used to select the destination.

`name`

type: string
Router name.

`evaluationMode`

Enum: Sequential, Parallel
Router evaluation mode.

}
`matchingRuleType`

Enum: RuleMatched, FallbackUsed
Type of matching rule.

{ `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: integer
HTTP status code returned by the destination (if applicable).

}
`status`

Enum: Success, Discarded, Failure, InternalFailure, Rejected
Final outcome status for this delivery.

{ `status_reasons`
`type`

type: string
Machine-friendly reason/category for the status.

`message`

type: string
Human-readable explanation of the status.

}
{ `sendingAttempts[]`
`timestamp`

type: number
Unix epoch timestamp for the individual attempt, in nanoseconds.

`durationMs`

type: number
Attempt duration in milliseconds.

`status`

Enum: Success, Discarded, Failure, InternalFailure, Rejected
Attempt status.

{ `status_reasons`
`type`

type: string
Machine-friendly reason/category for the attempt status.

`message`

type: string
Human-readable explanation of the attempt status.

}
`protocol`

type: string
Protocol used on the attempt.

{ `https`
`responseStatusCode`

type: integer
HTTP status code returned on the attempt.

}
}
}

Next steps

Manage which system datasets are ingested and visible with Dataset management.

Last updated on