CRM migration

Migrate from InStream to Microsoft Dynamics 365 Sales

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

InStream logo

InStream

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

50%

4 of 8

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

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from InStream to Microsoft Microsoft Dynamics 365 Sales is a structural migration that trades InStream's lightweight simplicity for Microsoft Dynamics 365 Sales ' enterprise depth. InStream organizes data around a unified Contact with social profile enrichment, simple Kanban pipelines, and Lists for segmentation. Microsoft Dynamics 365 Sales uses the Lead-Contact-Account model on Dataverse, with structured sales processes, Opportunity stages with probabilities, and native integration across the Microsoft 365 ecosystem. We extract InStream contact records with their social profile URLs, map Companies to Accounts, convert Deals to Opportunities with stage names preserved, migrate Lists as tags or segments, and move available Activity history to Tasks and Events via the Dataverse API. InStream's social enrichment is linked to external APIs at import time and does not store as independent fields; we transfer the URL references as text fields. Workflows, automations, and integration configurations do not migrate; we deliver a written inventory of these for the customer to rebuild in Dynamics 365 or Power Automate.

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

InStream logo

InStream

What's pushing teams away

  • Feature set is too basic for growing teams — users outgrow it when they need advanced automation, custom reporting, or deeper CRM capabilities.
  • Loading performance degrades occasionally, creating friction for daily users who depend on quick access to contact and deal data.
  • Integration ecosystem is narrow; users with complex tech stacks find the Gmail-Facebook-Twitter-LinkedIn-only integrations limiting.
  • Gap between Basic and Business plan pricing leaves solos and very small teams without a mid-tier option, forcing an expensive jump for additional features.

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

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

InStream

Contact

maps to

Microsoft Dynamics 365 Sales

Lead or Contact (split by qualification)

1:many
Fully supported

InStream does not have an explicit Lead object; all contacts live in a single Contact object regardless of qualification stage. We classify each Contact as a Salesforce Lead or Contact at migration time based on the contact's InStream pipeline engagement: Contacts with no associated Deals and early-stage profiles map to Dynamics 365 Lead; Contacts with an active Deal or advanced pipeline stage map to Dynamics 365 Contact linked to an Account. We preserve the original InStream contact ID in a custom field instream_contact_id__c for audit and reconciliation.

InStream

Company

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

InStream Company records map directly to Microsoft Microsoft Dynamics 365 Sales Account. The Company domain field maps to Account Website. Account is created before any Contact import so the AccountId lookup is resolved at the moment of Contact insert. We flag any Company without an associated Contact for manual review during reconciliation.

InStream

Deal

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

InStream Deals map to Microsoft Dynamics 365 Sales Opportunity. The Deal value maps to Opportunity Amount, close date maps to CloseDate, and the Deal name maps to Opportunity Name. We resolve the parent Account reference at migration time using the InStream Company linkage. Any Deal without a linked Company is attached to a default Account or held in the reconciliation queue.

InStream

Pipeline Stage

maps to

Microsoft Dynamics 365 Sales

Opportunity Stage

lossy
Fully supported

InStream pipeline stages use free-text names with no enforced taxonomy. We capture the full stage name and order during discovery, then configure matching Opportunity Stage values in Microsoft Dynamics 365 Sales before migration. Each stage gets a probability percentage derived from the InStream deal distribution data. If the customer uses multiple InStream pipelines, we map each to a separate Dynamics 365 Record Type and Sales Process.

InStream

List

maps to

Microsoft Dynamics 365 Sales

Tag or Security Group

lossy
Fully supported

InStream Lists segment contacts for targeted outreach. We migrate List membership as tags on the corresponding Lead or Contact record. For larger lists used for campaign segmentation, we create a custom multi-select picklist field or tag-based custom entity in Microsoft Dynamics 365 Sales and map each list to a named value. The customer selects the preferred tagging strategy during scoping.

InStream

Activity: Email, Call, Meeting, Note

maps to

Microsoft Dynamics 365 Sales

Task and Event

1:1
Fully supported

InStream engagements (calls, emails, meetings, notes) attached to Contacts migrate to Microsoft Dynamics 365 Sales Task and Event records. Call engagements map to Task with TaskSubtype=Call and duration preserved. Meetings map to Event with start and end timestamps. Notes migrate as Note records linked via ContentDocumentLink to the parent Contact or Account. ActivityDate is set to the original InStream timestamp to preserve timeline ordering.

InStream

Tag

maps to

Microsoft Dynamics 365 Sales

Text Field or Topic

lossy
Fully supported

InStream tags migrate as text values in a custom field instream_tags__c on the Lead or Contact record. If the tag count per record is high, we create a multi-select picklist in Microsoft Dynamics 365 Sales during schema design. Tags used for campaign classification are documented as a Topic mapping with TopicAssignment records as a secondary option.

InStream

Custom Field

maps to

Microsoft Dynamics 365 Sales

Custom Field

1:1
Fully supported

InStream custom fields exist but their schema is not publicly documented via API. We extract available field definitions from the InStream UI export during discovery, cross-reference them against the Microsoft Dynamics 365 Sales schema, and flag any unmapped fields for manual review before cutover. We pre-create destination custom fields in Dataverse during the schema design phase with type mapping (text to text, number to number, date to datetime) before any data loads begin.

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.

InStream logo

InStream gotchas

High

Free plan 100-contact cap applies to total contacts, not just active ones

Medium

Social profile enrichment does not migrate as raw data

Medium

Pipeline stage names are free-text and not normalized

Low

Custom fields schema is not publicly documented

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

  • Social profile enrichment does not persist as structured data

    InStream pulls social profile data from LinkedIn, Twitter, and Facebook at import time via external API calls. This enrichment is linked to the external service, not stored as independent fields. When migrating out, the social profile URLs transfer as text fields but the enriched data snapshot does not carry over. We extract all native contact fields explicitly from the InStream export and map social profile URLs to custom text fields in Microsoft Dynamics 365 Sales . Any social data that was not captured as a static URL at import time is silently dropped; we flag this in the discovery report and recommend re-enrichment in Dynamics 365 via a LinkedIn Sales Navigator integration post-migration.

  • Free-text pipeline stages require manual mapping to Dynamics 365 stages

    InStream allows users to name pipeline stages arbitrarily, with no enforced taxonomy or probability schema. 'Qualified Lead' in one InStream account may mean something entirely different in another. Microsoft Dynamics 365 Sales requires structured stage names tied to a Sales Process with explicit probability percentages. We capture the stage name-to-order mapping during discovery, configure equivalent stage values in Microsoft Dynamics 365 Sales before migration, and use the InStream stage order to set stage probabilities. If the customer's InStream pipeline uses stages that have no natural Dynamics 365 equivalent, we flag them for the customer to define before production migration.

  • Custom field schema extraction requires UI-level discovery

    InStream does not publish its custom field schema via a public API reference. During migration, we extract available field definitions from the UI export and cross-reference them against the Microsoft Dynamics 365 Sales Dataverse schema. Any fields not exposed in the export are flagged as unmapped and brought to the customer's attention for manual review. This adds a discovery step not present in migrations from platforms with documented API schemas. We recommend the customer export a full InStream contact CSV during discovery to maximize field coverage before migration begins.

  • InStream integrations and automations do not migrate

    InStream integrations with Gmail, Facebook, Twitter, and LinkedIn are configuration-level connections that pull data into contact records; the integration configuration itself does not export. We do not migrate integration credentials or webhook configurations. Any Microsoft Dynamics 365 Sales integrations (Outlook, Teams, SharePoint, LinkedIn Sales Navigator, Power Automate connectors) must be reconfigured post-migration by the customer's admin. InStream has no workflow builder, but any automations built outside InStream that feed data into it also require reconfiguration at the destination.

Migration approach

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

  1. Discovery and data audit

    We audit the source InStream account for contact volume, company count, deal count, pipeline stage names, active lists, custom fields visible in the UI export, and engagement history. We extract a full contact CSV from InStream to capture all static field values, including any manually entered social profile URLs. We assess data quality (duplicates, missing email addresses, stale records) and produce a written discovery report that documents the pipeline stage mapping, the lead-versus-contact classification rule, and any unmapped custom fields requiring manual schema design in Microsoft Dynamics 365 Sales .

  2. Schema design in Microsoft Dynamics 365 Sales

    We design the destination schema in the customer's Microsoft Dynamics 365 Sales environment. This includes configuring Opportunity stage values and probabilities mapped from InStream pipeline stages, provisioning custom fields (instream_contact_id__c, instream_tags__c, social profile URL fields) on Lead, Contact, Account, and Opportunity objects, and creating Record Types if multiple InStream pipelines are in use. Schema is deployed into a Sandbox org first for validation. We confirm with the customer which Microsoft Dynamics 365 Sales edition (Professional at $65/user or Enterprise at $105/user) is active and whether Dataverse custom entities are available.

  3. Sandbox migration and reconciliation

    We run a full migration into a Microsoft Dynamics 365 Sales Sandbox using a representative data snapshot. The customer reconciles record counts (Contacts in, Leads in, Accounts in, Opportunities in, Activities in), spot-checks 20-30 random records against the InStream source, and signs off the mapping before production migration begins. Any stage mapping corrections, custom field additions, or classification rule adjustments happen at this stage. Sandbox validation typically takes three to five business days.

  4. Data cleansing and preparation

    We de-duplicate contact records using email address as the primary key, validate required fields (email, name) against Microsoft Dynamics 365 Sales validation rules, and clean formatting issues (phone number formats, special characters in company names). Records failing validation are logged to a remediation sheet for the customer to correct before the production migration window. We also archive InStream contacts with no email address and no associated Deals, as Microsoft Dynamics 365 Sales requires an email or name to create a valid Lead or Contact.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Accounts (from InStream Companies), Leads and Contacts (with the qualification-based split applied), Opportunities (with AccountId and stage resolved), Activity history (Tasks, Events, Notes via Dataverse API with chunking and exponential backoff), and Tags (as text values on Lead and Contact). Each phase emits a row-count reconciliation report. We freeze InStream writes during the production migration window and run a final delta pass to capture any records modified during the window before cutover.

  6. Cutover, validation, and workflow rebuild handoff

    We enable Microsoft Dynamics 365 Sales as the system of record after the final delta pass. We deliver the InStream automation and integration inventory document to the customer's admin team, listing every InStream List, tag strategy, and any workflow logic the customer built externally that fed data into InStream. We support a three-day hypercare window for reconciliation issues. We do not rebuild automations in Power Automate as part of standard migration scope; that work is documented for the customer's admin or a separate Dynamics 365 partner engagement.

Platform deep dives

Context on both ends of the pair

InStream logo

InStream

Source

Strengths

  • Free plan for 1 user and 100 contacts enables zero-cost evaluation.
  • Social media integration pulls LinkedIn, Twitter, and Facebook data into contact records automatically.
  • Grid view gives a visual at-a-glance summary of pipeline status across all leads.
  • Contact import is straightforward, with responsive support available during initial setup.

Weaknesses

  • CRM features are basic — no advanced automation, custom reporting, or workflow builder beyond simple lists.
  • Performance occasionally slows, which disrupts daily use for contact-heavy workflows.
  • Integration library is limited to Gmail and major social platforms, excluding many common business tools.
  • Pricing tier jump from Basic to Business is steep, leaving solos without a comfortable mid-range option.
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 InStream 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

    InStream: Not publicly documented..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your InStream 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 InStream to Microsoft Dynamics 365 Sales migrations land between three and five weeks for accounts under 5,000 Contacts and 500 Deals with a clean data snapshot and no engagement history to preserve. Migrations with large engagement histories (emails, calls, meetings across thousands of records), multiple InStream Lists, or custom field schema discovery requiring manual review move to six to ten weeks. The sandbox validation step alone typically takes three to five business days and must complete before production migration begins.

Adjacent paths

Related migrations to explore

Ready when you are

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