Our organisation is within the Public sector and our Salesforce use will not extend to the Sales Pipeline Standard Objects aspect of the CRM. Instead our custom app will include the recording of different processes against each contact. For example the call types (processes) would be Enquiry, Complaint, Request etc.
I have been struggling to understand/figure out the best design in Salesforce. At the moment the Contact will be related to "Call" custom object which will contain the entire call history via related lists. This in turn will either have a custom object or picklist to determine the "Call Type" of the process. This selection will then make available to the user a form to capture the necessary information for the process, this will be either:
- one Custom Object with many fields to cover all call types but assign Record Types to ensure only the right questions are asked on the right process.
- Use many Custom Objects, one for each call type, allowing for a 1-1 relationship between process and custom object.
At the Contact object we will want to report down through call, call type and any other objects and of course summarise data on dashboards/list views.
Does that make sense, I've been struggling to find much information online and within my dev account I have only really got option 1 working and not suitably yet.
I understand this is a design query and if it is too vague I apologies – please advise if it should be deleted.
Best Answer
I like Option 1 because reporting is so much easier when you have one SObject with many recordTypes. SFDC reporting across sibling objects is very difficult. And, if that is difficult, your dashboards will explode as well into more components than you need.
By way of proof - in my org, which supports a multi-billion$ company, there are obviously many different kinds of sales opportunities as the business is complex and has grown through acquisition. Nevertheless, even with literally hundreds of thousand of opportunities, we have only one Object and perhaps a dozen recordtypes. Reporting across these various sales opportunites is easy as well as reporting within a particular recordtype. There are many shared fields. I can't imagine how hard it would be if we had multiple sobjects -- everything would have to go into a BI warehouse where it was all standardized again in order to do consistent reporting.
Lastly, I think you will find that there are common questions across call types as well as unique questions. Good naming conventions can help differentiate questions by call type (as well as common questions)