CRM migration
Field-level mapping, validation, and rollback between Dynamics 365 Marketing and Pipedrive. We move data and schema; workflows are rebuilt natively in Pipedrive.
Dynamics 365 Marketing
Source
Pipedrive
Destination
Compatibility
10 of 12
objects map 1:1 between Dynamics 365 Marketing and Pipedrive.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Dynamics 365 Marketing to Pipedrive is a structural migration that collapses two separate data layers into a single flat model. Dynamics 365 Marketing stores transactional CRM records (Contacts, Accounts, Opportunities) in the standard Dataverse tables and outbound marketing records (Journeys, segments, marketing emails) in the msdynmkt-prefixed tables that are not visible in standard CRM exports. Pipedrive uses a single People object for both Contacts and Leads, an Organization object for company records, and a flat Deals pipeline with stages. We extract CRM records from Dataverse via the Dynamics 365 Web API, separately export marketing-specific tables via the Configuration Migration Tool schema, then map and deduplicate into Pipedrive's People and Organization objects. Pipedrive does not include native marketing automation; we document marketing asset dependencies for teams that need a replacement email and journey tool. We do not migrate Customer Journeys, Customer Insights segments, marketing email templates, or marketing contact billing flags as functional data; these require a separate marketing replacement tool.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Dynamics 365 Marketing object lands in Pipedrive, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Dynamics 365 Marketing
Contact
Pipedrive
Person (Contact role)
1:1Dynamics 365 Contact records map to Pipedrive Person records. Standard fields (full name, email, phone, address) migrate directly. The Dynamics Contact-to-Account relationship maps to a Pipedrive Organization linkage using the Account name as the Organization dedupe key. If the source Contact has no associated Account, the Person is created standalone. We preserve the original Dynamics contactid as a custom field dynamics_contact_id__c for audit and future reference. Note that Pipedrive does not distinguish between a marketing-qualified contact and a transactional contact; we do not apply a separate label during import unless the customer requests a Person label strategy.
Dynamics 365 Marketing
Lead
Pipedrive
Person (Lead role)
1:1Dynamics 365 Lead records map to Pipedrive Person records with the Lead lifecycle status preserved in a custom text field dynamics_lead_status__c. The Dynamics Lead_Status field (New, Contacted, Qualified, Unqualified) migrates as-is. Lead scores and lead sources migrate to custom fields lead_score__c and lead_source__c if the Advanced tier Custom Objects API is available; otherwise they are documented in the migration inventory for manual re-entry. Leads that were already converted to Contacts in Dynamics are not re-imported as separate Person records to avoid duplication.
Dynamics 365 Marketing
Account
Pipedrive
Organization
1:1Dynamics 365 Account records map to Pipedrive Organization records using the Account name as the Organization dedupe key. Industry, website, address, phone, and employee count fields migrate to their Pipedrive Organization equivalents. Account hierarchies in Dynamics (parent-account relationships) cannot be natively represented in Pipedrive's flat Organization model; we document the hierarchy in a written inventory for the customer's admin to recreate as Organization links or a custom field. Account ownership (ownerid) maps to the Pipedrive user by email match.
Dynamics 365 Marketing
Opportunity
Pipedrive
Deal
1:1Dynamics 365 Opportunity records map to Pipedrive Deals. The opportunity name, estimated close date (estimatedclosedate), amount (estimatedvalue), and pipeline stage (stageid) map to the Deal title, close date, value, and pipeline stage respectively. Dynamics Opportunity stages map to Pipedrive pipeline stages during schema design; we create a Pipedrive pipeline per Dynamics sales process or record type. Lost reasons from Dynamics close_stage field migrate as a custom field lost_reason__c on the Deal. The Opportunity-to-Account and Opportunity-to-Contact relationships resolve to the target Organization and Person records during migration.
Dynamics 365 Marketing
Product
Pipedrive
Product
1:1Dynamics 365 Product records (productid, name, productnumber, standardcost, price) map to Pipedrive Products. We create Pipedrive Products during migration and associate them with Deals as line items. ProductCode from Dynamics (hs_sku equivalent) migrates as the Pipedrive Product code field. Note that Pipedrive's product pricing is managed within the Product record and attached to Deals; there is no separate Pricebook equivalent.
Dynamics 365 Marketing
ActivityPointer (Email, Task, PhoneCall, Appointment)
Pipedrive
Activity
1:1Dynamics 365 ActivityPointer records (Email, Task, PhoneCall, Appointment) migrate as Pipedrive Activities. Each Dynamics activity type maps to the corresponding Pipedrive Activity type (email, task, call, meeting). The regardingobjectid lookup links to the migrated Person or Organization by resolving the original Dynamics record ID to the newly assigned Pipedrive ID. Subject, description, and timestamps (actualend, actualstart) migrate directly. We handle activity migration in a separate pass after Person and Organization records exist in Pipedrive to satisfy the relationship lookups.
Dynamics 365 Marketing
Annotation (Notes with file attachments)
Pipedrive
Note (with file attachment)
1:1Dynamics 365 Annotations (notes with file attachments) migrate as Pipedrive Notes with attached files. We export Annotations in a separate pass after the parent Person, Organization, or Deal exists. The annotation's objectid and objecttypecode resolve to the target Pipedrive record. File content (documentbody) migrates as a Pipedrive file attachment linked to the Note. Rich-text note body preserves formatting where the Dynamics note uses HTML; plain text is used as fallback.
Dynamics 365 Marketing
Custom Entities (Dataverse managed solutions)
Pipedrive
Custom Objects (Advanced, Professional, Enterprise tiers)
1:1Dataverse custom entities exported via the managed solution schema map to Pipedrive Custom Objects. The customer must provide the solution ZIP or Configuration Migration Tool schema file before we can define the destination Custom Object structure. Custom fields are created in Pipedrive via the /v1/itemSchemas API (not the standard /dealFields endpoint, which does not cover Custom Objects). If the destination Pipedrive account is on the Essential or Advanced lower tiers, Custom Objects may not be available; in that case we document the custom entity fields and advise on which Pipedrive tier is required for migration.
Dynamics 365 Marketing
Campaign
Pipedrive
Person label + Activity (campaign note)
1:manyDynamics 365 Campaign records have no direct Pipedrive equivalent. We handle Campaign membership by labeling the associated Person records with a Campaign-derived label in Pipedrive (e.g., a label named after the Campaign). The Campaign name and description are documented in the migration inventory, and the campaign association for each Person is preserved via the Pipedrive label. Campaign Activities (msdyn_campaignactivity) that represent specific outreach actions are documented as Activity records with type=campaign_activity and the original campaign name in the subject.
Dynamics 365 Marketing
Marketing List (msdynmkt_marketinglist)
Pipedrive
Pipedrive List
1:1Dynamics 365 Marketing Lists contain member records (Contacts or Leads) and are associated with Campaigns. We export the Marketing List membership, creating Pipedrive Lists (accessible via the Pipedrive API) that contain the Person records in each list. The list name maps from the Marketing List's msdyn_name. List membership is recreated by resolving the Dynamics contact or lead IDs to the migrated Pipedrive Person records. If Pipedrive Lists are not available on the customer's current tier, we document the list membership as a custom Person field multi-select for manual reassignment.
Dynamics 365 Marketing
Owner (User)
Pipedrive
User
1:1Dynamics 365 Owner records (systemuser) map to Pipedrive Users by email address match. We extract all distinct ownerid values from Contacts, Accounts, Opportunities, and Activities. Any owner without a matching Pipedrive User is placed in a reconciliation queue for the customer's admin to provision before record migration resumes. Inactive Dynamics users map to inactive Pipedrive Users if the historical owner assignment must be preserved; otherwise the admin can reassign records to active users during the migration window.
Dynamics 365 Marketing
msdynmkt_email (Marketing email templates)
Pipedrive
Written inventory (not migrated)
lossyMarketing email templates stored in the msdynmkt_email Dataverse table have no direct Pipedrive equivalent because Pipedrive does not include native marketing email send capabilities. We export the email template content (subject, HTML body, sender address) and deliver it as a written inventory document. The customer's admin or a marketing implementation partner uses this inventory to rebuild templates in their chosen marketing automation tool (Mailchimp, ActiveCampaign, HubSpot Marketing, or similar). We do not migrate email templates as functional records.
| Dynamics 365 Marketing | Pipedrive | Compatibility | |
|---|---|---|---|
| Contact | Person (Contact role)1:1 | Fully supported | |
| Lead | Person (Lead role)1:1 | Fully supported | |
| Account | Organization1:1 | Fully supported | |
| Opportunity | Deal1:1 | Fully supported | |
| Product | Product1:1 | Fully supported | |
| ActivityPointer (Email, Task, PhoneCall, Appointment) | Activity1:1 | Fully supported | |
| Annotation (Notes with file attachments) | Note (with file attachment)1:1 | Fully supported | |
| Custom Entities (Dataverse managed solutions) | Custom Objects (Advanced, Professional, Enterprise tiers)1:1 | Fully supported | |
| Campaign | Person label + Activity (campaign note)1:many | Fully supported | |
| Marketing List (msdynmkt_marketinglist) | Pipedrive List1:1 | Fully supported | |
| Owner (User) | User1:1 | Fully supported | |
| msdynmkt_email (Marketing email templates) | Written inventory (not migrated)lossy | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Dynamics 365 Marketing gotchas
Marketing Contact billing triggers on record import
Configuration Migration Tool does not migrate high-volume transactional data
Customer Insights segments are stored separately from Dataverse CRM records
Marketing Lists and Campaign Activities have legacy schema dependencies
Custom entities require a managed solution schema, not a UI export
Pipedrive gotchas
Custom field hash keys differ per account
Export access gated by visibility groups
Token-based API rate limits since December 2024
Sequences and Automations not exposed via REST API
Cost escalates via workflow caps and add-ons
Pair-specific challenges
Migration approach
Discovery and tier evaluation
We audit the Dynamics 365 Marketing environment across the Dataverse CRM layer (Contact, Account, Opportunity, ActivityPointer, Annotation), the marketing layer (msdynmkt tables for email, Journey, segment), and any custom entities present in the managed solution schema. We pair this with a Pipedrive account review of the current tier, available custom fields, existing pipelines, and User list. The discovery output is a written migration scope specifying which objects migrate as functional data, which migrate as written inventory, and which Pipedrive tier upgrade is required if Custom Objects are present on the source.
Schema design and Pipedrive environment preparation
We design the destination Pipedrive schema: pipeline stages mapped from Dynamics Opportunity stages, custom fields pre-created on Person, Organization, and Deal objects, Custom Objects provisioned via /v1/itemSchemas if the tier supports it, and Person labels created for any Campaign or Marketing List associations that need to be preserved as labels. Pipedrive's API requires custom fields to exist before values can be written, so this step completes before any data migration begins. We run schema validation against a test environment before applying it to the production Pipedrive account.
Dataverse CRM export and marketing table extraction
We extract CRM records from Dynamics 365 Dataverse using the Web API (contacts, accounts, opportunities, activities, annotations, products, owners) and separately extract the marketing table data (msdynmkt_email, msdynmkt_journey, msdynmkt_segment, msdynmkt_marketinglist) via the Configuration Migration Tool or direct Dataverse queries. CRM records are exported to CSV or JSON for transformation. Marketing assets are exported as a reference inventory and delivered as a document, not as functional records. All exports run against a named user with read access to the relevant Dataverse tables.
Sandbox migration and reconciliation
We run a full migration into the customer's Pipedrive account using production-like data volume. The customer's RevOps lead reviews record counts (People in, Organizations in, Deals in, Activities in), spot-checks 25-50 records against the Dynamics source, and validates that Person-to-Organization links, Deal-to-Person links, and Activity-to-Person links resolved correctly. Any field mapping corrections, missing custom fields, or lookup resolution failures surface here. The customer signs off the sandbox mapping before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Pipedrive Users (validated from owner mapping), Organizations (from Dynamics Accounts), People (from Dynamics Contacts and Leads with the Lead status preserved), Deals (from Dynamics Opportunities with stage mapping and Account-Person links resolved), Products, Activities (via Pipedrive Activity API with parent Person and Organization lookups resolved), Notes with attachments, Custom Objects (last, with dependencies on Person and Organization records), and Marketing Lists (as Pipedrive Lists or Person labels). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and marketing asset handoff
We freeze Dynamics 365 writes during cutover, run a final delta migration of any records modified during the migration window, then mark Pipedrive as the system of record. We deliver the marketing asset inventory document (email templates, Journey definitions, segment criteria, Marketing List memberships) to the customer's marketing team for rebuilding in their chosen marketing automation tool. We deliver the automation and workflow inventory for the customer's admin to rebuild in Pipedrive Workflows. We support a one-week hypercare window for reconciliation issues raised by the customer's team during initial Pipedrive usage.
Platform deep dives
Dynamics 365 Marketing
Source
Strengths
Weaknesses
Pipedrive
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 3 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Dynamics 365 Marketing and Pipedrive.
Object compatibility
3 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Dynamics 365 Marketing: Dataverse Web API enforces organization-level throttling; specific limits vary by workload and are not publicly documented at fixed thresholds.
Data volume sensitivity
Dynamics 365 Marketing exposes a bulk API — large-volume migrations stream efficiently.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Dynamics 365 Marketing to Pipedrive migration scoping. Not seeing yours? Book a call.
Walk through your Dynamics 365 Marketing to Pipedrive migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Dynamics 365 Marketing
Other ways to arrive at Pipedrive
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.