Two list steps read a list: Find rows, which brings back every row that matches, and Find one row, which brings back one. Use them to check whether something has been handled already, to look up a value, or to go through a set of rows one by one.
Who can do this
Workspace Admins and Editors build workflows. Reading a list in a workflow works on every plan, and keeps working when the company's lists are full.
Before you start
The list must exist in this workspace. See Create a list.
Steps
Open the workflow in the designer.
Select + where the step should go (Add a step). In Search steps, type Find, and choose:
- Find rows — Reads. Every matching row goes on as its own item, or
- Find one row — Reads. One item out, whatever happens.
The step's settings open. In List, choose the list.
Under Show rows where, select + Add condition and set it:
- choose the column;
- choose the comparison — is, is not, contains, greater than, before and so on, depending on the column's type;
- type the value, or type {{ to use a value from an earlier step, such as the invoice number the trigger brought in.
Add more conditions to narrow it further; a row must match all of them (AND). With no conditions, every row matches.
Choose the order:
- for Find rows, under Sort by;
- for Find one row, under If more than one matches, take the first by.
Choose a column, then A to Z or Z to A (text), smallest first or largest first (numbers), oldest first or newest first (dates) — or leave it on the order rows were added.
For Find rows, set Most rows to bring back. It starts at 100; 500 is the most. The step stops there.
For Find one row, choose under If nothing is found:
- Carry on with nothing — The next steps get an empty item. Check it with a condition., or
- Stop the run — The run fails here and says which row it looked for.
Select Run this step at the foot of the settings, or Test run at the top of the designer, and open the step's Output tab to see what it found.
What happens next
- The step gives each row's values under its column names. A later step reads them as
{{ steps.find_customer.email }}— the email column of the row the Find customer step found. - Find rows: each row found goes on as its own item, so the steps after it run once per row. If nothing matches, nothing goes on, and the steps after it do not run.
- Find one row: one item goes on, always. It has
foundset to true with the row's values, orfoundset to false and nothing else — check it with a condition. With Stop the run, the run fails with Nothing in Customers matched email is rohan@consulace.com. - In the run, the step shows how many rows it found, what it looked for and the first four rows. See See what a list step did in a run.
Good to know
- A list step picks a list by its id and columns by their own id, so renaming the list or a column does not break it. An expression that spells a column out, like
{{ steps.find_customer.email }}, does need editing after a column rename. - is on a Text column is exact, capitals included. contains ignores capitals.
- is not includes rows with nothing in that column.
- Dates in a step's conditions are read in UTC unless they carry their own offset;
{{ $now }}and ISO dates do. - Reading never counts against the row limit, and keeps working when writes have stopped.
- A list belongs to its workspace. A workflow can only use lists in its own workspace.
If something goes wrong
| What you see | Why | What to do |
|---|---|---|
| No list is chosen for this step. | List is empty. | Choose the list. |
| The list is gone in the step's settings; the run fails with The list is gone — Customers is not in this workspace. It was deleted, or this workflow came from somewhere else. | The list was deleted, or the workflow was imported from a workspace whose list does not exist here. | Choose another list, or create one with that name. |
| A column it uses is gone — This step names a column Customers no longer has. Its value is kept so nothing is lost if the column comes back. | A column the step uses was deleted. | Select Show me the columns, then change the condition or sort to another column. |
| Nothing in Customers matched email is rohan@consulace.com. | If nothing is found is set to Stop the run, and no row matched. | Expected when the row is missing. Choose Carry on with nothing if the run should go on. |
| The condition on amount needs a value. | A condition has no value — often an expression that came out empty. | Check the earlier step gives that value. |
| The condition on amount: amount takes a number. | The value given cannot be compared with that column's type. | Give a value of the right type. |
| There are no lists in this workspace yet. under List | No list exists yet. | Select Make one in Lists. |