I am developing app to grab a certain set of data from salesforce and sending it to an external system. I want to do this in a customizable way so that each installation can choose its own mapping. For example, one input field for the api is email, and it may map to lead.email, contact.email, or some other custom field.
My current idea is to create an custom settings object, with values pointing to the mapped fields. Then in my apex code, I would some how look up the value for each by the mapped field name.
This my idea feasible? Is there a better way to approach this?