Best answer

How to archive an email when it is opened/marked read in the Gmail inbox?

  • 27 November 2022
  • 13 replies
  • 891 views

I tried to create a zap for processing an email once opened in the gmail inbox to archive it removing it from the inbox - any ideas?

icon

Best answer by nicksimard 3 December 2022, 00:29

View original

This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

13 replies

Userlevel 7
Badge +12

Hey @MrChips!

I don’t think that this is possible with Zapier, but you might be able to do it within Gmail using a filter. 

In Gmail’s search bar enter a search that has “is:read” in it - for example if you only want emails in from the promotional section of your inbox to be archived you’d type in:promotions is:read

When you’ve done that, click the slider icon at the right end of the search bar. That will take you to the option to create a filter, when you set up the filter choose the option to Archive the emails

I’ve not tested this myself because I don’t want to archive my read emails(!) but from the looks of things, it should work. 

 

Let us know how you get on!

Thanks @Danvers, I’ve tried it and the emails do not move from the inbox. Screenshot below of the filter I set up. Any ideas? I think skip the inbox only works as filter if the email is being delivered, after it has arrived in the inbox I don’t think this filter works to move it out of the inbox…?

 

 

I think this workflow could do it but the last step is producing an error…

Trigger - new label is label:read when the email in the inbox has been read

Event - remove label Inbox so the email is archived and removed from the inbox

 

Userlevel 7
Badge +8

Hi @MrChips 

 

In the “Message to Remove Label(s) From” Zapier is expecting the email ID (shown below in the light grey color). So under Custom, search for ID, this should do it. 

 

@MohSwellam Thanks, that only zaps one email in the inbox, I’m looking for a solution to zap all emails in the inbox

Userlevel 7
Badge +8

@MrChips 

 

Zapier would need a Trigger (in this case, new email as an example) then an action to do. @Danvers suggestion is definitely something to consider. 
 

Since you want to use Zapier, you can use the Transfer by Zapier, this would “transfer” the existing data. BUT you have to understand the amount of tasks this will use. If its one step (i.e.: only Remove Label from Email) this is one task per email. Keep that in mind.

@MohSwellam I think the suggestion from @Danvers only works for incoming mail in the process of being delivered. I am looking for a solution that can run in the inbox after delivery is completed and the label of an email is changed, once opened and read - label:unread changing to label:read - and triggering it to move from the inbox to archive.

Userlevel 7
Badge +12

Hi @MrChips!

It looks like your Zap will work if you use the email ID as @MohSwellam suggested. The Zap will remove the inbox label as you read each email, it wont work for the emails that are currently in your inbox, but it will work for future ones. 

To move all exisiting read emails in your inbox, you can do that in Gmail. In Gmail:

  1. Search for in:inbox and label:read
  2. Use the tickbox at the top of the list to select all emails in the list
  3. Make sure that all conversations are selected (not just the ones on the page) 
  4. Click the Archive icon (the first one to the right of the tick box)

 

 

Once you’ve cleared existing emails from your inbox, your Zap that triggers from the read label and then removes the inbox label will remove the email from the inbox. One thing I want clarify is that that wont automatically archive the email, but it will remove it from your inbox. 

 

Will that combination of clearing your inbox in Gmail and then setting up a Zap do what you need it to?

Hi @Danvers 

I’m not sure it works because it’s not possible to read an email before it’s in the Inbox, and the zap will only work for new emails that arrive with label:read - which is impossible, the email can’t be read before it arrives.

Any ideas?

Thanks again!

Userlevel 7
Badge +11

Well, what do you know! I got this to work, and it’s pretty neat :)

It does use 2 actions each time it runs, so I’d be careful with making sure you get the search string in the trigger specific enough that you’re not archiving things you don’t want to.

Here’s the Zap setup:

 

Brief Description

  • The trigger is for emails in the Inbox and that have the read label applied.
  • Next, I removed the Inbox label, using the ID of the email
  • Finally, I applied the label that I use in my Gmail filter (the very clever archivethis)

And then in Gmail it’s as simple as creating a filter like this:

 

And that seems to be working for me based on my testing!

Hi @nicksimard Thanks this is great, I got it to work for one email in the inbox (the one of the ID selected) however it does not seem to work for any subsequent emails - those read emails are not being archived and removed the inbox, in my testing they are label:read and in the inbox. 

Is there a way to make the zap apply to all emails and not one specific message ID?

Userlevel 7
Badge +12

Hi @MrChips!

In the remove and add label steps, if you map the ID of the email that triggered the Zap into the Email field (as opposed to selecting it using the dropdown box) then it should work for each new email that you read. 

Can I check something? Can we go right back to the beginning and can you explain what your inbox is like, which emails you are reading and when? So, do you have emails that are read that you want to archive, do you have unread emails that have been in your inbox for sometime that you want to be archived after you read them, do you want all new emails to be archived once read? Or something else? 

The clearer we can be on the circumstances, the easier it will be to find a solution :)

Well, what do you know! I got this to work, and it’s pretty neat :)

It does use 2 actions each time it runs, so I’d be careful with making sure you get the search string in the trigger specific enough that you’re not archiving things you don’t want to.

Here’s the Zap setup:

 

Brief Description

  • The trigger is for emails in the Inbox and that have the read label applied.
  • Next, I removed the Inbox label, using the ID of the email
  • Finally, I applied the label that I use in my Gmail filter (the very clever archivethis)

And then in Gmail it’s as simple as creating a filter like this:

 

And that seems to be working for me based on my testing!

Thanks @nicksimard it works great and this is the solution! At first it was sticking and I thought it was not working but that was my Gmail account not updating. It works as intended, as soon as an email is opened the archivethis label is applied and the email is removed from the inbox. Perfect thanks!