CRM migration
Field-level mapping, validation, and rollback between Net-Results and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Net-Results
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
4 of 8
objects map 1:1 between Net-Results and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Net-Results to Microsoft Microsoft Dynamics 365 Sales is a platform migration that repositions a marketing-automation-centric dataset into a full sales CRM. Net-Results organizes around Contacts, Campaigns, and Email Sends with workflow enrollment metadata; Microsoft Dynamics 365 Sales organizes around Accounts, Leads, Contacts, and Opportunities with pipeline stages and sales processes. We resolve the contact-to-account affiliation that Net-Results does not enforce, migrate email send activity as Dynamics 365 Notes or Tasks with timestamps, and preserve the suppression list as a post-load cleanup pass that applies opt-out status to the correct Dynamics 365 Contact records. Workflow automation logic and email template HTML from Net-Results do not migrate as portable artifacts; we deliver a written automation inventory and flag every template for manual review before use in Microsoft Dynamics 365 Sales .
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
Net-Results platform overview
Scorecard, SWOT, gotchas, and pricing for Net-Results.
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 Net-Results 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.
Net-Results
Contact
Microsoft Dynamics 365 Sales
Lead or Contact (split by qualification)
1:manyNet-Results Contacts with campaign enrollment history and no associated Company record map to Salesforce Lead or Microsoft Dataverse Contact depending on whether they represent a qualified sales prospect. We evaluate the contact's last campaign type, email engagement score, and any manual owner assignment to determine the split. Contacts with a Net-Results Company affiliation and at least one sales-associated campaign map to Dynamics 365 Contact linked to an Account. The original Net-Results contact ID is preserved in a custom field nr_original_contact_id__c for audit and reconciliation.
Net-Results
Company
Microsoft Dynamics 365 Sales
Account
1:1Net-Results Company records map directly to Microsoft Microsoft Dynamics 365 Sales Account. The Company domain field becomes the Account Website; Company name maps to Account Name. Net-Results Company records that lack a company_name are reconciled using the primary Contact's domain during migration. Account is created before any Contact import so the Contact-Account lookup relationship is satisfied at insert time.
Net-Results
Campaign
Microsoft Dynamics 365 Sales
Campaign
1:1Net-Results Campaigns map to Microsoft Dynamics 365 Sales Campaign. Campaign name, status, start and end dates, and campaign type migrate as Campaign fields. The Dynamics 365 Campaign object stores campaign metadata; we do not migrate campaign member tracking as Salesforce-style Campaign Members because Net-Results does not track explicit campaign membership in a comparable structure. Associated email send history is linked via a custom relationship field.
Net-Results
Email Send
Microsoft Dynamics 365 Sales
EmailMessage + Note or Task
1:1Individual email send events (send timestamp, open, click, bounce) from Net-Results migrate to Dynamics 365 as Note records or EmailMessage records linked to the corresponding Contact or Lead. Open and click events are preserved as custom fields on the note or as separate Task records with activity timestamps. Because Microsoft Dynamics 365 Sales does not have a native send-event object, we use the closest equivalent and flag the approach during scoping so the customer can decide whether send-level granularity is required for reporting or whether summary campaign activity is sufficient.
Net-Results
Suppression List
Microsoft Dynamics 365 Sales
Contact (HasOptedOut + custom suppression field)
1:manyNet-Results suppression records (hard bounces, unsubscribes, manual suppressions) are exported and applied as a post-load cleanup pass against Dynamics 365 Contact records. We match by email address and set Dynamics 365's standard EmailOptOut field to true for unsubscribes and a custom nr_suppression_reason__c field for hard bounces. If the Dynamics 365 destination already contains existing suppression records, we deduplicate before applying the Net-Results list to avoid false opt-out flags on valid active contacts.
Net-Results
Automation Workflow
Microsoft Dynamics 365 Sales
N/A (documented for rebuild)
lossyNet-Results workflow automation logic does not export as a portable artifact. We capture the workflow name, associated contact count, step count, and trigger conditions for each active workflow and deliver a written automation inventory. The inventory maps each workflow to an equivalent Microsoft Dynamics 365 Sales Flow (record-triggered, scheduled, or desktop flow) and documents the recommended rebuild steps. Workflow rebuild is outside the migration scope and is performed by the customer's admin or a Dynamics 365 partner.
Net-Results
Email Template
Microsoft Dynamics 365 Sales
Email Template (Dynamics 365)
1:1Net-Results drag-and-drop email templates export as HTML and image asset references. We export the template HTML, inline CSS, and image URLs. Because Net-Results uses its own rendering engine, template layout may reflow or break when imported into Microsoft Dynamics 365 Sales email templates or Dynamics 365 Marketing. We flag all templates for manual review post-migration, advise customers to preview sends before launching campaigns from imported assets, and note that image hosting may need to be relocated from Net-Results' CDN to Dynamics 365's native asset library or an external CDN.
Net-Results
Custom Field (Contacts and Companies)
Microsoft Dynamics 365 Sales
Custom Field
lossyNet-Results custom fields on Contacts and Companies require explicit mapping against the Microsoft Dynamics 365 Sales Dataverse schema. We inventory all custom fields during discovery, evaluate the destination field type (text, integer, decimal, datetime, picklist, lookup), pre-create any missing custom fields in the Dynamics 365 environment, and apply a field-by-field mapping before load. Custom field values migrate as data; the field schema creation is a prerequisite completed before any record import begins.
| Net-Results | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Lead or Contact (split by qualification)1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Campaign | Campaign1:1 | Fully supported | |
| Email Send | EmailMessage + Note or Task1:1 | Fully supported | |
| Suppression List | Contact (HasOptedOut + custom suppression field)1:many | Fully supported | |
| Automation Workflow | N/A (documented for rebuild)lossy | Fully supported | |
| Email Template | Email Template (Dynamics 365)1:1 | Fully supported | |
| Custom Field (Contacts and Companies) | Custom Fieldlossy | 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.
Net-Results gotchas
Workflow automation logic cannot be exported
Email template HTML may not render identically in destination systems
Suppression lists must be explicitly merged at the destination
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 Net-Results portal audit
We audit the source Net-Results account across Contacts (total count, custom fields, lifecycle metadata), Companies, Campaigns, Email Sends, Suppression Lists, Automation Workflows, and Email Templates. We assess data quality issues including duplicate email addresses, missing Company affiliations, incomplete custom field values, and any records with suppressed status that require special handling. We pair this with a Microsoft Dynamics 365 Sales environment review of existing Account, Contact, and Lead records, active validation rules, and field security profiles. The discovery output is a written migration scope with a record-dependency graph and a mapping specification.
Contact-Account affiliation resolution and split rule design
We design the contact split and account resolution strategy before any data extraction. Net-Results Contacts without a Company affiliation require a resolution rule: either they map to a placeholder Account, they map to Lead, or the customer's admin manually assigns them during reconciliation. We define this rule during scoping and implement it as a pre-transform on the export data before the Dataverse import begins. Any Net-Results custom fields that lack a Dynamics 365 equivalent are flagged for schema extension.
Dynamics 365 schema preparation and sandbox migration
We prepare the Dynamics 365 destination by creating any missing custom fields (nr_original_contact_id__c, nr_suppression_reason__c, nr_campaign_enrollment__c), configuring picklist values that correspond to Net-Results campaign types, and disabling or extending validation rules that would block the initial import. We run a full migration into a Dynamics 365 Sandbox environment using production-like data volume. The customer's Dynamics 365 admin spot-checks 25-50 records against the Net-Results source, reviews the suppression merge results, and signs off before production migration begins.
Suppression list extraction and merge pass
We export the complete Net-Results suppression list (hard bounces, unsubscribes, manual suppressions) and run it as a separate post-load pass against the Dynamics 365 production environment. The pass updates the EmailOptOut field and populates nr_suppression_reason__c on matching Contact records. We deduplicate against any existing suppression records already present in Dynamics 365 to avoid false opt-out flags. This pass runs after the primary Contact import to ensure suppression updates are not overwritten by subsequent imports.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Net-Results Companies), Contacts (with AccountId resolved), Leads (for unqualified contacts per the split rule), Campaigns, Email Send activity (as EmailMessage or Note records), and Suppression List pass last. Each phase emits a row-count reconciliation report before the next phase begins. We use the Dynamics 365 Dataverse API with batch chunking and exponential backoff on rate-limit responses. Any records rejected by validation rules are captured in a remediation queue and reprocessed after the admin adjusts the validation rule scope.
Cutover, validation, and automation inventory handoff
We freeze writes to Net-Results during cutover, run a final delta migration of any records modified during the migration window, then enable Microsoft Dynamics 365 Sales as the system of record. We deliver the Workflow and Automation Inventory document to the customer's admin team, covering each Net-Results workflow with its trigger, conditions, associated contacts, and a recommended Microsoft Dynamics 365 Sales Flow rebuild approach. We support a one-week hypercare window where we resolve reconciliation issues raised by the customer's sales team. We do not rebuild Net-Results workflows inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Net-Results
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 Net-Results and Microsoft Dynamics 365 Sales .
Object compatibility
2 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
Net-Results: Not publicly documented — no published numeric rate limits on the marketing site. Confirm via vendor support before high-volume operations..
Data volume sensitivity
Net-Results 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 Net-Results to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Net-Results 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 Net-Results
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.