Webhook–Supabase flow stuck, router not passing bundles

Hi, I’m building a Make scenario that connects a Webflow form (via webhook) to Supabase.

The flow checks if a user already exists and either creates the user or just stores form data.

However, the router doesn’t send data to either route (“did not pass filter”).

Here’s my setup:

- Webhooks (form submission)

- HTTP (GET /auth/v1/admin/users?email=…)

- Router with filters:

  • Already exists: Length(HTTP6 → Data → users) > 0

  • Does not exist: Length(HTTP6 → Data → users) = 0

- HTTP (POST /auth/v1/admin/users)

- HTTP (POST /rest/v1/vault_items)

All requests work individually and return 200, but the router never passes the bundle.

Screenshots attached.

What am I missing? Thanks!

Hey @Ludovic_van_Mierlo ,

This usually appens when the response structure from Supabase’s `/auth/v1/admin/users` endpoint isn’t being parsed the way you think. Here’s how to fix it:

1. Inspect the exact output of the HTTP module.

Open the *Output* tab for the `GET /auth/v1/admin/users` module and expand the JSON to confirm the structure.

Supabase’s admin endpoint typically returns something like:

```json

{ “users”: [ { “id”: “…”, “email”: “…” } ] }

```

But sometimes the array is under a different key or wrapped differently depending on headers or API version.

2. Adjust your filter mapping.

* If the users array is nested as `HTTP6 → Data → users`, then use:

 ✅ \`Length(HTTP6 → Data → users\[\]) > 0\`

* If Make shows the output differently (e.g., `HTTP6 → Data[0] → users`), select that path directly via the mapping panel instead of typing it manually.

3. Test your filter conditions individually.

* Add a temporary *Text Aggregator* or *Set Variable* module after the HTTP call to output `Length(HTTP6 → Data → users)`.

* Run the scenario to see if you get a number (0, 1, etc.).

* Once confirmed, plug that same mapping into your router filters.

4. Optional sanity check:

If Supabase returns an empty array (``), Make might treat that as `null` instead of length `0`.

In that case, use a more robust condition:

```

Exists(HTTP6 → Data → users[1])

```

(This passes only when at least one user exists.)

response from Supabase.