I’m looking for the best way to handle a realtime call-center–style workflow.
Context:
An external phone system can send a webhook whenever a new incoming call starts.
That webhook creates or updates a record in Supabase (phone number, caller details, call ID, timestamps, etc.).
What I want to achieve:
As soon as an incoming call is received:
the caller’s details should become instantly visible in the UI Bakery app
the UI should automatically focus/select that phone number or call record
the user should be able to start adding notes immediately while the call is ongoing
There are three main approaches to real-time updates in a web app:
Polling (short interval)
The frontend periodically calls an API / database (e.g., every 0.5–2 seconds) to check for changes.
This approach can be configured directly using UI Bakery actions (for example, interval-based data reload + UI updates).
Supabase Realtime (Broadcast or DB changes)
The server or database publishes real-time events into a Supabase channel.
The frontend subscribes to that channel and receives updates instantly via WebSockets.
In UI Bakery, this requires a custom component (React) or custom JavaScript logic embedded in the app.
Own WebSocket connection
You run and manage your own WebSocket (or Socket.IO) server.
The frontend connects directly to it for real-time events.
In UI Bakery, this also requires a custom component or custom JavaScript integration.
Thanks for the detailed explanation. This is a very valid and well-thought-out use case. Today in UI Bakery, we can expose a webhook via Automations, so external systems (Make, Zapier, phone systems) can send HTTP events. However, Automations are backend-only and are not connected to a live UI session in the browser.
Because of that:
A webhook cannot directly trigger UI actions.
It can’t refetch queries, update UI state, or focus/select records on its own.
So even if a webhook receives data, the frontend still needs a way to “notice” the change. This means one of these is still required:
polling via UI Bakery actions
a realtime layer (Supabase Realtime / Broadcast)
a custom WebSocket connection
What you’re describing: webhook → UI actions without any client-side realtime mechanism, would require UI Bakery to maintain its own realtime channel between backend and UI sessions and expose it in a low-code way. We agree this would significantly lower the entry barrier and fits very well with event-driven use cases.
At the moment, this exact capability isn’t available, and this is something we don’t have in our plans to develop.
For now, the recommended options remain polling (simplest), Supabase Realtime, or a custom WebSocket, depending on the level of real-time needed.
This part really captures the core of the solution.
From a low-code perspective, all current options come with clear trade-offs:
custom WebSocket → most complex and least accessible
Supabase Realtime → powerful, but still quite technical for many low-code users
polling → simple, but suboptimal in terms of scalability, cost, and efficiency
This makes it hard for non-technical teams to implement truly event-driven UI behavior in a clean way today.
Would it make sense to create a feature request for a built-in, event-driven webhook → UI update capability, to gauge how many users run into this limitation?
My suspicion is that this is a broader adoption blocker for non-technical teams familiar with Zapier or Make, particularly for low-code use cases like incoming or outgoing calls, CRM updates, or other use cases that require UI Bakery to stay open and react in real time.