CRM migration

Migrate from MetroLeads to Microsoft Dynamics 365 Sales

Field-level mapping, validation, and rollback between MetroLeads and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .

MetroLeads logo

MetroLeads

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

50%

6 of 12

objects map 1:1 between MetroLeads and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

4-6 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from MetroLeads to Microsoft Microsoft Dynamics 365 Sales is a schema redesign, not a record copy. MetroLeads organizes data around a lead-centric model where each Lead carries state, source_tags, and custom lead_fields keyed by internal property IDs. Dynamics 365 uses the Account-Contact hierarchy with a separate Lead object for unqualified prospects, and lifecycle stages are managed through configurable status values. We extract the MetroLeads property schema first to build the ID-to-name mapping that prevents destination custom fields from being named after internal IDs, then sequence the Lead-to-Contact split using the customer's state-to-lifecycle mapping. Events and Advanced Data Modules require custom object creation in Dynamics 365 with equivalent field types. Workflows, automations, and telephony configurations do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Dynamics 365.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

MetroLeads logo

MetroLeads

What's pushing teams away

  • Reporting and analytics features lack customization depth, with limited dashboard options for drag-and-drop insight building and graphical trend visualization.
  • Integration ecosystem is narrower than enterprise CRMs, making it difficult to connect specialized tools as the business scales beyond the built-in connectors.
  • Small review sample size on public platforms makes independent quality assessment difficult before committing to a contract.

Choosing

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

What's pulling them in

  • Deep Microsoft 365, Teams, and Outlook integration makes Microsoft Dynamics 365 Sales a natural fit for Microsoft-first organizations already invested in that ecosystem
  • Sales Enterprise and Premium tiers offer unlimited custom tables and advanced AI-driven forecasting and predictive analytics not available in lower tiers
  • Professional tier pricing at $65 per user per month offers a lower entry cost than Salesforce for SMB teams with straightforward CRM needs
  • Flexible customization options allow businesses to build bespoke apps, tailor forms and views, and integrate with other Dynamics 365 modules
  • Microsoft Copilot AI tools are embedded directly into the sales workflow on Enterprise and Premium, automating routine tasks and providing deal intelligence

Object mapping

How MetroLeads objects map to Microsoft Dynamics 365 Sales

Each row shows how a MetroLeads 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.

MetroLeads

Lead

maps to

Microsoft Dynamics 365 Sales

Lead or Contact (split required)

1:many
Fully supported

MetroLeads Leads map to Dynamics 365 Lead for unqualified prospects or Contact attached to an Account for qualified buyers. The split rule is defined during discovery by reviewing MetroLeads state values and mapping them to Dynamics 365 Lead Status and Contact Lifecycle Stage. The original MetroLeads state is preserved in a custom field metro_state__c on both Lead and Contact for audit and historical reporting. We also extract and resolve assigned_to user references by matching against Dynamics 365 Users by email before the Lead or Contact is created.

MetroLeads

Company

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

MetroLeads Companies map directly to Dynamics 365 Account. The Company UUID becomes the external ID for deduplication. The /companies/{uuid}/leads/ hierarchy establishes the parent relationship that informs how grouped Leads map to Accounts. If a Company has no Leads, it still migrates as an Account with no Contacts. Company-level custom properties migrate to Account custom fields using the property ID resolution step before field names are written.

MetroLeads

Events

maps to

Microsoft Dynamics 365 Sales

Activity (Task, Email, Meeting)

1:many
Mapping required

MetroLeads Events track engagement history tied to Leads. We export the event_type and event metadata, then split into Dynamics 365 Task (for calls and generic tasks), Email (for email activities), and Event (for meetings). The event-to-lead association is preserved through the WhoId field pointing to the migrated Lead or Contact record. ActivityDate ordering is preserved so the timeline reflects the original sequence.

MetroLeads

Phones

maps to

Microsoft Dynamics 365 Sales

Phone Number fields on Contact

1:1
Fully supported

Phones are embedded arrays within MetroLeads Lead records with type metadata (Work, Mobile, etc.). We extract each phone entry and write it to the corresponding typed phone field on the migrated Contact record. Phone type metadata is preserved in a custom field or the phone number label so that Work versus Mobile versus Home is distinguishable in Dynamics 365.

MetroLeads

Emails

maps to

Microsoft Dynamics 365 Sales

Email fields on Contact

1:1
Fully supported

Emails are embedded arrays within MetroLeads Lead records with type and address. We extract each email entry and write it to the appropriate typed email field on the migrated Contact record. Primary versus secondary email designation is preserved through the email address order in the source array.

MetroLeads

Custom Properties (lead_fields)

maps to

Microsoft Dynamics 365 Sales

Custom Fields on Lead, Contact, or Account

lossy
Fully supported

MetroLeads lead_fields store tenant-specific custom property values keyed by internal property IDs (e.g. customer_id_070) rather than human-readable names. We fetch the MetroLeads property schema first, build an ID-to-name mapping, then create corresponding custom fields in Dynamics 365 with the correct field types (text, number, date, picklist) before any data is written. This prevents destination fields from being named after internal MetroLeads IDs.

MetroLeads

Advanced Data Modules

maps to

Microsoft Dynamics 365 Sales

Custom Objects

lossy
Mapping required

Advanced Data Modules are tenant-specific data structures extending the MetroLeads base schema with field definitions that vary per organization. We export the module schema alongside records, then map each module to a Dynamics 365 Custom Object on Dataverse with equivalent field types and relationships. The source module definition is documented as the target schema specification for the customer's admin to review before import.

MetroLeads

Intellisearch

maps to

Microsoft Dynamics 365 Sales

Custom Fields or Notes

1:1
Mapping required

Intellisearch is a MetroLeads-specific search and scoring layer built on top of Lead data. The scoring logic and saved searches do not map 1:1 to Dynamics 365 standard objects. We export the raw Intellisearch configuration data and the resulting lead scores as custom fields on the Lead or Contact record, preserving the score values for reference even if the calculation logic cannot be replicated.

MetroLeads

Source Tags

maps to

Microsoft Dynamics 365 Sales

Multi-Select Picklist or Custom Field

lossy
Fully supported

Source Tags are string arrays on MetroLeads Lead records indicating lead disposition (e.g. disposition_answered). We export the raw tag strings and map them to a Dynamics 365 multi-select picklist field on Lead or Contact, or to a custom text field if the tag count exceeds picklist capacity. The customer chooses the tag strategy during scoping.

MetroLeads

Lead State

maps to

Microsoft Dynamics 365 Sales

Lead Status or Lifecycle Stage

lossy
Mapping required

MetroLeads Lead state is a tenant-configured string field (e.g. contacted, qualified) where valid values vary per MetroLeads instance. We extract all unique state values during the export scan, present them to the customer for lifecycle-stage mapping against Dynamics 365 Lead Status values, and flag any unmapped values so no records are orphaned during import. This step prevents silent data loss where MetroLeads state values have no corresponding Dynamics 365 picklist entry.

MetroLeads

Lead Group

maps to

Microsoft Dynamics 365 Sales

Teams or Custom Grouping Field

1:1
Mapping required

Lead Group is a MetroLeads-specific UUID reference grouping related Leads. This concept does not have a direct Dynamics 365 standard equivalent. We export the UUID and the grouped Lead membership, then map grouped Leads to Dynamics 365 Teams if the customer has teams enabled, or to a custom text field on Lead that stores the original MetroLeads lead_group UUID for grouping reference.

MetroLeads

User

maps to

Microsoft Dynamics 365 Sales

User

1:1
Fully supported

MetroLeads User records with id, name, and role assignments are exported for owner resolution. We match MetroLeads assigned_to references to Dynamics 365 Users by email lookup. Any MetroLeads Owner without a matching Dynamics 365 User goes to a reconciliation queue for the customer's admin to provision before record import resumes. OwnerId references are required on most standard objects, so this step gates the record import phases.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

MetroLeads logo

MetroLeads gotchas

High

Merge API field priority can silently overwrite data

Medium

Custom lead_fields use property IDs not property names

Medium

Tenant-specific state values require pre-migration catalog

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales gotchas

High

Professional tier 15-table custom table limit blocks migrations

High

October 2024 pricing increase applies at renewal for all customers

Medium

Custom fields must be created in the UI before API writes

Medium

Power Platform request limits apply to bulk migrations

Medium

Activity records orphaned to inactive owners fail silently

Pair-specific challenges

  • MetroLeads Merge API prioritizes primary lead fields and silently drops secondary values

    MetroLeads merge API defaults to primary lead field values when two leads conflict. Passing the wrong primary lead or omitting retain_fields means secondary lead values are silently dropped. We identify merge-pending pairs during the export phase by scanning for duplicate candidates, present the surviving record choice to the customer for explicit confirmation, then execute the import so the confirmed surviving MetroLeads record is created with all its data intact in Dynamics 365 rather than accepting the API default which could discard valuable fields from the secondary record.

  • MetroLeads property IDs must resolve to human-readable names before Dynamics 365 custom field creation

    Custom property values in MetroLeads lead_fields are keyed by internal property IDs (e.g. customer_id_070) rather than human-readable names. The property name catalog is a separate API call from the lead data. We fetch the full property schema first, build an ID-to-name mapping, and create the corresponding Dynamics 365 custom fields using the resolved names before any lead data is written. Skipping this step results in Dynamics 365 custom fields named after internal MetroLeads IDs that are meaningless to admins and users.

  • MetroLeads tenant-specific state values require pre-migration catalog against Dynamics 365 lifecycle stages

    MetroLeads Lead state accepts tenant-configured string values, meaning contacted in one MetroLeads instance may not exist in another. Dynamics 365 Lead Status and Contact Lifecycle Stage are configurable picklists but the valid values must exist before import. We extract all unique state values from the MetroLeads export, map them to Dynamics 365 picklist entries (creating new ones if needed), and flag any unmapped values before migration begins. Records with unmapped state values risk import failure or silent nulling of the state field.

  • Dynamics 365 Lead-to-Contact conversion is a separate admin action that MetroLeads does not require

    MetroLeads treats all records as Leads throughout the lifecycle. Dynamics 365 separates unqualified prospects into Leads that must be explicitly Converted into Contacts attached to Accounts. The conversion is an admin action in Dynamics 365, not an automatic migration step. We preserve the original MetroLeads lifecycle stage in a custom field on the migrated record so that the customer's admin can run conversion on appropriate records post-migration. Records that should have been converted at migration time but were not will have orphaned relationships in Dynamics 365.

Migration approach

Six steps for a successful MetroLeads to Microsoft Dynamics 365 Sales data migration

  1. Discovery and scope definition

    We audit the MetroLeads portal across all supported objects including Leads, Companies, Events, Advanced Data Modules, and Intellisearch configuration. We extract the property schema to build the ID-to-name mapping, catalog all unique state values for lifecycle stage mapping, and assess data quality issues including duplicate leads requiring merge resolution and incomplete records. The discovery output is a written migration scope with object counts, custom field list, lifecycle mapping table, and Dynamics 365 edition recommendation based on the target schema complexity.

  2. Schema design in Dynamics 365

    We design the destination schema in Dynamics 365, creating custom fields on Lead, Contact, and Account with correct field types, custom objects for Advanced Data Modules with equivalent Dataverse field definitions, and the lifecycle stage mapping table. The Lead Status and Contact Lifecycle Stage picklists are configured to accept the MetroLeads state values before any data import. Schema is deployed into a Dynamics 365 Sandbox via the Dataverse Web API for validation before production migration begins.

  3. Sandbox migration and reconciliation

    We run a full migration into a Dynamics 365 Sandbox using production-like data volume. The customer's admin reconciles record counts across all objects, spot-checks 25-50 random records against the MetroLeads source, and reviews the custom field values to confirm property ID resolution produced readable names. Any schema corrections, mapping adjustments, or unmapped state values are resolved in the sandbox before production migration begins.

  4. Owner reconciliation and User provisioning

    We extract every distinct MetroLeads assigned_to user reference and match by email against the Dynamics 365 destination org's User table. Any MetroLeads Owner without a matching Dynamics 365 User goes to a reconciliation queue. The customer's Dynamics 365 admin provisions missing Users (active or inactive depending on whether the original MetroLeads user is still active). OwnerId references are required on most standard Dynamics 365 objects, so this step gates the record import phases.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Users (validated), Accounts (from MetroLeads Companies), Contacts (with AccountId resolved and Lead-Contact split applied), Leads (with lifecycle mapping applied), Events (split into Tasks, Emails, Meetings via Dataverse Web API), Advanced Data Modules (as Custom Objects with custom field lookups resolved), and Intellisearch scores (as custom fields). Each phase emits a row-count reconciliation report before the next phase begins. We use the Dataverse Web API with batch requests, appropriate concurrency handling, and parent-record lookup resolution at migration time.

  6. Cutover, delta sync, and handoff

    We freeze MetroLeads writes during cutover, run a delta migration of any records modified during the migration window, then enable Dynamics 365 as the system of record. We deliver a written inventory of any MetroLeads Workflows, automations, and telephony configurations that were not migrated, with recommendations for Dynamics 365 equivalents. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's sales team.

Platform deep dives

Context on both ends of the pair

MetroLeads logo

MetroLeads

Source

Strengths

  • Unified CRM, telephony, and lead capture in a single platform reduces vendor fragmentation.
  • Automatic lead deduplication prevents duplicate records on import.
  • Native cloud VOIP with call logging integrated directly into the Lead record.
  • Workflow automation for reminders and follow-up sequences is built in.
  • Omni-channel engagement tracking across voice, email, and web.

Weaknesses

  • Limited review corpus on public platforms makes independent quality assessment challenging.
  • Analytics and reporting lack advanced visualization and customization options.
  • Smaller integration ecosystem compared to enterprise-grade CRMs.
  • No publicly documented pricing tiers on the main website.
  • Limited evidence of advanced customization options for enterprise-scale deployments.
Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

Destination

Strengths

  • Native integration with Microsoft 365, Teams, Outlook, and SharePoint for unified productivity workflow
  • Unlimited custom tables and complex workflows on Enterprise tier enable deep customization for complex sales processes
  • AI-driven predictive analytics and deal intelligence on Enterprise and Premium tiers help sales teams prioritize pipeline
  • Dataverse unified data layer provides a consistent API and data model across all Dynamics 365 and Power Platform apps
  • Strong security model with Field-Level Security and Record Ownership rules for governance-conscious enterprises

Weaknesses

  • Sales Professional tier caps custom tables at 15, creating a migration ceiling for highly customized SMB environments
  • October 2024 pricing increases of $15 per user across all tiers apply to existing customers upon renewal
  • Implementation typically requires costly certified partners, adding 30–50% to total project cost
  • Updates and platform releases can disrupt customizations and plugins, requiring regression testing after each wave
  • Non-Microsoft integrations require additional configuration or middleware, limiting flexibility for heterogeneous tech stacks

Complexity grading

How hard is this migration?

Standard CRM migration. All 8 core objects map 1:1 between MetroLeads and Microsoft Dynamics 365 Sales .

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across MetroLeads and Microsoft Dynamics 365 Sales .

  • Object compatibility

    A

    All 8 core objects map 1:1 between MetroLeads and Microsoft Dynamics 365 Sales .

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    MetroLeads: Not publicly documented in the available research data.

  • Data volume sensitivity

    B

    MetroLeads doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your MetroLeads to Microsoft Dynamics 365 Sales migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about MetroLeads to Microsoft Dynamics 365 Sales data migrations

Answers to the questions buyers ask most during MetroLeads to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your MetroLeads to Microsoft Dynamics 365 Sales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between four and six weeks for accounts under 10,000 Leads and 2,000 Companies with no Advanced Data Modules and a straightforward lifecycle stage matrix. Migrations with multiple Advanced Data Modules, large event histories, or multi-level company hierarchies move to ten to sixteen weeks because of custom object schema design, property ID resolution, and owner reconciliation complexity.

Adjacent paths

Related migrations to explore

Ready when you are

Move from MetroLeads.
Land in Microsoft Dynamics 365 Sales , intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day