See llms.txt for all machine-readable content.

Back to Templates

Sync approved Google Sheets menu items with OrbitPage native menus

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 native menu in OrbitPage. The expected currency must match it; the workflow does not change global menu settings or add a navigation block.
  6. To review real changes, choose EMAIL_APPROVAL, connect SMTP and set one authorized FROM_EMAIL and APPROVAL_EMAIL. The default approval timeout is forty-eight hours.
  7. PUBLISH_AFTER_APPROVAL defaults to false: approval saves a private draft. Publish or reconcile that draft separately before another sync. Set it true only when automatic publication of explicitly reviewed changes is intended.
  8. Keep this draft unpublished during design and validation. Publishing the workflow and submitting any public template are separate owner decisions.

Requirements

  • 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.
  • 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.
  • 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.
  • 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.
  • Before real writes, enable, configure and publish the native menu in OrbitPage. The expected currency must match it; the workflow does not change global menu settings or add a navigation block.
  • To review real changes, choose EMAIL_APPROVAL, connect SMTP and set one authorized FROM_EMAIL and APPROVAL_EMAIL. The default approval timeout is forty-eight hours.
  • PUBLISH_AFTER_APPROVAL defaults to false: approval saves a private draft. Publish or reconcile that draft separately before another sync. Set it true only when automatic publication of explicitly reviewed changes is intended.
  • Keep this draft unpublished during design and validation. Publishing the workflow and submitting any public template are separate owner decisions.

Customization

  • SAMPLE is isolated; PREVIEW creates or reuses only the n8n registry table and reads providers, without menu writes or approval emails.
  • Enable ALLOW_DELETIONS only for intentional reviewed removals. Never reset the registry to resolve a single error or rename stable IDs to reorder items.
  • Preserve the registry after successful runs. Pending or uncertain records require manual reconciliation; do not run overlapping manual checks against a scheduled instance.
  • Change schedule frequency and APPROVAL_TIMEOUT_HOURS as needed. Keep exact revision checks, source rechecks and read-back verification enabled.
  • See DESIGN.md for the schema, ownership rules, limits and validation boundaries. No AI or paid model API is required; ordinary hosting, Sheets, SMTP and OrbitPage quotas still apply.