Manually add a custom channel
Dynamics 365 Customer Insights - Journeys supports Email, Push, and SMS channels natively. To use a type of channel or an SMS provider that isn't supported natively, you can install a custom channel. If the channel isn't already provided in AppSource, you can create and install it manually.
Custom channel structure
Custom channels can be implemented as part of a Dataverse solution. The following steps and actions are required to create a custom channel:
- Define an extended configuration entity for the channel instance
- Define an extended configuration entity for the channel instance account (SMS only)
- Define the message parts (solution-aware component)
- Define the localization for the admin interface (optional)
- Define the message editor interface (optional)
- Define custom APIs
- Define the custom channel (solution-aware component)
Customer Insights - Journeys provides base components for creating a custom channel, including custom APIs and required entities like msdyn_channeldefinition, msdyn_channelmessagepart, msdyn_channellocale, msdyn_channelinstanceaccount and msdyn_channelinstance.
The following diagram illustrates the main components of a native Customer Insights - Journeys channel and a custom channel solution:
The following table describes the implementation requirements for SMS and custom channels.
Component | SMS | Custom |
---|---|---|
Extended configuration entity for the channel instance | Required | Required |
Extended configuration entity for the channel instance account | Required | Not supported |
Message parts | Required; should contain only a single message part with "msdyn_name" = "text" | Required |
Localization for admin UI | Optional | Optional |
Message editor UI | Not allowed; native Customer Insights - Journeys SMS editor is used | Optional; generic Customer Insights - Journeys editor is used if not defined |
Custom APIs | Required | Required |
Channel definition | Required | Required |
Sample solutions
The following samples include unpacked solutions for Dataverse and plugins projects. To pack and import the solutions, first build the plugin project. The project copies the assembly to the solution project. Then, pack the solution using the Solution Packager tool.
How to build the plugins project and pack the solution
Build the plugins project with MSBuild or Visual Studio.
Building the project creates a DLL in the PluginAssemblies folder inside the Dataverse solution folder.
Pack the unmanaged folder with the Solution Packager using either:
- pac CLI (preferred)
- Solution packager
pac solution pack --zipfile C:\tmp\SampleCustomChannelSolution.zip -f src\Solutions\Samples\SampleCustomChannel\SampleCustomChannel.Solution\unmanaged --packagetype Both