-
1
Audit your Pipedrive workspace before you plan anything
Every migration failure traces back to a Pipedrive workspace nobody fully understood on the day the project started. Before you talk about mapping, spend a day cataloging what actually lives in Pipedrive today. Pull a count of pipelines, deal stages per pipeline, custom deal fields, custom person fields, custom organization fields, products, activity types, workflow automations, Pipedrive Marketplace apps, open API integrations, Smart Docs templates, and connected email accounts. Export each list to a spreadsheet. Then interview three reps and the sales manager: which fields do they actually use, which pipelines are dead, which automations fire that nobody can explain. Expect to find at least a third of the schema is cargo. Decide now what moves to Strkr, what gets retired, and what gets consolidated. Migration is the one moment where cleanup is cheap because every change is already a change, so do not waste it by porting dead weight.
- Export counts of pipelines, stages, custom fields, products, activity types, and workflow automations
- Interview three reps and the sales manager to separate used fields from vestigial fields
- Mark each custom field as keep, retire, or merge-with-another in the audit sheet
- Document every third-party integration touching Pipedrive and whether Strkr has a native equivalent
Tip: If a Pipedrive custom field has fewer than ten non-null values across your whole account, retire it instead of migrating it. Dead fields decay the next CRM the same way they decayed this one.
-
2
Design the Strkr target schema before you touch an export
Pipedrive and Strkr do not share a one-to-one object model, and if you try to bolt Pipedrive conventions onto Strkr you will inherit the same friction you are leaving. Pipedrive models Deals, Persons, and Organizations as mostly flat records with custom fields hung off each. Strkr models Opportunities, Contacts, and Accounts with first-class relationships, products on opportunities, pipeline-scoped stages, and required-field validation that fires at stage advancement. Decide now which Pipedrive concepts collapse and which expand. A single Pipedrive pipeline with twelve stages often becomes two Strkr pipelines of six stages each because the twelve mixed new-business and expansion flows that should not share a forecast. Custom fields that lived on Pipedrive Deals may belong on the Strkr Account instead if they describe the company rather than the sale. Draft the full target schema in a doc, review it with sales leadership, and lock it before building anything. Changing the target schema after reps start using Strkr is five times more expensive than changing it on paper.
- List every Pipedrive object you are keeping and name its Strkr equivalent (Deal to Opportunity, Person to Contact, Organization to Account)
- Decide which multi-pipeline Pipedrive setups collapse into one Strkr pipeline and which stay separate
- Reclassify custom fields: Deal fields that describe the company move to the Strkr Account; fields that describe the buyer move to Contact
- Draft stage-level exit criteria in Strkr terms rather than inheriting Pipedrive stage names verbatim
Tip: If a Pipedrive pipeline carries both new-business and renewal deals with the same stages, split them in Strkr. A single pipeline for two motions is why your Pipedrive forecast drifts; do not reproduce the problem.
-
3
Clean the Pipedrive data before you export
Dirty data is cheaper to clean in the source than in the target. Spend two days in Pipedrive doing a hard sweep before any export runs. Merge duplicate organizations and persons using Pipedrive native merge, since the merge preserves history and relationships. Standardize country, state, and industry picklists so Strkr validation does not reject half your rows on import. Close out deals that have been open longer than two sales cycles with a close reason, because stale open deals pollute every forecast report you build next. Reassign deals from deactivated users to active owners, otherwise Strkr will create ghost owners during user mapping. Normalize phone numbers to E.164 and email case to lowercase. Attach every orphan activity to its deal if the deal still exists, or mark it as account-level if the deal is gone. Document every cleanup rule in a short sheet so you can rerun the same cleanup if a second extract becomes necessary during cutover.
- Merge duplicate organizations and persons in Pipedrive using native merge, not spreadsheet dedupe
- Close out deals open longer than two sales cycles with a mandatory loss reason
- Reassign all records owned by deactivated users to a named active owner before export
- Standardize picklists (country, state, industry, lead source) and normalize phone to E.164 plus email to lowercase
-
4
Export cleanly from Pipedrive and stage every file
Pipedrive offers two export paths and you want the right one for each object. The spreadsheet-style Export in Settings covers Deals, People, Organizations, Products, Activities, Notes, and Files as CSVs, which is the baseline you need. The Pipedrive API carries richer fields including custom field metadata, deal history with timestamps, and activity completion markers that the CSV path drops. For a serious migration run both: use CSV for the bulk payload and API pulls for the fields CSV loses. Export each object to its own file, name files with the extraction date, store them in a dated folder, and never overwrite a prior export. Verify row counts match the Pipedrive UI counts before you move on. If you have more than fifty thousand records in any object, request a Pipedrive Enterprise export or paginate the API call; the default CSV truncates silently on large accounts. Compute a SHA-256 checksum on every file and record it in your migration log so you can prove to leadership which snapshot shipped.
- Run Settings > Export for Deals, People, Organizations, Products, Activities, Notes, Files as separate CSVs
- Use the Pipedrive API to pull deal history, custom field metadata, and activity timestamps the CSV path omits
- Verify every row count against the Pipedrive UI before proceeding; a silent truncation at 50k is the most common export failure
- Store exports in a dated folder, never overwrite, and log a SHA-256 checksum per file
Tip: If a Pipedrive export completes in under thirty seconds and you have more than ten thousand deals, something was filtered. Rerun with no filters applied and compare row counts.
-
5
Map Pipedrive fields to Strkr fields with intent, not symmetry
Field mapping is where most migrations lose their shape. The temptation is to match every Pipedrive field to a Strkr field one for one and move on. Resist it. Build a mapping sheet with four columns: Pipedrive object, Pipedrive field, Strkr object, Strkr field. For every row, make an explicit decision: direct match, retype (text to picklist), split (one field becomes two), merge (two fields become one), retire, or synthesize (derived in Strkr at import). Pipedrive stores dates as strings in local timezone; Strkr stores them in UTC with explicit timezone, so every date field needs a timezone decision. Pipedrive custom fields have internal keys like deal_1a2b3c; capture those keys in the mapping so the loader can address them unambiguously. Picklists almost never match exactly, so define the value-level mapping for every option, including the "other" bucket for Pipedrive values that do not exist in Strkr. Review the completed sheet with the sales manager before any load script runs. A mapping sheet nobody reviewed is the single most common cause of a migration that technically succeeded and operationally failed.
- Build a four-column mapping sheet: Pipedrive object/field, Strkr object/field, with a decision column (direct, retype, split, merge, retire, synthesize)
- Capture Pipedrive internal field keys (deal_1a2b3c format) so the loader can address every custom field unambiguously
- Define value-level picklist mapping including an "other" bucket for Pipedrive values with no Strkr equivalent
- Decide the timezone convention for every date field; Strkr stores UTC with explicit timezone, Pipedrive does not
Tip: If your mapping sheet has more than one hundred rows, you are migrating too much. Push ten percent of the fields back to the retire column before you cut a single load script.
-
6
Build users, pipelines, and custom fields in Strkr first
Load scripts fail loudly when the target schema is incomplete, so build everything the data depends on before you touch an import. Create users in Strkr with the same email addresses they used in Pipedrive, because owner mapping keys off email in almost every migration. Set each user to the right role and team so permissions behave on day one; a seat without a role sees nothing, which looks like a migration failure to the rep. Build each pipeline with the stages you designed in step two, in the order deals will actually move through. Add stage-level exit criteria as required fields on the Opportunity now, not later, so historical deals import with the gates already in place even if the data pre-dates the policy. Create every custom field from the mapping sheet, matching the field type and picklist values exactly. Create products and lead sources in the right objects. Only after schema is complete should you begin uploading records. Trying to build schema and load records in parallel always ends with a reload after someone adds a missing field.
- Create every Strkr user with the Pipedrive email, right role, and right team before load scripts run
- Build pipelines and stages in the order deals move through them, with exit criteria defined as required fields
- Create every custom field from the mapping sheet with matching type and picklist values
- Create products, lead sources, activity types, and loss reasons so related imports do not reject on foreign key
-
7
Dry-run the import on a Strkr sandbox and reconcile every count
Never load migration data straight into production. Spin up a Strkr sandbox workspace or an isolated environment and run the full load there first. Load Accounts, then Contacts, then Opportunities, then Products on Opportunities, then Activities, then Notes, then Files, in that order, because each later object depends on foreign keys from the earlier one. After each load, compare row counts to the source export: Pipedrive organizations should match Strkr accounts within a small, named delta explained by dedupe merges. Contacts to persons likewise. Open deal count must match within one. Pipedrive activity totals should match Strkr activity totals by month. Build a reconciliation sheet that lists each object, the source count, the loaded count, the delta, and the reason for any delta. If any delta is unexplained, stop and investigate before loading production. The sandbox is also where you catch silent transform bugs: a date in the wrong timezone, a picklist that fell into "other" at ten times the expected rate, an owner mapping that put a hundred deals on a service account. Those failures are free to find in the sandbox and ruinous to find in production.
- Load in dependency order: Accounts, then Contacts, then Opportunities, then Products, then Activities, then Notes, then Files
- Reconcile source counts to loaded counts after every object and document every delta with a named reason
- Compare monthly activity totals between Pipedrive and Strkr to catch timezone-driven miscounts
- Spot-check twenty random high-value deals end to end to verify custom fields, owner, stage, and activity history landed correctly
Tip: If your Pipedrive "other" picklist bucket in Strkr has more than ten percent of rows, your value mapping is wrong. Fix it in the sheet and reload, do not patch records in place.
-
8
Rebuild automations, integrations, and reports natively in Strkr
Pipedrive workflow automations and Strkr automations are not drop-in equivalents, and copying rules one for one usually produces a mess. Take the automation inventory from step one and sort each rule into keep, redesign, or retire. For each keep, rebuild in Strkr using native triggers and actions rather than mimicking Pipedrive syntax. Pipedrive relies heavily on activity-based triggers; Strkr can trigger on field changes, stage changes, lead conversions, and inbound webhooks, so some automations become simpler and some reshape entirely. Rebuild integrations the same way: if you were using Pipedrive to Slack via a third-party connector, use the Strkr Slack integration directly if it covers the use case, and only reach for a middleware tool if the native coverage is incomplete. Reports deserve their own pass. Export your top ten Pipedrive reports as PDFs so you have a visual reference, then rebuild them in Strkr using Strkr field names and object shapes. Do not try to pixel-match the Pipedrive dashboard; design for the questions sales leadership actually asks weekly, and prune the long tail of reports no one opens.
- Sort every Pipedrive automation into keep, redesign, or retire; rebuild only the keeps
- Favor native Strkr integrations for Slack, Google Workspace, Microsoft 365, calendar, and email over middleware
- Export the top ten Pipedrive reports as PDFs for reference, then rebuild in Strkr around current leadership questions
- Retire any report that leadership has not opened in ninety days; the migration is the right moment to let it go
-
9
Run a parallel period and train the sales team
Even a clean load benefits from a short parallel window where Pipedrive stays read-only and Strkr becomes the source of truth. Freeze Pipedrive writes on the agreed cutover date; new deals, activities, and updates happen only in Strkr. Keep Pipedrive accessible for one to two weeks in read-only mode so reps can look up anything that feels missing. Train the team in two sessions: a thirty-minute live walkthrough covering navigation, logging activities, moving deals, and running the daily rep view; and a one-hour role-based session for managers covering pipeline review, forecast, and dashboards. Record both sessions and post them. Open a dedicated Slack channel or support thread where reps can file any "where did my X go" question and route those questions to a single named owner for the first two weeks. Track question volume daily; a healthy migration sees question volume peak in week one and drop by half by day ten. If question volume is still climbing in week two, something in the mapping or training is wrong and you need to intervene before trust erodes.
- Freeze Pipedrive writes on cutover day; keep it read-only for one to two weeks for reference lookups
- Run a thirty-minute rep training and a one-hour manager training, record both, post the recordings
- Open a single named channel for migration questions and assign one owner to triage
- Track daily question volume; declining volume by day ten means landing is on track
Tip: A rep who cannot find their deals on day two will stop trusting the system by day five. Prioritize the question channel above every other migration task in the first week.
-
10
Decommission Pipedrive on a schedule, not a vibe
A migration is not finished until the old system is formally closed. Set a decommission date thirty to forty-five days after cutover, written in the project plan on the first day. During the decommission window, Pipedrive stays read-only and the migration owner audits weekly: are reps still opening Pipedrive, which reports are being pulled, which fields are being referenced. By the end of the window, the answer to all three should be none, almost none, and none. On the decommission date, export one final archive snapshot of Pipedrive to cold storage so legal and audit requests from past deals remain answerable. Downgrade the Pipedrive subscription to the lowest tier for ninety more days as insurance, then cancel. Document the full migration in a short retrospective: what moved, what retired, what we would do differently. Store that retrospective in the Strkr workspace itself, so the next team that inherits the system knows the history. Migrations that end cleanly give the next twelve months of CRM work a chance to be about selling instead of about moving.
- Pick a decommission date thirty to forty-five days post-cutover and publish it on day one of the migration
- Export a final archive snapshot of Pipedrive to cold storage before cancellation for audit and legal lookups
- Downgrade Pipedrive to the cheapest tier for ninety more days as insurance, then cancel outright
- Write a short retrospective and store it inside the Strkr workspace for whoever inherits the system next