n8n Workflows & 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). 64 workflows in the Dashboard project (96 tenant-wide across the Dashboard, USG, Dyn-Hub, Creator, Post Studio and Discovery initiatives). Verified 2026-06-09. 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-advisor1. ETL — pull external data INTO BigQuery (n8n owns these)
Section titled “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)
Section titled “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)
Section titled “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)
Section titled “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
Section titled “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)
Section titled “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_workflowflipsavailableInMCPoff — batch edits into one atomic update, not iterative calls. - Version swap:
publish_workflowonly 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.