Filter array keeps the elements that satisfy its condition. It does not rename their fields. Select builds a new object for each element using the map you define. It changes the shape without reducing the row count. Use them together when a downstream connector needs only selected fields from a subset of records.
Both actions need an array input. A connector response often wraps that array inside a body and a value property. Passing the whole response object produces a type error. The exercises include duplicate rows and empty matches, because filtering doesn't deduplicate and Select doesn't invent a row when there are none. Name the output fields deliberately, then refer to those new names in later actions. Run history lets you compare the original rows with the filtered and projected bodies.