 Let's understand scheduled Apex in Salesforce. So you can run Apex classes at a specified time. So let's suppose you have implemented any Apex class and you don't want to run that code immediately. You want to run that code at particular day or time. So you can implement that Apex class with the help of scheduled Apex. The benefit of implementing scheduled Apex is like, if you want to run maintenance tasks on daily or weekly basis, so these scheduling of Apex class will help. While implementing any Apex class, if you want to convert that into scheduled Apex class, so you need to implement schedule label interface for that purpose. So if we take a look on the syntax, so here you can see name of class is some class and it implements schedule label interface. And then you need to implement the execute method. So this is a brief idea about schedule label Apex, schedule label interface and schedule label Apex class. Now I'm going to show you implementation of simple Apex class. Then I will show you like how you can schedule it through code and through UI. So I'm creating a class as task utils and after creation of this class, I'm going to create one more class whose name will be remind OPP owners, remind opportunity owners, right? So in this class, basically I'm going to implement schedule label interface, right? And now here I'm going to write the code. So naming it as like scope will be global and global void. And then we need to write execute method and schedule label context. So variable name is CTX. So you can take any name here. Now, creating list of opportunity, list and then you can query some records on which you want to apply the process. So this is basically a SOQL. So we are querying ID name owner ID close date fields from opportunity where is closed equals to false and close date is less than today. So we need to remind those opportunity owners like those opportunities which are not closed and close date is less than today. So I am going to call task utils dot remind owners method and passing this opportunity list. And here I need to define this method public void list of opportunity OPP list. So this is basically a method and here you can write the code, okay? So I'm just saving this class and it is saved. And here you can see in this schedule label apex class we are calling this method remind owners. So this remind owners method is available in this class task utils and so let me check the errors. So there is typo need to modify this. Think there is some mistake in this method name as well. Okay, I need to define static. So because I'm calling this method through class name so I need to define it as static. Now it will be saved properly. So this way basically I implemented these two classes. One is task utils that will be having actual logic and this remind OPP owners is basically implementing schedule label interface. So this class will be known as scheduled apex class. Now with the help of anonymous window I will show you like how we can schedule this apex class and then I will show you like how we can schedule it with the help of UI. So here I'm going to create instance of this class first. So I created instance named as reminder. Now I need to create one acronym that is defining date and time. So its first argument is seconds, then minutes hours, day of month, month, day of week and year. So I'm going to create one string. So seconds zero, hours zero, minutes zero, day of month is 15, month is three. For day of week I'm marking question mark and here I'm mentioning as two zero, double two. Now I'm going to use this acronym. So string job ID equals to system dot schedule. So first parameter will be text. So I'm passing as remind OPP owner. Second, the date and time acronym that we created and then instance of the class, instance of the scheduled apex class. So now if you execute these statements, so your class will be scheduled automatically. So I'm just going here and doing a refresh so that I can show you like nothing is scheduled as of now. Now I'm going to execute this code that was written on anonymous window and I'm doing a refresh. So you will see one more row in the apex job list for scheduled apex. So here you can see job type is scheduled apex status queued and here you can see the apex class name through which it will be executed and this is the job ID. So this way your job is scheduled with the help of code. Now I'm going to show you how you can schedule it with the help of UI. So that is very simple. So what you need to do, you need to search for your apex class. So you can type apex classes. So name of classes, remind OPP owners. So you can go here and click on R. So here it is available and you can see this button is there. So if you click on this button, so here you can mention the job name. So let's say I'm naming it as run OPP processor daily or maybe remind OPP job. And here we need to search for the class. So I'm choosing this one. And here you can see frequency is weekly and monthly. So if you select monthly, so these options will be available like on the day off or on first or whatever option you want to select. If you go for weekly, so these checkboxes are available. And then we have start and date. So when it will start and then it will end the duration and preferred start time. So these are the things with the help of this, you can also schedule your scheduled apex class. So this way, I hope you understood like how to implement in a schedule label interface so that we can convert any apex class into a scheduled apex class and how we can schedule apex class through code as well as through UI.