Automated Selective Syncing from Salesforce to Pardot
This solution will work with ALL levels of Pardot using Salesforce Enterprise Edition or greater.
THE REQUEST/USER STORY:
Sales & Marketing Users would like to specify which Salesforce records create a New Prospect in Pardot.
Currently, the Salesforce Connector in Pardot includes the option to ‘Automatically create Prospects in Pardot if they are created as a Lead or Contact in Salesforce’.
THE SOLUTION:
WebhooksByCypress is an Apex Class that allows an HTTP POST from a flow in Salesforce. This class uses an @invocablemethod, which means it can be used with Process Builder or Flows in Salesforce.
Scroll below to view step by step instructions for setting up your first Salesforce flow with the Webhooks Package:
Additional Benefits of this Managed Package
In addition to enabling Selective Syncing from Salesforce to pardot, this Managed Package solves the following use cases:
- Custom Object Integration: Triggering Pardot Prospect Sync from Custom Salesforce Objects
- Better Channel Attribution: Simplified Method for Pardot Campaign Attribution from Salesforce Channels
- Improved Segmentation: Use Multiple Pardot Form Handlers for each Salesforce integration, app & flow decision.
- Custom Systems Integration: Works with Other Integrations that accept Querystrings (Zapier, HubSpot, AWS, xMatters)
HOW TO USE THIS PACKAGE
Once you’ve installed the Managed Package, there are some steps you’ll need to complete before getting the package to work.
Setup Remote Site Settings
In order for our HTTP POST to work from SalesForce, we need to make sure our Remote Site settings include https://go.pardot.com. Alternatively, you can also add your tracker domain.
This assures Salesforce TRUSTS the endpoint URL for Pardot. Optionally, a tracker domain can be used. We have found using go.pardot.com is a clean solution, but remember the form handler will need to use the domain included in the remote site setting!
- From Setup, Quickfind Remote Site Settings
- Create a new remote site
- Name: PardotFormHandler
- Site/url: https://go.pardot.com
Using WebHooksbyCypress
Webhooks by Cypress are designed to work with Process Builder or Flows in Salesforce. In this example, we’ll be using Pardot form handlers. However, we’ve tested this with many other tools that accept HTTP POST and it works just fine! (For example, Webhooks by Zapier!)
The Apex class has been built to allow a url variable to be added in Process Builder or flow (see below). This is where we’ll add a URL with some variables from Salesforce. Depending on whether you’re using Process Builder, Flow to create a formula for your URL, or using a formula field created on the record itsself is up to you. This method will execute the HTTP POST method in salesforce to whatever is passed through to the url variable.
WebHooksbyCypress with Process Builder: In Process Builder, you add an Apex Action. Name your action whatever you’d like, we recommend Send to Pardot. Find the wh4sf__WebHooksbyCypressBatchJob Apex Class and add the url variable from the Set Apex Variable. Create a formula that includes your Pardot Form handler and whichever values you’d like to send to your form handler by appending the query string to your form handler
WebHooksbyCypress with Flows: In Flow, you will likely create a New Resource to generate your webhook URL. Here’s an example of a Resource we created:
This has been designed to be a flexible way to make HTTP callouts from Salesforce flow or process builder. There are many use cases I have not yet explored, including using this with custom objects, let us know what you come up with!
Troubleshooting Webhooks by Cypress
Issue: I am unable to find the APEX class when I am creating a flow
Confirm you are searching for the correct Apex Class:
The correct Apex class being used for this package is wh4sf__WebHooksbyCypressBatchJob
Has the package been installed?
As a Salesforce Admin navigate to the Installed Packages section, from your Setup Menu Navigate to Apps>Packaging>Installed Packages.
Issue: My flow is setup, but I am not seeing any activity in the Pardot form handler
Is the Pardot Form Handler URL accepted by your Salesforce Org
Confirm the domain being used with the Pardot Form Handler is included in Salesforce’s Remote Site Settings
for more troubleshooting assistance click here