If you are a Pardot user and you want to use Marketing Cloud Next (Growth & Advanced) in parallel in a Converging way (if unsure, check drop Pardot for MC Next or use both), you may wonder how to surface Pardot unassigned Prospects to MC Next.
Pardot Prospect can be assigned, and in that case, they are in sync with either a Lead or a Contact in Salesforce. So Leads and Contacts are already handled by Marketing Cloud.
But, unassigned Prospects are “Pardot Only”, which means they exist only in Account Engagement. In this article, we’ll leverage the new Prospect Core Object, that Marketing Cloud and Data Cloud can access, to create a new Core Prospect whenever a Pardot Prospect is created.
Here are the ingredients we’ll use for this:
- A Dynamic List to gather new unassigned Account Engagement Prospect Prospects
- An Engagement Prospect triggered from the Dynamic List
- An Autolaunched Flow to check for duplicates and create the Core Prospect
- An External Action to call the Flow from Engagement Program
Account Engagement Dynamic List
We select only Prospect created in a one day time frame, but if you handle the complete unassigned Prospect list, you may adjust this setting.
Autolaunched Flow to create a Core Prospect
Form Salesforce Setup > Flow > New Flow we create a new Flow.
We select the Autolaunched type.
And finally, Autolaunched Flow (No Trigger) type.
Later, we will call this Flow from an External Action in Pardot, and we will then pass parameters related to the Prospect we want to create on Core from the Pardot Prospect.
For this we will create Variables in the Flow. Open the left sidebar (upper left icon).
We create a New Resource, a Text Variable to get the Email Address. We check Available for input.
We select Prospects as a Salesforce Object we will query and filter the results so the found records need tot have the same Email Address, First Name and Last Name as defined in our input variables. We let the othe options as-is.
Next, we add a Decision Element to check if we actually found matching Prospects. We define the Label of the new created outcome as No Similar Prospect in which we check if the Prospect ID found in the previous Get Record step was null.
We rename the default outcome Similar Prospect Found, and we now have the Following result.
We could the same check for existing Leads or Contacts. In the No Similar Prospect Found, we add a Create Record Element and define the Prospect Email Address, First Name and Last Name from the input variables.
Note, there is a Check for Matching Record: we could have used it as a first step for this Flow as an alternate design. We leave it disabled here.
Before we save the Flow, we open its Settings (gear) and in Show advanced we select System Context without Sharing – Access All Data as an option for How to Run the Flow?
This is just a quick fix. As an alternative you may also allow change the permissions of the Integration user so it can see and execute Flow. Save the Flow.
And finally, we activate the Flow
External Action to call the Flow
External Actions are easy to setup in Account Engagement (they require the Advanced licence or higher). They are stored inside Marketing App Extensions, so we create one: Marketing Setup > Marketing App Extension > New.
We give it a name and check Activate in Automation so we can use them in Engagement Studio.
Next to Business Unit ASsignements, we select New and the Account Engagement Business Units we want to use this extension in. Then we create an External Action, by clicking New next to Action Types.
We give it name, and as an invocable action we select our Flow. Notice the Invocable Action Schema is filled, we could edit it, for example to define default values for the Flow inputs. Check Active in Automation so we can use this External Action.
Now we can create the Engagement Program, triggered by our Dynamic List and calling the Flow to create the Core Prospect, via an External Action.
It may a good time to check how Pardot Concepts and Marketing Cloud Next concepts can converge.
The Engagement Program
From Automations, we Add and Engagement Program, and in Engagement Studio, we give it a name and select our Dynamic List as Recipient List.
We Safe the Engagement Program and now, and add an our External Action, by searching for its name.
Then we need the values of the Fields we declared as inputs from the Flow. The syntax is the same as the one used for Merge Fields, relying on handlebar.
- EmailAddress: {{Recipient.Email}}
- FirstName: {{Recipient.FirstName}}
- LastName: {{Recipient.LastName}}
We can then Save and Start the Flow. Every new unassigned Pardot Prospect will be created as Marketing Cloud Next Prospect from now on.
Final thoughts
There is a handy way to troubleshoot External Actions related issues. In Account Engagement Settings, there is an External Actions Error left menu entry, which gives informations on why an External Action call failed.
This is a first step to convergence. We could also have passed the Opt In Pardot Status of the Account Engagement Prospect, so that we add a Marketing Cloud Next Consent from the Flow we created. Engagement data can also be pulled from Pardot to Marketing Cloud Next (Growth and Advanced).