CRM migration
Field-level mapping, validation, and rollback between SalesCaptain and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
SalesCaptain
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
5 of 8
objects map 1:1 between SalesCaptain and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from SalesCaptain to Microsoft Dynamics 365 Sales is a structural migration from a narrow SMB-focused CRM to an enterprise-grade platform with a significantly richer data model. SalesCaptain consolidates Leads and Contacts into a single Contact object with a status field; Dynamics 365 separates unqualified prospects into Lead records and qualified buyers into Contact records attached to Account records. We resolve that split during scoping by mapping SalesCaptain Contacts with a lead status into Dynamics Leads, and contacts with a customer status into Dynamics Contacts tied to an Account. Activity history from SalesCaptain conversations (calls, SMS, emails) migrates as Task records with sub-type metadata against the resolved parent record. SalesCaptain does not expose automation rules via API, so every active workflow must be documented during discovery and rebuilt in Dynamics 365 by the customer's admin post-migration. We deliver a written Workflow Inventory worksheet as part of standard scope to make that rebuild tractable.
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
SalesCaptain platform overview
Scorecard, SWOT, gotchas, and pricing for SalesCaptain.
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 SalesCaptain 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.
SalesCaptain
Contact
Microsoft Dynamics 365 Sales
Lead or Contact (split required)
1:manySalesCaptain Contacts with a lead or prospect status map to Microsoft Dynamics 365 Lead. SalesCaptain Contacts with a customer or active status map to Dynamics 365 Contact tied to a corresponding Account. We compute the split at migration time by reading the SalesCaptain contact status field and assigning the record to the correct Dynamics object with the original status preserved in a custom field sc_original_status__c on both Lead and Contact for reconciliation and reporting.
SalesCaptain
Company
Microsoft Dynamics 365 Sales
Account
1:1SalesCaptain Company records map directly to Microsoft Dynamics 365 Account. The Company domain name or website field becomes the Account Website field and serves as a dedupe key during import. Dynamics 365 Account hierarchy support allows us to model parent-child Company relationships if the source data contains multiple locations under a parent entity. Account is created before any Contact import so that the AccountId Lookup is satisfied at the moment of Contact insert.
SalesCaptain
Deal
Microsoft Dynamics 365 Sales
Opportunity
1:1SalesCaptain Deals map to Dynamics 365 Opportunity. The deal stage maps to a configured Dynamics Opportunity Stage. We pre-create the Sales Process and Record Type in the target environment that corresponds to each SalesCaptain deal pipeline before migration begins. Closed-won and closed-lost reasons from SalesCaptain custom properties migrate to Dynamics Loss Reason and Win Reason fields if those fields are present in the destination schema.
SalesCaptain
Deal Stage
Microsoft Dynamics 365 Sales
Opportunity Stage
lossyEach SalesCaptain deal stage becomes a Dynamics 365 StageName value within the configured Sales Process. We map stage probability percentages from SalesCaptain to the Dynamics StageProbability field, rounding to the nearest integer allowed by the platform. Stage ordering and pipeline assignment migrate as part of the Sales Process design step.
SalesCaptain
Conversation
Microsoft Dynamics 365 Sales
Task
1:1SalesCaptain conversation threads (SMS, voice call logs, and message exchanges) export as activity records with timestamps and participant references. We map these to Dynamics 365 Task records with the TaskSubtype field set to Call for voice threads and TaskSubtype set to Task for message threads. Conversation body content migrates as the Task Description. The resolved Contact or Lead serves as the WhoId and the Account as the WhatId for timeline integrity.
SalesCaptain
Custom Field
Microsoft Dynamics 365 Sales
Custom Field
1:1SalesCaptain custom field definitions export as JSON schemas with field type metadata. We map these to equivalent Dynamics 365 column types during schema design: text fields to Text, numeric fields to Number or Decimal, date fields to DateTime with timezone normalization, and multi-select values to Option Set with the delimiter-preserving transformation applied. Custom fields are created in the destination environment before any data import begins.
SalesCaptain
Communication Channel Profile
Microsoft Dynamics 365 Sales
Account Contact Points
lossySalesCaptain channel profile data (phone numbers, messaging account identifiers) exports as metadata attached to Contact records. We map phone numbers to the Dynamics Contact phone and mobilephone fields, and messaging identifiers to a custom text field sc_channel_id__c on Contact. Channel-specific routing rules that cannot translate to Dynamics native fields are flagged in the migration report for admin review.
SalesCaptain
User
Microsoft Dynamics 365 Sales
User
1:1SalesCaptain user records export with name, email, and role assignment data. We resolve owners by email match against the Dynamics 365 User table. Users without a matching Dynamics 365 User go to a reconciliation queue for the customer's admin to provision before record import resumes. Role-based assignments from SalesCaptain are documented in the Workflow Inventory worksheet and must be reconfigured in Dynamics 365 security roles post-migration.
| SalesCaptain | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Lead or Contact (split required)1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Deal Stage | Opportunity Stagelossy | Fully supported | |
| Conversation | Task1:1 | Fully supported | |
| Custom Field | Custom Field1:1 | Fully supported | |
| Communication Channel Profile | Account Contact Pointslossy | Fully supported | |
| User | User1:1 | 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.
SalesCaptain gotchas
No public bulk export API for high-volume migrations
Workflow automation rules do not export via API
Bearer token rotation requires re-authentication during migration
Limited custom field type support on import
No public API rate limit documentation
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 migration scope definition
We audit the SalesCaptain portal for record volumes (Contacts, Companies, Deals, conversation threads), active workflow rules, custom field definitions, and API token configuration. We pair this with a Dynamics 365 edition assessment: Team Member ($8/user/mo) for basic data-only migrations, Sales Professional ($65/user/mo) for pipeline and opportunity management, or Sales Premium ($150+/user/mo) if the customer requires relationship insights and conversation intelligence. The discovery output is a written migration scope document, a Workflow Inventory worksheet for every active automation rule, and a Dynamics edition recommendation.
Lead-Contact split rule design and schema deployment
We define the split rule mapping SalesCaptain Contact status values to either Dynamics 365 Lead or Contact based on the customer's business logic. We then design the destination schema in Dynamics 365: custom fields with correct data types, Account hierarchy configuration, Opportunity Record Types and Sales Processes for each SalesCaptain deal pipeline, and Option Set values for picklist fields. Schema is deployed into a Dynamics 365 Sandbox environment first for validation before any production migration begins.
Sandbox migration and reconciliation
We run a full migration into a Dynamics 365 Sandbox using representative data volume. The customer's operations lead reconciles record counts across all object types, spot-checks 20-30 records against the SalesCaptain source, and signs off the schema and mapping before production migration begins. Any field mapping corrections, split rule adjustments, or custom field type mismatches are resolved in the Sandbox, not in production.
Owner reconciliation and User provisioning
We extract every distinct SalesCaptain owner referenced on Contact, Company, Deal, and conversation records and match by email against the Dynamics 365 User table. Owners without a matching Dynamics 365 User go to a reconciliation queue. The customer's Dynamics 365 admin provisions any missing Users and assigns the correct Security Roles. Migration cannot proceed past this step because OwnerId references are required on Opportunity and Activity records.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from SalesCaptain Companies), Leads and Contacts (with the split rule applied), Opportunities (with AccountId, OwnerId, and RecordTypeId resolved), Tasks (conversation history with TaskSubtype metadata against the resolved parent record), and custom fields (rehydrated from JSON schema alongside standard fields). Each phase emits a row-count reconciliation report before the next phase begins. We use the Dataverse Web API with batch operations and conservative request pacing to avoid throttle responses.
Cutover, validation, and workflow rebuild handoff
We freeze SalesCaptain writes during cutover, run a final delta migration of any records modified during the migration window, then enable Dynamics 365 Sales as the system of record. We deliver the Workflow Inventory worksheet to the customer's admin team with recommended Power Automate equivalents for each SalesCaptain automation rule. We support a five-business-day hypercare window where we resolve any reconciliation issues raised by the sales team. We do not rebuild SalesCaptain Workflows as Power Automate flows inside the migration scope; that is a separate engagement.
Platform deep dives
SalesCaptain
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 SalesCaptain 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
SalesCaptain: Not publicly documented.
Data volume sensitivity
SalesCaptain 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 SalesCaptain to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your SalesCaptain 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 SalesCaptain
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.