Lookup is a very simple feature in Salesforce, but also powerful, with just a few clicks you can relate an object to another object easily as a parent-child relationship.
However, in some business needs, the system should NOT look up ALL parent records, here is the scenario between Account (parent) and Case (child):
- Case External --> Account Type = Customer
- Case Internal --> Account Type = any
External and Internal is Case record type, and Type is the standard Account field. Of course, we can use validation rule to block Case creation for record type = External, but validation rule does not offer the best experience, as users will not easily know if an Account is a Customer or not.
Good that Salesforce offers Lookup Filter criteria and even better you can define the logic. For the above requirement, here my lookup filters.
Make sure to enable the lookup filter.