Is there a way to send a canned response to an email when I apply a label to it?

I use labels for task handling, so I have a "Completed" label that I apply to the email once I have finished the task. What I would like is to inform the sender that this task is complete, which I am doing manually at the moment for every single email I tag as "Completed" (and it's a lot of emails per day).

I do not wish to use a 3rd party program as I am very much in love with Gmail's interface.

  • I'm guessing that you are already aware of the canned response feature (which does not do what you request, but seems helpful when handling many e-mails): worldstart.com/gmail-canned-responses?
    – erikxiv
    Apr 27 '12 at 14:33

This isn't possible with standard GMail options because filters are applied only when a message is "created", which is when it either arrives to Inbox or when you send a message. Applying a label will not trigger a filter and actions associated with it. (I've just tested such a a setup.)

You may want to consider adopting Inbox Zero as a way of tracking what still needs to be completed instead of labeling conversations as "Completed". In essence, that would be the entire Inbox since finished tasks are to be archived. Then, you can use a canned response to notify the assignor.


I would suggest checking out the gmail functionality in Google Apps Script. You should be able to write a script that triggers every 10 minutes or so and does exactly what you want. You will probably also need an "complete_replied" label or something so that the script knows which emails it has responded to. It might look something like this:

function processLabel() {
  var completeLabel = GmailApp.getUserLabelByName('complete');
  var doneLabel = GmailApp.getUserLabelByName('complete_replied')
  var threads = completeLabel.getThreads()
  for (var i=0, i < threads.length; i++){
    threads[i].reply('This task has been completed').removeLabel(completeLabel).addLabel(doneLabel)

You could also rig something up with http://ifttt.com.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy