fileKey returned by import analyze, the channel ID that owns the new people, an upsert mode that decides what happens on email collisions, and one or more column mappings that pin CSV columns to TalkValue target fields. It returns immediately with the job ID. Use import get to poll until completion.
Synopsis
Options
| Flag | Type | Description |
|---|---|---|
--file-key <key> | string (required) | The fileKey returned by import analyze. |
--source-id <id> | integer (required) | Channel ID that receives the people. Find it with path channel list. |
--mode <mode> | enum (required) | UPDATE overwrites existing fields on email match. SKIP leaves the existing record untouched and counts the row under skipCount. |
--mapping <csvIndex:targetField> | string (repeatable, ≥1) | Map a zero-indexed CSV column to a TalkValue field. Valid targets: EMAIL, FIRST_NAME, LAST_NAME, NAME, PHONE, JOB_TITLE, COMPANY_NAME, ADDRESS, LINKEDIN_URL, X_URL, JOINED_AT. |
Examples
1. Import three columns into channel 7 in UPDATE mode
PENDING or RUNNING. The job continues in the background.
2. Capture the job ID for the rest of the script
3. Treat duplicates as silent skips
SKIP is the right mode when you receive a weekly registrant export and you want every new email but you do not want to overwrite manual edits made in the dashboard.
Response
status is the snapshot at submission. Real progress lives on the job record returned by import get.
See also
import analyze. The prerequisite step that produces thefileKey.import get. Poll the job until it reaches a terminal state.import failed-export. Pull the rejected rows after a partial success.- Column mapping. The full target-field reference.
