Back to The Times of Claw

The Complete DenchClaw Data Import Guide

Complete DenchClaw data import guide: import from CSV, HubSpot, Notion, Airtable, Salesforce, and more. Map fields, handle duplicates, and migrate cleanly.

Mark Rachapoom
Mark Rachapoom
·7 min read
The Complete DenchClaw Data Import Guide

The Complete DenchClaw Data Import Guide

Every DenchClaw setup starts with a data import. You have contacts, companies, deals, and notes scattered across HubSpot, a spreadsheet, your email, and maybe LinkedIn. This guide covers every import path and how to get clean data into DuckDB fast.

Import Architecture#

DenchClaw imports data into its EAV (Entity-Attribute-Value) DuckDB schema. Every import:

  1. Identifies the target object (People, Companies, Deals, etc.)
  2. Maps source columns to DenchClaw fields
  3. Validates and transforms data types
  4. Inserts entries and field values
  5. Creates pivot view entries in v_[object_name]

You don't need to understand the schema to run imports — the AI handles it — but knowing this helps when things go wrong.

CSV Import#

The universal import path. Works from any source.

Basic import:

Import contacts from [attach contacts.csv] into my People object

The AI automatically maps columns to fields based on name similarity. It'll ask you to confirm ambiguous mappings.

Explicit field mapping:

Import from contacts.csv with this mapping:
- "First Name" + "Last Name" → Full Name (concatenate)
- "Email Address" → Email
- "Job Title" → Title
- "Company Name" → Company
- "Phone Number" → Phone
- "Created Date" → Added Date
- "Lifecycle Stage" → Status (map: "lead" → "Lead", "customer" → "Customer")

CSV prep tips:

  • UTF-8 encoding (not UTF-8 BOM)
  • Header row required
  • Empty cells are fine — they import as null
  • Date formats: ISO 8601 preferred (2026-03-26)
  • Phone numbers: include country code if international

Large CSV files (10k+ rows):

Import contacts.csv in batches of 2,000. Report progress after each batch.

HubSpot Import#

See the full HubSpot import guide for detailed steps. Quick version:

One-command:

Import my entire HubSpot CRM

DenchClaw opens HubSpot in your browser, exports all data, maps fields, and inserts into DuckDB.

Manual export path:

  1. HubSpot → Contacts → Actions → Export → All properties → CSV
  2. Same for Companies and Deals
  3. Import each: Import contacts from hubspot-contacts.csv, etc.

Stage mapping for HubSpot deals:

Map HubSpot deal stages: appointmentscheduled=Discovery, qualifiedtobuy=Qualified, contractsent=Negotiation, closedwon=Closed Won, closedlost=Closed Lost

Salesforce Import#

Import my Salesforce contacts, accounts, and opportunities

Or via CSV (Reports → Export):

Import from salesforce-contacts.csv. Field mapping: Account Name → Company, Title → Title, Mobile → Phone, Lead Source → Source.

Salesforce data often has 50+ columns. Only map what you need:

Import salesforce-contacts.csv but only these columns: Name, Email, Title, Account Name, Phone, Lead Source, Last Activity Date

Notion Import#

Import my Notion contacts database

DenchClaw opens Notion (you're logged in), exports the database, and imports it.

For a Notion page with embedded tables:

Import the "Client List" table from my Notion workspace into the Companies object

For markdown pages → entry documents:

Import all pages from my "Client Notes" Notion database. For each page, create a Company entry and attach the page content as the entry document.

Airtable Import#

Import my "Leads" base from Airtable into the People object

Or via CSV export from Airtable:

Import from airtable-export.csv. Note: Airtable exports linked records as text strings — map "Company Name (from Companies)" to the Company text field.

Airtable formula fields: These don't import directly since they're calculated values. Import the raw fields they're based on instead.

LinkedIn Contacts Import#

Export from LinkedIn:

  1. LinkedIn → Settings → Data privacy → Get a copy of your data → Connections
Import my LinkedIn connections from LinkedIn_Connections.csv. Map: First Name + Last Name → Full Name, Email Address → Email, Company → Company, Position → Title, Connected On → Added Date.

Note: LinkedIn export only includes contacts who've opted to share their email. Expect many rows with empty email.

Google Contacts Import#

Export your Google Contacts as vCard or CSV, then:
Import contacts from google-contacts.csv into People. Handle the Google CSV format (columns are "Name", "Given Name", "Family Name", "Email 1 - Value", etc.)

Or directly via the gog skill:

Import my Google Contacts into the People object

Email Import (Extracting Contacts from Gmail)#

Extract all unique contacts I've emailed in the last year from Gmail and add them to my People object

DenchClaw uses the Gmail skill to pull your sent emails, extract unique recipients, and create People entries. Deduplication by email address is automatic.

Extract all contacts from emails in my Gmail "Prospects" label and import into People with Status = Prospect

Excel / Google Sheets Import#

For Excel files, convert to CSV first:

File → Save As → CSV (Comma delimited)

For Google Sheets:

File → Download → CSV

Or directly:

Import data from my "Q1 Leads" Google Sheet into the People object

The gog skill connects to Google Sheets directly.

JSON/API Import#

For structured JSON data:

Import from this JSON [paste JSON array]. Each object has keys: id, name, email, company, role. Map to People: name→Full Name, email→Email, company→Company, role→Title.

For API endpoints:

Fetch leads from https://api.example.com/leads?key=ABC123 and import into the People object

Deduplication Strategies#

Always run deduplication after bulk imports.

By email (most reliable):

Find duplicate people entries with the same email address. For each duplicate pair, keep the record with more fields filled in and merge the rest into its notes.

By name + company:

Find contacts where Full Name and Company both match another contact. Show them to me for review before merging.

By phone:

Find contacts with duplicate phone numbers. Show me the pairs for manual review.

Automated merge:

Automatically merge duplicate contacts where email is identical. Keep the most recently updated record's fields but combine notes from both.

Data Cleaning After Import#

Normalize phone numbers:

Standardize all phone numbers in People to E.164 format (+1XXXXXXXXXX for US numbers)

Standardize company names:

Show me company names that look like duplicates (e.g., "Acme Corp" and "Acme Corporation"). Suggest standardized versions.

Fill empty statuses:

For all People entries with empty Status, set Status = "Lead"

Date normalization:

Normalize all date fields in People and Deals to YYYY-MM-DD format

Import Verification#

After any import:

Verify the import: how many records were created? Are there obvious data quality issues? Show me a sample of 5 records.
Check for: missing emails, missing company names, invalid date formats, status values outside the allowed enum

For the full DenchClaw overview, see what is DenchClaw. For the zero to CRM setup including your first import, see DenchClaw zero to CRM.

Frequently Asked Questions#

What's the maximum import size DenchClaw handles?#

DuckDB itself handles billions of rows. DenchClaw's AI-assisted import works well up to 50,000 rows in a single batch. For larger imports, split into batches or import directly via DuckDB.

Can I import files with non-standard delimiters (tab, pipe)?#

Yes. Specify the delimiter: Import from leads.tsv — tab-separated format or Import from data.txt using pipe (|) as delimiter

What happens if my CSV has extra columns I don't want?#

Tell the AI: Import only columns: Name, Email, Company, Phone. Ignore all other columns.

Can I undo a bad import?#

Not automatically, but you can: Delete all People entries imported today where Source = 'CSV import'. Or restore from a DuckDB backup if you made one before importing.

How do I handle date fields in different formats?#

The AI handles common formats automatically. For unusual formats, specify: The "Created" column uses MM/DD/YYYY format and the AI converts during import.

Ready to try DenchClaw? Install in one command: npx denchclaw. Full setup guide →

Mark Rachapoom

Written by

Mark Rachapoom

Building the future of AI CRM software.

Continue reading

DENCH

© 2026 DenchHQ · San Francisco, CA