External Actions: The Long-Awaited Pardot Feature

Alas, Salesforce External Actions for Pardot is finally here.

Until now, our options to have Marketing Cloud Account Engagement (Pardot) trigger a third-party system have been limited to either: pre-existing connectors or syncing to Salesforce and relying on a Salesforce-side integration. 

With the Salesforce Winter ‘23 release, External Actions gives us the capability to integrate into any third-party system and do cool things. It’s a far cry from having true webhooks. Though, it is a step in the right direction. 

(We’ve built something to fill in the gap. Drop us a line — we’re happy to talk details with you).

Note: This feature is available to Plus, Advanced, and Premium editions of Pardot.

The Lowdown on External Actions for Pardot

External Action allows Pardot to do things like: 

  • Send an SMS message via Twilio or MogliSMS
  • Create a new Salesforce record (such as Lead, Opportunity, any Object!)
  • Send information to your favorite Star Wars API
  • Register a Prospect in another system
  • and whatever else you dream up! 

While there are some considerations (detailed later in this post), External Actions are a great way to plow through the barriers that have prevented you from automating your entire workflow. 

It’s important to note that there’s a similarly named feature called External Activities.  With Pardot External Activities, you can receive data from third-party systems to use in Pardot. With External Actions, you can send data to third-party systems so they can do cool things.

How does a Pardot External Action work?

Once an External Action is built, it will appear as an Action option in an Engagement Studio Program. Depending on the action, you may need to provide additional information through text inputs. You can use HML Merge Tags here, too!

When the Engagement Studio Program is running and hits your action, Pardot will call into Salesforce (via API behind the scenes), and call the functionality.  It does this in a “fire and forget” manner, so there’s no error handling inside your Engagement Studio Program. It is also not “bulkified,” meaning it will make an API call for EACH Prospect. So, you may need to take the API limits of Salesforce AND your external system into consideration.

For this blog post, we built an External Action that tracks Favorite Color. 

Once you pick “Track Favorite Color” you have the ability to provide a value. In the screenshot below, we are using HML to pull this value from a Prospect’s record, though you can also provide static text if you want to say everyone’s favorite color is Sercante Green.

How can I set up a Pardot External Action?

To set up an External Action, there are 2 key pieces:

  1. You need something in Salesforce that can “do the thing” you want. It can be any of the following:
    • Autolaunched Flow
    • External Service
    • APEX InvocableMethod
  2. Marketing App Extensions have been configured inside Salesforce Setup

No-code options to configure Pardot External Actions

If you are looking to integrate with a third-party system, you might luck out on #1 and be able to leverage something built by that third-party in their Salesforce package. This could be your quickest way to being able to use an External Action.

If this isn’t available for you, first look at seeing if you can make an Autolaunched Flow that can meet your needs. This option is also great for creating Salesforce Records of any object type (keeping in mind you are limited to text input types in Pardot).

When working with another API, and if that API supports the OpenAPI protocol, you can use Salesforce External Services to hook things up. That will give you everything you need.

 The Trailhead Module on External Services is a great way to learn how to get started.

Code option to get started with Pardot External Actions

If the above aren’t an option, it’s time to break out your development skills (or work with someone who has them). We’ve got a sample APEX class here that gives you all the structural ingredients you need to make this work, you just have to fill in what you want it to actually do.

public class MyNewExternalAction {

    // Classes to be used by the Flow Designer
    public class FlowRequest {
        @InvocableVariable(label='Prospect Email')
        public String email;
        @InvocableVariable(label='Favorite Color')
        public String favColor;
        // add any other String or number-based attributes you need
    }

    // If you are calling an External API, this would be a great
    // place to put Classes to represent the response
    public class ApiResponse {

    }
    
    @InvocableMethod(callout=true label='My New External Action')
    public static void performActions(List<FlowRequest> flowRequests) {
        System.debug('Start performActions');
        // at time of writing, Pardot DOES NOT BATCH these, it's always 1
        // per batch
        FlowRequest flowRequest = flowRequests.get(0);
        System.Http http = new System.Http();

        try {
            // This is where you put what you want to do!
            // you can call another API, call other APEX
            // read & write Salesforce Objects.. Whatever you want

        } catch (Exception e) {
            System.debug('There was an issue executing the request');
            System.debug(e.getMessage());
            throw e;
        }
        System.debug('Done performActions');
    }
}

Once you have the functionality ready, you need to tell Pardot about it. This is done by configuring Marketing App Extensions inside Salesforce Setup.

Configuring the Marketing App Extensions

This is the “glue” that ties everything together and makes External Actions usable by Pardot. There are a few easy things to configure to make this “glue” work.

First, we need the Top-Level Marketing App Extension. Be careful with these, as you cannot delete them once created (so don’t go making a bunch of test records!).

  1. In Salesforce Setup, search for Marketing App Extensions
  2. If you don’t have one, create New
    • Provide an Extension Name and an API Name, as well as check “Active in Automations”
    • Click Save

Next, we need to enable this for Business Unit(s).

  1. With the Extension still open, go to the Related tab
  2. Click New beside Business Unit Assignments
  3. Add an assignment for each Business Unit you want this extension to be available for

Now we can create the External Action.

  1. With the Extension still open, go to the Related tab
  2. Click New beside Actions
  3. Provide an Action Name (this will be the name visible when selecting it from Engagement Studio)
  4. Provide an API Name (this does not auto-fill like you may be used to)
  5. (Recommended) Provide a description of what this Action does, since you might not remember in three months
  6. Search for your functionality. Once selected, the Action Schema will auto fill with JSON that you need to review and likely modify
  7. Review & Modify the Action Schema
    • Properties – this contains details about the parameters/values that you want to provide to the Automation.
      • type:  currently can only be “string” and “number”
      • title: the Label of the input when viewing in Engagement Studio
      • value: Allows you to provide a default value. You can use HML merge tags here!
      • Note: Sometimes when working with Flows, you might have properties that are not relevant (like flow interview id). You should remove them from Properties (assuming they aren’t an input variable that your flow requires to function)
    • View Components – this allows you to specify which properties you want to provide inputs for in Engagement Studio. Currently, definition should always be “lightning/control” and “scope” should always point to one of the properties
    • Required – a list of properties that would be required from within Engagement Studio
  8. Action Params auto fills, no changes needed
  9. When you are ready to have this available in Pardot, check the Active in Automations box.

Here’s what it would look like for our sample APEX class above. Note that we’ve chosen to only display the favorite color field in the Engagement Studio, though we are passing the Prospect’s email behind the scenes.

Save the Action and, after a few moments, it will be available for testing!

Can I use an External Action to do things in Pardot?

Imagine being able to take action on another Prospect record from an Engagement Studio Program! While not natively available within the platform, you could build this when combining External Actions with our Free package Flow Actions for Pardot. After setting up the package, you would only need to configure the Marketing App Extension to have any of our Flow Actions available as an External Action.

Create Unified Experiences with Pardot External Activities

External Actions are available with the Winter ‘23 release. These Actions, as well as External Activities, allow Marketers to automate across platforms for a more unified experience. 

How do you plan on using these features to better automate your processes? Tell us in the comments!

Original article: External Actions: The Long-Awaited Pardot Feature

©2022 The Spot. All Rights Reserved.

The post External Actions: The Long-Awaited Pardot Feature appeared first on The Spot.

By |2022-10-13T14:36:51+00:00October 13th, 2022|Categories: API & Integration, Automations, New Features, Release Notes|

Get Ready for MCAE (Pardot) Conditional Completion Actions

Conditional Completion actions are coming to Marketing Cloud Account Engagement (Pardot)! And they’re a game changer for adding complexity to completion actions on your marketing assets.

This has been a long awaited request in the IdeaExchange. So, we’re ecstatic to see it finally come to fruition.

Note: This feature is not currently available in production. Conditional Completion actions will be rolled out during the Summer ’22 release (May 21st – June 11th) and this blog will be updated as we get access to this feature. Stay tuned!

What are Marketing Cloud Account Engagement (Pardot) completion actions?

Pardot Completion Actions allow you to add follow up automations to most Pardot assets such as forms, landing pages, files, custom redirects, etc. 

These actions trigger after someone interacts with the asset such as a click or form fill. Pardot Admins and Marketing Users can configure which actions they want Pardot to trigger after the fact. 

Completion actions include:

  • Add Tags
  • Add To List
  • Add to Salesforce Campaign
  • Adjust Score
  • Adjust Score For Scoring Category
  • Assign Prospect via Salesforce Active Assignment Rule
  • Assign To Queue
  • Change prospect custom field value
  • Change prospect default field value
  • Create Salesforce task
  • Increment prospect field value
  • Notify assigned user
  • Notify user
  • Notify user via Twilio (phone)
  • Register for webinar
  • Remove from list
  • Remove tags
  • Send autoresponder email
  • Set profile
  • Set prospect’s first touch campaign

Currently, you can add as many of these as you see necessary. But keep in mind, they trigger on ALL Prospects that interact with the asset. Conditional completion actions are changing that. 

As Pardot stands today, other automation features, such as Engagement Studios and Automation Rules, can provide ways to conditionally process prospects. However, these automations have limits, and using multiple assets per form fill, link click, etc., can bog down your system. 

With Conditional Completion actions, you will be able to perform all the desired actions right from the asset setup page.  

What are Pardot conditional completion actions?

Welcome conditional completion actions! 

Conditional completion actions add complex logic to your existing or new completion actions on your Pardot assets.

Essentially, you are able to create logic similar to dynamic lists or automations rules (or Salesforce Reports) that follow this pattern:

Before: Upon engagement (click/form fill), then trigger Y
New: Upon engagement (click/form fill) look to see if X = Value; then trigger Y

You can still do regular completion actions that apply to ALL Prospects who engage with the asset in specific ways, but now we will be able to create conditional actions as well. 

Below is an example of what you can expect to see in your account when the feature is released later this summer:

This feature will be available on Lightning list emails, forms, form handlers, files, custom redirects and page actions.

You can read more about it here and watch a quick demo, courtesy of Salesforce, here.

How are conditional completion actions different from normal completion actions?

In terms of functionality, there isn’t much of a difference between regular and conditional completion actions — they look at an action and then apply the necessary follow-up actions. 

However, in terms of usage, conditional completion actions add complexity to the existing completion actions by allowing for criteria in addition to a click or form fill to decide if the action should be completed or not. 

This allows marketers to create branches and manage different types of Prospects differently in Pardot.

Are there any limits or requirements to conditional completion actions?

Lucky for everyone, these actions will be available to everyone upon its release date.

We have identified the following limitations (that could change with further releases):

  • No conditional actions based on list membership
  • No conditional actions on classic email builder list emails (only available in the new Email Lightning Builder)
  • Limit of up to 6 conditional groups per asset (plus your standard completion actions)
  • Limit of up to 15 conditional group actions across all conditional groups per asset

We won’t have a concrete list of limits until this feature goes live, so stay tuned for updates!

What Pardot conditional completion use cases that I can look forward to?

First things first, this particular section will be updated post-release with additional information and screenshots. For now, we are basing these scenarios on existing completion action functionality. So, proceed with caution!

UTM-Based Lead Sources

Reporting on where your online website traffic is coming from is more important now than ever. For many organizations, being able to distinguish between sources of ads and beyond continues to be a hot topic. 

At Sercante, we support our customer’s UTM tracking via custom hidden fields on their forms. Now with conditional completion actions, leveraging these UTM’s real-time to update Lead Source should be easier than ever!

Standard Lead Routing

Nothing magical here, aside from the fact that you can fit multiple territories/region/product assignment criteria into a single form. Previously, this would require multiple automations or a little support from Salesforce to route accordingly. 

If you are interested in learning about how to manage Lead Routing in Pardot, check out my presentation from ParDreamin’!

Block Competitors

For those in industry segments with few players (we know everyone in the ocean), you may find it difficult to exclude competitors currently in Pardot (before they enter Pardot). 

If you have a field that identifies your Prospects as a competitor (email or company for example) you can decide not to send them the email with your latest e-book or asset. This would save you time and effort from setting up individual automation or even using JavaScript.

Streamlined Campaign Management

During ParDreamin 2021, I discussed how you can streamline your asset delivery processes by creating custom fields and leveraging HML, Dynamic Content, and Snippets in the process. Although this is great to reduce the number of assets in the overall process of delivering content, you still need 1 automation rule per asset to update campaign membership. 

By capturing the page title or asset name into a hidden field, you can then leverage this field to add the person to the correct Salesforce Campaign on each form — up to 6 branches (conditional groups). 

This would reduce the number of forms you need to set up overall. 

Multiple Link Click Options For List Emails

One of the most frustrating experiences currently is having an email with more than one CTA and having to pick between “any link” or “specific link” clicks. This feature would allow you to do this with up to 6 different links (we have not seen conditional actions on list emails yet). 

This function would only be available in the Lightning Email Builder and not for the Classic Email Builder. 

Extending The Power of Webinar Connectors

This directly speaks about WebEx and GoToWebinar products. 

Many B2B organizations have webinar series where they would love for people to register for multiple webinars at the same time. As of today, you either had to use (3) automation rules and a custom field, or (3) separate forms as Pardot does not allow for multiple registrations (using Pardot forms).

An alternative to creating multiple automation rules is to use Javascript here, but the hope is that conditional completion actions provide a no-code alternative. 

With this conditional completion actions feature, you can skip setting up the automation across the platform, thus requiring less work and a central location for it all!

Supercharge Your ABM Strategy

Leverage account types or build a new field called “Account Tier” to signal which accounts need the “white glove treatment.” 

Using conditional completion actions, then create custom Slack notifications, User notifications, or User tasks immediately after these Prospects complete their forms. 

In addition, you can also update a custom field such as “Prioritization”  to increase their prioritization in Views in Salesforce. This would be an excellent companion to the Einstein Key Account Identification feature for those on Pardot’s Advance tier or higher.

Imagine the possibilities for conditional completion actions

As a consultant, I am very much looking forward to streamlining automations for my customers by leveraging conditional completion actions in their organizations in the near future. 

If you need to strategize how to leverage this feature in your organization, or you just want to brainstorm ideas, contact us here!

Original article: Get Ready for MCAE (Pardot) Conditional Completion Actions

©2022 The Spot. All Rights Reserved.

The post Get Ready for MCAE (Pardot) Conditional Completion Actions appeared first on The Spot.

By |2022-05-23T20:48:10+00:00May 23rd, 2022|Categories: Automations, New Features, Release Notes, revive|