Understanding Supabase Realtime Workflows

Hi everyone,

I’m a non-technical builder working with WeWeb and Supabase. Currently I’m a bit confused about how to properly implement Supabase Realtime within WeWeb. I have Realtime enabled on both ends and no RLS policies are currently blocking the traffic.

  1. Do I actually need to “Subscribe” via a Workflow?** I’ve noticed that sometimes I see data changes instantly without even setting up a “Subscribe” workflow. However, this seems very inconsistent.

My confusion - Is there a default sync happening? I want to know if a manual “Subscribe to Channel” workflow is the only way to ensure 100% consistent real-time updates.

  1. Is Fetch Collection on DB Change the right way? Right now, my workflow is: On Realtime Database Change → Fetch Collection. This feels like it’s just doing a full refresh every time a single row changes. Is there a more optimal way to update just the changed row in the WeWeb variable without re-fetching the entire collection? But still it’s inconsistent , sometimes i don’t see instant updates , why is that?

  1. Additionally I tried to implement realtime presence so my admins can work together without overwriting each other, but it’s been a nightmare to get stable.

Appreciate any guidance!

Hey there :waving_hand:,

Yes, you do need a “Subscribe to channel” workflow for reliable realtime in the live app.

What you’re seeing “sometimes” without a Subscribe workflow is usually:

  • The editor preview doing its own refresh (not true realtime in the browser).​
  • Or a normal collection fetch happening right after the change, making it look instant.​

For production, always use:

  1. Enable Realtime on the table in Supabase (Replication / Realtime).​
  2. Enable Realtime on that table in the WeWeb Supabase data source.​
  3. Subscribe to the channel in a page or app workflow (on page load).​
  4. On Realtime Database Change → then do Fetch Collection (or update a variable).​

If updates are still inconsistent:

  • Double-check that the channel name matches exactly in “Subscribe” and “On Realtime Database Change”.​
  • Make sure the user is authenticated (if the channel is private).​
  • Avoid using Realtime on collections in “advanced mode” (joins) — it can behave unpredictably.​

Docs:

1 Like