Marketing Automation Engine overview

The Marketing Automation Engine is a stand-alone service that is responsible for enrolling contacts in plans and activities. The default location of the Marketing Automation Engine in a single instance developer environment is:

  • C:\path\to\xconnect\App_data\jobs\continuous\AutomationEngine

The Marketing Automation Engine can be run as a Windows Service, console application (for development) or as a Web Job in Azure.

Data flow

The following diagram demonstrates the flow of data through the Marketing Automation Engine.

  1. Contact enrollment in a plan or activity can be triggered in a variety of ways:

    1. A new entity (contact or interaction) is created in xConnect - an entry is added to the automation processing pool.
    2. The timeout worker regularly evaluates all ‘Pause’ activities - an entry is added to the processing pool.
    3. The Operations API is used to manage enrollments directly, bypassing the processing pool - live event detection uses the Operations API.
  2. Processing pool entries are processed according to priority number.

  3. Each enrollment is evaluated. Every activity has an activity type, which defines the logic to be executed when a contact is enrolled in that activity. This includes evaluating conditions.

  4. A result is returned and the contact’s enrollment is updated in the enrollments database.

Activity types and conditions

As a developer, you can extend the Marketing Automation Engine in the following ways: