n8n Workflows & their Worker Twins

n8n was the original API + automation layer. Most read endpoints have since been migrated into the Worker — the Worker is now canonical and the n8n "Dashboard - X" workflow is a legacy twin / warm backup. But n8n is still the owner of two things the Worker does not do: (1) ETL — the cron jobs that pull external data into BigQuery, and (2) chat surface webhooks — Roam and the HubSpot card receive their webhook in n8n, which then calls the Worker's advisor.

Tenant: fcrmedia.app.n8n.cloud, project "Dashboard" (rp488wjRFwYPewnO). 55 workflows. Verified 2026-05-20. Only touch Dashboard-project workflows.

            ETL (n8n, cron)                    READS (Worker, canonical)
 external ───────────────▶  BigQuery  ◀───────────────  fcr-dashboard-api
 (HubSpot, iovox,            tables                       (legacy n8n twin =
  Teamwork, Ahrefs,                                        warm backup only)
  SERP/GBP, SitePro,
  Yext, GMB/GA/GSC)

 Roam / HubSpot card ──webhook──▶ n8n surface wf ──HTTP──▶ Worker /dashboard-ai-advisor

1. ETL — pull external data INTO BigQuery (n8n owns these)

These have no Worker twin for the write — they ARE the source of the data the Worker reads. Cron-triggered.

Workflow id Writes → Cadence
HubSpot Deal Sync + Dashboard Rk1WCogNesqYeUrr hubspot_deals (+ forecast props) twice daily (~05:45)
HubSpot Deals Back-Catalogue (rolling Nov-25→now) cRPF2BnUdxPD54yv hubspot_deals_backcatalogue_* weekly Sun 03:00
HubSpot Engagements - Daily Delta Tl5JQjQtQCoz03aW hubspot_engagements (via Worker sync endpoint) daily 07:30
HubSpot Engagements - Backfill / Back-Catalogue Backfill aWhlGN8XIBd2Cryt, 0sK6OuQuggH81P5H engagements (one-shot) manual (inactive)
iovox Call Metrics → BigQuery OvMZnve5gANiA8aU call metrics scheduled
iovox Node Links → BigQuery fHolJNpwcseom0Nb tracking-number links scheduled
Teamwork Projects Sync + Dashboard HGWnmltvdhyRlyO0 teamwork_project_*, teamwork_milestones scheduled
Teamwork Ticket Sync + Roam Lookup hquEYfG9XMMTJLYX teamwork_open_tickets scheduled
Ahrefs Sync AKeFRUIjrzOcNnDN ahrefs_seo_cache scheduled
SERP GBP Sync 9YbdeGxV47WdZ4Bs serp_gbp_snapshots scheduled
SitePro MegaDoc CkAXUJQhwdT07aGr sitepro_megadoc_cache, sitepro_listing_map weekly Tue 04:00
Yext Sync / Yext Sync Batch (SayMore universe) VD8AivyNr4C2A17F, u8YMLyCUsPoU3OkB yext_listings_cache per-sub / monthly
Client Reviews NcnHnpy0kZGr2i55 client_reviews_cache scheduled
Map Data → S3 Upload eRvQV3TjkTwGbHpB S3 (area-map data) scheduled
InSites BQ Sync / Client Sync EfUVn5JYXfj1xgzW, nks0tahQMXsFsX4B USG_INSITES_* scheduled
GBP Enrichment - Batch Processor JR8eoO4Cc1CiThyB GBP enrich inactive

2. Legacy read-API twins (Worker handler is canonical; n8n = warm backup)

Each of these was the original endpoint; the Worker route is now the live path. Keep the n8n version as a fallback only.

n8n workflow id Worker twin (canonical)
Dashboard - Ads Stats tof9vPDqFIytphhC copysheet-ads-stats
Dashboard - Ads Spend All Accounts E63zAOuC39IxYVRJ dashboard-ads-spend-all
Dashboard - Ads Spend Reconciliation hkLoNWAZ3gJSA4tG dashboard-reconciliation
Dashboard - Ads Performance Report I331grHIj5s7vM9q ads-performance-report
Dashboard - GBP Stats 26SFdLM07Fd3JvZ3 copysheet-dashboard-gbp
Dashboard - GSC Stats E5hUVol4C6cYz44Z copysheet-gsc-stats
Dashboard - GA4 Stats / Traffic Sources S7CDLeujmTio3osV, dITP3id5UNTapd6V copysheet-ga4-stats / -ga4-traffic-sources
Dashboard - GMC Stats V8sdZGCahwSgGnwh dashboard-gmc-stats
Dashboard - Category Keywords Ab0lws15vXRLcaa6 dashboard-category-keywords
Dashboard - Keyword Gap T3ROBjnI6DzBX5O8 dashboard-keyword-gap
Dashboard - Ahrefs SEO edS6wft1LE90TWsn dashboard-ahrefs-seo
Dashboard - AM Portfolio htt2jdAlfCxg3WiB dashboard-am-portfolio
Dashboard - Solution Portfolio K1VvN6h18OVPWKOS dashboard-solution-portfolio
Dashboard - Built Websites 8s3MwJn5Uru6LYjO dashboard-built-websites
Dashboard - iovox Call Tracking / All Links xiBRoisKyleoKh4r, BKFMndA3nCKZJgUy dashboard-iovox / -iovox-all
Dashboard - Yext Listings f3flkcF80BCSYoZA dashboard-yext-listings
Dashboard - Teamwork Projects udmsWFxcUiQTUvUU dashboard-teamwork-projects
Dashboard-CRM 2iPGwBqW0eehbkYR dashboard-check-account (CRM block)
Dashboard - Superset Data Proxy ccFsG1Yl1QNH2B6C SUPERSET_MASTER reads via dashboard-bq-execute
Dashboard - Listing Detail 827fGPfQWPZ6EgI8 listing lookups

3. InSites async (submit / poll / read)

The Worker now drives most of this, but the InSites callback still runs in n8n.

n8n workflow id Worker twin
DAshboard Insites Run XUFp5P9sr3XIB58Q dashboard-insites-suggest / submit path
Dashboard - InSites Poll 3wnZXQrTmZkVpMqp dashboard-insites-poll
Dashboard - InSites BQ Read / Lookup e0dwrbgvaqKDVEHm, DdlTtRcvTcvR5mTh dashboard-insites-bq-lookup
Dashboard - InSites Enrich Settings lfRbX7920CxNlTFx dashboard-insites-settings
Dashboard - InSites LLM Report CciKolrpwMM5TFbu dashboard-insites-report-summary
AI Advisor - InSites Callback BkM3D9seY6dINUtd (n8n-only: polls InSites → hydrates BQ → posts to Roam)

4. Chat surfaces (webhook in n8n → Worker advisor)

These are not twins — they're the front doors that hand off to the Worker's dashboard-ai-advisor. Keep them in n8n.

n8n workflow id Role
Dashboard - AI Advisor v3 (Claude + Roam) YUOlTd445qUQScb8 Roam advisor: webhook → build prompt → Worker → chunked Roam post
Dashboard - AI Advisor v2 uHrifKwc4zXKSTkO older advisor surface
HubSpot Card Chat 8gVpD90Ok9xi8vzl card: /start → Worker sync advisor → /complete
Dashboard - AI Insights zvphWyhG1kwlfgTE inline insights
Dashboard - Category Chat 6FQiwsbyZj6tzYRw category Q&A
Dashboard - Roam Link q8Qo5xbQC3KJr7nF Roam link/auth helper

5. Manual / utility

Workflow id Note
Dashboard - Vector Reindex (Manual) gwg0ZtoHjlRlQNf1 loops dashboard-vector-reindex in batches; inactive, run on demand after SitePro/MegaDoc updates

Working with these (gotchas)

  • Tenant: always fcrmedia.app.n8n.cloud — never the legacy dcathal.app.n8n.cloud (defaults InSites to LRC, silently mis-routes).
  • Scope: only edit Dashboard-project workflows via the MCP.
  • MCP toggle resets: every update_workflow flips availableInMCP off — batch edits into one atomic update, not iterative calls.
  • Version swap: publish_workflow only affects future triggers; in-flight executions finish on the old version.
  • Direction of travel: the long-term plan is to keep migrating read-paths into the Worker; n8n's durable role is ETL + chat-surface webhooks.

FCR Dashboard documentation · generated from docs/ · keep counts verified, not guessed.