I am trying to implement escalation mechanism on some List.e.g. if 8 hours have passed and List item is not approved by user then send an escalation email will be sent to manager. How can I run custom code on List every 30 minutes say? Is it possible to accomplish using Custom SharePoint Timer Job?
A few options are available:
- PowerShell, hosted locally or on a VM in Azure
- Azure function, which can be set to run on a schedule
If the action is relatively simple, I'd go with a Flow. If it's more complicated, I'd go with an Azure Function. Just sending an email sounds like a simple flow.
You can use SharePoint Designer and use the pause for duration (delay for 8 hours) and use a condition to check if the item is approved. If it isn't, you can send an e-mail via the workflow as well.
If you use SharePoint Designer, it'll be much easier to add some more complex funtions later if needed.
The SharePoint Custom Timer Job you are mentioning is basically the pause for duration action in SharePoint Designer.