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.

Tip

To explore delivery events in the UI instead of querying the dataset directly, use Notification Deliveries (Early Access).

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.

}
}
}

Full field reference​

The table lists every field in the dataset schema, with its type and whether every event carries it.

Show full field reference

FieldTypeRequiredDescription
$dobjectYesSchema for notification delivery tracking and metadata
$d.contentobjectYes
$d.content.renderedobjectYes
$d.content.rendered.connectorConfigstringYesRendered connector configuration
$d.content.rendered.connectorConfigRenderingInfoobjectYes
$d.content.rendered.connectorConfigRenderingInfo.entityOverridesarray of objectYes
$d.content.rendered.connectorConfigRenderingInfo.entityOverrides[].fieldNamestringYesField name
$d.content.rendered.connectorConfigRenderingInfo.entityOverrides[].templatestringYesTemplate content (REDACTED if sensitive)
$d.content.rendered.connectorConfigRenderingInfo.renderingErrorsarray of objectNo
$d.content.rendered.connectorConfigRenderingInfo.renderingErrors[].messagestringYesError message
$d.content.rendered.connectorConfigRenderingInfo.sourceOverridesarray of objectYes
$d.content.rendered.connectorConfigRenderingInfo.sourceOverrides[].fieldNamestringYesField name
$d.content.rendered.connectorConfigRenderingInfo.sourceOverrides[].templatestringYesTemplate content (REDACTED if sensitive)
$d.content.rendered.connectorConfigRenderingInfo.statusstringYesRendering status One of: Success, FallbackApplied.
$d.content.rendered.messageConfigstringYesRendered message configuration
$d.content.rendered.messageConfigRenderingInfoobjectYes
$d.content.rendered.messageConfigRenderingInfo.renderingErrorsarray of objectNo
$d.content.rendered.messageConfigRenderingInfo.renderingErrors[].messagestringYesError message
$d.content.rendered.messageConfigRenderingInfo.sourceOverridesarray of objectYes
$d.content.rendered.messageConfigRenderingInfo.sourceOverrides[].fieldNamestringYesField name
$d.content.rendered.messageConfigRenderingInfo.sourceOverrides[].templatestringYesTemplate content
$d.content.rendered.messageConfigRenderingInfo.statusstringYesRendering status One of: Success, FallbackApplied.
$d.content.rendered.messageConfigRenderingInfo.statusReasonstringNoReason for the status
$d.content.templatedobjectYes
$d.content.templated.connectorConfigstringYesTemplated connector configuration
$d.content.templated.messageConfigstringYesTemplated message configuration
$d.destinationobjectYes
$d.destination.connectorInfoobjectYes
$d.destination.connectorInfo.idstringYesConnector ID
$d.destination.connectorInfo.namestringYesConnector name
$d.destination.payloadTypestringYesType of payload
$d.destination.presetInfoobjectYes
$d.destination.presetInfo.idstringYesPreset ID
$d.destination.presetInfo.namestringYesPreset name
$d.destination.presetInfo.typestringYesType of preset One of: System, Custom.
$d.destination.typestringYesType of destination
$d.messagestringYesThe notification message
$d.notificationDeliveryIdstring (uuid)YesUnique identifier for the notification delivery
$d.outcomeobjectYes
$d.outcome.durationMsnumberYesDuration in milliseconds
$d.outcome.e2eDurationnumberYesEnd-to-end duration
$d.outcome.httpsobjectYes
$d.outcome.https.responseStatusCodeintegerYesHTTP response status code
$d.outcome.protocolstringYesProtocol used Value: https.
$d.outcome.sending_attemptsarray of objectYes
$d.outcome.sending_attempts[].durationMsnumberYesAttempt duration in milliseconds
$d.outcome.sending_attempts[].httpsobjectYes
$d.outcome.sending_attempts[].https.responseStatusCodeintegerYesHTTP response status code
$d.outcome.sending_attempts[].protocolstringYesProtocol used Value: https.
$d.outcome.sending_attempts[].statusstringYesAttempt status One of: Success, Discarded, Failure, InternalFailure, Rejected.
$d.outcome.sending_attempts[].statusReasonobjectYes
$d.outcome.sending_attempts[].statusReason.messagestringYesStatus reason message
$d.outcome.sending_attempts[].statusReason.typestringYesType of status reason
$d.outcome.sending_attempts[].timestampnumberYesAttempt timestamp
$d.outcome.statusstringYesDelivery status One of: Success, Discarded, Failure, InternalFailure, Rejected.
$d.outcome.statusReasonobjectYes
$d.outcome.statusReason.messagestringYesStatus reason message
$d.outcome.statusReason.typestringYesType of status reason
$d.outcome.timestampstring (date-time)YesOutcome timestamp
$d.routingobjectNo
$d.routing.matchingRuleobjectNo
$d.routing.matchingRule.conditionstringYesRule condition
$d.routing.matchingRule.namestringNoRule name
$d.routing.matchingRuleTypestringNoType of matching rule One of: RuleMatched, FallbackUsed.
$d.routing.routerInfoobjectYes
$d.routing.routerInfo.evaluationModestringYesEvaluation mode for the router One of: Sequential, Parallel.
$d.routing.routerInfo.idstringYesRouter ID
$d.routing.routerInfo.namestringYesRouter name
$d.sourceobjectYes
$d.source.entityIdstringNoUnique identifier for the entity
$d.source.entitySubTypestringYesSubtype of the entity
$d.source.entityTypestringYesType of the entity
$d.source.entityUrlstring (uri)NoURL of the entity
$d.source.notificationIdstring (uuid)YesUnique identifier for the notification
$d.source.requestDeduplicationIdstring (uuid)YesDeduplication ID for the request
$d.source.requestTimestampstring (date-time)YesTimestamp of the request
$lmapYesUser labels: free-form string-to-string map
$l.<key>stringNo
$mobjectYesEngine metadata
$m.cxEventIdstring (uuid)YesGlobally unique event id
$m.ingressTimestampstring (date-time)YesTime the event was ingested
$m.priorityClassstringYesDefines the feature-set enabled for the event One of: high, medium, low.
$m.severitystringYesEvent severity level One of: Verbose, Debug, Info, Warning, Error, Critical.
$m.timestampstring (date-time)YesEvent timestamp

Next steps​

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

Last updated on