One of the great things about Account Engagement is that the same fields can be used over and over again for different interactions while keeping the full history of the field recorded in the Prospect’s Audit Table. This ensures you don’t need an endless amount of fields and you don’t have to create repeat fields such as “contact reason 1”, “contact reason 2”, etc.
However, sometimes you need a specific interaction frozen in time. For example, say every time someone fills out your “request a quote” form you want the details the Prospect inputs collected into one record that you can reference later, regardless of whether they fill out the form again.
This is a problem I recently solved for our marketing team and I am finding that the solution can be used for many different scenarios. In fact, at the Dreamforce Genius Bar, I recommended this solution for many of the questions that were brought to me by attendees.
So, let’s dive in!
Why don’t we just use Tasks?
You may be asking, if you want an interaction frozen in time, why not just create a Salesforce task as a completion action? This would create a record at the time of the interaction that could later be referenced and followed up on.
While this is true, Salesforce tasks are limited in the information you can provide (example below). You also cannot use Account Engagement Merge tags within the tasks to stamp field values, and you can’t easily create custom task fields to store additional needed information.
I’ll use the original scenario I solved for as my example for this blog post. Our marketing team is serious about event marketing strategies and wanted to record what they refer to as “Event Interactions.”
These interactions would be created via form fills or via imports and needed to include:
- The name of the event
- Details about the event
- Which team member led the event
- What topics were covered
- What type of opportunity this is
- Lead/Contact the Event Interaction is associated with
What we built
To store these Event Interactions, we created a Custom Object and fields for each data point the team wanted to record. We also created two lookup fields, one for Leads and one for Contacts, so we could associate the Event Interactions with the Lead/Contact records.
Next, we created fields 1-5 on the Lead and Contact Object and in Account Engagement so the data can move between the two systems. Finally, we created a Flow that will fire and create the Event Interaction record when these fields have data.
- Create a new Custom Object
- Create the custom object fields
- Create the fields on Leads and Contacts
- Create and sync the fields in Account Engagement
- Create the flow
Creating the Flow
First, we want to create a flow for Leads. This flow will fire whenever a record is created or updated. The Entry Criteria are that the Event Name is not blank and is not “N/A”.
Next, use a Create Records element to create the new Custom Object record and copy the data from the Lead fields. Don’t forget to copy the Lead ID into the Lead Lookup field!
Finally, use an Update Records element to change the Lead’s Event Interaction fields to “N/A” or “Other” so that they are ready to be used for the next Event Interaction. We’re using “N/A” and “Other” rather than clearing out the fields completely to avoid Account Engagement syncing the previous data back into the fields.
Now you just need to test and activate the flow, and Voila! Well, that and also create the same flow for Contacts.
Yep, that’s it! This isn’t a groundbreaking process, it’s simply taking this process and using it in a new and inventive way. Since creating this process, we’ve found many uses for it in our org and client orgs, such as
- Automatically creating an opportunity when specific forms are completed.
- Creating custom objects that Account Engagement doesn’t typically interface with, such as Service Tickets or Cases.
- Capturing form fills and their current field values at a moment in time for future reference/action.
- Creating “Sales Inquiry” records rather than Leads and assigning these records to Sales.
- Creating custom UTM Touchpoint records.
What other uses can you imagine for this process? Let us know in the comments!