hey, can anyone tell me how clay tables handle filtering and enrichment functions?If I have a table that has 100 rows but my filters at the top bring it down to 80, will the enrichments (find email, send data to another table, etc.) work on the filtered out data?
Filtered views only enrich the rows you're viewing, so enrichments will only apply to your filtered data (the 80 rows in your example), not the filtered-out rows. You'll only be charged for the rows in your view on which you run an enrichment, so using filtered views effectively helps manage your credit usage. This applies to all enrichment functions including "find email" and "send data to another table" - they will only process the visible filtered rows.
in what order do filters apply? specifically, If I have a 10 different tables forwarding to the one table, then that table has a bunch of filters on it and forwards on to another table, will it bring the information in, filter, then forward the information on? or will the forwarding trigger happen before the tables filters?
The available documentation doesn't specify the exact order of operations between filters and forwarding actions in Clay tables. Filters allow you to display only data that meets specific criteria and you can act on filtered records by selectively running actions based on the filters you've applied. The "Send table data" feature lets you route records between tables in linear direction (A → B → C). Which specific forwarding method are you using - "Send table data" or another action like "Write to Other Table"?
send table data
The documentation doesn't specify the exact order of operations between filters and the "Send table data" action. The "Send table data" feature routes records between tables in a linear direction (A → B → C) and lets you choose which columns to send to the destination table. You can select specific columns when setting up the action, and when you first send a row, it creates a new row in the destination table - subsequent sends update that same row. Are you looking to send only your filtered data to the next table, or do you need all rows regardless of your current filter view?
I want to only send filtered rows
To set up "Send table data" to forward only filtered rows:
1. Apply your filters to the table first to show only the rows you want to send
2. Click Actions
→ Send table data
3. Select your destination table
4. Choose Send row
method
5. Select which columns to send
6. Click Save
The action will only process the visible filtered rows in your current view. When you first send a row, it creates a new row in the destination table, and subsequent sends update that same row.
Are you planning to run this action manually each time, or do you need it to run automatically when new data meets your filter criteria?
Hi Finch, in order to only senda certain type of row, you will have to run this action conditionally. Select the header of any column that you would like to work with. From the menu that pops up, select "Edit Column".
Now, scroll to the bottom of the menu that appears. Under "Run Settings"> "Only Run if" press on "Use AI".
After selecting this, you'll be able to either use an AI prompt in the first box or JavaScript to instruct Clay on how to process the results from a column. An example of what this looks like is shown below:
In this case, I recommend using the first box to specify to Clay what type of condition it should verify before it runs this AI column. For example, you could tell it to only run if a certain column has not got a result. Then, click on "Generate Formula," which will create a JavaScript formula for you and show the results that would be generated if the formula were applied. If you're satisfied with the results, simply click "Output Is Correct, Save Formula." The button is shown below:
Please let me know if this helps!
yeah I ended up creating several filter columns (one for each column that I am filtering things out of) then I made the send data row only work if all of those were true
otherwise my if statement was gonna be huge 😛
That is the correct approach! Glad you were able to solve this issue :)
cheers