Base: Book Library Rooz
Base ID: appYfAdfayFp1NQmd
Tables: 2
This document is the human-readable reference for all Airtable tables and fields. Keep it in sync with the actual base whenever fields are added or changed.
| # | Table | Purpose |
|---|---|---|
| 1 | Books | One record per book — ISBN input, metadata output |
| 2 | Sync | Sync trigger table (button automation) |
One record per book. The script reads records from the "Books Update" view, enriches them via Google Books / Open Library, and writes all fields back in a single PATCH.
| Field | Type | Written by | Notes |
|---|---|---|---|
| Title | singleLineText | script | Primary field |
| ISBN | singleLineText | user | Input — never overwritten by script |
| Author | multipleSelects | script | All authors from API |
| Description | richText | script | Plain text from API |
| Publisher | multipleSelects | script | |
| Published Date | date | script | Normalised to YYYY-MM-DD |
| Page Count | number | script | |
| Rating | rating (1–5) | script | Math.round(averageRating), clamped 1–5 |
| Maturity | checkbox | script | true if API returns "MATURE" |
| Covers | multipleAttachments | script | Thumbnail URL from API |
| Created | createdTime | Airtable | Auto — never write to this |
| Status | singleSelect | script | Set to "Synced" after successful update |
| Value | Meaning |
|---|---|
| (empty) | Newly added, not yet synced |
Synced |
Metadata fetched and written successfully |
The script only processes records visible in this view. Configure it in Airtable to filter for records where Status is empty (or any value you want to re-sync).
Trigger table for manual sync runs. Contains a button field that can invoke an automation or webhook. Not touched by the script.
| Field | Type | Notes |
|---|---|---|
| Sync Type | singleLineText | Primary field |
| Buttons | button | Airtable automation trigger |
Last updated: 2026-04-11