public class AssignLeadsUsingAssignmentRules{
@InvocableMethod(label='Assign Leads Using Assignment Rules' Description='Run this to re-run assignment rules on any leads needing to be re-checked.')
public static void AssignLeadsUsingAssignmentRules(List<Id> LeadIds){
system.debug('In InvocableMethod - sending to future method');
leadAssignFuture(leadIds);
}
@future
public static void leadAssignFuture(List<Id> LeadIds){
system.debug('in future method - lead ids: ' + leadIds);
database.DMLOptions dmo = new Database.DMLOptions();
dmo.assignmentRuleHeader.useDefaultRule = true;
list<Lead> leadList = [select id from lead where lead.id in :LeadIds];
system.debug('DMO: ' + dmo);
database.update(leadList, dmo);
}
}