> ## Documentation Index
> Fetch the complete documentation index at: https://docs.connie.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Import and export

> Import records from a CSV file, LinkedIn or another CRM, control duplicates, and export a list to CSV or JSON.

Bring your existing contacts, companies and deals into Connie, and take them out again whenever you need. Imports respect your [duplicate rules](/records/objects-and-fields#set-duplicate-rules), so re-importing the same people doesn't create copies.

**Where:** left sidebar → **Records** → **New** → **New list** → **Upload a file**, or open any list → **Actions** → **Import** / **Export** · `https://connie.ai/<workspace-id>/records`

## Import a CSV into a new list

<Steps>
  <Step title="Start the import">
    On the Records page click **New** → **New list** → **Upload a file**, and choose a `.csv` file. (Excel users: save the sheet as CSV first.)
  </Step>

  <Step title="Check the object">
    Connie reads the header row and a sample of rows and picks the object for you:

    * Email, personal LinkedIn, or name + company columns → **People**.
    * Company LinkedIn or website columns (and no person columns) → **Companies**.
    * Otherwise nothing is pre-selected — choose one under **Object (optional)**.
  </Step>

  <Step title="Check the column mapping">
    Connie maps your columns automatically — exact name matches first, then recognised identifiers (for example a "Profile URL" column full of linkedin.com/in links maps to **LinkedIn URL**), then AI for the rest. Badges show "N mapped" and "N created". Click a badge to open **Map columns** and pick an existing column, create a new one, or skip a column.
  </Step>

  <Step title="Name the list and click Create list">
    Enter a **List name** and click **Create list**. The list opens and rows stream in as they upload.
  </Step>
</Steps>

You'll see one of:

* "Successfully imported N rows"
* "Successfully imported N rows. M rows detected as duplicates"
* "All rows were detected as duplicates, so zero rows were imported"
* a note that "N blank rows were skipped"

## Import a CSV into an existing list

<Steps>
  <Step title="Open the list">
    Go to **Records** and open the list you want to add to.
  </Step>

  <Step title="Choose the file">
    Click **Actions** → **Import** → **Import from CSV** and pick your `.csv` file.
  </Step>

  <Step title="Map the columns and import">
    Check the mapping, then start the import. New rows are added to the list's object and to this list.
  </Step>
</Steps>

## How duplicates are handled

Every CSV import checks for duplicates using the object's rules in **Settings** → **Objects**:

| Object | Matched by default on |
| - | - |
| People | Email or LinkedIn URL |
| Companies | LinkedIn URL or website (domain only) |
| Deals, Tasks, custom objects | Nothing — set **Match duplicates by** first if you need it |

When a row matches an existing record, the record is linked into your list rather than created again. By default (**Fill empty fields**) Connie keeps existing values and only fills blanks. To overwrite with the file's values, set **When a match is found** to **Update existing**. See [Objects and fields](/records/objects-and-fields#set-duplicate-rules).

## Import from LinkedIn

You need a connected LinkedIn account. See [Connect accounts](/tools/connect-accounts).

<Steps>
  <Step title="Start the LinkedIn import">
    **New** → **New list** → **Extract from LinkedIn**, or inside a list **Actions** → **Import** → **Import from LinkedIn**.
  </Step>

  <Step title="Pick the account">
    Under **Select LinkedIn account**, choose your account, or click **Add account** to connect one.
  </Step>

  <Step title="Choose the source and paste the URL">
    * **LinkedIn search** or **Sales Navigator** — paste the search results URL (**Search URL**).
    * **LinkedIn post** — paste the **Post URL** and choose **Import comments** and/or **Import likes**.
    * **LinkedIn group** — paste the **Group URL**, choose **Group members** or **Group posts**, and for posts a **Posted within** range (Last 24 hours, Last week, Last month, All time).
    * **LinkedIn event** — paste the **Event URL** to import attendees.
  </Step>

  <Step title="Choose extra data">
    **Extract profiles** ("Get all data from profile including headline, experience, activity and more") and **Include skills** add more detail per person and cost extra credits. The button shows the total credit cost before you start.
  </Step>

  <Step title="Add to a list">
    Click **Add to list** (or **Continue**), pick or create the list, check **Map columns**, and import.
  </Step>
</Steps>

## Import from another CRM

Open a list → **Actions** → **Import** → **Import from CRM**. HubSpot, Attio and folk connect as a live sync; Pipedrive, Salesforce, Breakcold and others import from CSV exports. Full steps: [CRM sync](/records/crm-sync).

## Export a list

<Steps>
  <Step title="Open the list">
    Apply any filters first if you only want some records.
  </Step>

  <Step title="Export">
    Click **Actions** → **Export** → **Export CSV** or **Export JSON**. To export only some rows, tick them first — the option becomes **Export N records**, also available in the selection bar.
  </Step>
</Steps>

## Good to know

* Only `.csv` files are accepted for file import. The upload area says "Maximum 25MB".
* Columns that are completely empty in your file aren't shown in the list after import.
* If you choose no object when importing, Connie creates a private table named after the list (it shows under **All** and in Artifacts).
* CSV import itself doesn't use credits. LinkedIn imports and the Lead Finder do — see [Lead Finder](/records/lead-finder#free-allowance-and-credit-costs) and [Credits](/billing/credits).
* Exports leave out Connie's internal columns (for example workflow trigger and membership columns).

## Troubleshooting

<AccordionGroup>
  <Accordion title="All rows were detected as duplicates, so zero rows were imported">
    **Why:** every row matched an existing record on the object's duplicate fields (People: email or LinkedIn; Companies: LinkedIn or website). **Fix:** nothing is lost — the matching records are linked into your list, with blank fields filled. To overwrite values instead, change **When a match is found** in **Settings** → **Objects**.
  </Accordion>

  <Accordion title="CSV file appears to be empty / Failed to parse CSV file">
    **Why:** the file has no rows, isn't a real CSV, or is malformed. **Fix:** open it in a spreadsheet app, check the first row is a header, and save it again as CSV (UTF-8).
  </Accordion>

  <Accordion title="Some rows have more values than the CSV header">
    **Why:** a cell contains an unquoted comma, so the row splits into too many columns and "Values on those rows may import into the wrong columns". **Fix:** re-save the file from a spreadsheet app so text with commas is quoted.
  </Accordion>

  <Accordion title="The import failed with a Try again button">
    **Why:** the upload was interrupted. **Fix:** click **Try again** — the form reopens with the same name, object, file and mapping, and the empty list from the failed attempt is removed.
  </Accordion>

  <Accordion title="Rows imported, but couldn’t be added to the list.">
    **Why:** the records were saved to the object but linking them to the list failed. **Fix:** open the object from the **Objects** section of the sidebar to find them, then import into the list again — duplicates will be linked, not doubled.
  </Accordion>

  <Accordion title="A column from my CSV is missing after import">
    **Why:** the column was completely empty, or it exists on the object but is hidden in this list. **Fix:** open the column settings in the toolbar and switch it on.
  </Accordion>

  <Accordion title="Columns look empty right after a big import">
    **Why:** the list is still catching up. **Fix:** wait a moment, then reload the page.
  </Accordion>

  <Accordion title="My CSV created duplicates">
    **Why:** the object has no duplicate matching (Deals, Tasks and custom objects by default), or the duplicate field wasn't mapped. **Fix:** set **Match duplicates by** in **Settings** → **Objects**, make sure that column is mapped, and import again.
  </Accordion>

  <Accordion title="URL must start with https://www.linkedin.com/search/results, /sales/search, or /talent/">
    **Why:** you pasted a profile or other link into a search import. **Fix:** run the search on LinkedIn or Sales Navigator and paste the URL of the results page.
  </Accordion>

  <Accordion title="The LinkedIn import will not start">
    **Why:** no LinkedIn account is connected, or the connection is broken. **Fix:** under **Select LinkedIn account** click **Add account**, or reconnect the account. See [Connect accounts](/tools/connect-accounts).
  </Accordion>

  <Accordion title="Some relation columns could not be loaded. Those cells may be blank in the export.">
    **Why:** Connie couldn't fetch some linked records while exporting. **Fix:** export again.
  </Accordion>
</AccordionGroup>

## Related

* [CRM sync](/records/crm-sync) — HubSpot, Attio and folk sync; other CRMs via CSV
* [Objects and fields](/records/objects-and-fields) — duplicate rules and field types
* [Lead Finder](/records/lead-finder) — find new leads instead of importing them
* [Records troubleshooting](/records/troubleshooting) — more fixes


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.