Parse CSV

View as Markdown

The Parse CSV node reads a .csv file and turns it into a list of rows the workflow can work with. Each row becomes a record with named columns, so later steps can read individual values, filter, or loop over every row. It is how a workflow makes sense of a spreadsheet that arrived as a file, whether it was uploaded at the start or produced by an earlier step.

When to use it

  • Someone uploads a contact list or import file and you need to process each row.
  • An earlier step produced a spreadsheet file and you want to read its contents back in.
  • You want to filter or limit a file’s rows before acting on them, such as keeping only Florida contacts.

Inputs

FieldWhat it’s forExample
FileThe spreadsheet file to read, usually from an upload or an earlier step.The file uploaded at the start of the run
Has HeaderWhether the first row is column names rather than data.Yes
ColumnsThe columns to keep (with a header) or the names to give each column (without one).Name, Email, Phone
FilterA test applied to each row so only the rows you want come through.Keep only rows where state is FL
Skip RowsA number of rows to drop from the start.1
Max RowsThe most rows to return.100

The file usually comes from an earlier step written as an expression, and the filter is an expression too.

Outputs

FieldWhat you get back
RowsThe parsed rows, each with its columns available by name.
Column NamesThe list of columns in the result.
Row CountHow many rows came back.

Column names are tidied into a consistent form so you can read them the same way every time, for example a column titled First Name becomes available as first_name.

Example

A workflow starts when an agent uploads a spreadsheet of new prospects. A Parse CSV node reads the file with its header row, keeps only the name, email, and phone columns, and drops any row outside Florida. A For Each step then walks the resulting rows, adding each prospect to the agency’s CRM.

The Parse CSV configuration panel, showing the file source and header setting.

A very large file can be too big to read in one pass. When that happens, put a Slice CSV step in front to break the file into smaller pieces, then parse one piece at a time inside a For Each loop.