ReFlex - Advanced Gmail Autoresponder

Using Gmail As Universal Client

I use Gmail cloud service as my primary client for vast majority of e-mail communication - either private or for various businesses that I’m involved in. This means I have several other addresses associated with it. I have a specific setup for this which I developed over the years. It boils down to every external account having set up:

  • Message forwarding to my Gmail address (for incoming mail).
  • SMTP access in Gmail (for outgoing mail).

You may ask, why message forwarding and not POP3? The latter doesn’t work for me well because it causes a random delay before the message actually appears in Gmail as it uses some strange algorithm to determine mail checking intervals for each account separately. I fallback to POP3 only if message forwarding option is not exposed in external account’s web client.

Standard Autoresponder Falls Short

There’s one thing that works extremely bad in this setup though: autoresponder.

Standard Gmail’s “vacation reply” acts only on messages sent directly to address which is completely unacceptable considering my situation. When looking for a solution I also tried “canned messages” from Gmail Laboratory and was able to make them work quite well but they have another unacceptable drawback: don’t allow to limit the number of messages sent to particular addresses which effectively means bombarding people with autoreplies throughout the whole unavailability period.

Building Custom Autoresponder Is Fun

When looking for a solution to my problem I stumbled upon this blog post by Edwin Dalmaijer. He seemed to struggle with a similar problem and found his solution with Google Apps Script. I quickly learned what it is:

Google Apps Script is a JavaScript cloud scripting language that provides easy ways to automate tasks across Google products and third party services and build web applications.

…and instantaneously decided to develop a custom autoresponder with it :) After a bit of coding I came up with a solution that worked really nice so I decided to share it with others under the name ReFlex (which is a wordplay on bouncing back or Responding Flexibly).

Stay Offline And Keep Things Under Control

ReFlex setup solves not only the problem of responding to mail sent to non-Gmail addresses. It also helps to stay really offline as it suppresses Gmail notifications by archiving all incoming messages and labeling them for easy reference after coming back. Only messages sent to address with a suffix “+urgent” are not archived and cause the notification to appear. That’s why the automatic reply contains a following paragraph:

If the matter is really urgent and requires my reaction before that date, please send a message to [email protected] Thank you for your understanding.

This way you can avoid being disturbed by ordinary message flow but still provide people with a way to reach you in case things get really hot.

You can find the source code with detailed user’s manual in my GitLab repository.