Using Scrivener with Zotero: adding sources to "Research" and keeping synced with Zotero (and other S/Z workflow tips)

I’m a Scrivener and Zotero newbie. I am using Zotero to gather and keep track of sources I find on the internet using Zotero´s browser plugin. Is there a way to add these to Scrivener’s “Research” folder as well? How does one manage research material in Scrivener and keep that synced with Zotero?

In general I’d welcome any Scrivener/Zotero workflow tips. With Scrivener 3 is there any easier way to manage citations between Scrivener and Zotero than the method used by Catherine Pope in this video ( )?

Thanks for any insights!

What do you want to do? Add the PDFs of articles? Add the citations?

Unfortunately neither Scrivener nor Zotero offer any real automation capability, which makes syncing a challenge.

I think of Scrivener as a tool for developing documents, not note taking – the binder format is really oriented towards an (ultimately) linear structure. I find Ulysses much more capable for more open-ended / reference / research material… And with automatable tools like Ulysses and BibDesk in tandem, you can sync keywords and smart groups (which don’t exist in Scrivener at all).

On the other hand, for writing a paper or developing a syllabus, Scrivener shines. My new syllabi begin with a script in BibDesk that creates a single rtf with the citation of every reading I might assign in a course. I drag these into Scrivener, and then plan the course out in the cork board.

Thanks. I suppose what I was thinking is that Scrivener would both help me organize the actual written content, as well as organize the research materials whichI would use to write that content – and ideally allow me to structure the research materials in an organized and hierarchal fashion that follows the structure of the document I’m creating. I would use Zotero to keep track of citations for the research materials. My original question was that if I import documents/web pages into Zotero I wasn’t sure the best way to get those research materials into Scrivener so that I could use them as I worked on the document.

My ideal is to use Skim as well to highlight relevant sections of the PDFs/documents I’m using , and to have those individual sections available in Scrivener and/or Zotero. I’ve been trying to get Zotero to extract Skim annotations using Zotfile but I can’t get it to work.

To phrase it all another way, I’m imagining my PDFs like physical documents, my highlights of those PDFs like little sticky notes, and Scrivener like, well, a corkboard where I can lay out the sticky notes in order and follow through them as I write my document. And Zotero – I’m not sure what the metaphor would be – but Zotero would be to allow me to get the correctly formatted citations into the document. As I said, I’m a newbie, but that’s kind of the direction I was thinking of. Any suggestions welcome.


I want to underline that Scrivener is a powerful app also for research. It can store directly all sorts of file formats from varied sources of information, indexes instantaneously the stored information, uses a most dynamic search feature that helps to classify and aggregate the information, can serve as notetaking application. Stapple, its companion app, can be used to provide a first design of the information and give a helicopter view of the structure of the project.
With excuses for the length of this post, I hope these ideas can help in some way.


1. Where to import
I import all sort of research materials (doc, odf, webpage, pdf, txt, etc., etc., even films and voice recordings -including my own voice notes) into the research folder (or into a sub-folFer of it, or into a new root folder (and eventually sub-root folders). This folder will become in fact a (portable) database of my research sources.
2. Devices to use
You can import the materials into your project using all sort of devices: pc, laptop, tablet (ipad), smart phoen (iphone). Online imports with portable devices are synchronize via Dropbox; thus, automatically, if you will.
3. Source of the research materials
The source of those materials can be other files in my laptop, in Dropbox, web (amazon book pages, google books, etc.), etc.
4. Auxiliary Applications to collect the information
To collect (import) the mentioned information, I use almost exclusively Scrivener and the applications that are already embeded in Apple OSX and iOS, and in the web engines. Share, export, print, open or save files in specific formats (docx, odt, jpg, etc.) are now possible without needing to make use of -for instance- Evernote (an application and intermediate step that -having Scrivener and all the embedded applications- I finally came to experience as superflous and cumbersome).
To write my notes I use what is at hand as embedded application in OSX, iOS, Android, etc., no matter what kind of notetaking app: Scrivener can suck and eat almost every kind of file format (and if I do not want to open Scrivener for the document to be imported, I simply store it in a dedicated folder in Dropbox, to later be imported into Scrivener).
The only external application I use for research is DevonThink (an excellent file management app which combines very well with Scrivener). DevonThink can index all or part of the files of the disk, and can aggregate them into dynamic groups resulting from search, without touching the original files. But it is not really an indispensable application, especially if using Scrivener. I use it simply because prior to my using of Scrivener, I had collected mountains of information corresponding to the most disparate sort of subjects, a lot without any relation to the research project. It would we crazy to import all those files into the project, and DevonThink serves thus as a sort of first filter of that accumulated information.

The selection and aggregation of collected information material depend on the phase (advance) of the research.

1. Search and Storage of the Information Material
Initially I have only a vague idea of the content of the research. I collect the material thus according to a very general, pre-conceived classification. I import the information into the research or other folder (created as mentioned above).
I assign the imported documents some (also, in general, preconceived) tags, on the basis of a first inspection/reading of the collected information. This can be done in Scrivener using, for instance, keywords and custom metadata. In this first phase I do not try yet to classify the information into groups, even if I immiddels have already developed a richer, more definite structure of my research (to be reflected in the binder); tags are at this moment not (or rather, should not be) a real criteria of aggregation.
A very important element to be used when storing information is the index card of each document, a digital card. where you can quickly store the general write down a short synopsis of the document, and some other data, as i.e. keywords (keywords you better create in metadata, but this is maybe a bit slower than filling the information in the index card).

2. The aggregation of the Information Material
2.1. I make the first aggregation of the information into different groups using the really powerful search function of Scrivener (further than a mere -but very fast- search functionality, it also contains other functionalities that make it a powerful research tool).
2.2. The search term can be any word of a document, tag, etc. The result of the searches produces groups of document that you can store as static of dynamic collections; the static collections do not change their content when importing new information files.
2.3. The DYNAMIC COLLLECTIONS, on the contrary, update automatically the content of the group when new imported files or files in (if you so determine) any other folder of the same project. They can be created, and updated automatically, throughout the whole live of the project, while keeping the original documents in the folder where they were originally stored; but you can also edited the documents in the collection, and the changes will be reflected in the original file and viceversa.
Dynamic collections, I find, is the most powerful instrument to begin the structuration of the information and, to a large degree thus, is the main auxiliary tool to determine the first structure of the final draft (obviously, it can also help to redefine the structure of the draft in ulterior phases of the research). Successive aggregations begin to give an idea of the extension of the subject of research, etc., providing the elements for a first structure of the research (to be improved in the course of the research). From seed to embryo, to root; and all of these transformations are carried out within and with the tools of Scrivener!


  1. I use Zotero as bibliographic tools. But apart from the difficulties of handling it from within Scrivener, I found that when incorporating a great number of files, it was taking too much of my time to insert the required information into its different fields.
  2. For the time being (until, I hope, a tool is developed to sync between Zotero and Scrivener), I simply make a short reference to the source document in the footnotes of the project; later in the product of compiling (Word LibreOffice Writer, etc.) I will convert those short references into Zotero references (in many or most cases, I will only then produce the records in Zotero that correspond to my references in Scrivener. It is a slow process, but I prefer to resort to it because I cannot be sure whether some errors have been introduced when resorting to the RTF scan method, especially with a high number of footnotes. I have seen some errors happen in my texts, and read about something similar in several blogs.

It is not necessary to go further than wha I have outlined above. The aim of this text has been, as mentioned, to show how from the very initial steps of a research, Scrivener can serve as a most powerful instrument of research.

Since you’re using Skim you can easily extract your notes - here is one of many sample scripts out there (not the one I use but mine is too messy to try to explain…)

With a little bit of work you could get that to export each note to a separate file for import to Scrivener, if that’s the approach you want.

Also here’s the script I use with BibDesk to generate a single RTF per reference for import to Scrivener:

[code]set theFolder to POSIX path of (choose folder with prompt “Choose target folder for new documents:”)

tell application “BibDesk”
set thePubs to selection of document 1
repeat with thePub in thePubs
set filename to (theFolder as string) & (cite key of thePub as string) & “.rtf”
export document 1 using template “AAA Export Template” to filename for thePub --insert your template name here
end repeat
end tell


  1. Install Scrivener and Zotereo. Scrivener is available as a desktop application for MacOS, iOS, and Windows.

  2. Install the RTF/ODF-Scan for Zotero. It reads citation markers that you insert into any document saved as .odt format and then converts those into active Zotero citations. To install this in the Standalone version of Zotero:

  • Once you’ve downloaded the file, go to Tools –> Add-ons. Click on the little gear icon in the upper right, and select Install Add-on From File.
  • Browse to the downloaded rtf-odf-scan-for-zotero.xpi file, select it, and you’re in business. (If you do not see Scannable Cite in the dropdown, follow these instructions.)
  • Now, in Zotero when you fire up the “RTF scan” process it’ll work on .odt files as well.
  1. Set Zotero’s default output format to Scannable Cite. Under Zotero–>Preferences, find the Export tab. Under the “Default Output Format” setting, choose “Scannable Cite”. zotero-preferences-export
  2. Insert placeholder citations into Scrivener from Zotero (e.g., by setting your default export format to Scannable Cite and dragging from Zotero
  3. When you are done writing, export from Scrivener as “ODT”.
  4. In Zotero, click Tools → RTF Scan → ODF Scan and select your document to have Zotero convert the placeholders to live Zotero citations.
  5. Open the document in LibreOffice (free, open source Word) to finish formatting.
  6. Zotero ODF Scan Help