Migrate from Pipedrive
The fields move. The activity history does not.
Organizations, persons and deals import by CSV with a Pipedrive preset, including a stage translation. Custom fields export under internal ids, so those columns are mapped by hand.
What this move actually is.
Four facts that decide most of the work, before any column is mapped.
- The files
- Three exports: Organizations, Persons, Deals. Pipedrive can export a filtered list view or the whole object, and Spodus reads the CSV or the Excel file either way.
- The preset
- Spodus ships a Pipedrive preset covering all three objects, with a translation table for the default pipeline stages. It also understands Pipedrive's denormalised columns, the ones named like Organization - Name.
- The order
- Accounts, then Contacts, then Deals. Pipedrive writes the related record's name straight into the row, and Spodus stores a link as a name, so the two line up with no id resolution needed.
- The direction
- One way, once. There is no sync and no way to keep the two pipelines in step, so the move happens on a date rather than over a period.
Column by column.
What each Pipedrive column becomes, and what the importer deliberately leaves alone.
| Pipedrive column | Lands in | Notes |
|---|---|---|
| Organizations, into Accounts | ||
| Name / Organization - Name | Name | The primary field, and what duplicates are checked on |
| Owner / Organization - Owner | Owner | Matched against your Spodus roster |
| Address | Deliberately unmapped. It is a whole postal address and the Spodus field holds a city | |
| Persons, into Contacts | ||
| Name / Person - Name | Name | One column, not two, so nothing is joined |
| Email / Person - Email | ||
| Phone / Person - Phone | Phone | |
| Organization / Organization - Name | Account | A link, resolved by name |
| Deals, into Deals | ||
| Title / Deal - Title | Name | |
| Value / Deal - Value | Amount | Grouping separators and currency symbols are stripped; what is left has to be a number |
| Organization - Name | Account | A link, resolved by name |
| Expected close date | Close date | |
| Owner / Deal - Owner | Owner | Matched against your roster |
| Stage / Deal - Stage | Stage | Lead In to New, Contact Made and Demo Scheduled to Discovery, Proposal Made to Proposal, Negotiations Started to Negotiation |
| Custom fields | They export under internal ids like abcdef123456, which no preset can name. Map them by hand | |
The custom-field row is the one worth planning for. A real Pipedrive export carries a column for every custom field named by its internal id, so the Map step shows you a list of unreadable identifiers under Ignored columns. Open Pipedrive's own field settings beside the file, work out which id is which, create the matching field in Spodus, and map them one at a time. These aliases came from Pipedrive's published field list and have never been run against a customer's file, so treat a column that fails to bind as ordinary rather than broken.
What does not come across.
A spreadsheet holds text. Everything below is either not in the export or has no field here to land in.
Activities and the history
Calls, meetings, emails and every note on a deal. Pipedrive exports these separately at best, and Spodus has no import path that writes into a record's activity feed, so the history stays behind.
Email sync and threads
Mail Pipedrive pulled onto a deal is not part of an object export. Spodus can sync a mailbox for going forward, but nothing backfills the conversations you already had.
Files and documents
Attachments, quotes and documents on a deal. A CSV holds text, so these are downloaded and re-uploaded to the record here, or left where they are.
Products on a deal
Spodus has a Products and services object you can import a price list into, but nothing in the import attaches a product to a deal, so line items do not travel.
Workflow automations and reports
Spodus has its own automations and dashboards and reads no Pipedrive definition. Rebuilding the ones you rely on is a short job, and a useful audit of the ones you do not.
Users, permissions and visibility groups
Nobody is invited by an import. Add your people in Settings, where per-object access is set as well.
How to do it.
In this order. Steps two and three are the ones people skip and then repeat.
Export three files, and take the custom fields with them
Organizations, Persons and Deals. Include your custom fields even though their headers will be unreadable ids: it is far easier to map an id you have than to run the export again in a fortnight.
Decode the ids and create the fields
Open Pipedrive's field settings beside the spreadsheet and rename the id columns to something human in the sheet itself. Then create the matching fields in Spodus. This is the longest step and doing it in the sheet, rather than in your head on the Map step, is what makes it bearable.
Import Accounts
Open Accounts, press Import, upload the Organizations file. The Map step should announce a Pipedrive export. Note that Address is deliberately left alone, because it is a full postal address and the Spodus field is a city; put it in a field of your own if you need it.
Import Contacts, then Deals
The organisation name on each row becomes a link by name. With the accounts already in, the preview should report nothing unresolved. Any number it does report is a spelling difference worth fixing in the sheet before you import.
Read the preview, then import
Duplicates against your existing records, cells that could not be read, and links pointing at nothing are all counted before the write. Skip duplicates is on by default and automations are off by default.
Rebuild pipelines, views and automations
If your Pipedrive stages were renamed, set the Spodus stage options to match before or after the import, and remember that a stage the table did not translate arrived as plain text.
How long it realistically takes.
Measured in the phases the work actually falls into, including the ones that are not importing.
- Exporting three files
- 10 to 20 minutes. Faster than HubSpot; no email wait on a list export.
- Decoding custom field ids
- 30 to 120 minutes. The step that decides how long this takes.
- Each file, upload to imported
- 10 to 20 minutes. Three files, so about an hour.
- Fixing what the preview flags
- 20 to 60 minutes. Renamed stages and unreadable amounts.
- Rebuilding views and automations
- 2 to 4 hours. Once, not per file.
- Activities, mail and files
- Not included. None of them has an import path.
A Pipedrive account with no custom fields is an afternoon. One with thirty custom fields is two days, and almost all of the difference is the decoding step. If you have been meaning to delete half of those fields, this is the moment where doing so saves real hours.
True of any import into Spodus.
The same four rules apply whichever tool you are leaving.
- It is a file, not a connection
- Spodus reads .csv and .xlsx. Not .xls, which no spreadsheet parser here can open, and not JSON. There is no public API and nothing keeps two systems in step, so what you get is a copy of your data as it stood the moment you exported it.
- One file per object
- You import into an object, not into the workspace. Open Contacts and import contacts; open Deals and import deals. A vendor that keeps people, companies and deals in three exports needs three passes.
- Links are stored as names
- A deal points at an account by name, and the link resolves the moment a record with that name exists. So importing accounts before deals is a convenience rather than a rule, and a link that lands unresolved starts working when the missing record arrives.
- Nothing is written until you press Import
- The preview counts duplicates against the records already in your workspace, counts the cells it could not read, and counts the rows pointing at something that does not exist yet. All three are on screen before the write.
Do not migrate off Pipedrive if:
- The activity history is the asset. Calls, meetings and mail on a deal have no import path here, and a pipeline whose value is what was said last Tuesday will arrive as a set of empty records with the right names on them.
- You need both CRMs live during a handover. There is no public API, so nothing syncs, and a phased cut-over means entering everything twice by hand.
- You sell from a product catalogue on the deal. Line items do not attach to a deal through the import.
- You want a vendor to run the project. There is no migration service and no engineer assigned to this. The export and the mapping are yours.
There is no migration service and no engineer here who will do this for you. It is your export, your mapping and your afternoon.
Questions, answered.
Why are half my columns named like abcdef123456?
Why is the organisation address left out?
Do my pipeline stages survive?
Should I import deals or organisations first?
Coming from something else?
The same page, for the other tools people leave behind.
