Data Sync & ETL
Sync approved Google Sheets menu items with OrbitPage native menus
When you run it, it moves and syncs data using Data Table, SMTP Email, Google Sheets, Orbit Page.
What it does
# Sync Google Sheets Menus and Price Lists to OrbitPage ## Quick overview Keep one native OrbitPage menu section in sync with approved Google Sheets rows. Preview additions, edits and explicit deletions, then review the exact diff by email before saving a private draft or publishing. This prototype is unpublished and starts in SAMPLE mode, without external calls. ## How it works 1. Manual and thirty-minute checks share one configuration; the schedule remains disabled while the workflow is unpublished. 2. SAMPLE runs isolated fictional scenarios. PREVIEW reads a real source and computes differences without changing the menu or emailing a reviewer. 3. Real runs read unformatted sheet values, the current native menu, publication revision and a dedicated n8n Data Table ownership registry. 4. Approved rows update one managed section. Existing page blocks, other menu sections, unmanaged items and item fields outside the sheet mapping are preserved. 5. Missing and unapproved rows keep their previous items. Deletion requires an approved DELETE row and ALLOW_DELETIONS enabled. 6. EMAIL_APPROVAL records a pending claim and emails a before/after diff. Decline or expiry releases that claim without changing the page. 7. Approval re-reads the sheet, menu, publication and claim. A changed source, revision, ownership record or manually edited managed field blocks the write. 8. The reviewed menu is written with an exact revision precondition. Read-back checks confirm content and private/public revision before recording success; uncertain outcomes stay held for reconciliation. ## Setup 1. Import OrbitPage_Sheets_Sync.json into n8n 2.x and run Manual check with MODE set to SAMPLE; no credentials are required for the sample branch. 2. Install n8n-nodes-orbitpage 0.3.2 or newer. For real reads, select Google Sheets and OrbitPage credentials; select the same OrbitPage credential on all OrbitPage nodes. 3. Import sample-items.csv into a sheet named Items. Keep the eight headers and stable lowercase IDs; use TRUE/FALSE for approved and available, and numeric prices without currency symbols. 4. In Configuration, set SPREADSHEET_ID, SHEET_NAME, SYNC_KEY, SECTION_NAME, EXPECTED_CURRENCY and a dedicated REGISTRY_TABLE_NAME. Run PREVIEW and inspect the result. With a Service Account, share the source sheet with that account first. 5. Before real writes, enable, configure and publish the
The steps
- Manual check
- Check every 30 minutes
- Configuration
- Validate configuration
- Sample mode
- Run isolated sample suite
- Create or reuse registry
- Read source rows
- Read current menu
- Read current publication
- Read ownership registry
- Plan changes
- Has menu changes
- Preview only
34 steps in total.
Similar automations
Email AutomationPublish new YouTube videos to OrbitPage with optional email approval41 stepsEmail AutomationGuard OrbitPage releases with Gmail approvals and rollback controls31 stepsAI Agents & AssistantsEdit and publish OrbitPage site content with OpenAI chat approval18 stepsData Sync & ETLMove Community Metrics from Google Sheets to Orbit6 steps