Send Google Mail to Evernote

Evernote is a great system to organize your notes, and to remember everything. You often want to add email message to Evernote, for example to add it to a To-do list. Evernote makes this possible by providing an email address, to which you can forward other messages–they will then be added to your other notes. But you still have to tag them, and you may want to put them in a different notebook. This can also be done by appending notebook and tags to the subject line, but this takes time and you can easily make a typing mistaken.

The method described here makes it much faster and easier: simply drag tags and notebook to the message, that’s it. It is shown in this video, and you can click through to read how to make it work for you. The video is short, less than 40 seconds, but it should not take more time to forward the message and see the result.

How does it work?

Each Evernote account comes with a unique email address (like ‘myname.12345@m.evernote.com’) which can be used to add content via email. You can forward a message to this address to add it as a note to Evernote.

Here, the messages are forwarded by a Google Apps script. This script will run at regular intervals, and read the Gmail labels Evernote and its sublabels. It will forward the last message of each thread that has one of these labels to the Evernote email address.

If a sublabel of the Evernote label was attached, it is appended to the subject line with an ‘@’ prefix. Similarly, other labels are appended to the subject line with a ‘#’ prefix. Evernote will read this subject line and place the note in the indicated notebook and attach the given tags.

In a Google Docs spreadsheet, a log is kept to record all forwarded email messages.

After forwarding, the Evernote label or sublabel is removed, so the messages will not be forwarded again.

Set up the script

To make this work, you start by creating the same labels/sublabels in GMail that you also use as tags in Evernote. You don’t have to create all tags, only the tags that you plan to use from Gmail. Also create a label ‘Evernote’, and create sublabels for all notebooks that you plan use.

Now configure the script and have it run regularly:

  1. Go to gm2en.com,  You may have to authenticate and grant access to the script to run.
  2. Check or fill in your Evernote mail address
  3. Select the Evernote label–any message with this label, or  a sublabel, will be forwarded to Evernote.
  4. Optionally, change the interval with which your mail is checked. Keep in mind that there are quotas for accessing email and use of computer time, so don’t set it too often. If you receive error messages, you may need to check less frequently, and increase the time interval.
  5. Press Submit

Web interface Gmail to Evernote

That’s it. Now, if you assign the Evernote label to any message, within 15 minutes  (depending on the time you set in step 4), the message is added to Evernote, and the label removed from the message. You may have to refresh Evernote to see the new note.

Advanced options

Click on Show advanced options, to view and change these options.

Adding a default tag

If you have several Google accounts, you may want to distinguish mail forwarded from each account. This can be accomplished using a default tag, e.g. home for your private account, and work for work account. This way, you can keep them separate in Evernote.

The log sheet

When an email message is forwarded to Evernote, the script will write a line in this spreadsheet, containing the date, source (including the email address) and message (the adapted subject line). This will be helpful to track errors. The first time, this sheet is created automatically and the ID filled in here.

If you have several Google accounts, you can use the same log sheet for all accounts:
  1. Share the log sheet of one account with all other accounts,
  2. Copy the Log sheet ID from this account to all other accounts.

Multiple sign-in, number of accounts

If you use multiple sign-in, the link in the note back to the email may not work; select the number of multiple sign-in accounts that you use, so it will give alternative links that will work. See this post for a more extensive explanation.

If you set this value to 0, the link to the message in Gmail will not be shown.

Header fields

Email header fields are added to Evernote. In the note, you can see who send the email, to whom, and when. Other fields are also possible, by changing this line. This is a comma-separated list of the fields that will be shown.

By default the value is ’From, To, Cc, Date’. Fields are only shown if they have content, so if there are no Cc-addresses, this header field will not be shown. Other fields that you can include are: Bcc, ReplyTo, and Subject.

If you don’t want any header fields, set the value to an empty string, ”.

Header CSS

You can configure the CSS style for the header DIV, containing the header fields and the link(s). By default, it is set to ‘border-bottom:1px solid #ccc;padding-bottom:1em;margin-bottom:1em;‘ showing a light-grey line between the header and the message. You can change this value here.

Tag label

By default, when no label is specified here, all labels except the notebook (sub)labels will be sent as tags to Evernote. If you specify a label here, only this label and its sublabels will be sent as tags

Sent label

If a label is specified here, it will be assigned after a message is sent to Evernote. It must be different than the notebook label, but may be a sublabel of it.

Manual configuration

You can also manually configure the script.

  1. Open the script at gm2en.com/script.
  2. Go to Resources – Current script’s triggers, and edit the trigger, or remove it to stop the script from forwarding messages to Evernote
  3. All other settings are stored as so-called User properties. To access the User properties, open the script at gm2en.com/scriptthen go to FileProject properties, and click on the User properties tab.
userproperties2

Notes

  • Labels in Gmail are assigned to threads, not to individual messages. This script will take the last message of a thread and forward only that message.
  • The Evernote label, or any of the notebook sublabels actually triggers the forwarding. After forwarding, these labels are removed from the thread, to avoid forwarding multiple times. If you assign multiple notebook labels, the message will be forwarded multilple times and placed in each notebook once.
  • If you want to add a remark to an email message before forwarding, you can forward the message to yourself, and add the text, before adding the labels.
  • It is safest to assign the tag labels first, and the notebook label last; Otherwise, it might happen that the script runs just after you added a notebook label, and does not copy the tag labels that you might insert later.
  • Using Gmail filters, you can automatically assign labels to incoming mail. In combination with this script, you can forward message from certain senders or with a given subject line directly to a selected notebook in Evernote, with the appropriate tags.

If you encounter any problems in getting the script to work, or have suggestions on how it can be used or improved, please add a comment!

 

This post is also available in: Dutch

138 thoughts on “Send Google Mail to Evernote

  1. Pingback: An overview of tools to send Gmail to Evernote | HarryOnline

  2. eenewbie

    Hi, when I click on File – Project Properties – User Properties, I don’t see any default user properties; just an + Add Row link. Any help is appreciated. Thanks.

    Reply
    1. Harry Post author

      The default properties will be set when you run the script. So you can just run the script, and if you want, can change the properties later.

      Reply
  3. Pingback: New Year’s Resolution – Getting Things Done (GTD) – With Evernote! | Glen's Home on the Web

  4. William

    Hello,

    I just set this up and it’s wonderful. Thanks very much, Harry.

    One thing I would like it to do is, after forwarding the email to Evernote, to remove the message from Gmail’s inbox and Archive it, and/or add a tag like “Archived_to_EN.”

    Would that be difficult to add? I haven’t done any scripting with Google yet, but I’m anxious to learn. I’m just curious if you think it’s reasonably easy to do.

    Thanks!
    Bill

    Reply
    1. Harry Post author

      I’d like to get my inbox empty as soon as possible, so when I read an email, I decide what to do with it, assign the appropriate Evernote label if it needs further action, and archive immediately.
      Others may prefer to keep the message in their inbox until all action is done, and not archive it when it has been forwarded to Evernote. So I keep it simple and don’t automatically archive.

      But peoples preferences differ, and the nice thing about Google Scripts is that you can easily adapt it. It should be only a few lines of code to make the changes as you request. So make a copy and go ahead, you will find that the effort in getting acquainted with Google Scripts is very rewarding.

      Reply
      1. William

        Aha, I see. I guess it didn’t occur to me to label the messages and then immediately archive. I just imagined the script working from the inbox only for some reason. I do prefer your technique, actually.

        I’m sure I can find another useful reason to learn the code!

        Cheers,
        Bill

        Reply
  5. Steve Kellam

    I just wanted to say THANK YOU! I have looking for an integration for Gmail and Evernote for a long, long time. I actually set up a postfix, fetchmail daemon on a linux server to do this very thing (because I had no idea how to code a Google script or if it could even be done). I’ve just shifted all my gmail forwarding to Evernote over to this script and it works great. Thanks again.

    Reply
  6. foxmask

    Hi,
    When the email is forwarded to our Evernote account, in the body of the note we can read the “from:…to:… date:….” + url to the gmail string. I would like to remove this info as we can “share” their stack of notes, everybody can read my gmail email and many others details. Thus if we could drop those infos that will be more secure for me 😉
    Can you tell me where I can change that in the script ?

    Regards .

    Reply
  7. foxmask

    I think I finally found the switch to use : gm2en_nacct which is set to 1.0 ; i set it to 0 and wait for a new event to come 😉

    Reply
  8. foxmask

    thanks , effectivly i didnt see it in your other post. I have to make more check because the result is still the same as before.

    Reply

Leave a Reply

Your email address will not be published.