TL;DR
- Replaced brittle manual assignment with a Screen Flow rules editor and testable decision subflows.
- Bulk-safe record-triggered Flow applies rules consistently; changes are auditable.
- Ops team edits rules without engineering, cutting maintenance time by over half.
Context
Fintech sales org covering multiple regions, products, and partner tiers. Frequent go-to-market changes made assignment logic hard to maintain.
Problem
Assignment rules lived in a mix of validation rules, formula fields, and old WFR. Changes were slow, error-prone, and non-auditable.
Intervention
• Rules editor — Admin Screen Flow with a table-like UI to add/edit rank-ordered rules (region, product, ARR band, tier).
• Decision subflows — Compact, testable subflows evaluate rules and return the correct owner/queue.
• Bulk application — Record-Triggered Flow runs on create/update with guardrails to avoid recursion; batch re-apply tool for backfills.
• Auditability — Every rule change captured with who/when/why; change set includes unit test scenarios.
• Safety net — Fallback owner for unmatched records + weekly report of unmatched to drive rule coverage.
Outcomes
| Window | Quarter before vs quarter after go-live |
| Industry | Fintech |
| Clouds | Sales Cloud |
| Flow Types | Screen Flow, Record-Triggered, Subflow |
Maintenance time from Ops Jira tickets; lead time measured from request creation to production rule update. Audit logs verify change coverage.
Timeline
1 sprint build + 1 week UAT + 1 week backfill & monitoring.
Stack
Sales Cloud, Screen Flow (rules editor), Record-Triggered Flow, Subflows, Custom 'Rule Change' log object.
Artifacts
- Rules editor screen (redacted)
- Decision subflow map (ranked evaluation)
- Backfill job results with matched/unmatched summary
FAQ
How do we prevent rule conflicts?
Rules are rank-ordered; the first match wins. A linter screen flags overlapping or unreachable rules before save.
What if a record doesn't match any rule?
It's routed to a fallback owner and logged in an 'unmatched' report reviewed weekly; admins add coverage via the editor.