You need to sign in to do that
Don't have an account?

Schedule Trigger to Run Daily
I currently have a trigger "UpdateInTouchLead" shown below:
The schedulable class is shown below:
trigger UpdateInTouchLead on Task (after insert, after update) { Set<String> whoIds = new Set<String>(); for (Task t : Trigger.new) { whoIds.add(t.WhoId); } List<Lead> leads = [SELECT Id, First_in_touch__c FROM Lead WHERE Id =: whoIds]; Map<String, Task> taskMap = new Map<String, Task>(); for (Task t : Trigger.new){ if (!(t.Type.equals('Eloqua Activity'))) { if (t.Status.equals('Completed')) { taskMap.put(t.WhoId, t); } } } for (Lead l : leads) { if (taskMap.containsKey(l.Id)) { System.debug('Activity Date: ' + taskMap.get(l.Id).ActivityDate); System.debug('First In Touch before: ' + l.First_in_touch__c); l.First_in_touch__c = taskMap.get(l.Id).ActivityDate; System.debug('First In Touch after: ' + l.First_in_touch__c); l.Status = 'In Touch'; l.POC_Communications__c = 'Muted'; } } update leads; }This trigger runs whenever a Task in inserted or updated, but I would like to have this trigger also run once a day (at midnight). I have tried creating a scheduled class but I am receiving the folowing error: "Invalid Type: UpdateInTouchLead".
The schedulable class is shown below:
global class scheduledUpdateInTouchLead implements Schedulable { global static void scheduleMe() { scheduledUpdateInTouchLead msc = new scheduledUpdateInTouchLead(); String sch = '0 00 00 * * ?'; // everyday at midnight String jobID = System.schedule('Scheduled Job', sch, msc); } global void execute(SchedulableContext sc) { UpdateInTouchLead u = new UpdateInTouchLead(); } }Any advice on how to fix this is appreciated.
Update the trigger in the Apex class and call this class in the trigger as well as your scheduled class.You cann't call UpdateInTouchLead trigger in scheduledUpdateInTouchLead .
Important :
If this is what you were looking for then please mark it as a "SOLUTION" or You can Click on the "Like" Button if this was beneficial for you.
2. Call this class in Trigger by passing Task ids from trigger
3. In case of scheduled class , query all the eligible Task and call the same Apex class with custom logic and pass the Task records/Ids.