Skip to main content

Watched Folder Sync

Guide

How to watch a folder and auto-sync research files — desktop setup guide

All Research Organization
What is Watched Folder Sync?

Watched Folder Sync monitors a local folder (e.g. your Zotero storage or Downloads) and automatically triggers actions when files are added or changed — such as renaming, moving to a project folder, or triggering a backup.

This requires filesystem access and cannot run in a browser. The options below are free tools that work on all major platforms.

Option 1 — Hazel (macOS)
macOSPaid
  1. Download and install Hazel from Noodlesoft.
  2. Open Hazel preferences and click + to add a watched folder.
  3. Create a rule: Name matches pattern Rename / Move / Run Script.
  4. Example rule: files matching *.pdf → rename to YYYY-MM-DD-{name}.pdf.
Option 2 — watchman + shell script
macOS / LinuxFree
  1. Install watchman: brew install watchman
  2. Create a trigger:
    watchman watch ~/Downloads
    watchman -- trigger ~/Downloads pdfs '*.pdf' -- ./rename-pdfs.sh
  3. The shell script receives the new filename as an argument and can apply your naming convention.
Option 3 — Python watchdog
All platformsFree
  1. Install watchdog: pip install watchdog
  2. Write a simple watcher script:
    from watchdog.observers import Observer
    from watchdog.events import FileSystemEventHandler
    
    class Handler(FileSystemEventHandler):
        def on_created(self, event):
            print(f"New file: {event.src_path}")
    
    observer = Observer()
    observer.schedule(Handler(), path="~/Downloads", recursive=False)
    observer.start()
Option 4 — PowerShell FileSystemWatcher
WindowsFree
$watcher = New-Object IO.FileSystemWatcher
$watcher.Path = "$env:USERPROFILE\Downloads"
$watcher.Filter = "*.pdf"
Register-ObjectEvent $watcher Created -Action { Write-Host $Event.SourceArgs[1].FullPath }