Admin Guide
Project Best Practices
Admin and operator best practices for data quality, fields, automation, reporting, integrations, and safe change management
This Salesforce app is an operational system. The safest admin habit is to ask which workflow owns a field before changing it.
| Principle | What it means |
|---|
| Use the custom surface first | Prefer custom actions, LWCs, dashboards, and settings pages over raw record edits. |
| Preserve history | Do not overwrite payment, fulfillment, finance, approval, or ownership evidence to make the current screen look clean. |
| Structure report-critical data | If managers need to measure it, it needs a field, picklist, lookup, or record, not just a note. |
| Treat config changes as migrations | Gateways, warehouses, provider configs, GL defaults, and permission groups affect historical and future records. |
| Keep data visible | Operational reporting should be broadly visible to the teams that use it, especially sales activity and follow-up quality. |
| Change | Required review |
|---|
| New field | Who enters it, where it appears, who can read/edit it, which report/dashboard uses it, and whether it is historical or current-state. |
| New picklist value | Reports, dashboards, validation rules, Apex, LWCs, imported data, and user training. |
| Required field | Quick actions, layouts, API/import paths, integrations, and bypass/admin repair path. |
| Formula/rollup field | Recalculation path, performance, historical correctness, and reporting filters. |
| Status field | Workflow owner, allowed transitions, dashboards, and lock/mutability behavior. |
Tasks are an expanded data model in this project. Admins should protect the Task-entry pattern because it drives Lead Performance reporting and conversion quality.
| Surface | Best practice |
|---|
Enforce_Lead_Activity_Quality | Assign to sales users/managers who should follow structured activity rules. |
Bypass_Lead_Activity_Quality | Restrict to admins, integrations, and cleanup users. |
| Task quick actions | Keep required fields visible in NewTask, LogACall, and Follow_Up. |
| Task validation rules | Keep them active unless there is an explicit temporary maintenance window. |
| Lead rollup fields | Do not manually edit; they are maintained from Task changes. |
| Lead Performance reports | Keep broadly visible so activity quality is not hidden in admin-only reporting. |
| Workflow | Use | Avoid |
|---|
| Lead conversion | Custom Convert Lead action. | Manual Account/Contact/Opportunity reconstruction unless repairing data. |
| Quote creation | Quote creator plus Line Items editor. | Raw Quote__c / Quote_Line__c creation for normal sales work. |
| Sales Order management | Sales Order actions and Line Items editor. | Direct line deletion after payment, invoice, fulfillment, or tracking evidence. |
| Payment collection | Payment console, payment order actions, payment links. | Hand-created transactions/receipts. |
| Fulfillment | 3PL runtime tools, provider refresh, tracking actions. | Manual status edits before checking provider evidence. |
| Item setup | Item Manager / item creation wizard. | Raw item records with missing warehouse, gateway, category, GL, or BOM setup. |
- Make required data obvious at entry time, not only at save time.
- Use lookup fields for reusable operational relationships.
- Use picklists for manager-facing categories and dashboards.
- Use text areas for narrative context that is genuinely human explanation.
- Use status fields only when there is a clear transition model.
- Use audit objects when history matters more than the latest value.
- Use external-source fields only for lineage and migration/reconciliation.
- Keep notes and files attached, but do not make them the only place business-critical data lives.
| Area | Rule |
|---|
| Apex services | Business rules that must survive UI/API/import paths belong server-side. |
| LWC validation | Use for faster feedback, but never as the only enforcement for critical workflows. |
| Validation rules | Good for save-time field completeness when Apex budget or simplicity matters. |
| Schedulers | Verify CronTrigger state and settings toggles separately. Code presence does not prove automation is active. |
| Rollups | Prefer one owning service/job per rollup family. Multiple writers create stale or conflicting reports. |
| Integration | Best practice |
|---|
| Payments | Preserve gateway lifecycle, idempotency, tokens, transaction references, receipts, and settlement evidence. |
| 3PL | Diagnose through runtime request, provider transaction, sync state, fulfillment history, shipped lines, and tracking. |
| External RMA app | Keep Salesforce as the Sales Order correlation surface, not the full RMA workflow owner. |
| Imports | Keep external source keys, batch, file, preset, imported timestamp, and source system fields intact. |
- Every critical workflow should have an operational report and an exception report.
- Dashboards should show current state; underlying reports should let operators inspect exact records.
- Do not hide shared operational data in private reports when teams need to act on it.
- Report filters should align with object lifecycle states, not arbitrary date or owner assumptions.
- When adding a field for reporting, document its owner and update the relevant report/dashboard page.
Escalate before changing:
| Area | Why |
|---|
| Payment gateway identity or lifecycle | Tokens and historical transactions can break. |
| Provider warehouse/config status | Orders may stop leaving the warehouse. |
| Sales Order line history | Payment, fulfillment, commission, finance, and customer output can diverge. |
| Task validation/enforcement | Lead Performance reporting and conversion quality can collapse quietly. |
| GL defaults or item categories | Finance reports and margin controls depend on them. |
| Public site/webhook permission groups | Small permission changes can create security exposure. |
Last updated on