Get reports on how your messages perform
Find out how your messages have performed using NHS Notify MESH.
What you need to know
When NHS Notify accepts and starts processing your request, you can choose to receive:
NHS Notify will send each report as a comma-separated values (CSV) file to your MESH mailbox.
NHS Notify may add new fields to its reports over time.
Organisations and services that process our CSV reports into their own systems will need to design processes to accommodate any new fields. However, NHS Notify will not change the meaning, content or ordering of any existing fields.
Your organisation or service can choose to process or ignore any added fields.
Completed items report
The completed items report CSV is sent daily and tells you the status of messages that have completed that day.
MESH header fields
The following table shows you the MESH header fields you'll receive when you are sent your completed items report.
MESH header field | Mandatory | Type | Description | Example |
mex-subject | Yes | Date (YYYY-MM-DD) | The date in scope for the report for all the request items that have completed that date. | 2023-04-03 |
mex-workflowid | Yes | String | The name of the workflow used. This will always be NHS_NOTIFY_DAILY_REPORT. | NHS_NOTIFY_DAILY_REPORT |
Completed items report CSV
The following table shows you what you can expect in the completed items report CSV.
Column name | Mandatory | Type | Description | Example |
---|---|---|---|---|
completedDate | Yes |
Datetime (YYYY-MM-DDTHH:MM:SS.MMMZ) |
The date and time that processing of the message was completed. | 2023-04-03T09:50:32.159Z |
sendingGroupId | Yes | UUID | The ID created by NHS Notify for the routing plan that the messages in the request uses. | 33ead2f4-da0a-11ed-afa1-0242ac120002 |
requestRefId | Yes | String | The ID that you created for a batch of requests. | yourInternalReference_01 |
requestId | Yes | String | A reference created by NHS Notify for your request (the same reference provided in the confirmation message). | 2NuYT1hdOQj9jIotXgOO9Qhu2Jr |
requestItemRefId | Yes | String | The ID of an individual request you created within a batch of requests. | yourInternalReferenceToThisRecipient_01 |
status | Yes | String |
The state of the message when NHS Notify finished processing it. Options: DELIVERED, FAILED |
DELIVERED |
failedReason | No | String | Tells you why the message failed. Learn more about failed messages (opens in a new tab). | Invalid nhsNumber format |
completedCommunicationTypes | No | String |
Tells you which message channels were delivered to the recipient. Each message channel is separated by a pipe (|), for example: NHSAPP | EMAIL | SMS | LETTER |
NHSAPP | EMAIL | SMS | LETTER |
failedCommunicationTypes | No | String |
Tells you which message channels failed to reach the recipient. Each message channel is separated by a pipe (|), for example: NHSAPP | EMAIL | SMS | LETTER |
NHSAPP | EMAIL | SMS | LETTER |
Completed communications report
The completed communications report CSV is sent daily and provides more detailed information and statuses about messages that have completed that day.
MESH header fields
The following table shows you the MESH header fields you'll receive when you are sent your completed communications report.
MESH header field | Mandatory | Type | Description | Example |
---|---|---|---|---|
mex-subject | Yes | Date (YYYY-MM-DD) | The date in scope for the report for all the request items that have completed that date. | 2023-04-03 |
mex-workflowid | Yes | String | The name of the workflow used. This will always be NHS_NOTIFY_DAILY_REPORT. | NHS_NOTIFY_DAILY_REPORT |
Completed communications report CSV
The following table shows you what you can expect in the completed communications report CSV.
Column name | Mandatory | Type | Description | Example | |
---|---|---|---|---|---|
requestid | Yes | String | A reference created by NHS Notify for your request (the same reference provided in the confirmation message). | 2NuYT1hdOQj9jIotXgOO9Qhu2Jr | |
requestrefid | Yes | String | The ID that you created for a batch of requests. | yourInternalReference_01 | |
requestitemid | Yes | String | A reference created by NHS Notify for your message (the same reference provided in the confirmation message). | 2NuYT1huOQj9jIotXgOO9Qhu2hd | |
requestitemrefid | String | The ID of an individual message you created within a batch. | yourInternalReferenceToThisRecipient_01 | ||
requestitemcompletedtime | Yes |
Datetime YYYY-MM-DDTHH:MM:SS.MMMZ |
The date and time that processing of the message was completed. | 2025-01-06T14:35:40.338Z | |
requestitemfailedreason | No | String | Tells you why the message failed. Learn more about failed messages (opens in a new tab). | Invalid nhsNumber format | |
sendinggroupid | Yes | UUID | The ID created by NHS Notify for the routing plan that the messages in the request uses. | 33ead2f4-da0a-11ed-afa1-0242ac120002 | |
sendinggroupidversion | No | String | The unique version identifier created by NHS Notify for the sending group used for this request. | YWjWqoE2_vvDwQKuFMmELyTRdC1ejO52 | |
sendinggroupname | No | String | The name that you give to the sending group used for this request. | yourSendingGroupName | |
sendinggroupcreatedtime | No |
Datetime YYYY-MM-DDTHH:MM:SS.MMMZ |
The date that the sending group used for this request was created. | 2025-01-06T14:35:17.000Z | |
requestitemstatus | Yes | String |
The state of the message when NHS Notify finished processing it. Options: DELIVERED, FAILED |
DELIVERED | |
requestitemplanid | No | String | A reference created by NHS Notify for this message delivery attempt. | 2NuTY2huOQj9jIotXgOO9Qhu2OO | |
|
No |
Datetime YYYY-MM-DDTHH:MM:SS.MMMZ |
The date and time that processing of the message channel was completed. | 2025-01-06T14:35:40.296Z | |
requestitemplanstatus | No | String |
The state of the channel delivery when NHS Notify finished processing it. Options: DELIVERED, FAILED, SKIPPED |
DELIVERED | |
communicationtype | No | String |
The message channel used for this message delivery attempt. Options: NHSAPP, EMAIL, SMS, LETTER |
||
channeltype | No | String |
Tells you if this message is part of a primary or secondary cascade. Learn more about cascades (opens in a new tab). Options: primary, secondary |
primary | |
requestitemplanfailedreason | No | String | More information about why the message delivery attempt failed. | Contact detail is malformed |
Completed batch report
The completed batch report CSV provides more detailed information and statuses about messages that were sent as part of a batch. You will only receive a completed batch report when each batch has been completed.
MESH header fields
The following table shows you the MESH header fields you'll receive when you are sent your completed batch report.
MESH header field | Mandatory | Type | Description | Example |
mex-subject | Yes | String | The unique reference created by NHS Notify for your request (the same reference provided in the confirmation message). | 2NuYT1hdOQj9jIotXgOO9Qhu2Jr |
mex-localid | Yes | String | The ID that you created for a batch of requests. | yourInternalReference_01 |
mex-workflowid | Yes | String | The name of the workflow used. This will always be NHS_NOTIFY_BATCH_REPORT. | NHS_NOTIFY_BATCH_REPORT |
Completed batch report CSV
The following table shows you what you can expect in the completed batch report CSV.
Column name | Mandatory | Type | Description | Example |
requestid | Yes | String | A reference created by NHS Notify for your request (the same reference provided in the confirmation message). | 2NuYT1hdOQj9jIotXgOO9Qhu2Jr |
requestrefid | Yes | String | The ID that you created for a batch of requests. | yourInternalReference_01 |
requestitemid | Yes | String | A reference created by NHS Notify for your message (the same reference provided in the confirmation message). | 2NuYT1huOQj9jIotXgOO9Qhu2hd |
requestitemrefid | Yes | String | The ID of an individual message you created within a batch. | yourInternalReferenceToThisRecipient_01 |
requestitemcompletedtime | Yes |
Datetime YYYY-MM-DDTHH:MM:SS.MMMZ |
The date and time that processing of the message was completed. | 2025-01-06T14:35:40.338Z |
requestitemfailedreason | No | String | Tells you why the message failed. Learn more about failed messages (opens in a new tab). | Invalid nhsNumber format |
sendinggroupid | Yes | UUID | The ID created by NHS Notify for the routing plan that the messages in the request uses. | 33ead2f4-da0a-11ed-afa1-0242ac120002 |
sendinggroupidversion | No | String | The unique version identifier created by NHS Notify for the sending group used for this request. | YWjWqoE2_vvDwQKuFMmELyTRdC1ejO52 |
sendinggroupname | No | String | The name that you give to the sending group used for this request. | yourSendingGroupName |
sendinggroupcreatedtime | No |
Datetime YYYY-MM-DDTHH:MM:SS.MMMZ |
The date that the sending group used for this request was created. | 2025-01-06T14:35:17.000Z |
requestitemstatus | Yes | String |
The state of the message when NHS Notify finished processing it. Options: DELIVERED, FAILED |
DELIVERED |
requestitemplanid | No | String | A reference created by NHS Notify for this message delivery attempt. | 2NuTY2huOQj9jIotXgOO9Qhu2OO |
requestitemplancompletetedtime | No |
Datetime YYYY-MM-DDTHH:MM:SS.MMMZ |
The date and time that processing of the message channel was completed. | 2025-01-06T14:35:40.296Z |
requestitemplanstatus | No | String |
The state of the channel delivery when NHS Notify finished processing it. Options: DELIVERED, FAILED, SKIPPED |
DELIVERED |
communicationtype | No | String |
The message channel used for this message delivery attempt. Options: NHSAPP, EMAIL, SMS, LETTER |
|
channeltype | No | String |
Tells you if this message is part of a primary or secondary cascade. Learn more about cascades (opens in a new tab). Options: primary, secondary |
primary |
requestitemplanfailedreason | No | String |
More information about why the message delivery attempt failed. Learn more about failed message descriptions (opens in a new tab). |
Contact detail is malformed |
Last edited: 10 February 2025 5:36 pm