CSV Import & Empty Value Enrichment
A common workflow is importing a CSV with partial data and enriching only the missing values. This pattern saves API calls and avoids overwriting existing data.1
Import CSV
Your CSV has partial data—some fields filled, some empty
2
Create View
Filter to show only rows where the target field is empty
3
Set Up Enrichment
Either convert the column to code or create a separate enrichment column
4
Run Empty Rows Only
Run only the filtered rows to enrich missing values
Example Scenario
You import a CSV with contact data. Some emails are already filled in, others are missing:| First Name | Last Name | Company | |
|---|---|---|---|
| John | Doe | Acme Corp | [email protected] |
| Jane | Smith | TechStart | |
| Bob | Wilson | BigCo | [email protected] |
| Alice | Brown | StartupXYZ |
Two Approaches
There are two ways to handle this:- Approach A: Direct Column Enrichment
- Approach B: Separate Enrichment Column
Best for: When you want to fill in the same column that has missing values.
- Create a view that filters for empty Email values
- Convert the Email column to an enrichment column (or it already is one)
- Navigate to the view and run only those rows
Creating a View for Empty Values
Create a view that shows only rows where the Email field is empty. This lets you target exactly which rows need enrichment.- Method 1: Filter Panel
- Method 2: New View
- Method 3: Ask Chat
- In the right-hand panel, click Filters
- Click Add Filter
- Set the filter:
- Column: Email
- Operator: is empty
- Click Save filters as view
- Name your view (e.g., “Missing Emails”)
Running the Enrichment
Once your view is set up:- Click into the view — Only rows with empty Email values appear
- Select the rows — Choose which rows to enrich (or select all in the view)
- Click “Run” — Execute the enrichment on selected rows only
- Watch progress — As emails are enriched, rows disappear from the view (they no longer match the “is empty” filter)
Complete Example: Approach B
Here’s a full example using the separate enrichment column approach:| First Name | Last Name | Company | Email (Enriched) | |
|---|---|---|---|---|
| John | Doe | Acme Corp | [email protected] | [email protected] |
| Jane | Smith | TechStart | [email protected] | |
| Bob | Wilson | BigCo | [email protected] | [email protected] |
| Alice | Brown | StartupXYZ | [email protected] |
Workflow Summary
| Step | What Happens | Why It Matters |
|---|---|---|
| 1. Import | User imports CSV with some empty values | Starting point |
| 2. Create View | Filter WHERE Email IS EMPTY | Shows only rows needing work |
| 3. Set Up Code | Either convert column or create separate one | Prepares the enrichment |
| 4. Run in View | Run only the filtered/selected rows | Targeted enrichment |
| 5. Progress | Enriched rows leave view as they’re filled in | Visual feedback |
Best Practices
Cannot Reference Your Own Column
Cannot Reference Your Own Column
A column cannot use
ctx.thisRow.get() to read its own value. If you need to check for existing data before enriching, create a separate enrichment column that reads from the original column.Use Views to Target Empty Rows
Use Views to Target Empty Rows
Create views for “needs enrichment” states. Navigate to the view before
running to ensure you only process rows that actually need enrichment.
Batch Wisely
Batch Wisely
Select manageable batches (50-100 rows) to run at a time. Monitor for errors
before processing all data.
Prioritize Work Email
Prioritize Work Email
When enriching contact info, prioritize work emails over personal for B2B outreach:
Handle Missing Input Data
Handle Missing Input Data
Always validate that you have the required input data before making API calls: