Many people encounter issues when mapping data into Salesforce input fields, especially when the field requires an 'ID'. This may be an Account ID, a Record ID or a Parent ID.
Although Workato allows you to 'Find by name', let us still review some of the basics of Salesforce so that you can understand how to map data to these fields.
What is a Salesforce ID?
Every record in Salesforce is marked by a unique identifier, or an ID. You can know a record's ID by going to the record's detail page, and take a look at its link in the browser.
The most important thing to note here is that Salesforce IDs are always alphanumeric, that is it is a combination of numbers and characters.
How do you get an ID of an object that I'm looking for?
When a Salesforce action in Workato asks for an ID, It specifically asks for that. No other IDs from any other application will work.
To get an object's Salesforce ID then, will need to involve a search step.
After a search step in Salesforce, all subsequent steps within that recipe will have access to the result's data on the right hand side/App Data.
The result is a ContactID on the right hand side for you to use. That means, if the search result returns a record, the ContactID data pill will contain its value.
You can then now use the ContactID for other actions that requests for it. Example :
This action deletes a Contact record given the Salesforce Contact ID.
When constructing or editing a recipe that has Salesforce as the output app, Workato will always request for this ID so that it can search for and write data into.
As mentioned previously, other apps with numerical IDs will not be able to be mapped into this field. For example, a QuickBooks Online ID like 49 or document number like 1049 will not meet the Salesforce ID requirements and throw out an error.
There are 2 methods solutions to this:
1) Toggle to match by name or find by name.
2) Add a Salesforce Search Objection action to get out the Salesforce ID and the ID in the search object step can be used as the parent ID.