Category Archives: Tools

Tools and Toys

One of the things that make Zotero most useful — and most fun — are the many options it provides for customization and applications via the API or in the form of plugins. Here are some I have come across recently.

Using IFTTT with Zotero is a neat little service that lets you create little scripts that have different webservices interact without actually doing any scripting. It stands for “If this than that”. It offers about 80 different channels—webservices, email, text messages—that you can set up either as triggers (the “if this” part) or as actions (the “then that” part). There is currently no Zotero channel and no possibility to create channels of your own (though you can request the former and the latter is planned. You can, however use adding an item to Zotero as a trigger by using the “Feed” channel. Here’s a “recipe” I created that will create a WordPress blogpost for every item added to a group, inspired by this job offer. You can easily create feeds not just for an entire library, but also for a collection or a tag. Simply click on the collection (or tag) in the online display of your library and then find your feed address at the bottom left. For private libraries, you will need to click the link to create a private key first.



Especially for users who employ Zotero as a frontend for bibtex or biblatex, keeping the Zotero database in sync with a data file — a .bib file in the case of bibtex — is a hassle: It requires frequent, manual export. The first plugin to address this issue was Rob Wilson AutoZotBib which exports the Zotero library in bibtex to a designated file on every change. The problem with AutoZotBib is that it slows down Zotero significantly, especially for larger libraries. A more sophisticated solution I’ve come across recently is Zotero Autoexporting by Robert Kühn. Zotero Autoexporting has the same general functionality, but allows for a lot more cutomization

  • Beyond manual export and export on every change, it also offers export in certain time intervals (say every hour)
  •  It lets you export just one (or multiple) collections, creating a .bib file for every collection
  • It allows you to run an automatic post-processing (e.g. bash) script on your file

Setting up these features is pretty straightforward once you’ve found the preferences: For me these are only accessible via the Firefox/Zotero add-ons view:

Zotero Autoexporting can export in any of Zotero’s export formats, so you could also uses it to, e.g., keep a MODS version of your library or to echxchange data with another program regularly.

More Bibtex

If you’re using Bib(La)Tex, you may also want to consider using Emiliano Heyns’s Zotero Better BibTex. It adds a number of convenient features and more flexibility to Zotero’s bibtex handling, including the ability to set custom citekey’s via the extra field and drag&drop citekeys. Some of these features are (by necessity) on the hackish side of things, so you may need to redo some things once they’re properly supported by Zotero, but until then they allow you to use Zotero as a much more sophisticated bib(la)tex front-end.

Customize Reports, Speed up Indexing

Emiliano has been on a roll recently and published several other plugins, two of which strike me as especially useful.
The first one, Report Customizer, takes Jason Priem’s Zotero Report Cleaner and turns it into a plugin. This makes it easier and faster to use and saves your settings. Simply install the plugin and then, in its preferences (which are accessible through the Zotero gears menu), check the box for fields you do not want included in reports, e.g. Date Added and Modified in the example below.


The second plugin works mainly behind the scenes: Zotero AutoIndexing implements a different indexing algorithm for Zotero and runs it automatically. The algorithm is significantly faster than the one used by Zotero, so this will be very useful for people adding a lot of large PDFs. (Its downside is that it will not work correctly for several non-Western languages like Chinese). As a bonus feature, the plugin also extracts new annotations from PDFs if you have the indispensable ZotFile installed.

On a personal note, I have written back and forth with Emiliano a couple of times, and he has been incredibly fast in addressing any issues that have come up, so I can recommend installing even early versions of his add-ons.

Mac Only: ZotQuery

As a non-Mac user I’m mainly jealous here, but the new ZotQuery looks too good to not mention it: It is a Zotero workflow for the popular Alfred productivity software that allows quick searches of your Zotero libray and opening of attachments (not unlike Qnotero), and, via the Zotero server API, will even create bibliographies in markdown. (Edit: the above link now points to the developers blog with in-depth documentation).

Zotero Item URIs from Client

While working with Frank Bennett on implementing a Zotero workflow for google docs or Scrivener (almost ready – stay tuned) I wrote two little (tiny, really) tools that I thought I’d share.

The first one allows you to quick copy the URI of an item from your Zotero client. The second one gives you a zotero://select link that opens an item in Zotero.

Zotero Item URI

Say you want to send a friend a link to an item in your public Zotero library or in a group on Right now this is  a cumbersome process: Go online, search for the item, copy the link from the URL bar… With the “Item URI” Translator, you can simply drag and drop a link to the online version of the item. Setting this up takes three steps

  1. Download the file “Item URI.js” from here and place it in the directory “translators” in your Zotero data folder.
  2. Restart Firefox/Zotero
  3. In the Zotero Preferences go to the “Export” and set the Default Output Format to “Item URI” (this will be towards the bottom of the list)quickcopy-itemuris

You can now take advantage of Zotero’s quick copy functionality and drag&drop links from the item in your client right into an email or a blogpost. You can also use the shortcut for “Copy Selected Items –  ctrl+alt+c on Linux/Windows, cmd+shift+c on Mac – to copy the URI to you clipboard. It will look something like this:

Personally I think something like this should be included as a button in Zotero’s interface, but until that’s the case, I hope you find it useful.

Zotero Select

Zotero allows you to directly link to an item in your local database. If you paste a valid URI starting with zotero://select into your URL bar in Firefox, it will open Zotero to that item.  To create such a zotero://select link from an item, download the file “Zotero Select Item.js” from here and then follow steps 1-3 above. A link will look like zotero://select/items/0_USN95MJC and work only with your library.

The main use for such links would be to link to Zotero from other software, e.g. from note-taking applications There are several issues involved with that depending on your operating system and I’m not going to go into the details, but see here for a good overview with many more links and here for a Mac/Applescript specific solution. The version of the Zotero select translator linked to above will only create the link – you can find some more elaborate version – including html wrappers and basic item information – linked to from here.