Add custom SMS channel

Dynamics 365 Sales supports certain SMS channels natively and can add SMS channels that aren't supported natively.

License and role requirements

Requirement type You must have
License Dynamics 365 Sales Enterprise, Dynamics 365 Sales Premium, or Microsoft Relationship Sales
More information: Dynamics 365 Sales pricing
Security roles System Administrator
More information: Predefined security roles for Sales

Steps to add custom SMS channel

  1. Define an extended configuration entity for a channel instance
  2. Define an extended configuration entity for a channel instance account
  3. Define the message parts (solution-aware component)
  4. (Optional) Define the localization for the admin interface
  5. Define custom APIs
  6. Define the custom channel (solution-aware component)

Dynamics 365 Sales 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 table describes the implementation requirements for SMS channels.

Component Required
Extended configuration entity for the channel instance Required
Extended configuration entity for the channel instance account Required
Message parts Required; should contain only a single message part with msdyn_name = text
Localization for admin UI Optional
Custom APIs Required
Channel definition Required

Sample solutions

The following sample includes 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.

Build the plugins project and pack the solution

  1. Build the plugins project with MSBuild or Visual Studio.

    Building the project creates a DLL in the PluginAssemblies folder inside the Dataverse solution folder.

  2. Pack the unmanaged folder with the Solution Packager using either:

    pac solution pack --zipfile C:\tmp\SampleSmsChannelSolution.zip -f src\Solutions\Samples\SampleSmsChannel\SampleSmsChannel.Solution\unmanaged --packagetype Both