Take the 2-minute tour ×
Web Applications Stack Exchange is a question and answer site for power users of web applications. It's 100% free, no registration required.

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

share|improve this question

migrated from superuser.com Apr 27 '12 at 14:39

This question came from our site for computer enthusiasts and power users.

    
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
add comment

2 Answers 2

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 sucha 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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.