Formula based on whether the row is visible or hidden / filtered out like SUBTOTAL(103, field('whatever'))

Are you using our SaaS platform (Baserow.io) or self-hosting Baserow?

Self-hosted

If you are self-hosting, what version of Baserow are you running?

1.32.5

If you are self-hosting, which installation method do you use to run Baserow?

Cloudron App Version 1.29.4

What are the exact steps to reproduce this issue?

In Google Sheets, I use this formula in a helper column:
=IF(SUBTOTAL(103, A3), 1, 0)

The SUBTOTAL(103) function returns true if a row is visible. Another formula then fetches only the rows with a value of “1” in the helper column into a MailMerge sheet. This setup updates automatically when I apply different filters in my main contacts sheet.

We now manage all our contacts in Baserow, and I’m looking to implement a similar workflow.

Ideally, when I filter the Baserow table to select specific contacts for messaging, a helper column would allow only those filtered rows to sync to Google Sheets via n8n.

I can achieve this by manually marking the visible rows, but this approach is fairly cumbersome.

I’d really appreciate a more streamlined, automated solution.

Is there a way to make this happen?

Heyy @Mary-Lou
If I understand correctly, you’re looking for a formula to check if the field is empty or not?

If so, then:

isblank(field('whatever'))

I offer consulting on Baserow if you’re interested.

No, sorry, if I was unclear.
I want to check whether the row is visible (or hidden by filters).
If visible, the value should be true or yes or whatever I set.
If hidden by filters, it should be something else.
And, obviously, the value should update according to my filters.

As far as I know a formula wouldn’t work for this.

But you could create a special view for this in which you set the filters in this view. Then use the API with GET to list rows using view_id parameter.

Yes, but the filters will be adapted all the time. I need a solution that updates automatically.
It is very easy to achieve in Google Sheets or Excel, but seems impossible in BaseRow unfortunately.

Could you make a screenrecording with some dummy data perhaps to illustrate?

I mentioned using the view_id parameter, but you can also filter records directly with the API GET if your filters change.