The CSV import block is part of Airtable Blocks, a Pro plan feature. Blocks let you extend the functionality of your bases: you can use blocks to bring new information into Airtable, visualize and summarize your records in colorful ways, and even directly integrate your Airtable bases with your favorite apps.
With the CSV import block, you can add new records to an existing table in your base from a CSV file. You can also update existing records in a table from a CSV file by picking a specific field to merge on.
Watch this video to learn more about how to set up and use a CSV import block, or read on for further information.
After installing a CSV import block, you can drag and drop a CSV file onto the block. After your file gets uploaded, you'll be brought to a screen where you can map exactly how the information from the CSV gets put into your table.
Before mapping the fields, make sure you have the correct table selected.
The block will automatically try to detect if the first row of your CSV is comprised of headers or not, and check the "First row of CSV file is headers" option accordingly. If this option is checked, the columns in the field mappings section of the block will be named after the CSV's column headers. If this option is not checked, the columns in the field mappings section of the block will be given generic names like Column, 1, 2, 3, and so on.
The left side of the Field mappings section (with the toggles) shows the fields in your table, and the right side (with the dropdowns) shows the columns of the CSV. If the columns of your CSV and names of the fields in your table have matching names, the block will automatically try and match them. Otherwise, you can map the columns of the CSV to whichever fields you'd like.
To map a value, select the field toggle, then choose a CSV column from the dropdown menu. Repeat this process for as many fields as you want.
Note that you don't have to import any fields you don't need to, and the order and names of the fields in your CSV don't necessarily have to match the order and names of the fields in your Airtable base. As you alter the field mappings, you can look at the right side of the block, which shows samples of the records that will be created according to the specified mappings.
Once you're ready, click the Create records button.
The block will remember your field mappings the next time you import another CSV, speeding up the process if you plan on importing CSVs again and again as part of your workflow.
In addition to creating new records with the CSV import block, you can also use the CSV import block to update existing records. To do this, you'll need to pick a field on which to merge records (ideally containing a unique value like an ID number or email address, for example). The block will then compare the records in your table with the rows in your CSV, find matches using the field you selected, and update the values in the table according to the contents of the CSV file.
To get started, drag and drop a CSV file onto the block.
Next, click the Merge with existing records toggle. You will then be prompted to pick a field: the block will use whichever field you pick to compare your existing records with the values in the CSV file.
Matching for the field you select will be case-sensitive; for example, the block will consider "firstname.lastname@example.org" and "SampleEmail@example.com" to be two different values. (However, leading and trailing whitespace will be ignored when finding matches.)
Once you pick a field, the block will display previews for the records to be updated. If the CSV being imported contains rows which have no matches in the table, the block will create new records. The bottom of the block window will show the number of records that will be updated, the number of records that won't change, and the number of new records that will be created (if any).
A few other notes on the updating process:
- If the CSV file contains multiple rows which contain the same value for the merge field, the block will only use the first of those rows, and subsequent rows will be ignored.
- If the table has multiple records, all of which contain the same value for the merge field, all of those records will be updated if there's a matching row in the CSV file.
- If the CSV contains any rows where the value in the merge field is blank, a new record will be created.
If everything looks good, click the Save button.