Append Status Audit Row“Who moved this deal to Lost, and when?” Version history can answer that, slowly. appendStatusAuditRow(ss, entry) writes one line to an…
Active User Email OrSession.getActiveUser().getEmail() returns an empty string more often than you'd think: in installable triggers, in “execute as me” web apps…
Archive rows, don’t delete themDelete feels decisive until a client asks where order 1842 went. Soft-delete flags help; a dedicated Archive tab is clearer for operators…