How to Migrate Salesforce to Pipedrive

Michelle
Written By
Michelle
Reviewed By
Salesforce to Pipedrive migration illustration showing records moving from Salesforce into a Pipedrive pipeline
Share this

Migrating from Salesforce to Pipedrive is a data-model redesign, not a file transfer. Salesforce can spread one deal across Account, Contact, OpportunityContactRole, Opportunity, OpportunityLineItem, and PricebookEntry, with Record Types, Flows, and Apex layered on top. Pipedrive uses Organizations, People, Leads, Deals, Activities, Products and Projects.

Every Salesforce asset therefore needs a decision: migrate, transform, rebuild, integrate, archive, or retire.

One Pipedrive limit makes that discipline important from day one. Custom fields are capped at 30 per company on Lite, 100 on Growth, 300 on Premium, and 500 on Ultimate. A mature Salesforce org can easily carry more fields than that across Account, Contact, Lead, and Opportunity combined.

TL;DR

  • What moves depends on the migration route. Spreadsheet import, an assisted tool such as Import2, and a custom API build each support a different set of objects. Email Messages and Opportunity Line Items are clear examples.
  • OpportunityContactRole has no single equivalent. The primary role can become the Deal’s linked Person, while additional contacts can become Deal Participants. The Salesforce role itself still needs a separate destination.
  • Person Accounts, converted Leads, and Contacts to Multiple Accounts each need an explicit migration rule before any load starts.
  • Preserve the Salesforce 18-character record ID on every migrated object. Use it as the source-system key for reconciliation, relationship mapping, and delta logic, and maintain a crosswalk to the corresponding Pipedrive System ID to update existing Pipedrive records.

We checked product limits, plan names, API behavior, and migration-tool object support against Pipedrive, Salesforce, and Import2 documentation in October 2026. These products change regularly, so verify current documentation and your own account configuration before planning a production migration.

What Salesforce Data Can You Migrate to Pipedrive?

Most of the Salesforce sales model has a destination in Pipedrive. What varies is the migration route.

The Pipedrive spreadsheet importer accepts people, organizations, leads, deals, projects, activities, notes, and products. Assisted migration and custom API work can go further.

Salesforce assetPipedrive destinationSpreadsheet routeAssisted or API notes
AccountOrganizationYesImport2 maps Accounts to Companies
Account (Person Account)Person, or Person plus OrganizationYes, once you define the ruleImport2 supports Person Accounts, exported as account plus contact
Account.ParentIdRelated organizationsNoAPI or manual. In the UI, relationships must be deleted and recreated to change them
ContactPersonYesSupported by Import2
Lead (open)Lead, Person, or Person plus DealYesImport2 can also create the related contact and account when the Lead carries account data
Lead (converted)Usually nothing newExcludeImport2 migrates the Account, Contact or Opportunity it became
OpportunityDealYesSupported by Import2
OpportunityContactRoleLinked Person plus ParticipantsParticipants can be bulk imported when updating existing DealsPreserve the primary Person carefully; Salesforce Role needs a separate destination
OpportunityLineItemDeal productNo. Products import, product-to-deal links do notImport2 supports Opportunity Line Items on both sides
Product2ProductYesSupported by Import2
Pricebook, PricebookEntryNo equivalent objectNoImport2 exports them from Salesforce but lists no direct Pipedrive destination
Task, Event, Note, ContentNoteActivity and NoteYesImport2 maps Tasks to Tasks and Events to Meetings
EmailMessagePipedrive emailNo spreadsheet email item typeImport2 supports it. Email Sync is another route
Salesforce Files, ContentDocumentFile or attachmentNoImport2 supports Files, with Attachments as the Pipedrive destination
Case, Campaign, CampaignMember, custom objectsNo direct equivalent objectNoExport from Salesforce, then redesign, integrate, archive or retire
Flow, Process Builder, ApexPipedrive automations or middlewareNoRebuild

Read this table as an intersection.

Import2 publishes separate lists for Salesforce as a source and Pipedrive as a destination. An object only flows end to end when it exists on both sides.

Cases, Campaigns, Quotes, Pricebooks, and custom objects may export cleanly from Salesforce but still have nowhere equivalent to land in Pipedrive. Verify both lists against your own org before planning the migration, because tool coverage changes.

Salesforce Relationships That Do Not Map One-to-One

Ten Salesforce constructs have no clean Pipedrive counterpart. Settle each one before you touch an export. These are business-model decisions, not mappings an engineer can safely infer.

The third column identifies the Salesforce field or relationship you use to reconstruct the connection.

Salesforce constructWhy it does not map cleanlyJoin on
Person AccountsOne record behaves as both Account and ContactIsPersonAccount
Contacts to Multiple AccountsA Pipedrive Person has one primary OrganizationContact.AccountId for the primary relationship
OpportunityContactRoleA Deal has one linked Person. Extra contacts can become Participants, but Participant records do not preserve the Salesforce roleIsPrimary for choosing the main Person
OpportunityLineItemA relationship between an Opportunity and Product rather than a simple field, and spreadsheet imports cannot create the deal-product linkOpportunityId and Product2Id
Account.ParentIdRelated organizations sit outside the spreadsheet importerAccount.ParentId
Pricebook and PricebookEntryPipedrive stores prices on Products and price variations rather than through catalog-wide PricebooksNo direct key. Redesign
Record TypesNo equivalent. Layouts, required fields, picklist subsets and sales-process behavior do not transferRecordTypeId
WhoId and WhatIdPolymorphic. One Task can relate to a Lead, Contact, Account, Opportunity or custom objectID prefix of WhoId and WhatId
Salesforce Files via ContentDocumentLinkOne Salesforce file can relate to several records, while a Pipedrive file is attached within a different relationship modelLinkedEntityId
Converted LeadsThey have already produced an Account, Contact, and often an OpportunityConvertedAccountId, ConvertedContactId, ConvertedOpportunityId

Pipedrive can create and link records that share the same spreadsheet row. For example, a row containing a Person name, Organization name, and Deal value can create and link all three.

That is useful during an initial load, but do not rely on names for later update passes.

Preserve the Salesforce ID as the source-system key, then capture the Pipedrive System ID generated for each migrated record. Maintain a crosswalk such as:

Salesforce Record ID → Pipedrive System ID

Use Salesforce IDs to reconcile and join source data in staging. Use Pipedrive System IDs when spreadsheets need to update or link records that already exist in Pipedrive.

Map Salesforce Objects to Pipedrive

Salesforce Person Accounts, Contacts and Leads mapping to Pipedrive People, Organizations and Deals

Salesforce Accounts → Pipedrive Organizations

Organization name is the mandatory value for an Organization. Deals and Leads also need a linked Person or Organization when imported.

Account fieldPipedrive destination
NameOrganization name, also one of Pipedrive’s main duplicate signals
WebsiteNative field. The registrable domain is usually a stronger matching key than company name
BillingAddressOne address field containing street, city, state, postal code and country
Industry, AnnualRevenue, NumberOfEmployeesNative Organization fields available during import
OwnerIdResolve to an active Pipedrive user
ParentIdRelated organizations, built after the Organizations exist

Account.ParentId can map to Related organizations. Pipedrive supports Parent, Daughter, and Related relationships and automatically creates sister relationships between daughters of the same parent.

Build these relationships only after the Organizations exist.

Check the direction carefully before creating them. In the Pipedrive UI, you can’t edit an existing relationship in place; you must remove it and recreate it. API-based migration can manage these relationships programmatically.

Salesforce Person Accounts → Pipedrive

A Salesforce Person Account represents an individual through the Account model. Pipedrive has no combined Person-and-Organization object, so choose one destination rule before migration.

Salesforce Person Account migrating to Pipedrive as a Person only, a Person linked to an Organization, or a Person under an internal Organization
  • Use Person only when the business sells directly to individuals.
  • Use Person plus a matching Organization when Deals, invoicing or reporting depend on an Organization-level record.
  • Use Person plus a shared catch-all Organization only when the reporting model requires every Person to belong somewhere.

Flag Person Accounts during the audit using IsPersonAccount, because they should not follow the same migration logic as standard business Accounts.

Import2 documents Person Account support, but test the chosen Pipedrive outcome with a representative sample before production migration.

Salesforce Contacts → Pipedrive People

Name is mandatory. Including email and phone gives you stronger matching and duplicate-review signals.

Salesforce can relate one Contact to several Accounts through Contacts to Multiple Accounts. Pipedrive uses one primary Organization relationship for a Person.

Choose which Account becomes primary and decide what happens to the remaining relationships.

Orphan Contacts can remain standalone People, but decide whether that is intentional or whether they should be attached to a catch-all Organization. The choice affects reporting later.

Two setup details can prevent rework.

Pipedrive creates a job_title Person field automatically when Contact Sync is enabled. Creating another field for the same purpose can split equivalent data across separate API keys.

If you plan to use Campaigns by Pipedrive, also map Salesforce opt-out data to the appropriate Person marketing status during this load.

Salesforce Leads → Pipedrive

Pipedrive Leads sit in a separate Leads Inbox and do not move through pipeline stages. A Salesforce Lead therefore does not automatically need to become a Pipedrive Lead.

Use a routing rule based on how the Lead is actually used.

Lead populationDestination
Open, unworkedPipedrive Lead
Worked and qualified, no Opportunity yetPerson plus Deal
Really a contact at a known companyPerson, or Person plus Organization
Aged, unworked or no longer usefulArchive or retire
Converted (IsConverted = true)Usually nothing new

Converted Leads require special handling.

A converted Salesforce Lead has already produced an Account, Contact and often an Opportunity. If those records are already in migration scope, migrating the Lead again can create a second Person and sometimes a second Deal.

Filter on IsConverted and exclude converted Leads by default.

Keep ConvertedAccountId, ConvertedContactId and ConvertedOpportunityId in staging so you can prove that the records created by conversion reached Pipedrive. Import2 follows the same general approach.

Watch the Pipedrive quota as well.

Pipedrive’s Leads and Deals allowance counts active Leads together with Deals that are not archived or deleted. Limits run from 2,500 records per seat on Lite to 20,000 on Ultimate, with a company-level cap.

Leads also use Deal custom fields, so you cannot design a completely separate custom-field model for Leads.

Salesforce Opportunities → Pipedrive Deals

This mapping carries some of the highest reporting risk in the migration.

SalesforcePipedriveNotes
NameDeal titleOptional. Pipedrive can generate a title from the linked Person or Organization
StageNamePipeline plus StageStages belong to Pipelines, so define the Pipeline first
Amount, CurrencyIsoCode, CloseDateValue, currency, expected close dateDirect mapping
ProbabilityDeal probabilityMust be enabled on the target Pipeline first
ForecastCategoryNameNo direct equivalentCustom option field, alternative reporting logic, or retire
IsWon, IsClosedStatus: open, won or lostMap explicitly
Loss reason fieldLost reasonStandardize values before migration
OwnerIdDeal ownerMust resolve to an active Pipedrive user
AccountIdLinked OrganizationMap through the Account-to-Organization crosswalk
Primary OpportunityContactRoleLinked PersonSee the contact-role section below

Salesforce stores Probability on the Opportunity, commonly defaulting it from the Stage.

Mapping of Salesforce Opportunity probability, stage, forecast, lost reason and currency to the matching Pipedrive Deal fields

Pipedrive supports both stage probability and deal probability. Stage probability applies to all Deals in a Stage. Deal probability is specific to the Deal, can override the Stage probability, and must be enabled on the Pipeline before it can be used.

Enable it before import if you intend to preserve Salesforce Opportunity Probability.

Forecast Category has no direct equivalent. If Commit, Best Case or similar categories are important to reporting, store them in a custom option field or redesign the reporting process deliberately.

Do not automatically copy StageName values one for one.

Salesforce stage lists often contain obsolete stages or stages created mainly to support forecasting. Translate the stage model first, then map every historical Salesforce value so no open Deal falls into the wrong default Stage.

Do the same for loss reasons.

Pipedrive uses freeform lost reasons by default and can also use a predefined list when configured.

Multi-currency also creates a reporting difference.

Pipedrive converts Deal values to the account’s default currency using exchange-rate data and treats the converted figures as statistical values.

If finance expects historical reporting based on the exact exchange rate at the time an Opportunity closed, reconcile that requirement before migration.

Salesforce Opportunity Contact Roles → Pipedrive Person and Participants

Salesforce can relate several Contacts to one Opportunity through OpportunityContactRole, using OpportunityId, ContactId, Role and IsPrimary.

Pipedrive gives a Deal one primary linked Person and supports additional People as Participants.

A practical migration rule is:

  • Map the contact where IsPrimary = true to the Deal’s linked Person.
  • Map additional contacts to Deal Participants.
  • Give the Salesforce Role value a separate destination when the role itself matters.

Participants are useful, but they are not a one-to-one replacement for OpportunityContactRole. They preserve additional People on a Deal but do not reproduce Salesforce’s Role field.

If one role matters operationally, such as Economic Buyer, a Deal custom field can work.

If the role is only useful as reference history, a Note may be enough.

If nobody uses the role after migration, retire it.

For spreadsheet migration, handle Participants carefully.

Create the Deal and its primary linked Person first. When adding Participants to existing Deals by spreadsheet, use the relevant Pipedrive System IDs for the Deal and existing People.

Pipedrive also warns that bulk Participant imports can affect the Deal’s linked Person. After the Participant pass, validate that the correct primary Person is still attached to every affected Deal and restore it where necessary.

For migrations where preserving the primary contact automatically is critical, an API-based Participant load may provide better control.

Salesforce Tasks and Events → Pipedrive Activities

Salesforce Tasks and Events use polymorphic relationships to link activities to other records.

  • WhoId can reference a Lead or Contact.
  • WhatId can reference an Account, Opportunity, Case, Campaign, or supported custom object.

Before importing, identify the object type behind each relationship and map it to the appropriate Pipedrive record. Don’t rely on the ID alone; validate the relationship. Activities linked to Cases or custom objects outside the migration scope need an explicit rule for preserving, redirecting, or excluding those relationships.

Salesforce Tasks and Events mapped to Pipedrive Activities linked to People, Deals and Organizations

Pipedrive activity types are configurable but do not necessarily match Salesforce’s Task.Type picklist. Create the required Pipedrive activity types and map the Salesforce values before importing.

Completed activities can retain their historical completion status and done time when imported correctly. Map these fields carefully. Otherwise, previously completed Salesforce Tasks could appear as overdue activities in Pipedrive, creating unnecessary cleanup and confusion after launch.

Pipedrive does not offer the same user-defined custom-field model for Activities that it provides for Deals, Leads, People, Organizations, Products, and Projects. You can customize its existing Activity fields, but Salesforce Task custom fields generally need an alternative destination.

Depending on the information, preserve the value in an activity note, map it to an appropriate field on a related record, retain it in another system, or retire it if it is no longer needed.

Salesforce Products, Price Books and Opportunity Products → Pipedrive

Salesforce pricing commonly uses four objects.

  • Product2 stores the Product.
  • A Pricebook groups pricing.
  • PricebookEntry stores a Product’s price within a particular Pricebook and currency.
  • OpportunityLineItem stores what was actually quoted or sold on an Opportunity.

Pipedrive uses a different model.

Salesforce Product2, Price Book, Price Book Entry and Opportunity Line Item mapped to the Pipedrive product catalog, prices, price variations and deal products

Products carry prices directly, including currency-specific prices, and price variations can represent named Product variants with separate prices. Treat this as a pricing-model redesign rather than a straight field mapping.

  • Product2 becomes the Product catalog.
  • The standard Pricebook entry can usually become the Product’s price in the corresponding currency.
  • Additional Pricebook entries by segment, region, or package may become price variations when the model is simple enough. If the difference is really discounting rather than a true catalog variation, apply it at the Deal-product level instead.
  • Complex multi-Pricebook or approval-driven pricing may belong in an external quoting or CPQ system, with Pipedrive storing the resulting Deal and Product values.

Price variations are not an exact equivalent to Salesforce Pricebooks.

They belong to individual Products and do not create a catalog-wide Pricebook structure. Count your PricebookEntry combinations before assuming variations can absorb them cleanly.

Opportunity Line Items also depend on the migration route. The spreadsheet importer can import Products but cannot create the Product-to-Deal relationship. Import2 lists Opportunity Line Items as supported on both sides.

A custom API build is usually the better choice when you need transformation, repeat runs, detailed logging, or complex discount logic.

Salesforce Cases, Campaigns and Custom Objects

Salesforce Cases, Campaigns and Custom Objects with the Pipedrive options: help desk sync, Campaigns add-on, custom fields, Projects or archive

Cases. Pipedrive has no native case or support-ticket object, and Import2 lists no equivalent Pipedrive destination for Cases.

Typical options include moving support into a help desk and integrating it with Pipedrive, summarizing relevant case history on the Organization, archiving the historical data, or retiring it.

Campaigns. Campaigns by Pipedrive is a paid email-marketing add-on that sends to contacts based on marketing status and segmentation.

It does not recreate Salesforce Campaign and CampaignMember, which can carry hierarchy, membership, member status, and influence data.

Split the decision into separate parts. Campaign execution can move to Campaigns by Pipedrive or another marketing platform. CampaignMember history can be archived or selectively flattened into Person-level data. Lead source and campaign source can become fields on Person or Deal where appropriate.

Attribution reporting should either be redesigned for Pipedrive’s reporting model or remain in the marketing platform.

Custom objects. Import2 can export Salesforce custom objects but lists no general custom-object destination in Pipedrive, so assume a redesign is required.

Ask three questions:

  • Is the object mainly reference data?
  • Is it transactional data related to a Deal or customer?
  • Is anyone still using it?

Flat reference data may collapse into custom fields.

Transactional child objects may need Pipedrive Projects or another operational system.

Unused objects should normally be archived rather than rebuilt.

Map Salesforce Fields to Pipedrive Fields

Every Salesforce field should receive one migration outcome.

It maps to a native Pipedrive field, becomes a custom field, is transformed, is combined with another field, is archived, or is retired.

Capture the decision in one mapping sheet.

ColumnWhy it matters
Source object and field API nameAPI names are stable identifiers, unlike labels
Record Types using itA field may be required for one Record Type and hidden for another
Field typePipedrive field types cannot be changed after creation
Sample values and population rateA field used on 2% of records may not justify consuming part of the custom-field allowance
Destination object, field and typeDefines the target data contract
Reporting and automation dependencyShows which report, Flow, validation rule or integration still depends on it

Field type is permanent.

You can’t change a Pipedrive custom field’s type after you create it.

If you create a text field for convenience and later realize the value should be a single-option field, you need a new field and another migration pass.

Option limits are documented differently across Pipedrive resources and matter when Salesforce uses very large picklists.

Pipedrive’s Knowledge Base states 1,000 options per option field, while the developer documentation documents a higher technical limit.

Plan against the lower documented product limit unless Pipedrive confirms otherwise for your account.

Pipedrive formula fields are available on Premium and higher, capped at 10 per company account, and work only on deal number and money fields. A Salesforce formula using text, cross-object references, or complex conditional logic may need to become a static migrated value, a report calculation, middleware logic, or be retired.

Record Types are a cross-object problem.

They can exist on Account, Contact, Lead, Opportunity, Case and custom objects. They may control layouts, required fields, picklist subsets, sales processes and available Opportunity stages.

Pipedrive has no direct equivalent.

Inventory Record Types everywhere they appear, then decide per object whether each should become:

  • A single-option field
  • A separate Pipeline
  • A label
  • Different required-field logic
  • Or nothing

Record-type-specific picklist subsets are a common source of migration errors because values valid in Salesforce may not exist in the simplified Pipedrive configuration.

Preserve Salesforce Record IDs

Store the Salesforce record ID in a dedicated Pipedrive custom field on every migrated object. It is one of the highest-value fields in the migration.

Use the Salesforce ID as the permanent source-system key for reconciliation, duplicate investigation, relationship mapping, delta logic, and API lookups.

At the same time, maintain a migration crosswalk between the Salesforce ID and the Pipedrive System ID created for the target record.

Salesforce Account IDs mapped to Pipedrive System IDs in a migration crosswalk, with the Salesforce ID kept in a custom field

For example:

  • Salesforce Account ID → Pipedrive Organization System ID
  • Salesforce Contact ID → Pipedrive Person System ID
  • Salesforce Opportunity ID → Pipedrive Deal System ID

This distinction matters. A Salesforce ID stored in a Pipedrive custom field does not automatically become the record identifier used by Pipedrive’s spreadsheet importer.

When a spreadsheet updates existing Pipedrive records, use the relevant Pipedrive System ID.

Use the Salesforce ID to identify the corresponding source record, join exported Salesforce datasets, reconcile results, and locate the correct Pipedrive target through the crosswalk.

For API migrations, the Salesforce ID can also be used as a lookup key in your own migration logic before updating the resolved Pipedrive record.

Standardize Salesforce IDs on the 18-character format. Salesforce supports a 15-character case-sensitive ID and an 18-character case-safe version of the same ID. Different export methods may therefore produce different-looking IDs even though they represent the same record.

Report exports need an additional setup step because CASESAFEID() is a Salesforce formula function, not an export option.

Create a Text formula field on each relevant Salesforce object using:

CASESAFEID(Id)

Add the field to the report, then export it. Data Loader and API-based extracts normally provide 18-character IDs.

Decide What Salesforce History Needs to Move

Give each type of historical data one outcome: operational, searchable, reference only, archived, or retired.

History typeRealistic handling
Completed Tasks and EventsImport useful history as completed Activities, usually within an agreed window such as 24 months
Open Tasks and EventsMigrate when they still represent active commitments; close or exclude stale items during cleanup
Notes and ContentNotesImport against the related record. Check formatting, ownership and length
EmailMessageRoute-dependent. See below
Salesforce Files and legacy AttachmentsSeparate workstream. See below
Historical OwnerIdPreserve where reporting, commissions or audit requirements depend on it

Salesforce Files need their own workstream.

The legacy Attachment object stores a file against one parent through ParentId.

Salesforce Files instead use ContentDocument, ContentVersion and ContentDocumentLink, where the same file can be related to more than one Salesforce record.

Older Salesforce orgs often contain both models.

A migration that processes only one can silently leave part of the document history behind.

Binary file content can be extracted through the Salesforce Data Export Service or through an API extraction using ContentVersion.VersionData.

Email history depends on the migration route.

The statement that Salesforce email cannot reach Pipedrive is too broad. The limitation belongs to specific migration methods.

RouteWhat it does
Pipedrive spreadsheet importerNo email item type. EmailMessage records cannot be loaded directly this way
Assisted migrationImport2 lists Salesforce Email Messages as a source and Pipedrive Emails as a destination
Pipedrive Email SyncConnects the mailbox on eligible plans and can pull historical mailbox data according to Pipedrive’s sync limits

These routes are not interchangeable.

Import2 migrates Salesforce email records and their supported relationships.

Email Sync reads from the connected mailbox. It can recover email threads that Salesforce never captured, but it does not reproduce Salesforce’s original EmailMessage relationships exactly.

Import People and Organizations before connecting historical mailbox sync where possible. That gives Pipedrive more existing contacts to associate with synced email.

Licensing constraints can also affect historical scope.

Pipedrive’s Leads and Deals allowance includes Deals that remain in the system unless they are archived or deleted. Migrating ten years of closed Opportunities is therefore not only a data-retention decision; it can also affect capacity planning.

Audit Salesforce Before the Migration

Inventory the Salesforce org after defining the target Pipedrive model.

AreaWhat to inventory
Data structureStandard and custom objects, record counts, fields, population rates, formula fields, picklist values and validation rules
Record TypesEvery object carrying them, plus the layouts, required fields, picklist subsets and sales processes each controls
Account modelPerson Accounts identified by IsPersonAccount, Contacts to Multiple Accounts usage and ParentId depth
Sales modelOpen versus converted Leads, Web-to-Lead sources, StageName values and actual usage, Forecast Categories, OpportunityContactRole volume and roles, OpportunityLineItem volume
PricingProduct2 count, Pricebooks and PricebookEntry count by book and currency
People and historyActive users, inactive users still owning records, queues, Task, Event, Note, Attachment and ContentVersion volumes
AutomationFlows, scheduled Flows, remaining Workflow Rules and Process Builder processes, assignment rules, approval processes, scheduled Apex and triggers
Integrations and reportingConnected Apps, integration users, middleware, ETL jobs, reports and dashboards actually used by the business

Salesforce ended support for Workflow Rules and Process Builder on December 31, 2025. Existing automation can still remain in orgs that were never fully moved to Flow, so do not assume those tools have disappeared just because they are no longer supported.

Inventory them until you have confirmed otherwise.

Also catalog every Connected App and integration user that can write to Salesforce, and assign an owner to each one.

Any forgotten integration with API write access can continue creating or updating Salesforce records after Pipedrive becomes the live CRM.

How We Run a Salesforce to Pipedrive Migration

We’re currently migrating a coaching practice from Salesforce to Pipedrive. The migration is still underway, so this shows how we’re approaching the work, not a completed case study.

We’ve organized the migration into six phases, with each phase depending on earlier decisions. The goal is to settle data mapping, record relationships, and workflow requirements before loading data, then validate the results rather than assume the import worked as expected.

One detail worth highlighting is how easily familiar routines can get overlooked. Birthday and anniversary reminders, for example, may seem minor compared with moving customer records and sales history.

But if the team relies on them, they need a clear plan to rebuild and test them in Pipedrive. A migration should preserve the workflows people depend on, not just the data they store.

Choose the Right Salesforce-to-Pipedrive Migration Method

MethodFits whenMain limitation
CSV and spreadsheetStandard objects, few custom fields and simple relationshipsNo Opportunity Product links, ParentId hierarchy or EmailMessage support. 200,000 rows and 50 MB per file
Assisted, such as Import2Standard objects and supported line items, emails and filesNo equivalent Pipedrive destination for several Salesforce objects, including Cases, Campaigns, Pricebooks and some custom objects
Custom API buildComplex relationships, high volumes, repeat runs, delta loads, transformation and loggingBuild cost, testing requirements and Pipedrive API limits
HybridMigrations that combine standard data transfers with custom transformations or configurationRequires one clear owner for sequencing and reconciliation

Spreadsheet. Pipedrive accepts XLS, XLSX, and CSV files with a header row, up to 200,000 rows and a file size under 50 MB. Failed rows appear in a skip file with the reason for each failure.

A global admin can also revert an import from the import history tab within 48 hours. Schedule production imports so the migration team can review errors and respond before the window closes.

Assisted. Pipedrive offers Import2 as a migration route and lists Salesforce among its supported source systems. Its documented migration coverage includes supported Salesforce data such as Opportunity Line Items, Email Messages, Files and Notes, but not every Salesforce structure has a direct Pipedrive equivalent.

Review the supported objects and field mappings before starting. Create the target users and configure the core Pipedrive structure first so ownership, relationships, and field mappings can be planned against the destination.

Custom API. An API-based migration is useful when you need transformation logic, reconciliation against source IDs, repeat runs, detailed logging, delta loads, or relationship handling that a migration tool cannot manage cleanly.

Build against currently supported Pipedrive API versions, using v2 endpoints where they replace deprecated v1 endpoints. Plan against Pipedrive’s API token budget rather than assuming every request costs the same, since different operations consume different amounts and daily capacity varies by plan and seat count.

Avoid expensive search-before-write patterns when a deterministic source-to-target ID crosswalk already exists.

Hybrid. A hybrid migration combines methods where each fits best, such as using an assisted tool for supported objects and API scripts for custom transformations or relationships.

Assign one migration owner to coordinate sequencing, prevent overlapping imports and reconcile the final data against Salesforce.

Export and Transform Your Salesforce Data

Export only what the audit approved.

Export routeStrengthConstraint
Data Export ServiceFull CSV archive, including images, documents, attachments and Salesforce FilesAvailability depends on Salesforce edition and export schedule
Data LoaderSOQL filtering and high-volume extraction using Salesforce APIsUse Export All when archived records also matter
Report exportsQuick and filterableUse an 18-character ID field such as a CASESAFEID(Id) formula when the export needs a stable external identifier

Your project window may allow only a limited number of convenient full exports.

Every export should include the source record ID, relevant relationship IDs such as AccountId and OpportunityId, OwnerId, Record Type ID and the timestamps required for reconciliation and delta loading.

Examples include:

  • CreatedDate
  • LastModifiedDate
  • CloseDate
  • Conversion-related IDs where relevant

Keep an untouched copy of every raw source export.

Generate transformation files from those originals rather than replacing them. When validation disagrees with the transformed data, the original extract becomes the reference point.

Clean and Normalize the Exported Data

Field mapping decides where a Salesforce field belongs.

Transformation decides how the value changes before it gets there.

Salesforce valueWhat to do
Duplicate Accounts and ContactsResolve in staging before the final Pipedrive import
Test and sandbox-refresh recordsRemove only records confirmed as non-production; do not use inactive ownership alone as the deletion rule
Picklist valuesConsolidate near-identical values and map historical values, including inactive values and Record Type subsets
StageName and ProbabilityApply the stage translation, confirm no Deal defaults into the wrong Stage, and enable Deal probability where required
Dates, phone, State and Country fieldsNormalize formats and time zones. Remember that CloseDate is a date while CreatedDate is a datetime
CurrencyIsoCodeConfirm every required currency exists in the target Pipedrive account
OwnerIdResolve to active Pipedrive users, with an approved fallback for inactive Salesforce owners
Missing required linksEnsure each Deal and Lead has the required Person or Organization relationship
Product2 valuesNormalize Product codes and units and resolve duplicate catalog records before building Deal-product relationships

Run these transformations through repeatable scripts or controlled rules rather than one-off spreadsheet edits.

You will almost certainly run the transformation more than once.

Run a Salesforce-to-Pipedrive Test Migration

Test a representative sample, not a convenient sample. Include cases that exercise the parts of Salesforce that do not map cleanly. Your test set should include:

  • A Person Account
  • A Contact related to more than one Account
  • Accounts in a ParentId hierarchy
  • A converted Lead to confirm exclusion
  • An Opportunity on an obsolete or unusual Stage
  • Lost Opportunities with loss reasons
  • An Opportunity with several OpportunityContactRole rows
  • Records owned by an inactive Salesforce user
  • OpportunityLineItem rows with discounts
  • Records using a non-default Record Type
  • A Task with WhoId on a Lead and WhatId on an Opportunity
  • A legacy Attachment
  • A ContentDocument linked to more than one Salesforce record

Migrate Salesforce Data in Dependency Order

Pipedrive resolves many relationships during import, so migration order matters. A practical sequence is:

  1. Users, created and activated, with the OwnerId mapping finalized
  2. Configuration: Pipelines, Stages, Deal probability settings, Activity types, lost reasons and custom fields
  3. Organizations from Salesforce Accounts
  4. People from Contacts, linked through the Account mapping, plus Person Accounts under the agreed rule
  5. Products from Product2
  6. Leads routed according to the agreed Leads Inbox rule, with converted Leads excluded
  7. Deals from Opportunities, linked to their Organization and primary Person
  8. Deal Products from OpportunityLineItem
  9. Deal Participants from non-primary OpportunityContactRole rows, followed by validation of the Deal’s primary linked Person
  10. Related Organizations from Account.ParentId, plus price variations or other Product configuration that requires an API or separate pass
  11. Activities from Tasks and Events, split according to WhoId and WhatId
  12. Notes, then Salesforce Files and external document links
  13. Email history through an assisted tool, Email Sync, or a combination of approved routes

Also monitor the account’s Leads and Deals allowance. When limits are reached, different creation routes can behave differently, so do not assume every rejected record will surface in the same place.

Rebuild Salesforce Automation for Pipedrive

Salesforce automation does not transfer automatically. Inventory the full automation surface first:

  • Record-triggered Flows
  • Screen Flows
  • Scheduled Flows
  • Remaining Workflow Rules
  • Remaining Process Builder processes
  • Assignment rules
  • Approval processes
  • Email alerts
  • Scheduled Apex
  • Apex triggers and classes
  • Logic living inside integrations or middleware

For each automation, record:

  • Trigger
  • Conditions
  • Actions
  • Owner
  • Business outcome

The business outcome matters more than the Salesforce implementation.

For example, “Assign new web Leads to the next SDR within five minutes” is a migration requirement. “Process Builder 14b” is not.

Pipedrive’s automation limits shape how much Salesforce logic can move directly.

LimitGrowthPremiumUltimate
Active automations per company50150250
If/else conditions per automation31020
Delay steps per path31010
Actions per path101010

Automations are not available on Lite.

A Salesforce Flow with twelve branches is unlikely to fit cleanly into one Pipedrive automation. Split it, simplify it, or move the more complex business logic to middleware.

Approval processes also need redesign, not literal conversion. A simple approval may become a required field plus a Stage gate. A multi-level approval with audit requirements may need another system or middleware.

Apex has no direct equivalent.

Custom logic may become:

  • Middleware
  • A small integration service using the Pipedrive API
  • Native Pipedrive automation
  • Or nothing, when the process is no longer necessary

Validation Rules also need a separate review.

Pipedrive’s required and important fields can cover some validation needs, but they are less expressive than Salesforce Validation Rules and depend on the plan.

Validate the Salesforce-to-Pipedrive Migration

Validate against Salesforce constructs, not only total record counts.

Salesforce checkWhat to verify in Pipedrive
Account → OrganizationCounts reconcile and every migrated Organization carries its Salesforce ID
Account.ParentId → Related OrganizationsRelationships exist and point in the correct direction
IsPersonAccount recordsLanded under the approved Person Account rule, with no unintended empty Organizations
Opportunity.AccountId → DealEvery Deal reaches the correct Organization
Primary OpportunityContactRoleEach Deal has the intended main Person
Non-primary contact rolesParticipant counts per Deal reconcile with the approved Salesforce source rows
OpportunityLineItemLine counts and totals per Deal match, including discounts and quantity
StageName, Probability, Forecast CategoryHistorical Stages map correctly, Probability behavior matches the design and the Forecast Category decision is implemented
CurrencyIsoCode and AmountTotals by currency reconcile before any target-system conversion
Inactive OwnerIdReassigned to the approved fallback rather than becoming unintentionally unowned
WhoId and WhatIdActivities appear on the correct target records
ContentDocumentLink.LinkedEntityIdFiles are attached to the intended records, including files that had multiple Salesforce links
Converted Leads and Record TypesNo duplicate People or Deals were created from converted records, and Record Types were translated according to the approved model
Skipped rowsEvery skipped entry is explained, corrected or formally accepted

Switch From Salesforce to Pipedrive

Cutover fails when something continues writing into Salesforce after Pipedrive becomes the active CRM.

Those records can remain invisible to the operating team for weeks.

Use a controlled cutover:

  1. Freeze normal user edits in Salesforce, so the final delta has a known boundary.
  2. Disable or repoint every Salesforce writer using the inventory below.
  3. Capture the final delta using LastModifiedDate.
  4. Match each Salesforce delta record to the migration crosswalk.
  5. Use the corresponding Pipedrive System ID to update existing Pipedrive records rather than creating duplicates.
  6. Re-run validation on the delta.
  7. Activate the production Pipedrive automations that were built and tested earlier.
  8. Confirm reporting, user access, mobile access, and Email Sync.
  9. Make Pipedrive the active CRM.
Four-step cutover from Salesforce to Pipedrive: freeze edits, capture the final delta, match to the crosswalk and update Pipedrive, then go live

If the delta is loaded through an API instead of spreadsheets, the same principle applies: resolve the correct Pipedrive target first, then update it.

Every system below needs a recorded decision: disabled, repointed or deliberately left running.

WriterTypical action
Record-triggered and scheduled Flows, remaining Workflow Rules and Process BuilderDeactivate, or restrict to an approved read-only/reference use case
Apex triggers and scheduled ApexDeactivate or repoint. Scheduled Apex deserves special attention because it may not produce visible activity every day
Assignment rules and approval processesDeactivate after resolving in-flight work
Web-to-Lead and Web-to-Case endpointsRepoint to a Pipedrive form, integration or replacement system
Connected Apps with API write accessRevoke or repoint one at a time, with the owner confirming the replacement
Integration usersDisable only after confirming nothing still authenticates through them
Middleware, marketing, billing and support systemsRepoint and test scheduled jobs, including marketing-status synchronization where relevant
Scheduled ETL and data loadsDisable the schedule itself, not only the current job

Monthly and quarterly jobs deserve special attention.

A scheduled Apex job that runs on the first day of each month may never appear during a two-week cutover test.

What Should You Monitor After the Migration?

Monitor failure patterns specific to Salesforce-to-Pipedrive mapping.

SignalLikely Salesforce migration cause
Deals show only the primary contact when users expect several peopleNon-primary OpportunityContactRole rows were not loaded as Participants
Participant-based role reporting no longer matches SalesforceParticipants preserve additional People but not the Salesforce Role model; role data needs a separate field or reporting design
Duplicate People appear for known customersConverted Leads were migrated alongside the Contact created by conversion
Organizations have no parent or the hierarchy is reversedAccount.ParentId was mapped incorrectly
Deals have a value but no Products, or Product totals do not reproduceOpportunityLineItem links were not created or Pricebook logic was simplified without a clear pricing rule
Activities or files appear on the wrong recordsWhoId, WhatId or ContentDocumentLink.LinkedEntityId was mapped incorrectly, or legacy Attachment records were missed
Forecasts do not match historical Salesforce figuresForecast Category was redesigned, Deal probability was not configured as expected, ownership changed or currency behavior differs
Individual customers behave incorrectly in reportsPerson Accounts were loaded under the wrong target rule
New records continue appearing in SalesforceA Flow, Connected App, scheduled Apex job, integration or external writer is still active

Salesforce-to-Pipedrive Migration Checklist

Architecture decisions

  • Person Accounts identified and a destination rule approved
  • Contacts to Multiple Accounts reviewed and a primary relationship rule agreed
  • Converted Leads identified by IsConverted and excluded unless explicitly required
  • OpportunityContactRole mapped, with the IsPrimary rule, Participant strategy and destination for Role agreed
  • Account.ParentId mapped to Related Organizations and the relationship-creation method chosen
  • OpportunityLineItem migration route selected
  • Pricebooks and PricebookEntry volumes reviewed and the pricing redesign approved
  • Record Types inventoried across every relevant object
  • StageName translation approved
  • Forecast Category treatment documented
  • Cases classified
  • Campaign and CampaignMember handling decided
  • Custom objects inventoried and classified
  • WhoId and WhatId routing rules defined
  • Salesforce Files extraction method selected
  • Email-history migration route selected

Data and automation preparation

  • Salesforce IDs standardized to 18-character values and stored on migrated Pipedrive records
  • Salesforce ID → Pipedrive System ID crosswalk designed
  • Deal probability configured where required
  • Lost reasons standardized
  • Owner mapping completed, including fallback rules for inactive Salesforce users
  • Picklist values consolidated, including historical and Record-Type-specific values
  • Test migration completed
  • Skip file reviewed
  • Flows, scheduled Flows, Workflow Rules, Process Builder, Apex, assignment rules, approval processes and Validation Rules inventoried
  • Connected Apps, integration users and Web-to-Lead endpoints documented with owners

Frequently Asked Questions

What happens to Salesforce Person Accounts when migrating to Pipedrive?

They need their own migration rule. A Salesforce Person Account represents an individual through the Account model, while Pipedrive separates Organizations and People.

Depending on how the business sells and reports, a Person Account may become:

  • A Person only
  • A Person plus a matching Organization
  • A Person under a shared Organization when reporting requires one

Identify them with IsPersonAccount during the audit and test the chosen rule before production migration.

What happens to Salesforce Opportunity Contact Roles in Pipedrive?

The contact marked IsPrimary = true can become the Deal’s main linked Person.

Additional contacts can become Deal Participants.

This is not a one-to-one replacement because Participants do not preserve the Salesforce OpportunityContactRole.Role value.

If role information matters for reporting, automation, or sales process, give it a separate destination such as a Deal custom field, note, or another structured data model.

For bulk Participant imports, also validate that the correct primary Person remains linked to each Deal after the import.

Can Salesforce Opportunity Products be migrated to Pipedrive?

Yes, but the route matters. The Pipedrive spreadsheet importer can import Products but cannot directly create Product-to-Deal relationships.

That route therefore needs a separate post-import step through the API or another supported method. Import2 lists Salesforce Opportunity Line Items as supported in its migration coverage.

A custom API migration is usually preferable when the project requires discount transformation, repeat runs, reconciliation, or detailed logging.

Can Salesforce email history be migrated to Pipedrive?

Yes, but not through every migration route. The Pipedrive spreadsheet importer has no email item type, so Salesforce EmailMessage records cannot be imported that way directly. Import2 supports Salesforce Email Messages as a source and Pipedrive email data within its supported migration model.

Separately, Pipedrive Email Sync can connect to the mailbox and synchronize historical email according to the account’s plan and sync configuration. These methods solve different problems.

An assisted migration moves Salesforce email records and supported associations. Email Sync reads from the mailbox and may recover messages that were never captured in Salesforce, but it does not recreate the Salesforce relationship model exactly.

Will Salesforce Flows transfer to Pipedrive?

No. Salesforce Flow, Process Builder, Workflow Rules, and Apex do not automatically transfer to Pipedrive. You’ll need to rebuild each automation, simplify it, move it to middleware, keep it in another system, or retire it.

Pipedrive automation limits also differ from Salesforce’s Flow model, so complex Flows with many branches often need to be split into smaller workflows. Approval processes and custom Apex logic usually require redesign rather than direct conversion.

How do you know the migration was successful?

A successful migration is more than matching total record counts.

Counts should reconcile after accounting for deliberate exclusions and skipped records. Relationships should hold. Primary Opportunity Contact Roles should become the correct Deal contacts.

Additional approved contacts should reach the intended Deals. Opportunity Products should reconcile to their Deals.

Ownership, Stage, Probability, currency, and historical reporting should match the approved migration design. Rebuilt automations and integrations should work as expected.

Most importantly, nothing should continue writing into Salesforce unintentionally after cutover. A practical final test is simple: a sales rep should be able to complete a normal working day in Pipedrive without opening Salesforce to find missing operational information.

Frequently Asked Questions

What happens to Salesforce Person Accounts when migrating to Pipedrive?

They need their own migration rule. A Salesforce Person Account represents an individual through the Account model, while Pipedrive separates Organizations and People. Depending on how the business sells and reports, a Person Account may become a Person only, a Person plus a matching Organization, or a Person under a shared Organization when reporting requires one.

Identify them with IsPersonAccount during the audit and test the chosen rule before production migration.

What happens to Salesforce Opportunity Contact Roles in Pipedrive?

The contact marked IsPrimary = true can become the Deal’s main linked Person, and additional contacts can become Deal Participants. This is not a one-to-one replacement because Participants do not preserve the Salesforce OpportunityContactRole.Role value.

If role information matters for reporting, automation, or sales process, give it a separate destination such as a Deal custom field, note, or another structured data model. For bulk Participant imports, also validate that the correct primary Person remains linked to each Deal after the import.

Can Salesforce Opportunity Products be migrated to Pipedrive?

Yes, but the route matters. The Pipedrive spreadsheet importer can import Products but cannot directly create Product-to-Deal relationships, so that route needs a separate post-import step through the API or another supported method. Import2 lists Salesforce Opportunity Line Items as supported in its migration coverage.

A custom API migration is usually preferable when the project requires discount transformation, repeat runs, reconciliation, or detailed logging.

Can Salesforce email history be migrated to Pipedrive?

Yes, but not through every migration route. The Pipedrive spreadsheet importer has no email item type, so Salesforce EmailMessage records cannot be imported that way directly. Import2 supports Salesforce Email Messages as a source and Pipedrive email data within its supported migration model.

Separately, Pipedrive Email Sync can connect to the mailbox and synchronize historical email according to the account’s plan and sync configuration. An assisted migration moves Salesforce email records and supported associations. Email Sync reads from the mailbox and may recover messages that were never captured in Salesforce, but it does not recreate the Salesforce relationship model exactly.

Will Salesforce Flows transfer to Pipedrive?

No. Salesforce Flow, Process Builder, Workflow Rules, and Apex do not automatically transfer to Pipedrive. You will need to rebuild each automation, simplify it, move it to middleware, keep it in another system, or retire it.

Pipedrive automation limits also differ from Salesforce’s Flow model, so complex Flows with many branches often need to be split into smaller workflows. Approval processes and custom Apex logic usually require redesign rather than direct conversion.

How do you know the migration was successful?

A successful migration is more than matching total record counts. Counts should reconcile after accounting for deliberate exclusions and skipped records, relationships should hold, and primary Opportunity Contact Roles should become the correct Deal contacts. Additional approved contacts should reach the intended Deals, and Opportunity Products should reconcile to their Deals.

Ownership, Stage, Probability, currency, and historical reporting should match the approved design, and rebuilt automations and integrations should work as expected. Most importantly, nothing should continue writing into Salesforce unintentionally after cutover. A practical final test: a sales rep can complete a normal working day in Pipedrive without opening Salesforce to find missing operational information.

Michelle

Michelle

Senior Content Writer, CRM & Business Automation

Michelle is a Senior Content Writer specializing in CRM and business automation at Axis Consulting. With 7+ years of experience, she combines product research, industry insights, and deep knowledge of business technology to turn complex topics into clear, practical insights for businesses.

Insights from Our Experts

Real outcomes from real clients. Below are sample wins from CRM migrations, automation builds, and integration projects.

Let's Transform Your Business Operations

Our clients don’t just see improvements; they experience transformation. From reducing manual work by 80% to doubling revenue velocity, the impact is tangible and lasting.

ROI Average
0 %

First 12 Months

Time Saved
0 h+

Per Team / Month

Faster Cycles
0 x

Sales Velocity

Data Visibility
0 %

Real-time Reporting

This field is for validation purposes and should be left unchanged.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.