# Mark message as read when archiving

I just switched from my email hosting providers web mail interface to Gmail. One feature I miss is being able to tell the app to mark messages as read when I archive them.

Example: (In Gmail)

I don't read every message I receive. For most of them, I just look at the subject line or the sender. Then, I bulk-select all messages I don't want to read and archive them all. However, they are still marked as unread in the Gmail "All Mail" view.

Is there a way to tell Gmail that, when I archive a message (or multiple), I want them to a) be moved to the archive folder and b) I want Gmail to mark them all as read?

• Just a note: "Archive" in Gmail means "remove the 'Inbox' label". There's no "archive" folder. – ale May 28 '16 at 16:36

You can do this with keyboard shortcuts.

With the messages you want to mark as read and archive selected, simply hit Shift+I then E.

The first marks the messages as read, the second archives them.

Keyboard shortcuts for Gmail

• This is a good answer, but I'd like to be able to do it in one key stroke. – dinosaur Sep 30 '17 at 15:43

I much prefer this method, which automatically marks any emails that have been archived as "read," per Mike Crittenden:

Choose to create a script for Gmail in the little popup.

Delete all the sample code it gives you.

Replace it with this (written using the API reference):

function markArchivedAsRead() {
};


Save the project with File > Save.

Add a new version using File > Manage Versions and enter "initial version" then submit that.

Do a test run using Run > markArchivedAsRead and be sure and authorize the app when it asks you to.

Add a new trigger using Resource > Current Project's Triggers and choose to run the above function every minute (or hour or day or whatever if you want to be nice to Google's servers).

Save the script again and exit. Don't worry, it will keep running.

And you're done. It will continue to run every minute until you stop it. How awesome is that?

Update: Some people are reporting an error which says

This operation can only be applied to at most 100 threads. (line 3, file "Code")

To fix this, you have to manually do a search for "is:unread" and mark all of them as read before running the script, so that it starts with a clean slate. The script can only process 100 threads per run, so if you give it more than 100 on the first run, that'll obviously bust it.

Source, Mike Crittenden's Website

Small imrovement, with respect to Zediiiii and his answer, that was really helpfull for me.

We may avoid error "This operation can only be applied to at most 100 threads" by implmenting tiny changes in the code:

function markArchivedAsRead() {
};


This means, that every run of the function marks up to 100 archived threads as read. As trigger is used to run this function periodically (1 per min or hour ...), sooner or later all threads will be marked as read without errors.

### THE SIMPLE WAY (Before archiving your emails)

You would first need to select the emails you need treated, click on the little arrow of the More button and Mark as read. You can now archive them as usual.

Please note that if no emails are selected you see different options under the More button.

### THE GMAIL WAY (Using filters/labels)

Using Gmail capabilities you could automate the procedure by creating filters so as to handle your incoming emails on arrival.

Click on the Search Field on the very top of your Gmail, fill out your parameters and create a filter.

On the second screen choose your desired options.
You could even create and apply a label (e.g. Junk) so you can always easily find which emails were auto archived.

In case someone is unaware of where to find the Archive button, here is a screenshot.
• "click on the little arrow of the More button and Mark as read" - There is also a convenient Mark as read button that can be enabled in Settings > Labs - cuts out one click! – MrWhite May 28 '16 at 9:34