ScanSnap Automatic Renaming
ScanSnap Automatic Renaming
Watches one Google Drive folder for scanned PDFs, reads them with OCR and an AI model, and renames and archives them with descriptive filenames.
What this app does
Watches one Google Drive folder for scanned PDFs, reads them with OCR and an AI model, and renames and archives them with descriptive filenames.
Who uses it
This is a personal tool operated by Hidenobu Nagai. The only person who uses it is its owner. It is not a commercial product and it is not offered to the general public.
Platform
Google Apps Script (time-driven trigger)
Google user data and how it is used
Each PDF is OCR'd, and the extracted text plus the PDF are sent to an AI model only to obtain a descriptive filename; the file is then renamed and copied inside the owner's own Drive and the outcome is recorded in the log spreadsheet.
- Names and contents of the scanned PDFs in one configured Drive folder
- Drive file metadata needed to process them (file ID, created and modified dates, parent folder IDs)
- A temporary Google Doc holding the Drive OCR text of each PDF, created and deleted inside a single run
- Rows that the app itself writes to its Google Sheets log (timestamps, file IDs, original and chosen names, document date, issuer, document type, subject, error messages)
- If a notification address is configured, a failure email sent to that address only when a run has errors
Where the data is stored
- The original, renamed and archived PDFs stay in the owner's own Google Drive
- The rename log is a Google Sheets spreadsheet created in the owner's own account
- Configuration, including the AI API key, is kept in Apps Script script properties
- The app has no server and no database of its own
Services that receive data
| Service | What it receives |
|---|---|
| Google Gemini API | The PDF and its OCR text, sent to generate a filename suggestion. |
| Optional OpenAI-compatible endpoint (only if configured) | The same OCR text, sent to generate a filename suggestion when the owner selects that provider instead of Gemini. |
Note
The app runs unattended under the owner's own Google Account and has no user interface.