Transactional messaging architecture

About execution and control instances

In Adobe Campaign, transactional messaging capabilities (also known as Message Center) were designed to support scalability and provide a 24/7 service. It is made up of several instances:

  • a control instance, which the message templates are created in,
  • one or more execution instances which receive events and deliver messages.

To use these capabilities, Adobe Campaign users log on to the control instance to create transactional message templates, generate the message preview using a seed list, display reports and monitor execution instances.

Execution instances receive events, link them to transactional message templates, and send a personalized message to each recipient.

Supporting several control instances


Sharing an execution cluster with several control instances is only supported for on-premise environments.

It is possible to share an execution cluster among several control instances. For example, if you manage several specialized stores, you can configure one control instance per brand and link them all to the same execution cluster.


For more on the necessary configuration, refer to Using several control instances.

Installing instances

There are several precautions to take when installing the Transactional message packages. Adobe recommends you to work in a test environment before putting into production. You also need to have a compatible Adobe Campaign license. For more information, please contact your Adobe account executive.


The control instance and the execution instance(s) must be installed on different machines. They cannot share the same Campaign instance.

If you need to use several channels, you must install and configure related packages before installing Transactional message packages. Refer to Adding a delivery channel.

  • To install the control instance on your machine, select the Transactional message control module.

  • To install the execution instance on your machine, select the Transactional message execution module.

Adding a delivery channel

Adding a delivery channel (mobile channel, Mobile App channel, etc.) must be performed before installing the Transactional message package. If you have started a transactional messaging project on the email channel, then decide during the project to add a new channel, you must follow these steps:

  1. Install the channel you need, for example the Mobile channel, using the package import wizard ( Tools > Advanced > Import package… > Adobe Campaign Package ).

  2. Perform a file import ( Tools > Advanced > Import package… > File ), and select the datakitnms[Your language]packagemessageCenter.xml file.

  3. In the XML content of the data to import , keep only the delivery template that corresponds to the added channel. For example, if you have added the Mobile channel, keep only the entities element that corresponds to the Mobile transactional message (smsTriggerMessage). If you have added the Mobile App Channel, keep only the iOS transactional message (iosTriggerMessage) and the Android transactional message (androidTriggerMessage).

Transactional messaging and push notifications

When combined with Mobile App channel module, transactional messaging enables you to push transactional messages through notifications on mobile devices.


The Mobile App channel is detailed in this section.

To use transactional message modules with Mobile App Channel, you need to apply the following configurations:

  1. Install the Mobile App Channel package onto the control and execution instances.
  2. Replicate the Mobile application type Adobe Campaign service as well as the mobile applications that it contains on the execution instances.

The event must contain the following elements:

  • The mobile device ID (registrationId for Android and deviceToken for iOS). This ID represents the “address” that the notification will be sent to.
  • The link to the mobile application or integration key (uuid) which lets you recover connection information specific to the application.
  • The channel to which the notification will be sent (wishedChannel): 41 for iOS and 42 for Android
  • All data useful for personalization

Here is an example of an event that contains this information:

<SOAP-ENV:Envelope xmlns:xsd="" xmlns:xsi="" xmlns:SOAP-ENV="">

              <rtEvent wishedChannel="41" type="DELIVERY" registrationToken="2cefnefzef758398493srefzefkzq483974">
                <mobileApp _operation=”none” uuid="com.adobe.NeoMiles"/>
                    <deliveryTime>1:30 PM</deliveryTime>


The creation of message templates remains the same.

Transactional messaging and LINE

Combined with LINE Channel, transactional messages allow you to send real time messages on the LINE app installed in consumer mobile devices. This is used to send the Welcome message when a LINE user adds the brand’s page.

To use transactional message module with LINE, the following elements are needed for the configuration on your marketing instance and your execution instance:

  • Install the LINE Connect package on both instances.
  • Install the Transactional message control package on your marketing instance, and the Transactional message execution package on the execution instance.
  • Create a LINE external account and service on both instances with identical naming for them to be synchronized. For more information on how to create a LINE external account and service, refer to this page.

Then, from the Explorer , in Platform > External account , you need to configure different external accounts on both instances:

  1. Create an External database external account in your execution instance with the following configuration:

    • Label and Internal name : name your external account as needed.
    • Type : select External database .
    • Enabled box must be checked.

    From the Connection category:

    • Type : select your database server e.g. PostgresSQL.

    • Server : enter your database server URL.

    • Account : enter your database account.


      The database user needs to have read rights on the following tables for FDA connection: XtkOption, NmsVisitor, NmsVisitorSub, NmsService, NmsBroadLogRtEvent, NmsBroadLogBatchEvent, NmsTrackingLogRtEvent, NmsTrackingLogBatchEvent, NmsRtEvent, NmsBatchEvent, NmsBroadLogMsg, NmsTrackingUrl, NmsDelivery, NmsWebTrackingLogXtkFolder.

    • Password : enter the password for your database account.

    • Database : enter the database name of the execution instance.

    • Target of an HTTP relay to remote database’s account box must be checked.

  2. Create an External Database account in your marketing instance with the following configuration.

    • Label and Internal name : name your external account as needed.
    • Type : select External database .
    • Enabled box must be checked.

    From the Connection category:

    • Type : select HTTP relay to remote Database .
    • Server : enter your campaign’s server URL of the execution instance.
    • Account : enter the account used to access your execution instance.
    • Password : enter the password for the account used to access your execution instance.
    • Data Source : enter the following syntax nms:extAccount:ID of your external database account in the execution instance .
  3. Create an Execution instance external account in your marketing instance using the following configuration to create the data synchronization workflow:

    • Label and Internal name : name your external account as needed.
    • Type : select Execution instance .
    • Enabled box must be checked.

    From the Connection category:

    • URL : enter your execution instance’s URL.
    • Account : enter your account used to access your execution instance.
    • Password : enter the password for the account used to access your execution instance.

    From the Account connection method category:

    • Method : select Federated Data Access (FDA) .
    • FDA account : select your FDA account from the drop-down.
    • Click the Create the archiving workflow button.
    • Click the Create data synchronization workflow button to create the LINE data sync workflow.
  4. You can now start creating transactional messages. For more on this, refer to this page.

On this page