Skip to main content

List Find

Runs on: Shared — pure logic, runs on the Community backend or inside a chatbox overlay.

The List Find node searches a list for the first item that matches a condition against the given value. It gives you the matched item, its position in the list, and a routing output so you can branch your flow depending on whether anything was found.

For lists of plain strings, numbers or booleans, the condition compares the value directly. For lists of custom or built-in objects, pick a Field to compare that field on each object instead of the whole object — or wire the field input to choose it at runtime. This makes it easy to look up a viewer by username, find a leaderboard entry by name, or locate a quote by its ID.

The Condition select offers different operations depending on what's being compared: Equals / Not Equals always, plus Is Greater Than / Is At Least / Is Less Than / Is At Most for numbers, or Contains / Does Not Contain / Starts With / Ends With for text.

Four outputs are always available: item carries the found object (or null when nothing matched), index carries its position (-1 when nothing matched), and pass / fail route the flow depending on the result.

Inputs​

NameTypeDescription
listlistThe list to search.
valueanyThe value to compare against. When Field is set, this is compared to that field on each object.
fieldstringOptional. Wire this to choose the field to compare at runtime instead of picking it in the node.

Outputs​

NameTypeDescription
itemanyThe first matching item, or null if no match was found.
passanyThe matching item, forwarded only when a match was found.
failanynull, forwarded only when no match was found.
indexnumberThe matched item's position (0-based), or -1 if nothing matched.

Configuration​

  • Condition: the comparison to run. Defaults to Equals.
  • Case Sensitive: shown for text comparisons. Off by default on new nodes. Existing nodes keep strict (case-sensitive) matching until you flip it.
  • Field: for lists of custom or built-in objects, pick which field to compare. Leave it as "Whole Item" to compare entire objects (only Equals / Not Equals make sense there).

Example​

You have a leaderboard stored as a list of objects, each with a username and score field. When a viewer redeems a channel point reward, use List Find with Field set to username, Condition set to Equals, and the viewer's name as the value. If they are already on the board (pass), update their score. If they are not (fail), add them as a new entry with List Add Item. Wire index into List Sort + List Find together to answer "what rank is this viewer" (index + 1).