CRM migration
Field-level mapping, validation, and rollback between Merlin and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Merlin
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
4 of 8
objects map 1:1 between Merlin and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
3-5 weeks
Overview
Merlin is a browser-extension AI assistant with no public API and no native CRM data model. It stores conversation threads, uploaded documents, and user account metadata in user-scoped storage. There are no Contacts, Companies, Deals, or Pipeline objects in Merlin to migrate. The migration challenge is reversed: extracting business entities from documents stored in Merlin and rebuilding them as first-class CRM records in Microsoft Microsoft Dynamics 365 Sales . We perform document-level parsing on exported PDFs, PowerPoints, and Word files to identify person names, company names, email addresses, and phone numbers, then create the corresponding Account, Contact, and Lead records in D365. Merlin conversations that reference specific deals or contacts are preserved as Note records attached to the relevant D365 entities. We do not migrate Merlin Workflows or automation settings because Merlin does not expose these as data objects, and any process logic the customer built in Merlin must be redesigned as D365 Automation rules post-migration.
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
Merlin platform overview
Scorecard, SWOT, gotchas, and pricing for Merlin.
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 Merlin 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.
Merlin
User Account
Microsoft Dynamics 365 Sales
User
1:1Merlin account metadata (email, plan tier, usage quota) from account settings exports as a structured CSV. We provision matching User records in D365 using the email address as the username and setting the IsActive flag based on the Merlin plan status at migration time. The D365 Security Role assignment defaults to Salesperson and is adjusted by the customer's admin post-migration.
Merlin
Conversation Thread
Microsoft Dynamics 365 Sales
Note
lossyMerlin chat threads export as text with timestamps. We merge related threads into single Note records in D365, attached via ContentDocumentLink to the most relevant CRM entity (Contact, Account, or Opportunity). Threads with no clear CRM reference attach to a placeholder D365 entity selected by the customer during scoping. The original Merlin thread structure is preserved in the Note body with turn-by-turn delineation.
Merlin
Uploaded Document
Microsoft Dynamics 365 Sales
ContentDocument + Contact/Account (extracted)
lossyPDF, PowerPoint, and Word files uploaded to Merlin's Document Chat export as binary blobs. We attach each file as a Salesforce ContentDocument equivalent (D365 SharePoint-integrated document location) linked to the parsed entity. Document-chat Q&A pairs migrate as Note records attached to the same ContentDocument for audit trail preservation.
Merlin
Document Entity: Person Name
Microsoft Dynamics 365 Sales
Contact or Lead
lossyDuring document parsing we extract person names using NLP pattern matching on exported file content. Each unique person maps to a D365 Contact if a company affiliation is also extracted, or to a Lead if only the name and contact method are present. Email addresses and phone numbers extracted alongside a name serve as deduplication keys.
Merlin
Document Entity: Company Name
Microsoft Dynamics 365 Sales
Account
lossyCompany names extracted from Merlin documents map to D365 Account records. The domain name (if present in document metadata or email addresses) becomes the Account Website field. We use fuzzy matching to merge duplicate Account records created from multiple documents referencing the same company with slight name variations.
Merlin
Document Entity: Email Address
Microsoft Dynamics 365 Sales
EmailAddress1 on Contact/Lead
1:1Email addresses extracted from Merlin documents serve as the primary deduplication key for Contact and Lead creation. We match extracted emails against any existing D365 Contact and Lead records by email address and flag matches for customer review before creating duplicates or updating existing records.
Merlin
Document Entity: Phone Number
Microsoft Dynamics 365 Sales
Telephone1 on Contact/Account
1:1Phone numbers extracted from Merlin documents populate the primary phone field on the nearest D365 entity (Contact or Account). We strip formatting characters and validate against E.164 patterns before insert to avoid D365 validation rule rejections.
Merlin
Image Generation Output
Microsoft Dynamics 365 Sales
Annotation on Note
1:1Merlin image-generation outputs stored as attachments export as image files and attach to D365 Note records via Annotation entities. We preserve the creation timestamp and the conversation context in the Note body so that image outputs retain their originating query thread.
| Merlin | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| User Account | User1:1 | Fully supported | |
| Conversation Thread | Notelossy | Fully supported | |
| Uploaded Document | ContentDocument + Contact/Account (extracted)lossy | Fully supported | |
| Document Entity: Person Name | Contact or Leadlossy | Fully supported | |
| Document Entity: Company Name | Accountlossy | Fully supported | |
| Document Entity: Email Address | EmailAddress1 on Contact/Lead1:1 | Fully supported | |
| Document Entity: Phone Number | Telephone1 on Contact/Account1:1 | Fully supported | |
| Image Generation Output | Annotation on Note1:1 | 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.
Merlin gotchas
No public API for automated export
Document upload limit differences by tier are migration-critical
Conversation metadata is not exported
No contacts or CRM objects means context must be rebuilt
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
Merlin export and scoping
We guide the customer through the Merlin dashboard export process to capture conversation history, uploaded documents, and image generation outputs. We document the full file inventory, flag any documents that may exceed Free-tier upload limits (10-page cap), and collect account metadata (email, plan tier) for D365 User provisioning. The customer must complete the export before account closure to avoid data loss since there is no API-based backup option.
Document corpus parsing and entity extraction
We run NLP-based parsing on the exported document corpus (PDF, PowerPoint, Word) to extract person names, company names, email addresses, and phone numbers. Each extracted entity receives a confidence score and a source-document reference. We produce a deduplication candidate list merging entities that appear across multiple documents, and the customer reviews low-confidence candidates before we proceed to D365 schema design.
D365 schema design and entity creation plan
We design the destination D365 schema based on the extracted entity inventory. For Contact and Lead extraction, we determine the split rule (Contact if a company affiliation is also extracted, Lead if only contact information is present). We pre-create any custom fields required to store Merlin-specific metadata (source document reference, original file name, conversation thread reference). Schema is validated in a D365 Sandbox environment before production deployment.
Sandbox migration and reconciliation
We run a full migration into a D365 Sandbox using production-like document volume and entity count. The customer's admin reviews extracted Contact, Account, and Lead records against source documents, validates deduplication decisions, and confirms that conversation context has attached to the correct CRM entities. We correct any mapping errors before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Users (from Merlin account metadata), Accounts (from company name extraction), Contacts and Leads (from person and email extraction), Notes (from conversation thread export), and ContentDocuments (from uploaded file export). Each phase emits a row-count reconciliation report before the next phase begins. Image generation outputs attach to Notes via Annotation entities.
Cutover, validation, and handoff documentation
We freeze Merlin exports and run a final delta check for any documents or conversations created between initial export and cutover. We enable D365 as the system of record and deliver a written inventory of every migrated Note, ContentDocument, Contact, Account, and Lead with source-document references. We do not rebuild any Merlin automation patterns as D365 Automation rules; we deliver a written guide describing observed conversation patterns for the customer's admin to redesign manually.
Platform deep dives
Merlin
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a manual workaround.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Merlin and Microsoft Dynamics 365 Sales .
Object compatibility
1 of 8 objects need a manual workaround.
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
Merlin: Not publicly documented.
Data volume sensitivity
Merlin doesn't expose a bulk API — REST + parallelization used for high-volume runs.
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 Merlin to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Merlin 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 Merlin
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.