Autoreply to Filtered Gmail Messages with Google Scripts

This Google Script, originally published by @rboyd, scans for lengthy emails in your Gmail mailbox (messages that have more than 100 words) and sends an auto-reply requesting the sender to resend the email after editing to less than 100 words. The long email is archived (moved away from the Inbox) after the auto-reply has been sent. You can set it up as a trigger to auto-run every 15 minutes.

Also see: Email Auto-responder for Gmail


// Credit: https://gist.github.com/rboyd/5027691

function deleteLongEmails() {

    var WORDLIMIT = 100;
    
    // Process only new emails in inbox that have not been read and receive in the last day
    var threads = GmailApp.search("to:me is:unread in:inbox newer_than:1d");

    for (var i = 0; i < threads.length; i++) {

        // Ignore email conversations
        if (threads[i].getMessageCount() == 1) {

            var msg = threads[i].getMessages()[0];
            var word_count = msg.getPlainBody().split(' ').length;

            if (word_count > WORDLIMIT) {
                msg.reply("Your email is too long. Please resend after editing it to less than 100 words.");
                GmailApp.moveThreadToArchive(threads[i]);
            }
        }
    }
}