Column data types
While creating a sheet, you can set each column to any of the data types below. If the incoming CSV data doesn’t match the column data type (and its validation rules), the user sees an error message identifying the problem and how to fix it.Text
This is the default column data type. It accepts any alphanumeric string. Use theMin Length and Max Length parameters to specify the acceptable length of the text data.
UUID
The column must contain a valid UUID.Number
The Number column data type accepts integer and float strings only. Use theMin Value and Max Value parameters to specify the acceptable range of numbers.
Values for Excel setting
When importing data from Excel files, you may run into unexpected issues because of the way Excel internally stores and formats values, especially Numbers. Excel often applies formatting to numeric values that changes how they appear:- A raw value of
0.15could be displayed as15% - A value of
1200might appear as$1,200.00 - A long number like
1234567890123may be auto-converted to scientific notation (1.23E+12)
- Formatted Values: Imports numbers exactly as shown in Excel. Examples:
$1,200.00stays$1,200.0015%stays15%1.23E+12stays in scientific notation
- Original RAW Values: Strips all formatting and imports the core numeric value. Examples:
$1,200.00→120015%→0.151.23E+12→1230000000000
If your users upload files from different regions, turn on Smart Date and Number Formats to handle numbers written with different thousands and decimal separators, such as
1,234.56 and 1.234,56.Percentage
The column must contain a valid percentage value. You can specifyMin and Max values, and use the Output setting to control whether the percentage is stored as a value such as 50% or 50. Percentage values are normalized in the data worker.
Date
The column must be formatted as a date. Select aDate Format from the dropdown list to specify the acceptable format. The default format is MM/DD/YYYY. If your format isn’t in the list, provide a custom format using the formatting tokens below.
For example, the token string
dddd, MMMM Do YYYY, h:mm:ss a requires the date to be in the format Sunday, February 14th 2010, 3:25:50 pm.
If your users upload files from different regions, turn on Smart Date and Number Formats to convert dates into your
Date Format and ask the user when a date such as 04/05/2024 could be read two ways.Time
The column must be formatted as a time. Select aTime Format from the dropdown list to specify the acceptable format. The default format is HH:mm:ss. If your format isn’t in the list, provide a custom format using the formatting tokens below.
IANA timezone
The column must contain a valid IANA timezone. CSVbox validates the timezone and normalizes timezone values during processing.Boolean
The column must be castable as a boolean. Accepted inputs aretrue, false, TRUE, FALSE, 1, 0, yes, no, y, n, on, off, enabled, and disabled.
Display as checkbox
Turn on Display as checkbox to show a checkbox in each cell of the column on the Verify Data step. Instead of validating against the accepted values above, the importer converts every value totrue or false, so users tick or untick boxes and the column never shows a validation error.
Matching ignores capital letters and surrounding spaces. The destination receives the converted
true or false value. See Data Destinations for how each destination handles it.
On the Verify Data step, a click selects a cell and a second click on the selected cell flips the checkbox. Double-clicking or pressing Space also flips it. Sorting groups checked rows together, and search, filter, and Find and Replace match by meaning, so searching for y finds every checked cell. When Find and Replace is set to All columns, it matches the literal text instead.
Default value: Off
Regex
The column data must match the given regular expression. Specify theRegex, and the importer pattern-matches it against the incoming data.
JSON
The column must contain valid JSON data.IP
The column must be an IP address. Select theIP Version.
URL
The column must be a valid URL.Domain
The column must contain a valid domain name.Credit card
The column must be formatted as a credit card number. Acceptable formats are5555555555554444, 5555-5555-5555-4444, and 5555 5555 5555 4444.
UPC
The column must contain a valid UPC product barcode.EAN
The column must contain a valid EAN product barcode.IMEI
The column must contain a valid IMEI number.Phone number
The column is validated for phone number formats based on the libphonenumber.js library. Select a default country code. If an incoming phone number has no country code, the default country code is used for validation.Currency
The column data must be in a currency amount format. You can specify currency formatting options based on the Validator.js library.Currency code
The column must contain a valid currency code.List
With the List data type, you specify a list of acceptable values. The importer compares the CSV column data with the list and throws a validation error if there’s a mismatch. You specify a list of acceptableValues and related Display Labels. The importer matches the column data with the list of Display Labels. If the data passes validation, the Values corresponding to the Display Labels are pushed to the destination. For example, say you configure the List column as shown below:

Small, Medium, and Large. Based on the actual data in the user’s CSV, the values s, m, or l are pushed to your data destination. This lets you accept readable values from your users while pushing data in a format your system understands.
Allow other values
Selecting the Accept Other Values option allows users to input values that aren’t in the predefined list of acceptable values.
Accept list values
When you enable this option, the importer accepts List Values interchangeably with Display Labels as valid data for the column.
NYC, the importer fails validation, because it only accepts the display label New York City. To make the importer accept NYC as well, activate the Accept List Values option.
Dependent list
Sometimes you may want to use more than one list, so that the items available in a second drop-down list depend on the selection made in the first. These are dependent lists. Below is an example of a dependent list.
USA in Drop Down 1, you see cities from the USA; if you select Canada in Drop Down 1, you see cities from Canada in Drop Down 2.
You can achieve the same functionality in CSVbox with a combination of List and Dependent List column types (or a combination of Dynamic List and Dependent Dynamic List column types).
To create conditional lists using the example above:
1
Create the primary column
Create a column
Country. Set its column type to List.2
Create the dependent column
Create a column 
City. Set its column type to Dependent List, and select Country as the Primary column.
3
Add the primary values
Go back to the
Country column and add the list of valid values.4
Add the dependent values
For each valid country value, add dependent (city) values as shown below.

Dynamic list
This is similar to the List type above: the importer validates the column data against a list of values. However, instead of providing a static list, the Dynamic List column type lets you supply the list of acceptable values in real time via an API. The API must return the list of values in the JSON format shown below.value field is mandatory, while display_label is optional.
You can attach the custom user attributes as query parameters to the Dynamic List API request. The csvbox_ prefix is added to the custom user attribute query parameters. This helps you identify the users or environment and return a relevant list of values.
To authenticate the requests, pass the authorization headers via the dynamic_list_request_headers initialization option.
Dependent dynamic list
Sometimes you may want to use more than one list, so that the items available in a second drop-down list depend on the selection made in the first. These are dependent lists. Below is an example of a dependent list.
USA in Drop Down 1, you see cities from the USA; if you select Canada in Drop Down 1, you see cities from Canada in Drop Down 2.
You can achieve the same functionality in CSVbox with a combination of Dynamic List and Dependent Dynamic List column types (or a combination of List and Dependent List column types).
To create conditional lists using the example above:
1
Create the primary column
Create a column
Country. Set its column type to Dynamic List.2
Create the dependent column
Create a column 
City. Set its column type to Dependent Dynamic List, and select Country as the Primary column.
3
Configure the API
Go back to the The
Country column and configure the API that fetches valid values from your application for Country as well as its dependent column, City. Your API must return the list of values in the JSON format shown below.dependents object contains the list of valid values for the dependent column based on the primary column value.Multi-select list
The Multi-select List data type is similar to the List data type: you specify a list of acceptable values. While the List data type accepts only one value per cell, the Multi-select List accepts multiple comma-separated values.
Multi-Select List
Allow other values
Selecting the Accept Other Values option allows users to input values that aren’t in the predefined list of acceptable values.
Dynamic multi-select list
This is similar to the Multi-select List type above: the importer accepts multiple comma-separated values. However, instead of providing a static list, you supply the list of acceptable values in real time via an API. The API must return the list of values in the JSON format shown below.csvbox_ prefix is added to the custom user attribute query parameters. This helps you identify the users or environment and return a relevant list of values.
To authenticate the requests, pass the authorization headers via the dynamic_list_request_headers initialization option.
Other validation options
Column required
Check or uncheck theRequired checkbox in the Column Settings window. When it’s ticked, the column data must be present and not empty.
Required isn’t available for Boolean columns that use Display as checkbox. A blank value is a valid
false there.
