---
title: "CSV import - HubSpot, Pipedrive, Salesforce | Floral"
description: "Import companies and people from any CRM export. Auto-detect columns, dedupe on CVR and email, seed Danish company data from Proff.dk. 5 MB / 2,000 rows per import."
canonical: https://floral.so/features/crm/csv-import
---

# CSV import - HubSpot, Pipedrive, Salesforce | Floral

> Import companies and people from any CRM export. Auto-detect columns, dedupe on CVR and email, seed Danish company data from Proff.dk. 5 MB / 2,000 rows per import.

Source: https://floral.so/features/crm/csv-import

[CRM add-onRead about Floral CRM add-on ](https://floral.so/features/crm)

# Bring your existing contact list in

Export from HubSpot, Pipedrive, or Salesforce. Drop the CSV into Floral. The importer auto-detects columns, dedupes on email and CVR, seeds Danish company data from Proff.dk, and dumps anything unrecognised into a metadata bag you can clean up later.

[Read about Floral CRM](https://floral.so/features/crm)[Let's meet](https://floral.so/book-a-demo)

The flow

## Three steps from CSV to clean data

Step 1

### Upload

Drag in a .csv. Floral auto-detects the delimiter - comma, semicolon, or tab.

Step 2

### Map columns

Auto-mapped where possible (30+ aliases per field). Manual mapping for the rest, with field-type hints.

Step 3

### Preview & import

See what will be inserted, updated, and skipped. Confirm. Floral runs the import and reports per-row results.

The details

## What makes it actually useful

### Auto-detect delimiter

Comma, semicolon, tab. No fiddling with export settings before the upload.

### 30+ aliases per field

"Company Name", "Account", "Organization", "Konto", "Virksomhed" - all map to the right Floral field automatically.

### CVR seeding

If a row has a CVR, Floral pulls Proff.dk data alongside the import - industry, employee count, address.

### Email + CVR dedupe

Duplicate detection on import. Repeat rows update existing records and log an activity entry.

### Metadata bag

Unmapped columns become metadata key-value pairs. Visible on detail pages; promotable to custom fields later.

### Per-row report

Inserted, skipped, errored - with row number and column name for the first 50 errors. Fix and re-import safely.

Related features

## Pairs well with

[Companies & contactsWhere the imported records live afterwards.Learn more ](https://floral.so/features/crm/companies-and-contacts)[Custom fieldsMap your existing custom data shape into Floral fields.Learn more ](https://floral.so/features/crm/custom-fields)[CRM integrationsKeep your old CRM as the source of truth during the transition.Learn more ](https://floral.so/features/crm/integrations)

[All CRM add-on features](https://floral.so/features/crm)[All core features](https://floral.so/features)

## Frequently asked

Which CRMs is the importer designed for?

HubSpot, Pipedrive, and Salesforce exports work out of the box. The importer auto-detects most common column names and falls back to a manual mapping step where you can rename anything that did not match.

Will it create duplicates?

No. Deduplication runs on CVR for companies and email for people. Repeat rows update existing records and add an activity entry. Floral never silently creates duplicates.

What about columns the importer does not recognise?

Unmapped columns fall into the entity’s metadata bag - a Stripe-style key-value store visible on the detail page. You can later promote a metadata key to a real custom field if it turns out to be load-bearing.

Are there limits?

5 MB file size, 2,000 rows per import. For larger datasets, split into batches; we are happy to run a few imports together on a kickoff call.

What if my import partially fails?

Per-row results: inserted, skipped (duplicate), or errored. Floral reports the first 50 errors with the column and row that failed. Fix and re-import - the dedupe means re-imports are safe.

## Bring your contacts. Keep your time.

Import your contacts in the same session you sign up.

[Sign up](https://floral.so/signup)[Let's meet](https://floral.so/book-a-demo)
