Then I created this event trigger:global class AutoConvertLeads implements Schedulable{
global Set<Id> LeadIds;
global void execute(SchedulableContext sc) {
LeadStatus Leads= [SELECT Id, MasterLabel FROM LeadStatus WHERE IsConverted=true LIMIT 1];
for(Id leadId : LeadIds){
Database.LeadConvert Leadconvert = new Database.LeadConvert();
Leadconvert.setLeadId(leadId);
Leadconvert.setConvertedStatus(Leads.MasterLabel);
Database.LeadConvertResult Leadconverts = Database.convertLead(Leadconvert);
System.assert(Leadconverts.isSuccess());
System.debug('LeadAssign Success');
}
System.abortJob(sc.getTriggerId());
}
public AutoConvertLeads (Set<Id> LeadIds) {
this.LeadIds=LeadIds;
}
}
The Event Trigger is checked as "Is Active", but when I create a lead and create an event on that least with the Meeting Type = Demo Request - Standard, nothing happens.Does anyone have insight into this? Would love any help!trigger ChangeTheOwnerAndConvert on Event (after insert) {
Set<Id> LeadIds = new Set<Id>();
for (Event e: Trigger.new){
if (e.WhoId != null){
String eventNameId = e.WhoId;
if (!String.isBlank(e.Meeting_Type_CP__c)){
if (e.Meeting_Type_CP__c.equals('Demo Request - Standard')){
LeadIds.add(e.WhoId);
Lead l = new Lead( Id = e.WhoId);
l.OwnerId = e.OwnerId;
update l;
}
}
}
}
if(LeadIds.size() > 0){
Datetime sysTime = System.now();
sysTime = sysTime.addSeconds(10);
String chron_exp = '' + sysTime.second() + ' ' + sysTime.minute() + ' ' + sysTime.hour() + ' ' + sysTime.day() + ' ' + sysTime.month() + ' ? ' + sysTime.year();
System.schedule('ConvertLead' + UserInfo.getUserId() + sysTime,chron_exp,new AutoConvertLeads(LeadIds));
}
}
try this trigger ChangeTheOwnerAndConvert on Event (after insert) {
Set<Id> LeadIds = new Set<Id>();
List<Lead> les = new List<Lead>() ;
for (Event e: Trigger.new){
if (e.WhoId != null){
String eventNameId = e.WhoId;
if (!String.isBlank(e.Meeting_Type_CP__c)){
if (e.Meeting_Type_CP__c=='Demo Request - Standard'){
LeadIds.add(e.WhoId);
Lead l = new Lead( Id = e.WhoId);
l.OwnerId = e.OwnerId;
//update l;
les.add(l);
}
}
}
}
update les ;
if(LeadIds.size() > 0){
Datetime sysTime = System.now();
sysTime = sysTime.addSeconds(10);
String chron_exp = '' + sysTime.second() + ' ' + sysTime.minute() + ' ' + sysTime.hour() + ' ' + sysTime.day() + ' ' + sysTime.month() + ' ? ' + sysTime.year();
System.schedule('ConvertLead' + UserInfo.getUserId() + sysTime,chron_exp,new AutoConvertLeads(LeadIds));
}
}