Integrate Anything with Pardot (using Microservices)

Share this article...

The number of custom integrations with Pardot that your organization needs will continue to grow alongside Pardot’s capabilities.

Pardot admins and marketers can build custom integrations in a low-code way using tools such as Tray.io, or Zapier. However, it’s important to understand not only how integrations work, but also how to decide which custom integrations you really need.

Marketing Ops with effective integrations at scale is my passion. Every day, I help clients with Pardot implementations, migrations, and more importantly, integrations between Pardot and the rest of a typical MarTech stack.

We’ll see how microservices can send real-time Pardot data alerts to instant messaging apps, enrich submission data from a Pardot form, and get visibility into data from a third-party source, faster – but first, let’s cover microservices fundamentals.

Pardot Integration: Microservices Fundamentals

Microservices enable you to deliver an application by stitching together smaller services. No doubt you will already be familiar with microservices – Tray.io, Workato, Zapier, are all popular examples. These microservices sit in between your Pardot org, and other applications or files you are creating/or updating data between. I’ll break microservice benefits into two main parts to explain further.

Connection

Microservices could be the answer you would give to the question: “I want to connect [something] into [something else]”; “How can I connect ____[X] with ____[Y]”.

X or Y could be an external database (Pardot → Google Sheets), or even another marketing automation platform that’s used by your organization in tandem with Pardot, by another region or business unit, for example (Marketo ←> Pardot).

Microservices sit in between your whole technology stack, bringing it together in a way that enables data to transfer from one location to another.

Data Standardization

Another way to use microservices is to standardize data – simply, to change the format of data from tool to tool.

Pardot could be ingesting field data, in the wrong format. Date field data can often be in the wrong format (we all know that Pardot is kinda funky with date fields). We need to change the date format before pushing that data into Pardot.

Microservices allow you to do that in an automated fashion. You won’t need to venture deep into CSVs.

I could take a field that’s in a CSV. file from a content syndication partner. Instead of having to download the file, and spend a ton of time normalizing/standardizing the data before it can even touch Pardot, Tray.io/Zapier (etc.) can sit in between your file and Pardot; microservices can intake data, get it to the destination where it needs to be, and also adjust it according to some logic we define in between the start point and the endpoint.

How Integrations with Microservices Works

The key step to understanding how integrations can work for you is to cover the 5 key components:

  • Trigger: What kicks off a workflow (movement or data between applications). eg. a Zap trigger at the top of the Zapier sequence, typically a form submission, or a data post. It’s a listener, and if the criteria you’ve set are met, it triggers the automation from the top step.
  • Source data: Key information that can be used in the workflow. You may jump into different applications throughout; maybe the information is coming from a form, but you want to enrich that data with something like Clearbit, which would be a data source.
  • Logic: Steps to help determine what to do with the information. You can do tree logic, boolean logic (true/false), for example, “if the state is “Michigan” or “Texas” I want to do something different with that record versus all other states”.
  • Formatting: Transforming your data to ‘fit’ into different tools. Formatting dates, times, countries, states, ZIP/postal codes, phone numbers – the use cases are endless for when data may not always be the cleanest.
  • Action: the end goal you’re trying to accomplish, for example, creating a record in Salesforce/Pardot, or sending a Slack message, or posting the data into a Google Sheet.

Understanding JSON Data

Maybe you see “JSON” and instinctively back away. It would be remiss of me to not talk about the JSON data structure, which is a key component in connecting one tool to another. You don’t have to be a developer, nor have any experience coding to follow along.

JSON contains one or multiple “KEY” entries and “VALUE” entries:

  • KEY: eg. a field ID (or some unique identifier to a field).
  • VALUE: information we are pushing into the key, or is being pulled from the key.

In this example: “FirstName” = the KEY, “Stephen” = the VALUE.

Pardot + Microservices (in action)

During my ParDreamin’ session, I built these two use cases, live.

  • Pardot Real-Time Alerts:

I want to send information to a location – as in, send form submission data to Pardot, then as a Slack notification.
Use case details: we want to notify the sales team when a form is filled out on the website – I also want to share the data with our partner by inserting the data into a spreadsheet without having to share login details to Pardot or Slack.

  • Data Enrichment From a Form (or another external source):

Asking for as little amount of needed information is key to having high conversions, but what if you need more information than you’re willing to put on the form? Data enrichment will make your record data more comprehensive without explicitly asking for the information from the prospect.

  • Ingest data from a third-party source:

You may be working with a content syndication partner, as I mentioned before. They will use their own landing page to promote the assets, but as people fill out their form, we want the information too! In most cases I see, marketing teams have an agreement for the CSV/data dump “we’ll send you the leads every week, or every Friday at 4 pm”. Waiting 7 days to get information is like a lifetime in the journey of that lead. Getting hold of that data as soon as possible is important; you can use microservices to plug into third-party tools so that the marketing team can accept the information in real-time.

Pardot Real-Time Alerts (with Slack, HipChat, etc.)

I want to send information to a location – as in, send form submission data to Pardot, then as a Slack notification. You can apply this to most other instant messaging business applications.

1. Create the Pardot form:

Start with a Pardot landing page. The important piece is the form. Some of the fields are required (set on the form on the Pardot side).

2. Add the “Thank You Code” script

Pardot allows all users to send information to a location in a convenient way using the “Thank You Code” section on the “Completion Actions” step of the form builder. This is underutilized, in my opinion. Again, you don’t have to know code. I could provide every reader of this guide with the script that I’m going to use. Insert this script:

<script>
var arr = {
firstname: ‘%%first_name%%’,
lastname: ‘%%last_name%%’,
email: ‘%%email%%’,
company: ‘%%company%%’,
state: ‘%%state%%’,
comments: ‘%%comments%%’,
form:’Pardreamin Microservices Integrations Demo!’,
};
window.pardot.$.ajax({
url: ‘WEBHOOK_URL_HERE’,
type: ‘POST’,
data: JSON.stringify(arr),
contentType: ‘application/json; charset=utf-8’,
dataType: ‘json’,
});
</script>

<script>
var timer = setTimeout(function() {
top.window.location=’#’
}, 2000);
</script>

What this script does:

  • Insert these variables: the fields that are included on my Pardot form (first name, last name, company, any custom fields). Note that you can add any other standard or custom Pardot fields to this information transfer just by adding a line to the code.
firstname: '%%first_name%%',
lastname: '%%last_name%%',
email: '%%email%%',
company: '%%company%%',
state: '%%state%%',
comments: '%%comments%%',


  • POST the information into a location: you can see “Webhook URL” which is the location data will be sent to. In this example, this is how we get the data out of Pardot; up until this form submission, everything was just in Pardot (and Salesforce). This script pulls it out, and pushes it into a new location.
  • Timed redirect: then I have included a separate script (a timed redirect), which will make sure that everything before this point in the workflow has had time to process. You could also redirect, but in this case, I have set the redirect to the existing landing page that the form ‘sits’ on. If you would like to send the prospect to a second page (not refresh the current, just replace the Hashtag ‘#’ with the full URL you’d like to point the prospect to once the form is completed.

3. Jump into Tray.io

Now that I have my script prepared, I have to bounce it over to the location (wherever I’m going to send this information).

I’m going to jump into Tray.io, and build a new workflow.

Decide on your trigger.
Ensure you authenticate Salesforce.

Pardot’s “extensibility mission” solves for some of this use case. Pardot’s Slack connector can send a message to a specific Slack channel, but microservices are still applicable if you need to:

  • Send a message to any other instant messaging platforms (eg. HipChat)
  • Be more flexible with what data is being sent where, and any data manipulation (standardization, enrichment) that needs to happen in between the start and end steps.
  • Send data to any external application. Think: Google Sheets, database, another Salesforce/Pardot account, partners, or even back into your own Pardot!

Pardot Form Data Enrichment (or another external source)

Within the microservices workflow, additional functionality can enrich the record ingested from Pardot. Let’s see how Clearbit can enrich the company field using the domain from the email address.

1. Parse the email address into all of its components:

As the domain is a piece of the overall email address, we first need to extract the domain value from the email address so that Clearbit has something to work with. Use a “Text Helper” (microservices will have similar tools available) to pull out the email’s first part, the domain, and check it’s a valid email address.

2. Map the Text Helper to Clearbit:

Map the “domain” from the parsed email address, from the Text Helper, to Clearbit

3. Authenticate Clearbit.

4. Test again by rerunning test records.

We can now see “juicy” information, such as where the company is located, how many employees, its industry, Twitter handle, Facebook profile link, etc. Any of these data points can be used in the Slack notification.

5. Map the data points that Clearbit surfaced to the Slack message:

In summary, the information from the form submission + Pardot + Clearbit → package it up to send to Slack, for whoever needs to see it.

Microservices + Pardot: Questions

Is there a checklist that you think through each time you build a workflow?
Yes, it goes like this:

  • Where is the data coming from? Where does it need to go, and in what format does it need to be? The data format is a huge factor, something I am always mindful of.
  • Can I use native integrations (connectors) that come with Pardot/Salesforce that will achieve what I want? I love microservices and custom development, however, I will always opt for a native integration, if possible. Microservices really shine when you’re trying to work with the API, to go above and beyond those.

Tray.io versus Zapier

Personally, I love working in Tray.io. It’s a medium-enterprise grade solution.

If you’re looking to do one touchpoint, one endpoint, then Zapier is fine.

Zapier is limited when it comes to branch logic. Tray.io makes this really easy; I can create six branches for each region in my organization, and even nest branches within those six branches.

Summary

In this guide, we’ve seen how Pardot admins and marketers can build custom integrations in a low-code way using tools such as Tray.io, or Zapier for a variety of use cases, to:

  • Send real-time Pardot data alerts to instant messaging apps,
  • Enrich submission data from a Pardot form,
  • Get visibility into data from a third-party source, faster.

Remember, it’s important to understand not only how integrations work, and also how to decide which custom integrations you really need.

Add Comment