You don't want an API call here, you want a webhook (i.e. outbound request from a Flow).
We do exactly this kind of thing to decode random advertising IDs to friendly names, which we then stamp onto lead fields.
Of course a prereq is that you have to be able to access your database back end somehow. A direct connection would be ideal, but a periodic export to a spreadsheet could also work. Then you can host the sheet on your Mkto instance and read it via the 'hook.
Thanks so much Sanford. Are you able to expand further on this? I will need to provide guidance to the web development team who aren't very familiar with Marketo.
I understand the use of a webhook to reach into the database and pull values, but I'm unsure of exactly how this would be structured within Marketo. Would it need to be a separate campaign, which would then request the scoring campaign if the value was 'CommercialListing=TRUE'? I'm trying to work through this in a logical flow, but I'm not sure how logical it is! :-)
1. Lead visits listing
2. Visit triggers campaign in Marketo to call webhook
3. Webhook calls database to see if CommercialListing=TRUE
4a. If TRUE, this would then trigger a second campaign which scores, and stamps the listing view as an interesting moment
4b. If FALSE, do nothing.
Does that sound right, or have I missed the bus?
You're definitely getting it!
But I wouldn't return a boolean true/false. I would use a DateTime field. Have the database echo back the current value of the field if false, otherwise send back the current timestamp. The field is thus equivalent to LastCommercialListingVisit , not a simple boolean HadCommercialListingVisit. Then you can trigger on Data Value Changes on the field, as it will continue to change, unlike a boolean which can't be re-set to true if it's already true.