"// Apex Trigger: Auto-assign Priority Based on Subject Keywords trigger AutoPriorityTrigger on Case (before insert) { for(Case c : Trigger.new) { if(c.Subject != null && c.Subject.toLowerCase().contains('urgent')) { c.Priority = 'High'; } else if (c.Subject != null && c.Subject.toLowerCase().contains('issue')) { c.Priority = 'Medium'; } else { c.Priority = 'Low'; } } }
// Apex Class: Assign Case to Least Busy Agent public class CaseAssignment { public static void assignCase(Case newCase) { List<User> agents = [SELECT Id FROM User WHERE UserRole.Name = 'Support Agent' AND IsActive = true];
Map<Id, Integer> agentCaseCounts = new Map<Id, Integer>();
for (User agent : agents) {
Integer caseCount = [SELECT COUNT() FROM Case WHERE OwnerId = :agent.Id AND Status != 'Closed'];