When creating required fields on a standard or custom object, you have two options:
- Make them required at the object-level
- Make them required at the UI-level
In most cases, the latter is a better option. Why?
When fields are required at an object level, they are *always* required, regardless of the source. This means whether it’s an admin user using Salesforce or Experience Cloud, or whether a system integration, the field must be set.
Unless the record *absolutely* must have this field populated, this can cause issues.
By contrast, when a field is required at the user interface level, you can choose when to make it required.
For example, different record types with different page layouts or dynamic pages can sometimes make it required, and sometimes not make it required. And this approach doesn’t impact system integration at all.
The takeaway
When creating required fields, be sure to keep them only required on the UI.