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.
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).
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.
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.