Better Support for Salesforce Lookup Fields

Better Support for Salesforce Lookup Fields

We have several Salesforce user lookup fields on the Account record (account manager, service specialist, project manager, etc).  Marketo only displays the SalesforceID for these records, not the display name or email address.

Not helpful:

Capture.JPG

I would like to see Marketo provide better support for these lookup fields so we can use the name & email as tokens in campaigns.  Other discussion threads talk about using Salesforce formula fields, which is an option but we have hit system limits in SFDC.  I also saw a recommendation to use triggers in Marketo, which seems unnecessarily complicated.

15 Comments
Courtney_Grimes
Level 10

Since I realize having better lookup support is a bit of a tall task, I'd like to at least recommend a way to do a labeling of values as a stopgap—allow admins to put labels on lookup fields that make them human-readable for end-users (so in this case, assigning 005i0000002nV1aAAE to show up as Random Person.) Think Marketo formulas but for field values.

Anonymous
Not applicable

Thanks for the suggestion Brian and Courtney.  Can I summarize and say that you would primarily need these lookup field values when crafting emails?

-Derek

Courtney_Grimes
Level 10

Hi Derek,

Actually, I'm much more concerned with doing this from a Smart List point of view--if you're using emails, there's at least scripting as a workaround. Salesforce IDs on smart list queries winds up tripping up a lot of my clients. For example, one thought they could put the label for their Record Type in that field and then subsequently broke half of their records! Likewise with many custom objects; if it's just a list of IDs, clients often just won't know what to do.

That's why I'm saying at least give us the ability to map those values to something locally in Marketo that can be readable.

Anonymous
Not applicable

Hi Courtney,

Thanks for that feedback!  Yes, we understand this problem.  We are aiming to sync lookup lists from the CRM such that they can be referenced in various functional areas within Marketo (in your case, I believe that would be Smart Lists)

Until we have that in place however, I'm not sure about adopting a partial solution, as then one could end up with a situation where there are now 2 lists (1 in Marketo, 1 in the CRM) that must be separately maintained.

-Derek

Anonymous
Not applicable

We would like to use lookup field values (text) in emails and also as Smart List filters.

Anonymous
Not applicable

We also have the need to reference fields on a lookup object but there is not a predetermined relationship between the SalesforceID and the other field values like there is between a person's SFDCId and his name and email. We generate trial license keys for leads and contacts and would like to have a pointer/lookup to the SalesforceID of the license key (a custom SFDC object). We'd like to create a smart campaign that sends an email notification to the lead when the trial license is about to expire (the expiration date is on the custom license key object). It sounds like the workarounds of using a formula or trigger are only viable if there's a set mapping between the SaleforceID and the related field in question. But in our case, where we're constantly generating new trial licenses (new SalesforceID's and expiration dates), the formula and trigger workarounds are not viable unless we want to update that mapping info every time a trial license is generated. Am I understanding the previous postings correctly and does anyone have a workaround to accomplish what we're looking to do where there is not a predetermined mapping between the SalesforceID and other fields on the lookup object?

SanfordWhiteman
Level 10 - Community Moderator

I'm not sure if your case is exactly the same as the one that start the thread... your term "not a predetermined relationship" isn't clear to me yet.

Do you have a Custom Object License Key to which Leads/Contacts are added? If not, I guess I have to say why not? (Since that's the way we'd usually set something up.) 

Are you saying you have a totally standalone License Key with no formal relationship to people in your org, merely a String field that happens to contain (if not manually changed) the SFDC ID of a lead/contact?

Anonymous
Not applicable

Yes, we do have a custom object, License Key, to which Leads/Contacts are added. We have lookup fields on the custom object to the lead or contact. On the License Key custom object there are two fields, license expiration date and license key. We'd like to setup a smart campaign that filters based on the license expiration date (e.g. 1 week before expiration) and include the license key (as a token) in an email note to the lead or contact notifying them of the impending expiration. Currently, we have replicated the license expiration date and license key on the lead and contact objects because it was not clear if we could reference these fields on the related custom object.

SanfordWhiteman
Level 10 - Community Moderator

include the license key (as a token) in an email note to the lead or contact notifying them of the impending expiration.

As it's a first-level relationship, all License Key objects would be available for output in a Velocity (email script) token.

However, here is your problem, and it doesn't have to do with lookup fields:

We'd like to setup a smart campaign that filters based on the license expiration date (e.g. 1 week before expiration)

While a Date field on a CO can be used in Smart List filters, you can't use the value of the field as a a Date token to create a Wait-Until-Anniversary type of flow. So unless the date someone is added to a License Key is always a distinct number of days from its expiration, you do need to flatten the Date fields as you're doing now. (Although I really wouldn't use a single Date field: I'd use a Textarea field holding a JSON array, since ostensibly you could have more than one active license key for the same person.)

But again, this doesn't have to do with Salesforce GUID strings vs. Objects.

Anonymous
Not applicable

Thanks Sanford. We could have multiple active license keys for the same person. At the current time, we always copy the latest license key information to the lead or contact record as it's only the latest license that needs to be acted on. If we didn't want to replicate the info, do you happen to know how I would pull the license key record with the latest expiration with the many-to-one scenario? And our trial licenses always do expire after a set number of days. Currently, when the license is issued, I add them to a campaign that sends the email based on a formula field that calculates 7 days before the expiration. Once again, it would be nice to not have to replicate this info and use the data in the related records.