Two distinct fields on every record:
- Created By is set once, at insert. It records the user (and timestamp) that created the record. Cannot be changed afterwards through normal UI/API; only via Salesforce-internal data load operations.
- Owner is the user (or queue) who currently owns the record. It can be reassigned manually, by assignment rule, by Apex, by transfer, or via mass action.
Why it matters:
- Sharing — the Owner is the user who naturally has access (with OWD = Private), and the user above them in the role hierarchy gets access too. Created By doesn't drive sharing.
- Reports — "My Records" filters use Owner, not Created By. A rep who created a record but no longer owns it will not see it under "My".
- Automation — assignment rules, sharing rules, and many record-triggered flows look at Owner, not Created By.
- Auditability — for proving "who first entered this record", use Created By. For "who is responsible for this record now", use Owner.
A common confusion: a sales manager creates a deal on behalf of a rep, sets the Owner to the rep — Created By stays as the manager, Owner is the rep, and now ownership-driven automation runs as if the rep created it. The Created By + Owner split is what enables this pattern cleanly.
