> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.meetgail.com/platform/workflows/node-reference/files-and-documents/parse-csv/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.meetgail.com/_mcp/server. # Parse CSV > Reads a spreadsheet file into rows your workflow can loop over and act on. 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 | Field | What it's for | Example | | ---------- | ----------------------------------------------------------------------------------- | ----------------------------------------- | | File | The spreadsheet file to read, usually from an upload or an earlier step. | The file uploaded at the start of the run | | Has Header | Whether the first row is column names rather than data. | `Yes` | | Columns | The columns to keep (with a header) or the names to give each column (without one). | `Name`, `Email`, `Phone` | | Filter | A test applied to each row so only the rows you want come through. | Keep only rows where state is `FL` | | Skip Rows | A number of rows to drop from the start. | `1` | | Max Rows | The most rows to return. | `100` | The file usually comes from an earlier step written as an [expression](/platform/workflows/core-concepts/expressions/using-expressions-in-nodes), and the filter is an expression too. ## Outputs | Field | What you get back | | ------------ | --------------------------------------------------------- | | Rows | The parsed rows, each with its columns available by name. | | Column Names | The list of columns in the result. | | Row Count | How 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](/platform/workflows/node-reference/logic-and-flow/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.](/_fern-img/f721094beb83893a27002b3d54bf21b8d1f68934f3dd891f166d666c930611d9.webp) > **Note** > > A very large file can be too big to read in one pass. When that happens, put a > [Slice CSV](/platform/workflows/node-reference/files-and-documents/slice-csv) step in > front to break the file into smaller pieces, then parse one piece at a time > inside a [For Each](/platform/workflows/node-reference/logic-and-flow/for-each) loop. ## Related nodes #### [Slice CSV](/platform/workflows/node-reference/files-and-documents/slice-csv) Break a file too large to read at once into smaller, parseable pieces. #### [Create CSV](/platform/workflows/node-reference/files-and-documents/create-csv) Write a spreadsheet file from a list of records instead of reading one. #### [For Each](/platform/workflows/node-reference/logic-and-flow/for-each) Repeat a set of steps for every row the file produced. #### [Create Text File](/platform/workflows/node-reference/files-and-documents/create-text-file) Build a file from content you supply. > Documentation for Gail, the AI platform for financial services. Learn how to set up GailGPT and Gail Agent to automate customer communications for insurance, banking, and finance.