Email

You can configure Outbound Webhooks to receive a copy of delivery status notifications for Email channel and for a copy of incoming messages/events by navigating to 'Assets -> Integrations -> Outbound Webhooks' sections in the platform.

Outbound Webhook configuration for tracking email delivery status

📘

Note

Please note that the email delivery notifications are available only for AWS SES based Email Assets.

Further, 'Read' receipts are not generated for emails sent as plain text, i.e., when the email type is text.

Also, there can be multiple read notifications from a single recipient, depending on recipient’s email client security policy.

If you want to track email message delivery status, select the Webex Connect Service you are sending the Email from under 'Entity' dropdown.

{
    "deliveryInfoNotification": {
        "deliveryInfo": {
            "deliveryChannel": "email",
            "Description": "Submitted",
            "destinationType": "email",
            "timeStamp": "2023-02-07T03:51:03.311+05:30",
            "code": "7501",
            "deliveryStatus": "Submitted",
            "destination": "[email protected]",
            "additionalInfo": ""
        },
        "correlationid": "3bd8edf31c81-4b72d8a2-290d-49e2-993e",
        "callbackData": "callbackdata",
        "transid": "4b72d8a2-290d-49e2-993e-3bd8edf31c81",
        "subtid": ""
    }
}
{
    "deliveryInfoNotification": {
        "deliveryInfo": {
            "deliveryChannel": "email",
            "Description": "Delivered",
            "destinationType": "email",
            "timeStamp": "2023-02-07T03:51:04.662+05:30",
            "code": "7500",
            "deliveryStatus": "Delivered",
            "destination": "[email protected]",
            "additionalInfo": ""
        },
        "correlationid": "3bd8edf31c81-4b72d8a2-290d-49e2-993e",
        "callbackData": "callbackdata",
        "transid": "4b72d8a2-290d-49e2-993e-3bd8edf31c81",
        "subtid": ""
    }
}
{
  "deliveryInfoNotification": {
    "deliveryInfo": {
      "timeStamp": "2023-04-14T22:13:17.290-04:00",
      "Description": "Read",
      "code": "7502",
      "deliveryChannel": "email",
      "additionalInfo": "",
      "destination": "[email protected]",
      "destinationType": "email",
      "deliveryStatus": "Read"
    },
    "subtid": "e1187b83-9566-48e2-85c4-29474c7c39c0",
    "transid": "c71c2927-6bb3-2021-9c8e-226b48d66ba0_0",
    "callbackData": "callbackData",
    "correlationid": "correlation id value"
  }
}
{
    "deliveryInfoNotification": {
        "deliveryInfo": {
            "deliveryChannel": "email",
            "Description": "https://your.link.tld/files/sample.pdf|192.0.2.1",
            "destinationType": "email",
            "timeStamp": "2016-07-21T12:44:23.644Z",
            "additionalInfo":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36",
            "code": "7528",
            "deliveryStatus": "Clicked",
            "destination": "[email protected]"
        },
        "correlationid": "3bd8edf31c81-4b72d8a2-290d-49e2-993e",
        "callbackData": "callbackdata",
        "transid": "4b72d8a2-290d-49e2-993e-3bd8edf31c81"
    }
}
{
    "deliveryInfoNotification": {
        "deliveryInfo": {
            "deliveryChannel": "email",
            "Description": "Account in sandbox mode. Destination email address is not verified",
            "destinationType": "emailid",
            "timeStamp": "2016-07-21T12:44:23.644",
            "code": "7522",
            "deliveryStatus": "Not Verified",
            "destination": "[email protected]"
        },
        "correlationid": "3bd8edf31c81-4b72d8a2-290d-49e2-993e",
        "callbackData": "callbackdata",
        "transid": "4b72d8a2-290d-49e2-993e-3bd8edf31c81"
    }
}
{
	"deliveryInfoNotification": {
		"deliveryInfo": {
			"timeStamp": "2021-03-04T17:00:07.538Z",
			"Description": "Invalid email address",
			"code": "7523",
			"deliveryChannel": "email",
			"additionalInfo": "",
			"destination": "destination@invalid",
			"destinationType": "email",
			"deliveryStatus": "Failed"
		},
		"subtid": "",
		"transid": "1a893a24-6517-486b-82ef-e7801be60f88",
		"callbackData": "call back data",
		"correlationid": "124521i1"
	}
}
{
        "deliveryInfoNotification": {
        "deliveryInfo": {
            "deliveryChannel": "email",
            "Description": "Permanent_General/Permanent_NoEmail/Permanent_Suppressed/Transient_General/Transient_MailboxFull/Transient_MessageTooLarge/Transient_ContentRejected/Transient_AttachmentRejected",
            "destinationType": "email",
            "timeStamp": "2023-02-07T03:51:52.322+05:30",
            "code": "7520",
            "deliveryStatus": "Bounce", 
            "destination": "[email protected]",
            "additionalInfo": "5.1.1|failed|smtp; 550-5.1.1 The email account that you tried to reach does not exist. Please try\\n550-5.1.1 double-checking the recipient's email address for typos or\\n550-5.1.1 unnecessary spaces. For more information, go to\\n550 5.1.1  https:\\/\\/support.google.com\\/mail\\/?p=NoSuchUser e16-20020a056402089000b0056023119210si1660773edy.317 - gsmtp"
        },
        "correlationid": "3bd8edf31c81-4b72d8a2-290d-49e2-993e",
        "callbackData": "callbackdata",
        "transid": "4b72d8a2-290d-49e2-993e-3bd8edf31c81",
        "subtid": ""
        }
}
{
    "deliveryInfoNotification": {
        "deliveryInfo": {
            "deliveryChannel": "email",
            "Description": "abuse/auth-failure/fraud/not-spam/other/virus",
            "destinationType": "emailid",
            "timeStamp": "2016-07-21T12:44:23.644",
            "code": "7521",
            "deliveryStatus": "Complaint",
            "destination": "[email protected]"
        },
        "correlationid": "3bd8edf31c81-4b72d8a2-290d-49e2-993e",
        "callbackData": "callbackdata",
        "transid": "4b72d8a2-290d-49e2-993e-3bd8edf31c81"
    }
}
{ 
"deliveryInfoNotification": {
"deliveryInfo": {
"timeStamp": "2021-06-04T12:52:04.009Z",
"Description": "Email address max length reached",
"code": "7524",
"deliveryChannel": "email",
"additionalInfo": "",
"destination": "tevskeran.dhedldtaggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhh5df@domain.tld",
"destinationType": "email",
"deliveryStatus": "Failed"
},
"subtid": "",
"transid": "3df50805-464c-4d6c-99fd-c4197789538d",
"callbackData": "",
"correlationid": "124521i1"
}
}
{
"deliveryInfoNotification": {
"deliveryInfo": {
"timeStamp": "2023-02-07T03:52:17.715+05:30",
"Description": "already bounced : [email protected]",
"code": "7240",
"deliveryChannel": "email",
"additionalInfo": "",
"destination": "[email protected]",
"destinationType": "email",
"deliveryStatus": "Failed"
},
"subtid": "",
"transid": "44970e48-6eae-493f-9262-4258f116771d",
"callbackData": "",
"correlationid": "124521i1"
}
}
{
  "deliveryInfoNotification": {
    "deliveryInfo": {
      "timeStamp": "2018-07-26T09:52:46.339Z",
      "Description": "unsubscribed : [email protected]",
      "code": "7241",
      "deliveryChannel": "email",
      "additionalInfo": "",
      "destination": "[email protected]",
      "destinationType": "email",
      "deliveryStatus": "Failed"
    },
    "subtid": "f06b174e-8830-475f-898f-dd9e893cc147",
    "transid": "9736689f-0e7c-4b48-a517-79ea21170354",
    "callbackData": "",
    "correlationid": "12345"
  }
}
Field NameDescription
deliveryChannelThis is “email” in case of a email
DescriptionDetailed description of the delivery status
destinationTypeThis is "email" for Email channel.
timeStampTimestamp of the event
codeStatus code as mentioned in the documentation
deliveryStatusStatus of the Email
destinationThis contains the destination email id
additionalInfoThis field contains additional contextual information for certain receipts. E.g., it captures the details of device where the email has been clicked at in case of 'Clicked' event. Alternatively, it contains the granular details about the reason behind an email getting bounced in case of bounced emails. Another example is when an email is bounced/rejected by the recipient email service provider such as Gmail because the sender is unauthenticated, additionalInfo field in such cases would contain details about 5.7.26 email errros.
correlationidThe CorrelationID is a unique identifier that you can attach to every request as a reference a particular transaction or event. This is configured as a part of the request
callbackDataData that you have configured to receive on the notify Url. This is configured as a part of the request
transidUnique transaction reference id for this request
subtidSub-transaction reference id for this request

📘

Multiple Recipients Scenario

  • For email transactions with multiple recipients, the Status field in Debug Console and Export Logs, and Error Codes details, will only be updated for entries with the ‘Submitted’ Status. Email delivery status for each of the individual recipients will need to be tracked using Outbound Webhooks. Separate outbound notifications will be sent for email delivery or failure to each of the recipients mentioned in To, CC, and BCC sections with the same transaction ID. For outbound email transactions, destination will contain an email ID for scenarios where only one email ID has been mentioned (that can in be in either of to, bcc, or cc fields but overall one email ID is mentioned in one outbound request).
  • The platform will not trigger or resume a flow, nor trigger a rule or an outbound webhook notification for incoming emails where Sender Email ID is same as the Recipient Email ID. However, details of such incoming emails will be available within Export Logs.
  • For email sent via SMTP channel, we do not support delivery tracking.
  • AWS SES doesn’t provide the recipient details for events such as opening and/or clicking the link of an email by a specific recipient. The counts for Open and Click events can be higher than the Submit count. For multiple recipient scenarios, given the lack of information of unique recipient info from AWS SES, the redundancy is not uniquely identified, and all Open events are accounted for in reports.

Outbound Webhook configuration for tracking incoming emails and other events

If you want to track incoming emails, select the Email app asset you are sending and receiving the emails from under 'Entity' dropdown.

{
                "to": ["[email protected]"],
                "ts": "2017-09-27T18:56:42.099Z",
                "textMessage": "\r\n\r\nCheers,\r\nK Siva Krishna\r\nExtn: 604\r\n\r\nFrom: Siva Krishna Kesanapalli\r\n\r\n",
                "subject": "Email Subject Line",
                "event": "MO",
                "from": "[[email protected]]",
                "attachments": [{
                                                "content": "****REMOVED FOR READABILITY****",
                                                "name": "build-impl.xml",
                                                "contentType": "application/xml",
                                                "contentTransferEncoding": "base64"
                                }, {
                                                "content": "****REMOVED FOR READABILITY****",
                                                "name": "project.xml",
                                                "contentType": "application/xml",
                                                "contentTransferEncoding": "base64"
                                }, {
                                                "content": "****REMOVED FOR READABILITY****",
                                                "name": "groovy-build.xml",
                                                "contentType": "application/xml",
                                                "contentTransferEncoding": "base64"
                                }
                ],
                "tid": "1866c6b7-4f53-4ad3-bf40-e4a30ac6c114",
                "messageId": "2dbk2k9580a7nhra16t4t553v8dnjusad6kjk101",
                "returnPath": "[email protected]",
                "htmlMessage": "<html xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" \r\n ****REMOVED FOR READABILITY****",
                "channel": "email"
}
{
  "channel": "Email",
  "from": "[email protected]",
  "appId": "a_6382XXXXXXX2210000",
  "event": "Unsubscribe",
  "ts": "2023-12-08T23:33:44.823+05:30",
  "tid": "a8169af2-3fa3-449f-ad61-71bcd424d626"
}
{
  "channel": "Email",
  "from": "[email protected]",
  "appId": "a_638249225282210000",
  "event": "Subscribe",
  "ts": "2023-12-08T23:33:51.900+05:30",
  "tid": "80699122-9dbb-45eb-836b-ea7d8dd1640b"
}
Field NameDescription
channelChannel is email always for incoming emails
fromEmail id of the sender.
toRecipient's Email Id
tsTimestamp - when incoming email was received by Webex Connect
eventDescribes the incoming event type. For inbound email message it will be 'MO'. For email unsubscribes it will be 'Unsubscribe', and for resubscribes it will be 'Subscribe'.
textMessageEmail text message context
subjectEmail subject
attachmentsEmail attachment details
tidTransaction ID
messageIdMessage ID
returnPathEmail Id mentioned in the replyTo field
htmlMessageEmail HTML Content