Checkbox display for Boolean columns, Sheet Tags, smart date and number formats, If / Else Builder
Checkbox display for Boolean columns
Added: Display as checkbox for Boolean columns. Turn on Display as checkbox for a Boolean column to show a checkbox in each cell on the Verify Data screen. Every value is converted totrue or false before it is sent to your destination, so the column never shows a validation error. Also available in the Sheet API as render_as_checkbox.Sheet Tags
Added: Sheet Tags. Attach color-coded tags to your sheets to group them, and filter the Sheets page by one or more tags. Add tags with + Tag on any sheet, and manage them from the Tags page. Tags are kept per account and are not copied when a sheet is copied to another team or account.Smart date and number formats
Added: Smart Date and Number Formats. CSVbox now converts dates and numbers written in different regional formats into the format your column expects, and asks the user once when a value such as04/05/2024 or 1,234 could be read two ways. Turn it on with Date correction? under Import Steps → Verify Data.If / Else Builder
Added: If / Else Builder. Build Validation Functions and Data Transforms visually with IF / ELSE IF / ELSE rules, without writing JavaScript.MCP server, importer GET APIs, and 11 new column types
MCP server
Added: CSVbox now ships an MCP server. Configure importers by prompting Claude, Cursor, or any MCP client instead of hand-writing schema JSON.Importer GET APIs
Added: GET APIs to retrieve a list of importers and view the complete configuration of a specific importer, with sensitive credentials excluded.11 new column types
Added: 11 new column types give you more options for validating and normalizing imported data, including Percentage, IANA Timezone, UPC, EAN, UUID, Domain, Currency Code, Country Code A2, Country Code A3, IMEI, and JSON.2M-row files, review table enhancements, AI sheet generation, and more
Files with up to 2M rows
Added: CSVbox can now handle files with up to 2M rows, making it easier to import and process high-volume datasets without splitting them into smaller batches.Spreadsheet review table enhancements
Added: Column sorting (3-state cycle with numeric-aware ordering), advanced filtering (value/condition operators with multi-column logic), right-click context menus for cells/columns/rows, and full undo/redo support (up to 50 steps).Sorting in the upload table
Added: Sorting support in the upload table. Table rendering was reworked to handle sorted views correctly.AI sheet generation
Added: A new AI-powered feature that lets you generate a CSVbox sheet and define its columns simply by describing your requirements.Column logic via Sheet API
Added: Create, update, and manage Validation Functions, Virtual Columns, and Data Transforms via the Sheet API.PDF metadata extraction, Bulk AI Transform, and import UI improvements
PDF metadata extraction
Added: Automatically extract metadata fields from uploaded PDF documents.Bulk AI Transform
Added: Run AI-powered transformations across your data in bulk with a single click.Trim whitespace for List columns
Updated: Trim-whitespace support now works on list-type columns, including dynamic columns.Improved table and header detection
Updated: Enhanced OCR header matching, more reliable table merging, and improved text wrapping for wide columns.Cleaner upload view
Updated: Refreshed the upload modal UI with truncated long column names and tooltips for better readability.Neon, OpenAPI, and Xero destinations, Sheets API, and new automation integrations
Neon destination
Added: Neon as a data destination. Push imported data directly to Neon serverless Postgres databases, with built-in credentials management and connection handling.OpenAPI destination
Added: OpenAPI specification support as an upload destination type. Point CSVbox to an OpenAPI/Swagger spec URL and it automatically routes import data to your API endpoints.Secret key for Sheet API authorization
Added: Secret key + API key combination for Sheet API authorization, adding an extra layer of security for embedding and API access.REST API auto mapping priority
Improved: REST APIauto_map now matches columns using the same priority order as the frontend importer: display_label first, then column_name, then matching keywords.Make, Pabbly, and IFTTT integrations
Added:Xero destination
Added: Xero as a data destination. Automatically push imported data to Xero with secure authentication and simplified connection setup.Sheets API
New: Sheets API. You can now create and manage importer sheets programmatically instead of only through the dashboard.AI Function Generator, split large CSV imports, and AI document import
AI Function Generator
New: AI Function Generator. Generate validation functions, virtual columns, data transforms, and regex patterns using plain-language prompts. Describe what you want, and CSVbox generates compatible JavaScript or regex logic automatically.Split large CSV file imports
New: Split Large CSV File Imports. CSVbox can now automatically split large CSV files into smaller parts during import for improved reliability and browser performance. Multipart uploads reuse the same column mappings across all parts and are grouped together in the Imports dashboard for easier tracking.AI document import
New: AI Document Import (PDFs, Images & DOCX). You can now import data from PDFs, images, and documents using AI-powered table extraction.Import Analytics and column-level server-side validation errors
Import Analytics
Added: Import Analytics. Get visibility into your import flow with built-in analytics. Track each step, from file upload and header selection to mapping, validation, and final submission. Identify drop-offs, measure completion rates, and uncover top errors so you can improve onboarding and reduce failed imports. Available for Pro plans and higher.Column errors in server-side validation
New: Server-Side Validation supports the column error type.Sheet import and export, bulk mapping actions, and AI auto column mapping
Sheet import and export
Added: Sheet import and export functionality. You can now export sheets from one CSVbox account and import them into another (or duplicate within the same account).- Securely copy sheets using a Sheet License Key and Export Key
- Entire sheet configuration is duplicated automatically
- Imported sheets receive a new unique license key
- Perfect for staging → production workflows and template reuse
- More information here
Bulk actions on the column mapping screen
Added Bulk Actions to the Column Mapping screen, allowing users to reset all mappings or mark all columns as ignored in a single action.
AI-powered auto column mapping
Introduced AI-powered auto column mapping within Bulk Actions to automatically map file columns to template fields.Reusable importer styling CSS and richer import metadata
Download and reuse importer styling
Added: Custom styling Download and Upload functionality. You can now download your customized importer styling as a CSS file and upload it to another importer to instantly apply the same design. Perfect for maintaining consistent branding across multiple sheets, with no re-styling required. More info here.Import metadata in the admin dashboard
Updated: The Import screen in the admin dashboard now displays additional metadata for individual imports.New encryption options, UI enhancements, new destinations, quick actions, and new languages
Environment variable encryption options
Added: Support for AES-256-GCM and improved AES-CBC (V2) encryption options in Environment Variables for enhanced data security. More information here.UI enhancements
Made several small UI tweaks to make the importer sleeker and more user-friendly. For example, the row filter dropdown (All / Error rows) is now a modern toggle switch, and the search box has been condensed into a search icon that expands on click.Pipedream, n8n, and Softr destinations
Added:Improved list selection
Improved: We’ve added a new Replace all similar cells button for List-type columns. This allows you to replace all cells with the same value as the currently selected cell in one click. Perfect for quickly fixing repeated invalid values and speeding up data verification.Quick actions for validation errors
Added: You can now take faster action on validation errors using the new Quick Actions button in the message bar. This provides one-click options to delete all invalid values, replace empty cells, or find and replace values, making it quicker to fix errors without navigating through individual cells.New languages
Added: Newly supported languages include:- Bulgarian (
bg) - Czech (
cs) - Hungarian (
hu) - Ukrainian (
uk)
Supabase and Google BigQuery destinations, Chinese languages, and more
Supabase destination
Added: Supabase as a data destination.Chinese languages
Newly supported languages include:- Chinese (Simplified) -
zh-CN - Chinese (Traditional) -
zh-TW
Hide Cancel button
Added: Hide Cancel Button option to hide the Cancel button located at the bottom-right corner of the importer. More information here.Server-side validation attributes in the client data
Added: New client-side attributes (ssv_enabled, ssv_fail, ssv_row_fail, ssv_table_error) are now included in the response object when Server-Side Validation is enabled. More information here.Google BigQuery destination
Added: Google BigQuery as a data destination.Execution time for Data Transforms
Added: Execution Time option to Data Transforms. You can now choose to run each transform before or after the Data Validation stage.
Accepted file types
Added a new feature allowing users to select accepted file types for uploads. Choose between CSV, XLS, and XLSX formats in your sheet settings.
Language support
Added: We’ve expanded CSVbox’s multilingual capabilities. Newly supported languages include:- Hindi (
hi) - Bahasa Malaysia (Malay) (
ms) - Russian (
ru) - Vietnamese (
vi) - Korean (
ko) - Bahasa Indonesia (
id) - Egyptian Arabic (
ar-EG) - Urdu (
ur)
Table and row errors in server-side validation
New: Server-Side Validation supports table and row error types.UX: Table errors render in an alert banner above the grid. Row errors appear as a badge on the row number with a pop-over on click.API: You can mixtable, row, and cell errors in one response. type is optional and defaults to cell. No breaking changes.Default header row
Added an option to set the default row on the header selection screen. You can now choose which row is pre-selected on the Header Selection step.Also available as an installation parameter:default_header_row.
Test API destination
Added Test API destination. It sends spreadsheet data to a uniquewebhooks.csvbox.io URL (testing-only).Custom error messages for regex dynamic columns
Added support for custom error messages (viaerror_message validator) for regex type dynamic columns.Excel values for number dynamic columns
You can now use theexcel_value validator with number-type dynamic columns to control whether to import raw or formatted values from Excel.Environment variable support for APIs
You can now use environment variables in:- Dynamic List API
- Multi-select Dynamic List API
- Success Message API
- Failed Message API
- Custom headers for all the above

Excel value formatting options
Added Excel Value Formatting Options. Choose how numeric values are imported:- Formatted: As shown in Excel (e.g., “$1,200.00”, “15%”).
- RAW: Strips formatting for clean numbers (e.g., 1200, 0.15).
AI bulk transformations
Introduced AI Bulk Transformations, allowing users to apply AI-driven changes to uploaded data using natural language prompts, all directly in the importer. Supports multi-language input, column-level modifications, and ensures complete privacy with no external data sharing. More information here.Unmapped column property
Introduced thecolumn.isUnmapped property in the csvbox.columns object to identify Unmapped Columns. This is now available in Data Transforms and Validation Functions.Unmapped columns in server-side validation
Added support for Unmapped Columns in Server-Side Validation, allowing validation errors to be shown for Unmapped Columns.Dynamic column property
Introduced thecolumn.isDynamic property in the csvbox.columns object to identify Dynamic Columns. This is now available in Data Transforms and Validation Functions.Restrict adding rows
Introduced a new configuration option to restrict adding new rows on the Verify Data screen.
Adding rows option
OpenAI added as a subprocessor
Added OpenAI to the list of subprocessors in the DPA.Why is OpenAI added as a subprocessor? CSVbox leverages OpenAI’s industry-leading AI capabilities to enhance functionality within the importer app. As we build new AI-powered features, OpenAI has been included as a subprocessor.Zero template columns
Added support for file submissions without requiring predefined template columns. Check out Zero Template Column functionality.Expanded styling options
Expanded styling options with customizable colors, fonts, and layout sizes, allowing for a more consistent and professional appearance.
Mapping choices
Added Mapping Choices, an option for customers to map file columns to template fields or template fields to file columns.Environment variables in column logic
Support for Environment Variables is now available in Validation Functions, Data Transforms, and Virtual Columns.File delete policy moved to sheet settings
Relocated the File Delete Policy from account-level settings to sheet-level settings.Columns object
Introduced thecsvbox.columns object for use in Data Transforms and Validation Functions.Data Transforms
Introduced Data Transforms, enabling a new method for bulk editing datasets before pushing them to your app. Learn more here: Data Transforms Guide.Admin panel UI refresh
Refined the CSVbox admin panel UI for a more intuitive and streamlined experience.Show unmapped columns
Added the option to show Unmapped Columns on the Validation Screen.
Show Unmapped Columns
Direct file upload in the REST File API
Updated the REST File API to enable direct uploading of file contents. Check theimport.file body param.Password-protected files
Importer enhancement: The importer now handles password-protected files more effectively. Users receive a message indicating that password-protected files cannot be read.Redirect URL
You can now provide a URL to redirect the page after the import is completed successfully.
Redirect URL
Two-factor authentication
Two-Factor Authentication (2FA) is now available for all CSVbox users. This new feature is a part of our ongoing efforts to enhance security when accessing our platform.To activate 2FA, log in to your CSVbox account → go to the Accounts page → click the Enable 2-factor Authentication button and follow the instructions.Pre-load the importer from a file
Addedupload_file_url and upload_file_worksheet_name options to pre-load the importer with data from a file.Encrypted environment variables
You can now encrypt environment variables using the AES Everywhere library to protect sensitive data. More info here.Accept other values in List columns
Updated the List Type Column validation to include the Accept Other Values option.
List Column Validation
Environment variables
You can now add Environment Variables to define different environments (such as ‘production’, ‘staging’, ‘local’) and pass dynamic values to the importer.JSON files to S3
You can now send JSON formatted files directly to S3, in addition to the CSV format files that were already sendable.
Text search
Added search functionality to quickly find text in the uploaded sheet. It can be turned off via the admin dashboard.Ignore columns by default
A new option was added to allow the default selection of columns as Ignored Columns.
Custom file names for Google Sheets
Added Google Sheets to thetarget_file_name option. You can now provide custom file names for each new import in Google Sheets.Custom user attributes in the Dynamic List API
New option to append custom user attributes to the Dynamic List API. This helps to identify the user in your app and generate custom list options.
Custom User Attributes
Skip the data validation screen
Added an option to skip the Data Validation screen if no errors are found.
Personal plan discontinued
The $9 Personal Plan has been discontinued. Existing subscribers to this plan will remain on their current subscription.API keys page
Added a new page for API keys. Each team has one common set of API and Secret keys. Only the Super Admin can generate/regenerate the keys. Admin and Tech roles can view the keys.Airtable personal access tokens
Updated the Airtable integration to move from the older API key based authentication to the newer Personal Access Token based authentication.Speed and security improvements
- Added optimizations to improve speed.
- Fixed vulnerabilities as per the external pen testing report.
Resubmit all rows in server-side validation
Improvements added to Server-Side Validation functionality. To allow users to re-submit all the rows again (instead of error rows only), we have added the All Rows option as shown below:
Skip the FTP header row
Added an option to skip pushing the header row to the FTP data destination.Target file name
Added thetarget_file_name option to control the name of the file that gets pushed to the end destination.Validation Functions
Added Validation Functions. Code your custom validation logic in JavaScript.Worksheet selection
Added support for worksheet selection in Excel files.Team members
Deployed the functionality to add multiple team members to the CSVbox account.Raw columns object
Added theraw_columns object to the Import Complete Webhook and the Data at Client. This object contains all the column headers found in the raw spreadsheet file uploaded by the user.Dynamic sample template
Addedsample_template_url and sample_template_button_text configuration options. With these, you can now configure a dynamic sample template file for each user.Ignored columns
Added Ignored columns, which allow users to skip columns for data submission.Hide the copy-paste option
Added functionality to hide the copy-paste data option.Skip the invalid data confirmation
Added an option to skip the confirmation message when accepting invalid data.Performance improvements
- UI enhancements to improve the speed of the admin dashboard.
- Enabled multiple importers on the same page for the Bubble plugin.
- Performance improvements across all destinations.
Row highlighting
A few UI enhancements. Now the entire row gets highlighted when there is a validation issue in any one cell.Private Mode
Added Private Mode for data processing.Server-side validation (beta)
Added Server-Side Validation (Beta) feature.onLoadStart event
Added the importer event onLoadStart. It gets triggered when the importer iFrame starts loading.Lazy load
Added the Lazy Load option for importer initialization.Multi-level dependent lists
Added multiple-level List-Dependent List validations.Other improvements
- Added info icons on the Column Mapping page.
- Updated email validation to accept special characters.
- Fixed bugs, improved notifications, and made minor UI changes to the admin section.
Skip column mapping on exact match
Added an option to skip the Column Mapping screen if there is an exact match of columns.
More multi-select delimiters
Added support for delimiters such as ”.” and ”|” for Multi-select List and Dynamic Multi-select List column types.Virtual Columns data variables
csvbox.row["total_rows"]andcsvbox.row["row_number"]data variables added to Virtual Columns.csvbox.virtualobject added to Virtual Columns.
Resubmit button
Added a 1-click Resubmit button to trigger a new import on the recently submitted file.
Resubmit
Multi-select List column types
Added Multi-select List and Dynamic Multi-select List column types.Reset All Mappings button
Added a Reset All Mappings button to make it easier for users to reset and remap the columns. This button is optional and its visibility can be controlled via the Sheet settings page.Fixes and performance improvements
- Fixed UI bugs related to the
max_rowsoption. - Upgraded infrastructure and added optimizations for improved speed for the EU region.
- Improved performance for imports with many Virtual Columns.
Virtual Columns
Added Virtual Columns. Create new columns by applying custom data transformation logic.Disable import links
Added the Import Link disable option.Import dialog size
Added an option to control import dialog size.Decimal and integer validation
Added decimal / integer validation.onSubmit event in framework libraries
Updated React, Angular, and Vue.js libraries for the onSubmit Importer event.onSubmit event
Added the onSubmit Importer event.Default column value
You now have the option to specify a default filler value for the column in case the incoming data is blank.
Domain authorization
Added the domain authorization option. You can provide a list of approved domains/sub-domains for embedding the importer. The embedded importer works on the whitelisted domains only.Dynamic columns for dependent lists
Added dynamic column support for Dependent List and Dependent Dynamic List columns.Polish language
Added the Polish language option for the importer frontend.Importer exit options
Added options for controlling the close of the importer dialog after the import is complete.
Dependent Dynamic List columns
Added Dependent Dynamic List Columns.Column mappings object
Added thecolumn_mappings object to the import complete webhook and the callback function. The column_mappings object contains the user-defined mappings between the columns of the sheet (template) and columns in the uploaded CSV file.Import ID column
Added the Import ID column in the table on the Imports page of the CSVbox dashboard.Multiple date validation for dynamic columns
The dynamic columns now support multiple date validation.Max rows
Added the Max Rows option to the importer dashboard. It limits the number of rows per import.
Phone number validation
Added phone number validation based on the libphonenumber.js library.Import modal UI changes
Minor UI changes to the import modal. Changes include:- The importer modal is now full screen across all devices.
- The column mapping table & validation error text are center-aligned for better visibility.
Show import fail messages
Added an option to allow displaying the import fail error messages to the end-user.Primary color theme
Added the Primary Color custom theme option. You can stylize the importer with the primary color of your brand. More styling options coming soon.Custom user attributes in Dynamic List requests
The importer attaches the custom user attributes as query parameters to the Dynamic List API request. Acsvbox_ prefix is added to the custom user attribute query parameters. This helps you identify the users/environment and return a relevant list of values.Database upsert
Added the Upsert operation to MySQL, PostgreSQL, and MS SQL data destinations. Instead of directly inserting the file data into the databases, the importer first checks if the record exists. If the record exists, then the row is updated. Only if the record does not exist is a new row added.Dynamic List column type
Added the Dynamic List column type to accept valid list values via API, real-time.Select Header Row display options
New display options for the Select Header Row page of the importer.
- Skip this step?: Hide/Show the Select header row page to the users.
- Show encoding: Hide/Show the character set selection list to the users.
- Switch Row/Columns: Hide/Show the option to switch rows and columns to the users.
Delete account
Added the option (DELETE button on the Accounts page) to delete and close down the CSVbox account permanently.Multiple date formats
Added the Multiple option to Date Type columns. With this, you can provide multiple date formats that are allowed for the incoming data.
Notion destination
Added Notion Data Destination.Large file fix for the REST File API
Fixed a bug for very large file uploads with REST File API.SQL Server destination
Added: SQL Server Data Destination.Help text for each page
Added: Ability to add help texts for each page (header selection, column mapping, data validation) on the importer.Added
- Yearly pricing plans
- REST File API beta
- New importer events (onReady, onClose)
request_headersoption to send headers at run-time- PATCH request type
total_rowsparameter to the API output.original_filenameparameter to the import complete webhook and importer callback function.
Updated
- Fixed an issue related to freezing of the importer
- Updated the code from Laravel 8 to Laravel 9
- Added new layers of database security
- Fixed an issue related to the downloading of the template files
- Added custom attribute mapping for Airtable
- UI enhancements
Portuguese language
Added: Portuguese language support for the importer frontend.Language option
Added:language sheet option to select the frontend language while initializing the importer.Translation suggestions
Updated: You can now view the translated texts for all supported languages and submit suggestions for changes.












