Mark Archived Gmail Messages as Read Automatically

You can use Google Script to mark all archived unread emails messages as read automatically. The script runs every hour and looks for email messages in your Gmail mailbox that are unread and are not in your inbox. If there no Gmail label assigned to a thread, it is marked as Read.

To install this Gmail script, go to script.google.com and copy-paste this snippet. Next choose Run -> createTrigger to set the time-driven trigger that runs every hour automatically.

function markGmailAsRead() {
  // Find Gmail Messages that are unread but not in inbox
  var threads = GmailApp.search('is:unread -in:inbox', 0, 50);
  for (var i = 0; i < threads.length; i++) {
    // Does the message thread have any user-assigned labels
    var labels = threads[i].getLabels();
    if (labels.length == 0) {
      // Mark the entire thread as read
      threads[i].markRead();
    }
  }
}

// Create a trigger that execute every hour and processes 50 messages in a batch
function createTrigger() {
  ScriptApp.newTrigger('markGmailAsRead').timeBased().everyHours(1).create();
}

Amit Agarwal is a web geek, solo entrepreneur and loves making things on the Internet. Google recently awarded him the Google Developer Expert and Google Cloud Champion title for his work on Google Workspace and Google Apps Script.

Awards & Recognition

Google Developer Expert

Google Developer Expert

Google awarded us the Developer Expert title recogizing our work in Workspace

ProductHunt Golden Kitty

ProductHunt Golden Kitty

Our Gmail tool won the Lifehack of the Year award at ProductHunt Golden Kitty Awards

Microsoft MVP Alumni

Microsoft MVP Alumni

Microsoft awarded us the Most Valuable Professional title for 5 years in a row

Google Cloud Champion

Google Cloud Champion

Google awarded us the Champion Innovator award for technical expertise

Want to stay up to date?
Sign up for our email newsletter.

We will never send any spam emails. Promise 🫶🏻