
I am creating a custom messaging channel in Customer Insights Journeys using Power Apps. According to the documentation, a custom channel requires two APIs: one for outbound messages and one for delivery status tracking (link).
Currently, the outbound API only supports reporting messages as sent or not sent at the moment of sending. However, the actual delivery status (delivered, failed) is only received later via a webhook from the external messaging service.
My challenge is:
How can I properly handle the mismatch between immediate outbound reporting and later delivery status updates in a custom channel? Is there a recommended pattern or workaround to reconcile outbound responses with asynchronous delivery feedback in Customer Insights?
The outbound API only confirms that the message was accepted for sending, not whether it was delivered. To handle this, use the two-step pattern:
sent if the message was successfully handed off to your external service, or not sent if it failed immediately.delivered or failed), call the Delivery Status endpoint in Customer Insights with the original messageId to update it.There’s no built-in way to retroactively change the initial outbound status, so correlating with messageId and updating via the webhook is the recommended approach.