# Sync notes from Calibre

> Keep one note per Calibre book, matched to the notes you already have.

## Steps

1. Select **Sync…** on the Library panel's **Library** tab.
2. Read the plan. It shows everything before writing.
3. Confirm.

## How books are matched to notes

A book is matched to a note you already have by its Calibre id, then its ISBN, then its title and author.

- **A note you already have** gets the book's ids written into it. Other fields are filled only where they are empty. Your own sections are left alone.
- **A book with no note** gets a new one, named by your template.
- **Duplicate records in Calibre** for the same book are folded into one note.
- **A book it can't place with certainty** is listed, not guessed.

## Name your notes

On the **Notes** tab, under **Naming**, set **Book note names**. Use `{title}`, `{surname}`, `{author}` and `{year}`. The default is `{title} — {surname}`.

**Skip books tagged** leaves out books with a Calibre tag of your choice, such as manuals and catalogs. The default tag is `not-a-book`.

## Keep notes current

- **Resync now** on the **Library** tab brings notes and covers up to date. So does the command **Resync with Calibre now**.
- **Resync every** sets the minutes between resyncs while Obsidian is open. Zero turns it off, and is the default.

## Undo a sync

Run **Sync: Undo a notes sync**. Fields go back unless you changed them since, and new notes go to the trash. Each resync can be undone the same way.

## See how a run went

Each preview, sync, resync and undo writes a timeline to the plugin's folder (`timelines/`): how long each stage took, slow or failed notes by Calibre id, how long Obsidian took to read the new notes, memory and moments Obsidian stalled. It holds ids, counts and timings, never a title, a note path or note text. Select **Open the last run's report** under **Library** on the Library panel's Library tab to read the newest run as a report. It is saved beside the timeline as `<run>.report.md`, and you can attach both to a bug report.

The **Batch ID** box in the sync preview is optional: what you type there is stamped on every run's timeline until Obsidian restarts, so the runs made for one batch of books can be found together.

## Related

- [Find covers](covers.md)
- [Connect to Calibre](connect-to-calibre.md)
