Have you seen or implemented a way to utilize data from Salesforce Custom Objects in Marketo? Currently, I am blocked on four major projects for my company because Marketo does not have similar triggers, filters and tokens available for SFDC Custom Object data as it does for the Lead/Opportunity/Account.
So far, it seems the option we have is to pay for services to create and update scripts and APIs. This is not ideal because it isn't scalable for future projects as the costs would continue to pile up as new projects come along or changes need to be made, as I'm unable to maintain this myself (I have no coding or API experience).
What solutions have you gone with to get SFDC Custom Object data into Marketo? Is scripting and APIs the best solution for this? What else have you seen implemented to meet the goals of a project that utilizes data from SFDC Custom Objects?
Solved! Go to Solution.
Hi Valerie,
The solution I've leveraged before is to create a datetime field on your lead/contact records, Custom Object Updated At, and then create a workflow for when a custom object record gets updated, it writes the current time to your custom object updated at field. You can then set up a trigger for this in Marketo, Data Value Changes: Custom Object Updated At to fire campaign whenever a new value synchs down for this. If you need it, you can add a Has Custom Object Filter to set any additional conditions that you need from that record.
I have a few customers who are writing velocity scripts themselves, it depends what you're after. Which triggers are available in SFDC that you don't have in Marketo?
John Mattos - We do not have someone internally who can write the velocity scripts. For the Onboarding object, I have the following triggers/filters:
Triggers: Added to Onboarding
Filters: Has Onboarding, Was Added to Onboarding, Not Was Added to Onboarding.
For this project, I need to have a trigger similar to Data Value Changes (only for a data value that changes on a SFDC custom object, not on the lead/opportunity/account) or one similar to the Opportunity Is Updated where you can pick the trigger attribute field and specify the old and new values.
Yep, you're right. That one is *currently* not available. The alternative is to use a scheduled campaign and check time ranges. "has an Onboarding in the past 6 hours", etc. Imperfect, but not horrible. There has at times been talk of the change trigger, I'll check on the status of that.
John Mattos - the problem we run into with using the Has Onboarding is that they could be associated with multiple Onboardings and we will run into issues on when and what qualifies them for that campaign. Also - having to pay for email scripting services each time we want to change email content isn't very scalable for the company, as we will likely have even more projects.
If you could get me a status update on when we can expect that feature to be on Marketo's roadmap, that would be great. I would hope that it would be soon as I don't believe we are the only company asking Marketo for better integration with custom objects. There are whispers here about finding alternatives if we are unable to do this in Marketo without incurring additional costs.
Im told it should be sometime in the second half of 2016, although I cannot guarantee that as timelines are subject to change. It is on the roadmap though.
Thanks John Mattos for looking into that! I'd really like to speak to someone on the product about the need for this trigger. Right now, this is blocking four critical projects for my company and I'd really like to push for this to be developed and participate in beta-testing for this new feature. If you could connect me with someone to discuss this further, I'd greatly appreciate it.
Your CAM should be able to help you with joining our beta program and getting in touch with the right product manager. You probably should also create an idea on the community or vote for one that's already out there, as this is a major source of roadmap ideas and prioritization.
Valerie, if you have an Apex developer a lot of times this can be done via a rollup field on the Contact object. Details stay on the custom/child object, but the master/parent maintains knowledge of changes to children.
Sanford Whiteman - wouldn't creating a rollup field not work in this situation since because those type of fields don't update the Salesforce systemmodstamp? If that systemmodstamp doesn't change when the value is updated, we wouldn't be able to trigger the emails since the change would not be synced to Marketo.
I didn't necessarily mean a literal field of the Roll-Up Summary type but a triggered field with an equivalent function. But RUS fields do fire triggers, so in fact they can update SystemModstamp.
Ah, sorry for the confusion on my part Sanford Whiteman. To make sure I am understand this correctly - are you suggesting that we could use some Apex development to write to a field on the lead object when a certain data value changes on the custom object?
Yes. An Apex trigger that persists (minimal) metadata about versions/updates to child records.
Awesome - thanks for the suggestion Sanford Whiteman. I've added that to my project notes as a suggested solution. We would probably still have to use velocity scripting to get the actual field values from the custom object to appear dynamically in the email, which is also an issue.
Marketo should really have some scalable, cost-effective solution to this problem. I don't think anyone really just uses SFDC "out of the box" without creating a single custom object...so this can't be the only time users have run into this issue and requested a more robust integration with custom objects.
Hey Valerie Armstrong, did you figure out a fix for this? Would love to hear about your experiences. We are looking for a solution as well, but I'm not sure where to start.
Thanks,
Liliana
What are you trying to do exactly?
Stijn Heijthuijsen, Kristen Carmean - we have a custom object called Onboarding that is associated with a Contact record (note: one contact can have many onboarding records associated with them).
I want to create a process that will email the Contacts associated with an Onboarding object when the Onboarding object they are associated with is updated. I will need to be able to trigger the email sends to those contacts when certain data value changes happen to fields on the Onboarding object. Additionally, I will need to include fields from the Onboarding object as tokens in the emails.
Hi Valerie,
The solution I've leveraged before is to create a datetime field on your lead/contact records, Custom Object Updated At, and then create a workflow for when a custom object record gets updated, it writes the current time to your custom object updated at field. You can then set up a trigger for this in Marketo, Data Value Changes: Custom Object Updated At to fire campaign whenever a new value synchs down for this. If you need it, you can add a Has Custom Object Filter to set any additional conditions that you need from that record.
Hi Valerie,
I'm not sure how to get data into a Custom Object. With the upcoming release there will be more support for CDO's, but I'm still fuzzy on how to fill them.
Same thing goes for segmenting or decisions based on values in a Custom Object.
What I can help you with is how to get data from the Custom Object into your emails, landingpages and lead database. To do this you create an email scripting token and access what you're looking for through Velocity scripting.
A general user manual on Velocity can be found here: https://velocity.apache.org/engine/releases/velocity-1.5/user-guide.html
I'm not sure how helpful this was, but if you have more specific questions or a use case I'll check back to see if I can help you out.