- Automates metadata lookup (Google Books, Open Library, optional OpenAI) and EPUB conversion.
- Normalizes author/series/book folders for Audiobookshelf.
- Handles both folder and single-file drop scenarios.
Flows that prep book folders/files (ebooks and audiobooks) for Audiobookshelf: clean up, enrich metadata, convert ebooks to EPUB, and place audio/ebook assets into your library structure.
- Intake + workspace prep: if the drop is a single folder inside another, pull the inner folder out and rerun it
; if it's only zip/rar junk, log it, mark it for deletion
, and stop. - Derive title/author hints from folder/file names, then fetch/enrich metadata (Google Books, Open Library, optional OpenAI).
- Build author/series folders and convert ebooks to EPUB where needed.
- Move/rename into the Audiobookshelf layout and tidy the workspace.
📒 Books by directory.json(folder-triggered): takes a folder drop, prepares the workspace, enriches metadata, and shelves it in your Audiobookshelf layout.📒 Books by file.json(file-triggered): takes a single book file, fetches/enriches metadata, converts to EPUB if needed, and shelves it in your Audiobookshelf layout.
Subflow prep book workspace, Subflow set book from folder, Subflow fetch Google book info, Subflow find book series from Google info, Subflow set book from search, Subflow query OpenAI for book info.
- Plugins Book and Web installed/enabled (Settings > Extensions > Plugins); provides nodes like
FileFlows.Book.EBookConverterand Web Request. - Variables (Settings > Extensions > Variables):
audiobookshelfApiTokenaudiobookshelfApiUrl(e.g.,https://bookshelf.my.app/audiobookshelf/api/)AudiobookshelfLibraryPath(e.g.,/media/youruser/library/Books/Books/with trailing slash)
- OpenAI (optional): get a key at https://platform.openai.com/api-keys and set
openAISecretKey(leave blank to skip OpenAI; flow still runs). Example key format:eyJh....w8j-tM. - Resources: upload
resources/Recycle.pngasRecycleandresources/trash.pngasTrashvia Settings > System > Resources > Add +.
Import in this order to satisfy subflow dependencies:
Subflow query OpenAI for book infoSubflow fetch Google book infoSubflow set book from search(depends on the OpenAI subflow)Subflow set book from folderSubflow prep book workspaceSubflow find book series from Google info📒 Books by file.json📒 Books by directory.json
- Library: Watch for Book Directories
- Library: Watch for Book Files



