CRM migration
Field-level mapping, validation, and rollback between Insider and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Insider
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
4 of 10
objects map 1:1 between Insider and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
4-8 weeks
Overview
Moving from Insider to Microsoft Microsoft Dynamics 365 Sales is a migration between fundamentally different platform types: Insider is a customer data platform with behavioral event capture, multi-channel journey orchestration, and traffic-based pricing; Microsoft Dynamics 365 Sales is a sales CRM with a Lead-Contact-Opportunity-Account model, SharePoint-attached Activity history, and per-seat licensing. Insider has no API endpoint to export Journey definitions or automation logic, so every active multi-step campaign must be documented and rebuilt manually. We preserve user profiles, custom attributes, segments, product catalog data, and transaction history through Insider's Unification API, and we map behavioral events to custom Activity entities in Microsoft Dynamics 365 Sales since Dynamics 365 does not include a native CDP. We do not migrate Journeys, automations, or channel configurations as code; we deliver a written inventory of every active Journey with its trigger, conditions, and channel steps for your admin to rebuild using Microsoft Dynamics 365 Sales automation tools or Power Automate.
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.
Source platform
Insider platform overview
Scorecard, SWOT, gotchas, and pricing for Insider.
Destination platform
Microsoft Dynamics 365 Sales platform overview
Scorecard, SWOT, gotchas, and pricing for Microsoft Dynamics 365 Sales .
Data migration guide
The complete Microsoft Dynamics 365 Sales migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Microsoft Dynamics 365 Sales migration checklist
Pre- and post-cutover tasks for moving onto Microsoft Dynamics 365 Sales .
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Insider object lands in Microsoft Dynamics 365 Sales , including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Insider
User (Profile)
Microsoft Dynamics 365 Sales
Contact
1:1Insider user profiles with a lifecycle stage of sales qualified lead, opportunity, customer, or evangelist map directly to Microsoft Dynamics 365 Sales Contact. The email address serves as the primary dedupe key. Standard profile attributes (firstname, lastname, email, phone) map to Contact fields directly. Custom user attributes from Insider are mapped to custom Contact fields that we pre-create in the Dynamics 365 Dataverse schema before migration. The primary email address is used as the correlation key to resolve lookups from other migrating objects.
Insider
User (Profile)
Microsoft Dynamics 365 Sales
Lead
1:manyInsider user profiles with a lifecycle stage of subscriber, lead, or marketing qualified lead, and profiles with no associated opportunity, map to Microsoft Dynamics 365 Sales Lead. We apply a split rule during scoping using the lifecycle_stage and hs_lead_status properties, with the original Insider lifecycle stage preserved in a custom field insider_original_lifecycle__c on both Lead and Contact for audit and reporting continuity. The split is run as a pre-transform before any data is loaded into Dataverse.
Insider
Company
Microsoft Dynamics 365 Sales
Account
1:1Insider Company records map to Microsoft Dynamics 365 Sales Account. The company domain becomes the Account Website field and is used as the dedupe key during import. Account must be created before Contact import so that the AccountId lookup is satisfied at the moment of Contact insert. We use Dynamics 365 Dataverse bulk upsert with Account as the parent anchor entity to resolve the dependency chain before child record imports begin.
Insider
Segment
Microsoft Dynamics 365 Sales
Contact View + Advanced Find Query
lossyInsider segments defined by attribute rules and event conditions are exported as member lists plus the segment rule definition as metadata. In Microsoft Dynamics 365 Sales , we recreate segment membership as static Contact Views for frequently used audience groups, and we deliver an Advanced Find query definition file that reproduces each dynamic segment logic. Views are assigned to the relevant Business Unit and shared with appropriate Teams. Segment rule definitions that require event conditions are documented as Power Automate trigger criteria since Dynamics 365 Advanced Find does not support behavioral event conditions natively.
Insider
Tag
Microsoft Dynamics 365 Sales
Contact (Custom Multi-Select Picklist)
lossyInsider user tags stored as string arrays per profile are exported and mapped to a Microsoft Dynamics 365 Sales custom multi-select picklist field on Contact. If the customer licenses Microsoft 365 Copilot for Sales, tags can alternatively be mapped to Copilot's CRM highlights or to Microsoft 365 Group labels. The mapping strategy is confirmed during scoping. Tags that represent content categorization are documented for potential use as Microsoft Dynamics 365 Sales Topic assignments.
Insider
List
Microsoft Dynamics 365 Sales
Contact View or Custom Entity
lossyInsider static Lists (collections of user IDs not defined by segment rules) export with user ID and list ID. We create Microsoft Dynamics 365 Sales Contact Views named after the original List, or we create a custom ListMember entity with a lookup to Contact if the customer requires programmatic list management in Dynamics 365. The choice depends on the customer's intended use of static lists post-migration.
Insider
Product (Catalog)
Microsoft Dynamics 365 Sales
Product (Product2)
1:1Insider Product catalog data including sku, name, price, category, images, and custom attributes maps to Microsoft Dynamics 365 Sales Product2 records. ProductCode maps from Insider's hs_sku. We create Price List records and Price List Items during migration so that migrated Deals reference active pricing. If Insider's product catalog includes inventory quantities, those map to Dynamics 365 Inventory Management if the customer also uses Dynamics 365 Supply Chain Management.
Insider
Transaction (Order)
Microsoft Dynamics 365 Sales
SalesOrder and SalesOrderDetail
1:1Insider transaction records (order_id, total, currency, timestamp, items) map to Microsoft Dynamics 365 Sales Order (or Invoice depending on the order lifecycle stage in Insider). Line items map to SalesOrderDetail records. We resolve the Contact and Account references at migration time, and currency codes are mapped to Dynamics 365 TransactionCurrency records. Historical orders that are closed in Insider are imported as Invoices; open orders are imported as SalesOrders.
Insider
Event (Behavioral)
Microsoft Dynamics 365 Sales
Custom Activity Entity (Dataverse)
lossyInsider behavioral events (page views, purchases, cart actions, custom events) have no direct Microsoft Dynamics 365 Sales equivalent since Dynamics 365 does not include a native CDP layer. We create a custom Activity entity in Dataverse called insider_event__c with fields for event_name, event_timestamp, event_parameters (JSON), and a lookup to the Contact record. Events are migrated via Dataverse bulk upsert, chunked at 10,000 records per batch with exponential backoff on throttling responses. Customers who require real-time event ingestion post-migration are directed toward Dynamics 365 Customer Insights or Azure Event Hubs as a long-term event infrastructure.
Insider
Journey (Automation)
Microsoft Dynamics 365 Sales
Power Automate or Sales Automation (documented, not migrated)
lossyInsider Journeys are multi-step event-driven workflows with entry triggers, conditional gates, channel steps, and exit conditions. Insider provides no API to export Journey definitions, so we cannot migrate them mechanically. During discovery, we perform a Journey audit: we document every active Journey in a structured format (trigger type, conditions, steps, channel actions, exit criteria) and deliver this as a handoff document. The customer's Dynamics 365 admin or a Microsoft partner rebuilds Journeys using Power Automate triggers, Microsoft Dynamics 365 Sales Copilot workflows, or Sales Automation rules depending on the license tier. This is explicitly not a code migration; it is a documented manual rebuild scope.
| Insider | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| User (Profile) | Contact1:1 | Fully supported | |
| User (Profile) | Lead1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Segment | Contact View + Advanced Find Querylossy | Fully supported | |
| Tag | Contact (Custom Multi-Select Picklist)lossy | Fully supported | |
| List | Contact View or Custom Entitylossy | Fully supported | |
| Product (Catalog) | Product (Product2)1:1 | Fully supported | |
| Transaction (Order) | SalesOrder and SalesOrderDetail1:1 | Fully supported | |
| Event (Behavioral) | Custom Activity Entity (Dataverse)lossy | Fully supported | |
| Journey (Automation) | Power Automate or Sales Automation (documented, 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.
Insider gotchas
API rate limit of 25,000 requests per minute is shared across endpoints
No automated journey export — automations must be rebuilt manually on exit
Pricing is traffic-based with no public tiers, leading to billing surprises
Contract lock-in with annual or multi-year terms
Long implementation ramp complicates early-stage migrations
Microsoft Dynamics 365 Sales gotchas
Professional tier 15-table custom table limit blocks migrations
October 2024 pricing increase applies at renewal for all customers
Custom fields must be created in the UI before API writes
Power Platform request limits apply to bulk migrations
Activity records orphaned to inactive owners fail silently
Pair-specific challenges
Migration approach
Discovery and source audit
We audit the source Insider portal for tier level, active channels, configured Journeys, user profile schema (standard and custom attributes), event types and parameter structures, segment definitions, product catalog volume, transaction history, list counts, and tag taxonomy. We confirm API rate-limit credentials and validate webhook or S3 export connectivity. We pair this with a Dynamics 365 edition decision (Sales Professional at $65/user for standard CRM scope; Sales Enterprise at $105/user for custom entities, record types, and advanced automation; Sales Premium at $150+ for AI-driven sales insights). The discovery output is a written migration scope and a field-level mapping specification for each migrating object.
Destination schema design and custom entity creation
We design the Microsoft Dynamics 365 Sales Dataverse schema to receive the migrated data. This includes creating the custom insider_event__c Activity entity for behavioral event storage, custom Contact fields for migrated custom attributes, custom multi-select picklist fields for Insider tags, and Account and Contact placeholder configurations for users without an associated company. We define the Lead-Contact split rule based on the customer's Insider lifecycle stage matrix. All custom fields and entities are deployed into a Dynamics 365 Sandbox via the Dataverse Web API before any data is written.
Sandbox migration and reconciliation
We run a full migration into the Dynamics 365 Sandbox using production-like data volumes. The customer's Dynamics 365 admin reconciles record counts across all objects, spot-checks 25-50 records against the Insider source for attribute accuracy, and validates that the Account-Contact lookup chain is intact. Any mapping corrections, field type mismatches, or validation rule failures are resolved in the sandbox before production migration begins. Sign-off from the customer's admin is required before we proceed to production.
Production migration in dependency order
We run production migration in the record dependency chain: Accounts (from Insider Companies), Contacts (with AccountId resolved for profiles with an associated company, placeholder Account for those without), Leads (with the lifecycle stage split applied), Opportunities (with AccountId, OwnerId, and RecordType resolved), Products and Price List entries, SalesOrders and SalesOrderDetail records, Activity history (custom event entity via Dataverse bulk upsert), Lists and Views, and tag assignments. Each phase emits a row-count reconciliation report before the next phase begins. We use the Dataverse bulk upsert endpoint with chunking at 10,000 records per batch and exponential backoff on throttling responses.
Cutover, validation, and Journey handoff
We freeze writes to Insider during cutover and run a final delta migration of any records modified during the migration window. We validate record counts against the pre-migration discovery baseline and deliver a migration summary report. We deliver the Journey audit document to the customer's admin team with documented trigger types, conditions, step sequences, and recommended Power Automate equivalents. We support a one-week hypercare window where we resolve any data quality issues raised by the customer's sales team. We do not rebuild Journeys or automations as part of the migration scope; that work is a separate engagement.
Platform deep dives
Insider
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Insider and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Insider and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between Insider and Microsoft Dynamics 365 Sales .
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
Insider: 25,000 requests per minute, shared across Unification API endpoints (Upsert User Data and Delete User Attribute). Exceeding this returns HTTP 429 and requires retry with backoff..
Data volume sensitivity
Insider 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 Insider to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Insider to Microsoft Dynamics 365 Sales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Insider
Other ways to arrive at Microsoft Dynamics 365 Sales
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.