path import.
Prerequisites: authenticated CLI, a CSV file with a header row, and a channel ID to import the contacts into. Find a channel ID with
path channel list.Steps
Analyze the CSV
fileKey, the headers, a preview, and the server’s suggested column mapping. Note the fileKey and the column indices. You need both for the next step.Capture the fileKey
Create the import job
importJobId. The job runs in the background. Your terminal is free for the polling loop below.--mode UPDATE overwrites fields on existing contacts matched by email. Switch to --mode SKIP if you want to leave existing records untouched and treat collisions as duplicates.Poll until the job reaches a terminal state
PENDING → RUNNING → one of COMPLETED, PARTIAL_SUCCESS, or FAILED. The loop exits on any terminal state. Tighten or relax sleep based on import size.Variants
Treat duplicates as silent skips
SKIP is the right mode for a weekly registrant export when you want every new email but you don’t want to overwrite manual edits made in the dashboard.
Group failures by error code before fixing
errorCode so you can prioritize the fix that unlocks the most rows.
One-shot script
import-csv.sh, then run ./import-csv.sh ./contacts.csv 7.
Tips
- Valid mapping target fields:
EMAIL,FIRST_NAME,LAST_NAME,NAME,PHONE,JOB_TITLE,COMPANY_NAME,ADDRESS,LINKEDIN_URL,X_URL,JOINED_AT. The full reference lives at Column mapping. - Re-importing
failed-$JOB_ID.csvafter corrections clears the failure count. It does not double-import the successful rows from the first run. - Each
import createqueues a separate job. If you re-run with the samefileKeyyou get a second job ID, not an overwrite of the first. - Need to inspect a job later? Every import is listed by
import listand individual jobs byimport get <id>.
See also
import analyze. File upload, headers, preview.import create. Mapping and mode reference.import get. Full job-record schema.import failed-export. Rejected-row CSV format.- Troubleshooting. Mapping errors, file errors, and rate limits.
- AI agent skill: recipe-csv-import. Install as a skill.
