CRM migration

Migrate from InTouch to Microsoft Dynamics 365 Sales

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

InTouch logo

InTouch

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

92%

11 of 12

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

Complexity

BStandard

Timeline

72–120 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

InTouch CRM stores contacts, companies, deals, activities, and custom fields in a flat-to-relational model with per-matter templates and property-level custom fields. Microsoft Dynamics 365 Sales stores equivalent entities on Dataverse (Account, Contact, Lead, Opportunity, Task, Annotation) with a different field-naming convention (new_ prefix for custom attributes) and a separate Lead/Contact split that InTouch does not have. FlitStack AI extracts InTouch data via the platform's export API, builds a field-level mapping plan against the Dynamics 365 Dataverse schema, creates required custom fields in your Dynamics 365 tenant, and loads data using Dynamics 365's bulk import APIs. We preserve original timestamps as custom datetime fields since Dynamics 365's CreatedOn is set at migration time. Workflows, automations, email templates, and reporting configurations do not migrate—they must be rebuilt in Dynamics 365's Power Automate, business rules, and SSRS/Power BI tools. A delta-pickup window captures in-flight changes during cutover, and a rollback snapshot lets you revert if field-level validation fails.

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

InTouch logo

InTouch

What's pushing teams away

  • Advanced customisation for dashboards, reporting, and workflow branching is limited, causing firms with complex or non-standard transaction types to outgrow the platform's flexibility.
  • The mobile app receives consistent criticism for poor usability and feature gaps compared to the desktop interface, which frustrates fee-earners who work on-site at properties.
  • The transition from the legacy flash-based version to the modern platform disrupted established users' workflows, and some firms report the learning curve on the new UI was steeper than expected.
  • Firms requiring deep third-party integrations with accounting software, Land Registry portals, or practice management suites find InTouch's native integration ecosystem too narrow for their needs.

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 InTouch objects map to Microsoft Dynamics 365 Sales

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

InTouch

Contact

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Direct map. Dynamics 365 requires AccountId for contact-to-account linking. InTouch contacts without a primary company are attached to a placeholder Account record or mapped to a designated catch-all account based on your rule preference.

InTouch

Contact (lifecycle/status flag)

maps to

Microsoft Dynamics 365 Sales

Lead

1:many
Fully supported

InTouch contact status flags that indicate unconverted prospects map to Dynamics 365 Lead. Active customers with closed-won deals route to Contact. FlitStack applies your specified status-to-object rules during the split.

InTouch

Company

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Direct map. InTouch company hierarchies (parent/child) map to Dynamics 365 Account.ParentAccountId. Multi-company contacts (N:N in InTouch) collapse to one primary AccountId plus Account Contact Relationships for secondary associations.

InTouch

Deal

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Direct map. InTouch deal pipelines map to Dynamics 365 Business Process Flows tied to Opportunity record types. Each InTouch pipeline requires its own BPF and record type in Dynamics 365 so stage pick-list values are scoped correctly.

InTouch

Pipeline

maps to

Microsoft Dynamics 365 Sales

Business Process Flow + Record Type

1:1
Fully supported

InTouch pipeline definition (stage names, probabilities, order) becomes a Dynamics 365 Business Process Flow. The BPF defines the stage progression path; the Opportunity StageName field stores the current stage value per BPF instance.

InTouch

Pipeline Stage

maps to

Microsoft Dynamics 365 Sales

Opportunity StageName

1:1
Fully supported

InTouch stage names map value-by-value to Dynamics 365 Opportunity StageName pick-list values per BPF. Stage probability and forecast category are reapplied from your specified mapping table during the load.

InTouch

Custom Fields (per-matter template)

maps to

Microsoft Dynamics 365 Sales

Custom fields (new_ prefix)

1:1
Fully supported

InTouch matter-level custom fields require new_ custom attribute creation in Dynamics 365 Dataverse before data loads. Each field's data type (text, number, date, pick-list) is matched to the corresponding Dataverse attribute type during schema mapping.

InTouch

Engagement (Call / Email / Meeting)

maps to

Microsoft Dynamics 365 Sales

Task / Appointment

1:1
Fully supported

InTouch call and email logs map to Dynamics 365 Task with Type set to 'Phone Call' or 'Email'. Meetings map to Appointment with original start/end times, location, and duration preserved. Activity party records link each activity to its associated Contact or Account.

InTouch

Note / Document

maps to

Microsoft Dynamics 365 Sales

Annotation

1:1
Fully supported

InTouch notes and document references migrate as Dynamics 365 Annotation records. Rich-text formatting in InTouch notes is preserved asAnnotation.body HTML content. File attachments are downloaded and re-uploaded to SharePoint or Dataverse File field based on your target storage preference.

InTouch

User / Owner

maps to

Microsoft Dynamics 365 Sales

SystemUser

1:1
Fully supported

InTouch owner_id is resolved by email match against Dynamics 365 Azure Active Directory-synced users. Unmatched owners are flagged pre-migration with a fallback owner assignment option. Owner records without a Dynamics 365 user account cannot be resolved automatically.

InTouch

Attachment / File

maps to

Microsoft Dynamics 365 Sales

SharePoint Document Location + Annotation

1:1
Fully supported

InTouch file attachments are downloaded, then uploaded to SharePoint Document Locations linked to the relevant Dynamics 365 entity. Files over 25 MB are chunked and re-uploaded using the SharePoint REST API. File metadata (created date, author) is preserved as custom fields.

InTouch

Custom Objects

maps to

Microsoft Dynamics 365 Sales

Custom Table (Dataverse)

1:1
Fully supported

InTouch custom objects with their own property sets map to Dataverse custom tables. N:N relationships between custom objects in InTouch require junction tables in Dynamics 365, which FlitStack creates during the schema setup phase.

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.

InTouch logo

InTouch gotchas

High

Custom fields are template-bound and require pre-migration schema review

Medium

Contact export runs asynchronously and can exceed one hour for large rolls

Medium

Legacy flash-era data may have inconsistent field encoding in exports

Low

Matter export is not a self-service feature on all tiers

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

  • Custom field creation required before data loads

    Dynamics 365 Sales is built on Dataverse, which requires explicit custom field creation via the solution designer or API before data can be written to those attributes. InTouch matter-template custom fields have no automatic Dataverse equivalent—each field's data type (text, integer, date, pick-list) must be matched to a corresponding Dataverse attribute type and created as a new_ prefixed column in the target table. FlitStack generates the full custom field creation manifest from your InTouch custom field export, but those fields must exist in the Dynamics 365 environment before the bulk load phase begins. This is a pre-requisite step that adds 1–3 hours of schema setup time to the migration window.

  • N:N contact-to-company associations collapse to primary AccountId

    InTouch allows a single contact to be associated with multiple companies natively. Dynamics 365 Contact records have a single primary AccountId lookup plus Account Contact Relationships for secondary associations. When a contact has more than one InTouch company association, FlitStack selects the most-recently-modified company as the primary AccountId and surfaces the others as Account Contact Relationship records. This means the primary AccountId on the Dynamics 365 Contact may differ from what your InTouch data shows if the most-recently-modified rule does not match your business expectation—your team should review the selection rule before the migration commits.

  • InTouch activity history requires type-splitting across Dynamics 365 entities

    InTouch stores calls, emails, meetings, and notes as flat engagement logs. Dynamics 365 splits these across Task (calls and emails), Appointment (meetings), and Annotation (notes)—each with a different entity structure, API payload, and activity-party linking model. FlitStack parses the InTouch engagement type field and routes each record to the correct Dynamics 365 entity during the load. The key risk is that ActivityParty records (which link an activity to its Contact or Account) must be created as separate records after the parent activity, which adds API round-trips and can extend the activity-migration phase for large engagement volumes.

  • Owner resolution by email match can leave records unassigned

    InTouch owner_id maps to Dynamics 365 OwnerId, which requires a matching SystemUser record. FlitStack resolves owners by email address against the Azure Active Directory-synced user list in your Dynamics 365 tenant. Any InTouch owner whose email does not match an existing Dynamics 365 user is flagged as unmatched before the migration begins. If unresolved, those records land under the designated fallback owner or remain unassigned. This risk is highest for InTouch setups with external contractors, legacy users, or deactivated accounts still assigned as record owners—your admin should audit the owner list before migration kicks off.

  • Sales Professional custom-table limit can force Enterprise upgrade

    Dynamics 365 Sales Professional licenses cap custom tables at 15. InTouch implementations with more than 15 custom fields (counted as custom tables in Dataverse) or custom objects require a Sales Enterprise license to accommodate the full schema after migration. FlitStack counts the unique custom field tables in your InTouch export during the assessment phase and alerts you if your target license tier needs adjustment. This is a licensing cost impact, not a data loss risk—FlitStack can migrate the data regardless of license tier, but Dynamics 365 will enforce the custom-table ceiling on the environment post-migration.

Migration approach

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

  1. Extract and audit the InTouch data model

    FlitStack AI connects to InTouch via your API credentials and exports the complete object inventory: contacts, companies, deals, activity logs, notes, attachments, and all custom field definitions with their data types and pick-list values. We validate relationship integrity (parent accounts, deal-to-contact links, multi-company contact associations) and surface any orphaned records or legacy data formats. This phase produces the data dictionary that drives all subsequent mapping decisions and flags any InTouch-specific constructs that lack a Dynamics 365 equivalent.

  2. Build schema mapping and custom field manifest

    FlitStack generates the complete field-level mapping plan: direct field mappings, value mappings for pick-list fields, custom field creation manifests with new_ attribute names and Dataverse data types, and transformation rules for date fields, owner resolution by email, and N:N relationship collapse logic. If your Dynamics 365 tenant is not yet provisioned, we provide the schema requirements as a setup checklist so your admin can pre-create the custom fields in Dataverse before data lands. The mapping plan is reviewed by your team in a shared diff document before any data moves.

  3. Run sample migration with field-level diff

    A representative slice—typically 200–500 records spanning contacts, accounts, opportunities, and a subset of activity records—migrates first against a Dynamics 365 sandbox or the target production environment (with your approval). FlitStack generates a field-level comparison report showing source value, mapped value, and any transformation applied. Your team verifies that InTouch lifecycle/status flags split correctly into Lead and Contact, that pipeline stages map to the correct BPF stage IDs, and that owner resolution by email produces the expected SystemUser assignments. No full migration runs until the sample diff is signed off.

  4. Execute bulk migration with dependency sequencing

    Accounts load first, then Contacts and Leads split by status flag, then Opportunities with their BPF assignments and stage values, then activity records routed to Task/Appointment/Annotation entities, then SharePoint file re-uploads. Dynamics 365 bulk import APIs handle the high-volume loads; FlitStack throttles to stay within InTouch export rate limits and Dataverse API allocation limits to avoid throttling errors. Relationship lookups resolve in dependency order—AccountId on contacts must exist before contacts load, Opportunity AccountId must resolve before opportunities commit.

  5. Delta-pickup cutover and rollback validation

    A delta-pickup window (typically 24–48 hours) runs after the bulk migration completes, capturing any InTouch records created or modified during the cutover window. FlitStack compares Source_System_ID__c values to identify net-new records and updates existing records whose modifieddate exceeds the initial migration timestamp. An audit log records every insert, update, and skip operation. If field-level validation fails—due to a mapping error, a custom field that was not created, or a relationship that did not resolve—FlitStack triggers the one-click rollback snapshot to restore Dynamics 365 to its pre-migration state. Your team can then remediate and re-run without data loss.

Platform deep dives

Context on both ends of the pair

InTouch logo

InTouch

Source

Strengths

  • Purpose-built conveyancing workflow templates with Land Registry task automation built in.
  • Fully managed cloud infrastructure with six file replicas across two regions and real-time database replication.
  • Data export capability included at all pricing tiers, not gated behind Enterprise only.
  • Dedicated customer champion and structured onboarding for firms with limited in-house IT capacity.
  • 2FA security enforced for both users and clients accessing the system.

Weaknesses

  • Advanced customisation for dashboards, reports, and workflow branching is limited compared to general-purpose legal platforms.
  • Mobile app is widely reported as under-featured and difficult to use on-site.
  • Native integration ecosystem with third-party accounting, Land Registry, and practice management tools is narrow.
  • Transition from the legacy flash-based interface created workflow disruption for established users that some firms still reference negatively.
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. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

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

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • 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

    InTouch: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your InTouch 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 InTouch to Microsoft Dynamics 365 Sales data migrations

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

Can't find your answer?

Walk through your InTouch 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 InTouch to Dynamics 365 Sales migrations complete within 72–120 hours of clock time for setups under 25,000 total records. Larger implementations with 100,000+ records, multiple custom objects, or extensive activity history extend to 7–14 days. The longest single phase is typically schema setup and custom field creation in Dataverse if your InTouch setup has more than 20 custom fields—the data migration itself runs on Dynamics 365's bulk import APIs and proceeds faster than the schema planning phase.

Adjacent paths

Related migrations to explore

Ready when you are

Move from InTouch.
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