KarmaFlow supports bulk import of contacts and lists from CSV files, Excel spreadsheets (.xlsx / .xls), and directly from connected cloud storage (Google Drive and OneDrive).
.xlsx and .xls workbooks. The first sheet is imported automatically.The import runs in the background. When it finishes, KarmaFlow shows a summary of the results.
By default, imported records land in the Contacts module. Tick Import as leads to have new records land in CRM > Leads instead, at lifecycle stage Lead — the right choice for a file of cold prospects that still need qualifying. The option only affects records the file creates: a record that already exists in your CRM keeps its current lifecycle stage, so re-importing a customer's email can never demote them back to a lead. The same option is available when importing into a list.
To import contacts directly into a list:
Matching contacts are created or updated and then added to the selected list.
Companies import from their own page:
Columns like name, domain, website, industry, size, phone, city and country are mapped automatically. An existing company is matched by domain first, then by an exact name match, and only its empty fields are filled from your file — an import never overwrites company data you have curated.
Importing requires the crm:import permission.
A contact's email address usually says where they work: bob@acme.com belongs with the company on acme.com. Both importers can make that link for you as the file loads, so imported people arrive attached to their company instead of sitting unassociated.
Importing contacts or a list. Tick Associate companies by email domain on the import form. Each row's address is matched against the companies already in your CRM — by the company's domain, or by any domain listed on it for helpdesk routing — and a match sets the contact's company.
Importing companies. Tick Associate matching contacts by email domain. Every company in your file then adopts the contacts already in your CRM whose email ends in its domain. This is the one to use when the people arrived before their company did.
Both options are off unless you tick them, and both are deliberately conservative:
| Situation | What happens |
|---|---|
| Contact already has a company | Left exactly as it is — an import never re-files someone |
| No company in the CRM owns that domain | The contact is left unassociated; no company is created |
Personal address (gmail.com, outlook.com, yahoo.com…) |
Never matched — one shared provider would otherwise sweep unrelated people into a single company |
A subdomain such as eu.acme.com |
Not treated as acme.com; it may be a separate organization |
| Contact has a company name typed in but no company record | The link is made, and your typed text is kept |
The result panel reports what happened. A contact or list import breaks the file down — how many contacts were linked, how many already had a company, how many sat on a domain no company owns, and how many were personal addresses. A company import reports how many existing contacts were associated and across how many companies.
Two other tools pick up where the import option deliberately stops. The Suggestions button on CRM > Companies works from the company names typed on your contacts rather than from email domains: it lists names that have no company record yet, and Create & Link makes the company and attaches those contacts — so unlike the import option, this one does create companies, one approved name at a time. And for hand-picking — someone on a personal address, or a company whose people span several domains — open a company and click Contacts to review suggested people and link them yourself.
Every import form carries an Assign owner picker. Choose a user and every record the file creates is assigned to them; records that already exist keep their current owner, and only unowned ones are filled — an import never reassigns anyone's book. Contact, list, and company imports leave records unassigned when the picker is left on Unassigned; deal imports default to the person running the import.
Deals have their own importer at CRM > Deals > Import, with company and contact association built in — see Deals for the full column set and matching rules.
Different regions use different delimiters in CSV files:
| Region | Common Delimiter |
|---|---|
| North America, UK | Comma (,) |
| Germany, France, Italy, Spain | Semicolon (;) |
| Tab-delimited exports | Tab |
| Legacy systems | Pipe (|) |
Select the matching delimiter before importing to ensure columns are parsed correctly.
If you have connected Google Workspace or Microsoft 365 in your account settings, the import page will show those sources automatically. You can:
To connect a cloud storage provider, visit Settings > Google Workspace or Settings > Microsoft 365.
YYYY-MM-DD) for dates where possibleDuring import, KarmaFlow attempts to match contacts by email address. If a match is found:
When an import into a list finishes, the Import Complete screen offers the natural next steps: View this list, Send a campaign to this list (opens the campaign wizard with the list already selected — see Sending a Campaign), and Import More. Contacts imported with a phone number are matched to SMS conversations by that number, so replies to a campaign land on their timeline.
You can review past imports from the import page. Each import shows: