Salesforce Marketing Cloud - Journey Builder activity
It's easy to trigger Atomic Action Flows from within the Salesforce Marketing Cloud Journey Builder using our custom Start Atomic Action Flow activity.
![Salesforce Marketing Cloud Journey Builder showing Atomic.io Trigger step](/assets/images/sfmc-journey-builder-317849c9998edb49c9ee9a3765a6336c.png)
The activity can be configured to target a specific user and include customization data by mapping Salesforce data to Atomic variables.
Note that you'll need an Atomic account to use the Atomic SFMC Journey Builder plugin. If you're not an existing Atomic customer, visit atomic.io to learn more or contact our sales team sales@atomic.io.
Installing the package
To use Salesforce Marketing Cloud with Atomic, you'll need to install the package in SFMC.
The first step is to provide some contact information and agree to Salesforce's terms and conditions in Salesforce AppExchange. Once that's complete, you'll be redirected back to this documentation page.
Next, follow these steps configure the package in Salesforce Marketing Cloud:
- In
Setup
>Platform Tools
>Apps
>Installed Packages
, choose New. - Make a name for the Atomic package and save.
- Copy the JWT Signing Secret somewhere safe - you’ll use this when configuring Connectors on Atomic cards back in the Workbench.
- Choose Add component then Journey Builder Activity
- Make a name for the component, for example Trigger Atomic
- Choose Messages from the category options and paste the following into the Endpoint URL input:
https://sfmc.plugins.atomic.io/
then Save. - Switch to the Access tab and either License 'All current and future users', or selected users, so these folks can see the new Atomic activity step in Journey Builder.
Congratulations - the package is now installed. Check that the setup was successful by opening Journey Builder and confirming you can see the Atomic custom action in the actions / Messages tray on the left side.
You're now ready to configure the integration.
Configuring the integration
Before configuring the integration, you'll need to contact Atomic support (support@atomic.io) so we can enable the integration within your Atomic organization. Once you've completed the configuration, you can start mapping and handling variables to customize your Action Cards.
Configuring the integration in the Atomic Workbench
In order for the Atomic platform to communicate securely with Salesforce, you'll need to set up the integration. This is a one-time setup required for each Marketing Cloud environment you wish to send cards from.
You'll need:
- The package Signing Secret from the previous step
- administrator access within the Atomic workbench
- Open the workbench and navigate to
Configuration
>Integrations
>Salesforce
- Click on Add integration
- Enter an appropriate configuration name, for example 'Salesforce Production Instance'
- Paste in the Signing Secret
- Click Save
Connecting your card template and Journey
This section must be completed once for each card you wish to send from SFMC. In the Workbench, open the Card Template you wish to send from SFMC.
- Navigate to the
Connector triggers
section in theTriggers
tab. - Click on
Add connector trigger
. - Select the Type Salesforce Marketing Cloud Journey Step
- Select the Configuration you created in the previous section.
- Give it a name and description.
- Finally, click Save - you're now ready to set up the mapping in SFMC
Configuring your SFMC Journey
This step tells SFMC Journey Builder when during your Journey you want to send an Atomic card, to whom, and which data to include in your card.
Create a new Multi-Step Journey or open an existing one, make sure you're viewing a Draft version.
-
Navigate to the Messages dropdown in the left-hand Activities panel.
-
Drag and drop the Start Atomic Action Flow activity into your Journey.
-
Click on the Activity & log in using your atomic workbench credentials. Note: if logging in via SSO, you must close the activity once you've logged in, then re-open it before continuing with configuration.
-
Select the org/environment which contains your Action Card.
-
From the dropdown, select your Card Template / Action Flow. Note: if your it isn't visible in the dropdown, make sure you completed the section Connecting your Card Template.
-
Add a mapping for the Target user id. See the Data Bindings section on what format to use.
-
Add mappings for any variables. See the Data Bindings section for formats and the Variable and User id mappings section for how data will be handled in Atomic.
-
Address any Journey validations.
Note: you can safely ignore a recommendation titled 'Missing Message Activity', this is a bug in the SFMC Journey Builder.
-
Save
You're now ready to Activate your Journey.
Variable and User id mappings
The type of your Atomic variable, for example String
, Number
, has an impact on what data can be sent from SFMC. SFMC sends all data as Strings and Atomic parses them into the desired type under the hood.
There are a couple of exceptions to be aware of.
Date
variables must be sent in the ISO8601 format. SFMCDates
stored in Data Extensions for example, are not in this format so must be mapped toString
variables. Atomic may add support for this to be done under the hood in future - please contact us if this is important for your use case.List
variables must be mapped to a JSON format, for example:["foo", "bar"]
or["first item", "{{Contact.Attribute.my_extension.user_name}}"]
.
You must provide a mapping for variables marked as 'Required' in Atomic.
Data Bindings
SFMC uses Data Bindings to include Salesforce data in requests made to Atomic.
The format used in data bindings looks like the following: {{foo.bar.baz}}
. Properties which contain spaces must be quoted, for example {{Contact.Attribute."My Data Extension"."My Field"}}
. See the SFMC Data Bindings documentation for more information.
The Data Extension format is {{Contact.Attribute.<DataExtensionName>.<YourFieldName>}}
. For example a Data Extension with the name my_extension
and a column user_id
would become {{Contact.Attribute.my_extension.user_id}}
.
The API Request format is {{Event.<API-Event-UUID>}}
.