AI Automation & Data Sync

BAUMUCK-Sync-Pipeline (2025)

Digitalwert GmbH
N8NDirectusSupabasepgvectorEdge FunctionsGoogle Drive API

Workflow visualisation

Webhook webhook
set sync status to'running' httpRequest
Truncate all contentsin supabase executeWorkflow
Call 'Sync "Haustypen"(house-types)' executeWorkflow
Call 'Sync"Handwerker"(craftsman)' executeWorkflow
Call 'Sync "Gewerke"(crafts)' executeWorkflow
Call 'Sync"Grundstückstypen"(construction_types)'1 executeWorkflow
Call 'Sync"Bauangebote"(construction_offers)' executeWorkflow
Call 'Sync"Grundstücksangebote"(property_advertisement)'1 executeWorkflow
Call 'Sync "Baufirmen"(construction_company)' executeWorkflow
wait till all sync aredone merge
Trigger vectorize-dataedge function insupabase httpRequest
true false
If if
Respond to Webhook respondToWebhook
Call Sync DocumentsGoogle Drive executeWorkflow
Set sync status tosuccess httpRequest
Schedule Trigger scheduleTrigger
BAUMUCK · Directus → Supabase Sync

What the pipeline does

The Meinhausbau platform aggregates house types, tradespeople, trades, plot and construction offers as well as construction companies. For a RAG chat to answer reliably on any of these records, the content has to be transferred regularly from Directus (headless CMS) to Supabase (Postgres + pgvector) and re-embedded.

Workflow architecture

The workflow runs either from a webhook fired by the admin UI or on a schedule trigger. First the sync status in Supabase is set to running, then all target tables are cleared and refilled in parallel through several Execute Workflow calls, one per entity (house types, tradespeople, trades, plot types, construction offers, plot offers, construction companies).

Vectorisation & documents

Once all sync sub-workflows have finished (awaited via a Merge node), a Supabase Edge Function is called that vectorises the fresh data. In parallel, another sub-workflow syncs documents from Google Drive into the vector store.

Observability & error handling

At the end, an If node checks whether vectorisation succeeded, sets the sync status to success and responds to the original webhook caller. That keeps the sync transparently controllable and auditable from the admin UI.

The pipeline is the backend behind BAUMUCK, the RAG chatbot on meinhausbau.de.