Interested in a ServiceNow event built for developers? Registration for now[dev]26 is officially open!

Send Reminder Email after 7 Days if Approval Is Still Pending

MONISHRAM PANDI
Tera Contributor

I have to send Reminder notification Email after 7 days if Approval is pending. 

2 ACCEPTED SOLUTIONS

debendudas
Mega Sage

Hi @MONISHRAM PANDI ,

You can implement reminder notifications for pending approvals in ServiceNow in different ways. Below are two effective methods to achieve this functionality.

 

Method 1: Modify the existing Flow Designer

If you are using Flow Designer to send the approval request, you can modify the flow directly.

  • Add Wait for Condition: Insert a "Wait for Condition" action set to 7 days.
  • Check Approval Status: After the waiting period, evaluate the status of the approval request.
  • Send Reminder Email: Based on the approval status, trigger a reminder email to the relevant parties.

Method 2: Using Scheduled Jobs

  • Create a Scheduled Job: Create a scheduled job that runs daily.
  • Check Open Approval Requests: The job should query the current open approval requests and their corresponding dates.
  • Send Reminder Emails: Utilize events and notifications to send reminder emails as necessary.

 

If this solution helps you then, mark it as accepted solution ‌‌✔️ and give thumbs up 👍! 

View solution in original post

Deėpak Sharma
Mega Sage

Hi @MONISHRAM PANDI 

 

There are two methods: 

1: Using Flow Designer (Low code)

2: Using Scheduled Job

 

I am currently sharing the Flow Designer approach for best practice, if you need specific schedule job method, then please reply

 

 

​1. Flow Designer (Recommended for modern instances)

​Flow Designer is the preferred method as it's more visual and requires less code.

​A. Set up the Flow Trigger

​Create a New Flow in Flow Designer.

​Trigger: Set the trigger to Scheduled.

​Run: Daily

​Time: Set a specific time (e.g., 8:00 AM).

​B. Find the Pending Approvals (Lookup Records)

​Action: Add a Look Up Records action.

​Table: sysapproval_approver (Approvers)

​Conditions:

​State is Requested

​Created on on or before javascript:gs.daysAgo(7) (This finds all approvals requested 7 days ago or longer).

​Optional: You might want to add a check to ensure the record hasn't been reminded recently (e.g., if you added a custom u_last_reminder_date field).

​C. Process Each Approval (For Each)

​Flow Logic: Add a For Each loop to iterate through the records found in the previous step.

​D. Send the Reminder (Send Notification)

​Action: Inside the loop, add a Send Notification action.

​Notification: Select or create a Notification record.

​Record: Pass the current approval record from the loop.

​Recipient: Set the recipient to the Approver field from the current approval record.

 

Happy to help! If this resolved your issue, kindly mark it as the correct answer ✅ and Helpful and close the thread 🔒 so others can benefit too.

Warm Regards,

Deepak Sharma

Community Rising Star 2025

View solution in original post

4 REPLIES 4

debendudas
Mega Sage

Hi @MONISHRAM PANDI ,

You can implement reminder notifications for pending approvals in ServiceNow in different ways. Below are two effective methods to achieve this functionality.

 

Method 1: Modify the existing Flow Designer

If you are using Flow Designer to send the approval request, you can modify the flow directly.

  • Add Wait for Condition: Insert a "Wait for Condition" action set to 7 days.
  • Check Approval Status: After the waiting period, evaluate the status of the approval request.
  • Send Reminder Email: Based on the approval status, trigger a reminder email to the relevant parties.

Method 2: Using Scheduled Jobs

  • Create a Scheduled Job: Create a scheduled job that runs daily.
  • Check Open Approval Requests: The job should query the current open approval requests and their corresponding dates.
  • Send Reminder Emails: Utilize events and notifications to send reminder emails as necessary.

 

If this solution helps you then, mark it as accepted solution ‌‌✔️ and give thumbs up 👍! 

Deėpak Sharma
Mega Sage

Hi @MONISHRAM PANDI 

 

There are two methods: 

1: Using Flow Designer (Low code)

2: Using Scheduled Job

 

I am currently sharing the Flow Designer approach for best practice, if you need specific schedule job method, then please reply

 

 

​1. Flow Designer (Recommended for modern instances)

​Flow Designer is the preferred method as it's more visual and requires less code.

​A. Set up the Flow Trigger

​Create a New Flow in Flow Designer.

​Trigger: Set the trigger to Scheduled.

​Run: Daily

​Time: Set a specific time (e.g., 8:00 AM).

​B. Find the Pending Approvals (Lookup Records)

​Action: Add a Look Up Records action.

​Table: sysapproval_approver (Approvers)

​Conditions:

​State is Requested

​Created on on or before javascript:gs.daysAgo(7) (This finds all approvals requested 7 days ago or longer).

​Optional: You might want to add a check to ensure the record hasn't been reminded recently (e.g., if you added a custom u_last_reminder_date field).

​C. Process Each Approval (For Each)

​Flow Logic: Add a For Each loop to iterate through the records found in the previous step.

​D. Send the Reminder (Send Notification)

​Action: Inside the loop, add a Send Notification action.

​Notification: Select or create a Notification record.

​Record: Pass the current approval record from the loop.

​Recipient: Set the recipient to the Approver field from the current approval record.

 

Happy to help! If this resolved your issue, kindly mark it as the correct answer ✅ and Helpful and close the thread 🔒 so others can benefit too.

Warm Regards,

Deepak Sharma

Community Rising Star 2025

Sarthak Kashyap
Mega Sage

Hi @MONISHRAM PANDI ,

 

You can configure this in 2 ways.

 

1. With your flow

Check for the condition of where approval is happen.

If this is still pending for last 7 days, you can send the email notification to specific users.

 

2. You can create schedule job, which runs daily and add below script 

var gr = new GlideRecord('sysapproval_approver');
gr.addQuery('state', 'requested');
gr.addQuery('sys_created_on', '<=', gs.beginningOfLast7Days());
gr.query();

while (gr.next()) {
    gs.eventQueue('approval.reminder.email', gr, gr.approver.toString(), '');
}

Modify script as per your requirment.

 

Please mark my answer correct and helpful if this works for you

Thanks and Regards,

Sarthak

 

Uncle Rob
Kilo Patron

What have you tried?