How to sync Pardot and Marketing Cloud Next Prospects

MC Next - Deep Dive #026
Build a near real-time bridge: trigger Prospect (core) creation from Pardot using External Actions + Flow. Clear steps, mappings, and troubleshooting.

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

Rules matching newly created, unassigned Account Engagement Prospects

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.

New Autolaunched Flow

We select the Autolaunched type.

Autolaunched Flow (No Trigger)

And finally, Autolaunched Flow (No Trigger) type.

Let's create the Autolaunched Flow

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).

Acessing the resources panel

We create a New Resource, a Text Variable to get the Email Address. We check Available for input.

Creating a variable to store the Email Adress of the Prospect to Create.

We do the same with First Name and Last Name.

We defined 3 inputs for our Flow

Next step is to check if a Core Prospect already exists. For this we will create a Get Record Activity.

Adding an Get Record activity

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.

Trying to get similar Prospects

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.

Configuring the Outcome

We rename the default outcome Similar Prospect Found, and we now have the Following result.

The Decision to check for existing Prospect id setup

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.

Creating a new Prospect.

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.

Naming and saving the Flow

And finally, we activate the Flow

The Flow is activated and ready to be used.

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.

Creating a Marketing App Extension

We give it a name and check Activate in Automation so we can use them in Engagement Studio.

Linking the App Extension with the current Business Unit in Pardot

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.

Let's create a new External Action

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.

Creating the External Action out of our Autolaunched Flow

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.

Creating the Engagement Program

We Safe the Engagement Program and now, and add an our External Action, by searching for its name.

Adding the External Action.

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}}
Defining the External Actions

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).

Be informed when we publish new content or have any questions? Join the TAM Slack workspace ↓

Share the Post:

How useful was this post?

Click on a star to rate it!

Average rating 5 / 5. Vote count: 6

No votes so far! Be the first to rate this post.

Join us on Slack

Your questions, answered.
Get our latest articles.