Jump to content
  • 0

(Archived) The Next Level for AppleScript in Evernote?



Having developed a few AppleScripts for Evernote at this point, I have tried to keep track of both my own issues and those of my fellow scripters who post here. I thought I'd make a new post where I'd share a few observations to perhaps identify places where the implementation needs help and also to (hopefully) generate interest and good ideas for the future!

  • [*:1e69hvlq]Fixes. As I've recently discovered, "Get Every Note in Notebook" also returns notes that are in the Trash (a.k.a., "Inactive Notes") -- but only active notes are returned if using the "find notes" query. It would probably make sense to make the "every note" command work the same way as "find notes" but, if there is a reason not to do that, could we at least have an "active" modifier made available through AS so that we can avoid the trashed notes?
    [*:1e69hvlq]Selected Note / Selected Notebook. If these were detectable via AS, we could really do some fun stuff with keyboard shortcuts and use Evernote's interface to select which notes we wanted to run our scripts on.
    [*:1e69hvlq]More note elements "scriptable". Currently, note text (or even the raw XML) isn't visible through AppleScript. For example -- if I wanted to script a "find and replace" function, I would have to export the notes that I wanted to parse, run a script on them that does the find-and-replace of the exported files, and then I'd have to reimport the changed notes (while attempting to preserve the other data in situ). Seems like it would be easier if we could do something like:
set EVText to the body text of selected note

Is that dreaming the impossible dream? :)
[*:1e69hvlq]Tags and Attachments. Tags and Attachments are currently only "GET" enabled, not "SET" enabled. As a result, I currently have to create a whole new note if I want to change a note's tag via Applescript. I know that the "many to many" relationship between tags and notes is an issue, but it would be nice to have it editable on a per-note basis, a la:

set tag of (note X) to "y"

Adding deeper access to attachments would be nice as well... can we get a direct, scriptable link to the attachment?
[*:1e69hvlq]URI Links to Notes In Evernote. If I export a note from Evernote to another app, it would be nice to have a link back to it available, a la Apple Mail, DEVONthink, OmniFocus, or Yojimbo's URI links.
[*:1e69hvlq]Author. Author property needs to be writable.
[*:1e69hvlq]Append / Prepend / Note Merge. I think we should be able to do this to our notes via script as well.

Anyone else have any thoughts?

Link to comment

12 replies to this idea

Recommended Posts

1. Allow moving a note to a different notebook than the one it's currently in.

2. Implement the Required suite of AppleScript commands. Currently Evernote has no concept of a document or even a window.

3. Fix the bugs I've reported, for example don't crash if given a tag string that contains a comma.

4. I strongly second the need to be able to get and manipulate the selection.

Link to comment

Man -- You guys are on the case! :D

One more thought -- I didn't include it originally because it's not really a "bug" or AppleScript-specific, per se, but...

Everyone would benefit from a fuller documentation of Evernote's Search Syntax.

(as discussed in this thread also: http://forum.evernote.com/phpbb/viewtopic.php?f=30&t=9889&p=44340)

Some of the ideas in that thread are right on the money! A search builder....more prominent documentation...maybe a wiki or a special blog page with samples and use cases -- you get the idea.

Right now, clients come to me and ask "Hey Justin -- Can you customize Evernote to [do something cool/tweak my data/connect to another app/etc.]?" Many times I'm not really sure because I feel like, even though I've read the syntax addendum to the API docs, I still really don't understand it fully.

The "find notes" issue I raised in the first post is a great case-in-point. While it may just be a case of me needing to not be such a big dummy and to RTFM a little closer (fairly likely), I don't think it would hurt if there were more resources available to help turn on the light bulb over my head.

In fact, this is something that you guys already excel at: Video tutorials, a blog with fun use cases and announcements, Ron's Tumblr blog... and let's not forget that magical half-hour known as the "Evernote Podcast"! :)

As someone who observes (and works with) any number of application makers and technology companies, I have always felt like the Evernote team has set the standard for how a company should communicate with its users. You guys find new, creative ways of doing it all the time. Time to do it here as well, I think.

One more brief aside specifically for Dave/Andrew:

Almost all of the clients that I help -- authors, film-makers, "stay-at-home parents", scientists, designers, etc. -- are using your technology to enable their creative work. As the guy who helps them to put together a personal workflow, it's always a fun moment when their "light bulb turns on" as they see the potential of how products like Evernote can take what they do to "the next level" (hence my post title).

Thanks again to you both for working so hard to make this product "Not-Just-Good-But-GREAT".

Link to comment

At Veritrope's urging I'm duplicating this request here to have all the suggestions re AppleScript in one convenient place:

The "create note" verb should have an optional modifier such as "window state open" or "window state closed". This would override whatever is selected in the "after a clip" checkbox to "bring the new note to the front".

(Actually, since creating a note with AppleScript isn't "clipping," I'm not sure why this preference even applies.)

Link to comment

Something I've wished for that would be a significant enhancement to Evernote in general, not just scripting:

The ability to attach arbitrary user data to a note.

OmniGraffle Professional has a nice implementation of this.

Any object can have the property "User Data", which is an AppleScript Record (set of name:value pairs). You can create, read, and set them with AppleScript, or with the Object Inspector.

Link to comment

I would like to see the ability to put a link to Evernotes inside an OmniFocus Task. Ruben over at mailplaneapp.com has done a nice implementation that I use constantly, most of my omnifocus tasks have a link back to the email they are associated with, it would be great to be able to the same sort of thing with Evernotes. Right now I have a Notebook in Evernote named Inbox, it's the default notebook, it would be great to be able to select the note, push a short cut and have it create a new task in omnifocus with a link to the note. Thanks!

Link to comment


do you have any timeframe, when the Evernote Mac client will see a full AppleScript integration, namely the ability to change existing notes? Looks a bit like you have abandoned these plans in favor of your developer API.


Link to comment

It's still on the list, but we've been working on editor improvements and bug fixes. A new senior engineer is joining Geech on the Mac, so that should hopefully improve the tempo a bit.


Link to comment


This topic is now archived and is closed to further replies.

  • Create New...