This guide covers how to synchronize Kentico Contact Groups with SensorPro using scheduled tasks. Kentico user groups allows you to divide your site visitors and users into groups of people with shared characteristics, which you can then accurately target in your on-line marketing efforts.This segmentation is achieved easily using macro conditions. Macro condition-based contact groups automatically gather all contacts that fulfill certain criteria defined through the condition into a group.

After the synchronization process has run, you can view the Kentico contacts in SensorPro. The mapped data will be passed forward to the SensorPro contact record and the contacts will be tagged with the Kentico contact group name. The means that contact groups can be targeted using SensorPro segmentation.

For example take the following 3 groups in Kentico: Finance, Marketing, Technical as shown below.

See the example configuration of Marketing group using macro conditions.

After the synchronization task has run these contacts will be visible in the Contact Universe each contact will be tagged with all the groups which they are part of in Kentico.

To setup follow these steps:

  1. Unzip the supplied file unzip and copy the contents to the CMS\bin directory.
  2. Ensure there is an app.config file in the CMS\bin folder, if so make sure the "CMSConnectionString" value is set. If not set it. If the file does not exist create it and set the "CMSConnectionString". You can copy this from the site's web.config file.



<add name="CMSConnectionString" connectionString="Persist Security Info=False;database=..."/>


  1. Once this is done we can configure the scheduled tasks

To setup the scheduled task, follow these steps:

  1. In the Administration Interface, navigate to scheduled tasks module.
  2. Add a new task enter the information as follows:

  1. Task display name: Set as required
  2. Task name: Leave blank
  3. Task provider: NT.Interface.Kentico11
  4. Assembly name: NT.Interface.Kentico11.CMSScheduleCG
  5. Set the schedule as required
  6. Task data: Contains the API details to connect to SensorPro.

The key values are highlighted in brown:

  1. SensorProApiUrl: The URL for sensorpro web site
  2. SensorProOrganization: Organization used to login to SensorPro
  3. SensorProApiUser: This must be an API user in SensorPro.
  4. SensorProApiPassword: Password
  5. SensorProApiKey: API key is gotten from the organization screen in SensorPro.
  6. ContactGroupsSchTask: Contains the body of the API call this has default configuration and exports the following data by default: first name, last name, email address, contact group name.


"TraceSensorPro": "off",

"TraceToKenticoLog": "on",

"SensorProApiUrl": "",

"SensorProOrganization": "",

"SensorProApiUser": "",

"SensorProApiPassword": "",

"SensorProApiKey": "",

"ContactGroupsSchTask": {

"Description": "",

"ContactGroupExportApiConfig":"{\"AddToList\": [\"{contactgroupname}\"],\"Contact\": [{\"FirstName\": \"{ContactFirstName}\",\"LastName\": \"{ContactLastName}\",\"PersonalEMail\": \"{ContactEmail}\"}],\"Options\": {\"Parameters\": {},\"Action\": \"\"},\"ReturnFailedRequests\": false,\"UpdateByKey\": \"email\",\"SendWelcomeEmail\": false,\"SignupFormId\": \"00000000-0000-0000-0000-000000000000\"}",

"ProcessGroups": []



  1. When the scheduled task completes it will post a status message showing the results of the synchronization. The contacts will now be added and updated to SensorPro.