- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-09-2025 10:22 PM
Hi,
Please provide the relevant code so that schedule job can be run daily if renewal date is expired.
Do let me know in case of any query.
Thanks
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-09-2025 11:47 PM
Hello @Naman Jain2412
Please try code below
function checkExpiredPolicies() {
var gr = new GlideRecord('sn_compliance_policy'); // Target table: Compliance Policy
var today = new GlideDateTime(); // Get current date and time
var todayFormatted = today.getLocalDate().getValue();
// Query for policies where the 'u_next_renewal_date' is before today
// and the policy state is NOT already 'Expired' or 'Inactive' (adjust as per your state values)
gr.addQuery('u_next_renewal_date', '<', todayFormatted);
// We only want to process policies that are currently 'Active' (or similar state) and not already marked 'Expired' or 'Inactive'.
gr.addActiveQuery(); // Only process active records, if 'active' field exists and is used
gr.addQuery('state', '!=', 7); // Assuming 7 is your 'Expired' or 'Requires Review' state value
gr.addQuery('state', '!=', 3); // Assuming 3 is your 'Retired' state value (don't process retired policies)
gr.query();
var updatedCount = 0;
while (gr.next()) {
// 1. Update the state field
// IMPORTANT: Replace '7' with the correct integer value for your desired 'Expired' or 'Requires Review' state.
gr.state = 7; // Example: Set state to 'Expired' or 'Requires Review'
gr.update();
updatedCount++;
gs.eventQueue('policy.expired', gr, gr.owner.sys_id, gr.assignment_group.sys_id); // Pass relevant user/group sys_ids
}
checkExpiredPolicies();
Try this and let me know in case of queries
Thank you!
Thank You!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-09-2025 10:34 PM - edited 07-09-2025 10:36 PM
Hi @Naman Jain2412 ,
Configure scheduled job with Run marked as "Daily"
In script, add query like below which will fetch renewal date that is expired
gr.addQuery('renewal_dateRELATIVELT@dayofweek@ago@1');
Please mark correct if it is helpful
Thanks,
GP
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-09-2025 11:40 PM
you can use scheduled flow for this. why scheduled job is required?
I shared solution on this link earlier using flow, enhance your as per your requirement (table, field etc)
I cannot seem to get an Email Notification when a record's due date is reached
sharing again
1) Flow Trigger Daily 23:00:00
2) Use Lookup Records action on your table to check if due date is today
3) Then use For Each to iterate over those records
4) then use Send Email action
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-10-2025 08:28 PM
Hope you are doing good.
Did my reply answer your question?
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-11-2025 05:35 AM
Thank you for marking my response as helpful.
As per new community feature you can mark multiple responses as correct.
If my response helped please mark it correct as well so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2025 10:15 PM
Thank you for marking my response as helpful.
As per new community feature you can mark multiple responses as correct.
If my response helped please mark it correct as well so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader