Is there a way for Marketo to assign field data to a new contact? For example, if a new contact enters their information into a form, can Marketo recognize (based on the email domain) that they are at the same company as other contacts that are already established in the Marketo database and auto-populate the Client ID that has been assigned to other similar contacts?
We’re hoping we can upload the Client ID for users of a particular email domain into the backend of Marketo to auto-populate into the report for all of the users that fill out a form using that same email domain.
If you have a short list of IDs, you can use a multi-choice step and Change Data Value. You can't exactly "upload" it, though, you'd be pasting it into a Textarea.
For more robust solution, you can use a webhook. The Client ID list could then be maintained in a local textfile in your Marketo instance, or anywhere else you want.
Can you please explain the second solution a little more?
You upload a text file in your Marketo Design Studio assets (standard asset library).
Then you call a webhook to retrieve and parse (and probably cache, if it's big) the file and send back results to Marketo. (Note it's not required that you store the file in Marketo, it's just that otherwise you have to find somewhere else to host it!)
For an example that's pretty much exactly what you're talking about here, on one of my instances we store domains + client identifiers in a simple CSV like this:
Then there's a webhook (yes, the code is more complex than you might expect, but that's the nature of building a flexible system, i.e. with no "magic words" so column names and formats can shift at any time without having to convene a whole new project and all):
The Response Mapping, as you can see is dirt simple: you get back a result property and that's the found Client ID or false.
I should add that this is much, much simpler if you can store your data as JSON or even XML, since those formats have established query languages (JSONPath and XPath respectively).
What CSV has over the other formats in terms of seeming simplicity (though in reality it's equally easy to mess up, if not generated by an app) is offset by a fragile and complex lookup process.
A JSONPath approach for the same result takes only a few lines.