One of the latest features now available in preview for the Omni Channel Engagement Hub is outbound messaging.
Outbound messaging is perfect for scenarios where a company may want to send sms notifications to a customer based on an event. E.g. To notify the customer that addiitonal information is required for a claim they may have in progress or to notify the customer that their case is closed.
Outbound messaging uses SMS for the notifications and therefore requires the SMS workstream to be configured as a pre requisite. If the sms number used has also been configured for inbound messages, the customer will also be able to respond to the message triggered by OmniChannel Engagement Hub.
The video below shows how this all works:
The steps below detail how to configure outbound messaging in the Omni Channel Engagement Hub.
Create Message Template
- In the Omnichannel Administration app, browse to Message templates in the Settings area
- Create a new message template by specifying the name of the template and clicking save.
- Create a new message populating the language and the text to be sent in the outbound message. To use data taken from dynamics or even other systems, a placeholder can be used e.g. {policyid}

*It should be noted that only one message per language is supported.*
Configure Outbound Message
- Navigate to Outbound in the Settings area
- Create a new Outbound configuration, populating the screen as below:

- Select the applicable SMS number from the channel field.
- Save the outbound configuration record.
- Note the configuration id generated.
Create Flow to trigger the Outbound Message
- In https://flow.microsoft.com, ensure the environment is correctly set to the environment with OmniChannel configured.
- Open or create a new solution by browsing to solutions in the navigation area.
- Create a new flow with the below steps

Flow Steps Description
The flow steps shown above uses a Common Data Service connector to trigger a flow on the creation of a new case

Two variables are created.
- ContactList – This variable must be created as an Array.
- ActivityRelationship – This variable should be created as a string with the value “incident_msdyn_ocoutboundmessages”

We need to get the mobile number to send the message to. The Get Record step allows us to get the contact associated to the Case allowing us to use the mobile number stored on the record.

Set the ContactLists variable with settings to be used by the outbound message action.
{ "tocontactid": "@{outputs('Get_Customer_Record')?['body/mobilephone']}", "channelid": "sms", "optin": @{not(outputs('Get_Customer_Record')?['body/donotphone'])}, "contextitems": { "regardingobjectid": @{triggerOutputs()?['body/incidentid']}, "entityrelationshipname": @{variables('ActivityRelationship')}, "customername": @{outputs('Get_Customer_Record')?['body/fullname']} } }

Use the compose step to change the contactlists to a format that will be accepted by the outbound message action.

A new unbound action “msdyn_InvokeOutboundAPI” has been created to enable messages to be sent from D365.

Use the Perform an unbound action step and
- select the action : “msdyn_InvokeOutboundAPI”
- populate the msdyn_ocoutboundconfiguration msdyn_ocoutboundconfigurationid variable with the configuration id copied from the outbound configuration created earlier.
- populate the contactlist variable with the output of the compose action.

Outbound messaging really opens up the possible use cases in which OmniChannel can be used.
How might you use this feature? Let me know below in the comments!