I have been working on automating SMS delivery using the Digital Engagement Channel. Both the Channel and the Messaging Component are defined and active. I am using the "Send Conversation Message" action in a Flow to send the SMS.
The Flow executes successfully, and the ConvMessageSendReq returns a success report. I checked the Conversation and MessagingSession records, and they are populating correctly. I also verified that the running user has the required Messaging User license. Furthermore, I checked for a MessageDeliveryError, and no errors are being logged.
Despite all of this, the message is not being sent to the MessagingEndUser. The MessagingEndUser phone number is properly formatted in E.164 format with the country code.
No ConversationEntry Record is being created.
Where am I going wrong? Did I miss a configuration step, or is there something else I need to check?
Yes, it does work differently in sandbox. Your Flow, licenses, and config are all fine, which is exactly why you get a success report with no errors. The message just never physically leaves the platform.
The actual SMS carrier provisioning, the phone number, and the live connection to the messaging provider behind Digital Engagement are tied to your production org. Sandboxes get the config metadata copied over, so the Channel, number, and Messaging Component all look active and valid, but the live carrier binding doesn't exist in the sandbox.
Confirm with Salesforce whether SMS is actually provisioned for your specific sandbox. Usually it isn't by default, and real outbound SMS only sends from production. Some orgs can request a sandbox be provisioned for messaging testing, but it's not automatic and often not available. Thanks!