How to Triggering a Salesforce Marketing Cloud Journey in Digioh

Here are the steps to start triggering journeys. (FYI: We are happy to walk you through these steps or even do it for you)

For triggering a Journey we need to use the Salesforce API, in order to use the Salesforce API we need you to create a connected app.

These are the first step (to create a basic app):
https://help.salesforce.com/articleView?id=connected_app_create_basics.htm&type=5

These is the next step (to give the app API access):
https://help.salesforce.com/articleView?id=connected_app_create_api_integration.htm&type=5

Once you create the connected app, this is the information we need.

Once the app is created, we will need the following information from it:

  • clientId
  • clientSecret
  • subdomain
  • accountId
  • scope

The “scope” will need to be set on the app itself, and they will need to assign the following permissions for the scope:

  • email_send
  • journeys_read
  • list_and_subscribers_read
  • data_extensions_read
  • data_extensions_write

We also need to know the “EventDefinitionKey”. Here is an example of what that looks like: APIEvent-sei9lsdkff-sdlfjk-97wels-lksdj-flsdjfdkje630

Sometimes customers have setup a custom named EventDefinitionKey that might look different. But usually it is an auto-generated one like the above format.

We also want to verify that the table has a “primary key” assigned (and what field the “primary key” is). Typically it is called “EmailAddress” but sometimes customers use a different primary key name or field.

Finally, we just want to verify that we should use the email address as the “ContactKey” – The ID that uniquely identifies a subscriber/contact.

Here is the API documentation showing the fields I have mentioned, as a reference:
https://developer.salesforce.com/docs/atlas.en-us.noversion.mc-apis.meta/mc-apis/postEvent.htm

Here is a screenshot of what the integration looks like typically for pushing to a Data Extension and Triggering a Journey. In this example the ContactKey is the Email Address and we are passing the email, signup_date, and 2 custom fields (Site_Campaign and sign_up_category).

Here is what the JSON Payload is in this example:

{
"ContactKey": "[EMAIL]",
"EventDefinitionKey": "APIEvent-XXXX",
"EstablishContactKey": true,
"Data": {
    "email": "[EMAIL]",
    "signup_date":"[TIMESTAMP_yyyy-MM-dd HH:mm:ss tt]",
    "Site_Campaign":"[CUSTOM_19]",
    "sign_up_category":"[CUSTOM_20]"
 

    }
}