Find Emails in Gmail that are Awaiting a Reply
This Google Script scans the Sent Items folder of your Gmail mailbox and creates a list of messages that are still awaiting a reply from the recipient.
It looks at the sender’s address of the last message in a Gmail thread that is older than 7 days and, if it is different from the email address of the user running the Google Script, logs that message.
/* Credit: https://gist.github.com/cjbarber */
function label_waiting_for_reply() {
// Get the gmail address of the current user
var emailAddress = Session.getEffectiveUser().getEmail();
var EMAIL_REGEX = /[a-zA-Z0-9\._\-]+@[a-zA-Z0-9\.\-]+\.[a-z\.A-Z]+/g;
// Check if the Gmail label exists, else create it
var label = GmailApp.getUserLabelByName('[Waiting For]')
? GmailApp.getUserLabelByName('[Waiting For]')
: GmailApp.createLabel('[Waiting For]');
// Find Gmail Sent Items that are older than a week
var d = new Date();
d.setDate(d.getDate() - 7);
var dateString = d.getFullYear() + '/' + (d.getMonth() + 1) + '/' + d.getDate();
threads = GmailApp.search('in:sent after:' + dateString);
for (var i = 0; i < threads.length; i++) {
var thread = threads[i];
// Find the senders email address of the last message in the Gmail thread
var lastMessage = thread.getMessages()[thread.getMessageCount() - 1];
lastMessageSender = lastMessage.getFrom().match(EMAIL_REGEX)[0];
// If the sender's email address is the same as the user, reply not received
if (lastMessageSender == emailAddress && thread.getMessageCount() == 1) {
thread.addLabel(label);
Logger.log(lastMessageSender);
}
}
}
// Publish this Google Script as a web app
function doGet(e) {
label_waiting_for_reply();
}
Amit Agarwal
Google Developer Expert, Google Cloud Champion
Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.
Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory