CRM migration
Field-level mapping, validation, and rollback between GoldMine and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
GoldMine
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
5 of 9
objects map 1:1 between GoldMine and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
3-5 weeks
Overview
GoldMine's April 2026 end-of-life deadline forces organizations off the platform now, and the absence of a modern REST API means migration relies on GoldMine's XML API DLL or direct database reads from Paradox-derived tables or SQL Server backends depending on version. We extract all core objects—Contacts, Companies, Opportunities, History records, and custom fields—before mapping them into Microsoft Microsoft Dynamics 365 Sales via Dataverse and the Microsoft Dynamics 365 Sales API with proper relationship resolution. Communication history is the highest-value migration object because GoldMine users have accumulated decades of email, call, and meeting logs that must normalize into Dynamics 365's activity model. File attachments require re-upload to SharePoint or Dynamics 365's document management because network share paths become orphaned post-migration. We do not migrate GoldMine workflows, custom tabs, or the GoldMine Outlook COM integration as code; we deliver a written inventory for your admin to rebuild in Dynamics 365's native tools.
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
GoldMine platform overview
Scorecard, SWOT, gotchas, and pricing for GoldMine.
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 GoldMine 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.
GoldMine
Contact
Microsoft Dynamics 365 Sales
Contact
1:1GoldMine Contact records map 1:1 to Dynamics 365 Contact. Name fields (FirstName, LastName, FullName), phone numbers, email addresses, and address blocks transfer as standard typed fields. GoldMine's contact custom fields—stored in extended CONTACT1 columns linked by RECID—require schema discovery before mapping. We enumerate all non-system columns across the CONTACT1 table during discovery, classify each as string, integer, decimal, date, or picklist, and present the full custom field inventory for mapping before any record moves. Contact-Company linkage resolves to AccountId on Contact by matching the GoldMine Link-to-Company key.
GoldMine
Company
Microsoft Dynamics 365 Sales
Account
1:1GoldMine Company records map 1:1 to Dynamics 365 Account. Company name, address, industry classification, annual revenue, and number of employees transfer as standard fields. Company custom fields follow the same extended-table discovery process as Contact custom fields. We create the Account before importing any related Contact so that the AccountId lookup is satisfied at Contact insert time. GoldMine allows a Company to exist without any linked Contact; Dynamics 365 Account behaves the same way.
GoldMine
Opportunity
Microsoft Dynamics 365 Sales
Opportunity
1:1GoldMine Opportunities map to Dynamics 365 Opportunity. The stage lifecycle differs significantly—GoldMine uses a simpler open-closed stage model while Dynamics 365 Opportunity includes stage probability percentages, forecast category, and record types tied to sales processes. We review the customer's GoldMine pipeline stage names and probability assumptions during scoping and configure matching stage values in Microsoft Dynamics 365 Sales Process before migration. Closed-Lost and Closed-Won dates, deal value, and owner all transfer directly.
GoldMine
History / Activity Log
Microsoft Dynamics 365 Sales
Email, Task, Appointment, and Note
1:manyGoldMine stores emails, calls, meetings, and notes as chronological History records tied to Contact or Company. These are the highest-risk migration object because the history table contains mixed formats—plain text entries, HTML-formatted emails, and MIME-encoded content. We normalize each history entry to the appropriate Dynamics 365 activity type: emails become Email (EmailMessage) records; call dispositions and durations become Task with TaskSubtype=Call; meetings become Appointment (Event) records; freeform notes become Note. Character set integrity is verified after normalization. Silent history loss is the most common post-migration complaint and we test history completeness against a row-count baseline before sign-off.
GoldMine
Calendar / Appointments
Microsoft Dynamics 365 Sales
Appointment
1:1GoldMine appointments synced from Outlook or entered directly migrate as Dynamics 365 Appointment records. Subject, Start Time, End Time, Location, and attendees transfer with the GoldMine timestamp preserved in CreatedOn for timeline ordering. We map the GoldMine appointment linked record (Contact or Company) to the Regarding lookup on the Appointment. If the original GoldMine appointment references an attendee who is not in the migrated user roster, we flag that attendee for manual resolution.
GoldMine
Documents and Attachments
Microsoft Dynamics 365 Sales
SharePoint Document or Annotation
lossyGoldMine attachments are stored either as BLOBs in the database or as files on a network share referenced by a path in the record. Network share paths become invalid after migration. We export attachments with the record they are attached to, re-upload to SharePoint Online (if the customer's Dynamics 365 is connected to SharePoint) or to Dynamics 365's native annotation model, and flag any attachment where the source path returns a file-not-found error so the customer decides whether to skip, restore from backup, or manually reattach. Attachments exceeding 25MB are flagged for chunked upload.
GoldMine
User
Microsoft Dynamics 365 Sales
User
1:1GoldMine user accounts do not map automatically to Dynamics 365 users. We extract the full GoldMine user roster during discovery and match by email address against the destination Dynamics 365 tenant's Azure Active Directory-backed user list. Any GoldMine user without a matching Dynamics 365 user goes to a reconciliation queue; the customer's admin provisions the missing users before record import resumes. Active versus inactive status in GoldMine maps to Enabled versus Disabled in Dynamics 365, and the admin decides whether to activate for migration or mark inactive.
GoldMine
Groups and Marketing Lists
Microsoft Dynamics 365 Sales
Topic or Team
lossyGoldMine supports Groups and marketing lists that label records for segmentation. We extract these as tag or segment data and apply them as Dynamics 365 Topics (with TopicAssignment records) or as Team membership depending on the customer's intended use. If GoldMine Groups function as security teams in the existing workflow, we recommend Teams in Dynamics 365 as the equivalent access-control mechanism. The customer confirms the segmentation strategy during scoping.
GoldMine
Custom Fields
Microsoft Dynamics 365 Sales
Custom Fields
lossyGoldMine custom fields exist as extended columns in separate tables linked by RECID. They are not visible in the standard GoldMine UI and require SQL schema inspection to enumerate. We run a discovery query that pulls all non-system columns across the CONTACT1, COMPANIES, and PROJECTS tables, classifies each as text, numeric, date, or picklist, and presents the full inventory before any mapping. Dynamics 365 custom fields are created on the standard Dataverse entity with matching data types before migration. The custom field API names in Dynamics 365 follow Dataverse naming conventions (new_fieldname) and differ from GoldMine's internal column names.
| GoldMine | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Opportunity | Opportunity1:1 | Fully supported | |
| History / Activity Log | Email, Task, Appointment, and Note1:many | Mapping required | |
| Calendar / Appointments | Appointment1:1 | Mapping required | |
| Documents and Attachments | SharePoint Document or Annotationlossy | Mapping required | |
| User | User1:1 | Fully supported | |
| Groups and Marketing Lists | Topic or Teamlossy | Fully supported | |
| Custom Fields | Custom Fieldslossy | Mapping required |
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.
GoldMine gotchas
GoldMine support and updates end April 2026
No REST API requires direct database or XML API extraction
Communication history is the migration's highest-value and highest-risk object
Custom fields stored in extended tables require schema discovery
File attachments depend on server-side file paths that may be orphaned
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 GoldMine backend assessment
We assess the GoldMine environment: version (2018 through 2024.x), database backend (Paradox file or SQL Server), connectivity method (XML API DLL availability, direct SQL read access), and network share accessibility for attachment paths. We run the schema discovery query to enumerate all custom fields across CONTACT1, COMPANIES, PROJECTS, and HISTORY tables. We extract record counts for Contacts, Companies, Opportunities, History entries, and attachments, and produce a data volume estimate for the Dynamics 365 destination. The discovery output is a written migration scope document covering every GoldMine object, its estimated row count, and its extraction method.
Dynamics 365 environment preparation
We assess the destination Microsoft Dynamics 365 Sales environment: Dataverse entity configuration, existing security roles, user roster synced from Azure Active Directory, and any validation rules or field-level security that could block import. We create custom fields on Contact, Account, and Opportunity matching the GoldMine custom field inventory discovered in Step 1. We configure Opportunity stages and sales processes to match the GoldMine pipeline stage names from the scoping document. If the customer has SharePoint Online integrated, we configure the SharePoint document management site for attachment re-upload. We coordinate with the customer's Dynamics 365 admin to grant the migration user the Dataverse bulk record import role.
Data extraction and staging
We extract data from GoldMine via the available method—XML API DLL for instances with the API configured, or direct SQL read from the GoldMine database for SQL Server backends, or GoldMine's export utility for Paradox backends. We stage the extracted data in a normalized intermediate format. During staging, we apply the history normalization transform: MIME-decoding, format detection (plain text, HTML, email, call, meeting), and classification into the appropriate Dynamics 365 activity type. We run de-duplication against Contact and Company records using email address as the primary key and name-address combinations as secondary keys. We produce a staging validation report showing record counts by object before proceeding to load.
Attachment extraction and SharePoint re-upload
We extract file attachments from GoldMine BLOBs or from the referenced network share paths. We resolve the parent record for each attachment (Contact, Company, or Opportunity) and upload the file to the corresponding SharePoint document library or Dynamics 365 annotation. We flag any attachment where the source path is inaccessible or returns a file-not-found error in the attachment reconciliation report. The customer reviews the reconciliation report and decides whether to restore from backup, skip, or manually reattach flagged files. Attachments exceeding 25MB are chunked for upload. We link each uploaded file to the parent record's Regarding field in Dynamics 365.
Production migration in dependency order
We run the production migration into the live Dynamics 365 environment in strict dependency order: Accounts (from GoldMine Companies) first; Contacts (with AccountId resolved and custom fields mapped) second; Opportunities (with AccountId, OwnerId, and stage resolved) third; Activity history (EmailMessage, Task, Appointment, Note via Dataverse bulk import with parent-record lookup) fourth; attachment links verified last. Each phase emits a row-count reconciliation report comparing records loaded against the staging baseline. Any discrepancies trigger a root-cause investigation before the next phase begins. Owner reconciliation occurs before record import: we match GoldMine users by email to Dynamics 365 users and flag any GoldMine user without a matching Dynamics 365 user for admin provisioning.
Cutover, validation, and automation inventory handoff
We freeze GoldMine write access during the cutover window and run a final delta migration of any records modified during the migration. We enable Dynamics 365 as the system of record and confirm that the migration row-count reconciliation shows fewer than 0.1 percent discrepancy on all primary objects. We deliver the GoldMine workflow and custom tab inventory—enumerating every GoldMine automation, custom tab configuration, and Outlook COM integration rule—for the customer's Dynamics 365 admin to rebuild in Power Automate, Dynamics workflows, or the native UI. We support a five-business-day hypercare window for reconciliation issues. Post-migration admin support, training, and workflow rebuild are outside standard migration scope and can be scoped as a separate engagement.
Platform deep dives
GoldMine
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 GoldMine and Microsoft Dynamics 365 Sales .
Object compatibility
1 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
GoldMine: Not publicly documented—rate limiting is not formally specified for GoldMine's XML API or COM-based integrations.
Data volume sensitivity
GoldMine 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 GoldMine to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your GoldMine 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 GoldMine
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.