This Val automatically enriches your existing "val Book Lookup" database by fetching comprehensive metadata from Google Books API.
You already have the perfect setup! Your "val Book Lookup" database contains:
- Title ✓
- Author ✓
- ISBN ✓
- Year Published ✓
- Page Count ✓
- Publisher ✓
The Val will:
- Find records with Title + Author but missing other data
- Search Google Books API for metadata
- Fill in the empty fields automatically
- Add books to "val Book Lookup" → Enter Title + Author
- Press the button (visit your Val URL) → It fills in all available metadata
- Link to your main Books database via Relations/Rollups
Your script pulls comprehensive data from Google Books API:
Core Fields (currently in your table):
- ✅ ISBN - Prefers ISBN-13, falls back to ISBN-10
- ✅ Year Published - Extracted from publication date
- ✅ Page Count - Direct from Google Books
- ✅ Publisher - Direct from Google Books
- ✅ Description - Available (add column to see it)
Rich Metadata Available (add these columns to capture):
- Subtitle (Rich text) - Book subtitle
- Categories (Multi-select) - Genre/subject categories
- Average Rating (Number) - Google Books rating
- Ratings Count (Number) - Number of ratings
- Language (Rich text) - Book language
- Published Date (Rich text) - Full publication date
- Preview Link (URL) - Google Books preview
- Info Link (URL) - Google Books info page
- Image Links (Rich text) - Book cover images (JSON)
Your system is already configured! Just make sure:
NOTION_API_TOKENpoints to your integrationNOTION_DATABASE_IDpoints to your "val Book Lookup" database
Visit: https://your-val-url.web.val.run/
Visit: https://your-val-url.web.val.run/status
The cron job runs on schedule and emails you updates.
To connect your "val Book Lookup" to your main reading database:
-
Add Relation Property to your main Books database:
- Name: "Book Info"
- Type: Relation
- Related database: "val Book Lookup"
-
Add Rollup Properties to show metadata:
- ISBN: Rollup → Book Info → ISBN
- Year: Rollup → Book Info → Year Published
- Pages: Rollup → Book Info → Page Count
- Publisher: Rollup → Book Info → Publisher
Now when you add a book to your main database, just link it to the corresponding record in "val Book Lookup"!
GET /- Process all incomplete recordsGET /status- Check configurationGET /process/:recordId- Process specific recordGET /health- Health check
/backend/index.ts- Main HTTP handler/backend/notion.ts- Notion API integration/backend/books.ts- Google Books API with comprehensive metadata/backend/processor.ts- Processing logic/cron-processor.ts- Scheduled processing
✅ Works with your existing setup
✅ Rich Google Books metadata
✅ Smart matching algorithm
✅ Only fills empty fields
✅ Links to your reading database
✅ Expandable with more metadata columns