Read From CSV
Description
Reads data from a CSV file referenced by a File Reference and returns the contents as a DataTable.
The activity supports configurable delimiters, text encodings, paging, column mapping, type conversion, and optional Liquid-based value transformations.
Common Capabilities
Process Data Support
This activity supports dynamic configuration using variables from the Process Data drawer.
You can bind values from Model Data, Form Data, System Data, Enterprise Variables, and Activity Outputs.
Learn more → Using Process Data
Design-Time Configuration
Display Text
The label for this activity as it appears on the workflow canvas.
File Reference
A FileReference pointing to the CSV file to read.
The file can originate from supported storage providers, email attachments, or outputs from previous workflow activities.
Delimiter
Specifies the character used to separate fields in the CSV file.
Supported values:
- Comma (,)
- Semicolon (;)
- Tab
- Pipe (|)
Encoding
Specifies the text encoding used when reading the file.
Supported values include:
- UTF-8
- UTF-16
- UTF-16BE
- ASCII
- ISO-8859-1
- Windows-1252
Include Column Names
Indicates whether the first row contains column headers.
When enabled, the first row is used as column names and is not included in the returned data.
Read All
Determines whether all rows are read from the file.
When disabled, paging options become available.
Page Number
The 1-based page number to read.
Available only when Read All is disabled.
Page Size
The number of rows to read per page.
Available only when Read All is disabled.
Table Definition
Defines how CSV columns are mapped into the output DataTable.
Each definition includes:
| Property | Description |
|---|---|
| CSV Column | Source column from the CSV file |
| DataTable Column | Destination column name in the DataTable |
| Type | Target data type |
| Transform | Optional Liquid expression |
Supported data types:
- String
- Int32
- Int64
- Decimal
- Double
- Boolean
- DateTime
Computed Columns
Computed columns do not have a source CSV column.
Their values are generated using a Liquid expression evaluated for each row.
During execution, the current row is available through the csvRow object.
Example:
{{ csvRow.FirstName }} {{ csvRow.LastName }}
Detect
Automatically detects columns from a sample CSV file and populates the table definition.
Preview
Displays a preview of the CSV file using the current parsing and mapping configuration.
Clear
Removes all configured column mappings.
Add Column
Adds a new mapped or computed column definition.
Properties
Input
| Property | Type | Description |
|---|---|---|
| File Reference | FileReference | CSV file to read |
| Delimiter | String | Field separator |
| Encoding | String | Text encoding |
| Include Column Names | Boolean | Uses first row as column headers |
| Read All | Boolean | Reads all rows |
| Page Number | Integer | Page to read when paging is enabled |
| Page Size | Integer | Rows per page when paging is enabled |
Output
| Property | Type | Description |
|---|---|---|
| Data Table | DataTable | Rows read from the CSV file |
| Total Rows | Integer | Total number of rows in the CSV file |