Sample: Distribute campaign activities to dynamic and static lists

This sample shows how to create a dynamic marketing list, copy it to the static marketing list, and distribute campaign activities to the members of the marketing lists. You can download the sample from here.

How to run this sample

  1. Download or clone the Dynamics365-Apps-Samples repo so that you have a local copy.
  2. (Optional) Edit the dataverse/App.config file to define a connection string specifying the Common Data Service instance you want to connect to.
  3. Open the sample solution in Visual Studio and press F5 to run the sample. After you specify a connection string in dataverse/App.config, any sample you run will use that connection information.

If you don't specify a connection string in dataverse/App.config file, a dialog opens each time you run the sample, and you'll need to enter information about which Dataverse instance you want to connect to and which credentials you want to use. This dialog caches previous connections so that you can choose a previously used connection.

Those samples in this repo that require a connection to a Common Data Service instance to run includes a linked reference to the dataverse/App.config file.

How this sample works

In order to simulate the scenario described above, the sample will do the following:

Setup

  1. Checks for the current version of the org.
  2. The CreateRequiredRecords method creates any table rows that this sample requires.

Demonstrate

  1. The List method creates a dynamic list. The list is considered to be a dynamic list only when the Type parameter is set to true.
  2. The Campaign method creates a campaign.
  3. The AddItemCampaignRequest method adds the dynamic list to the campaign.
  4. The CampaignActivity method creates a campaign activity to distribute fax to the list members.
  5. The AddItemCampaignActivityRequest method adds the dynamic list to the campaign activity.
  6. The CopyDynamicListToStaticRequest method copies the dynamic list to a static list.
  7. The DistributeCampaignActivityRequest method distributes the campaign activity to the marketing lists.

Clean up

Display an option to delete the rows created in the Setup. The deletion is optional in case you want to examine the tables and data created by the sample. You can manually delete the rows to achieve the same result.

Campaign Tables
Sample: Distribute a Quick Campaign
List (Marketing List) Table
Marketing Tables (Campaign, List)
Sample: Distribute Campaign Activities to Qualified Marketing List
AddMemberListRequest
AddItemCampaignRequest
AddItemCampaignActivityRequest
CopyDynamicListToStaticRequest
DistributeCampaignActivityRequest