Portmux
CRM → CRM MIGRATION

Salesforce to Dynamics 365
migration service.

Portmux is a Salesforce to Dynamics 365 migration service that moves your accounts, opportunities, custom entities, and security model into Dynamics 365 Sales with the role-based access and business process flows your sales ops team designed.

Salesforce-to-Dynamics is rarely a downgrade decision, it's usually about Microsoft 365 entitlements, Power Platform consolidation, or Copilot for Sales. The data models are conceptually similar (Accounts, Contacts, Opportunities), but Dynamics security uses Business Units and Security Roles where Salesforce uses Sharing Rules and Profiles. We map both data and access so your reps don't lose visibility on day one.

FIG. SALESFORCE → DYNAMICS 365
SOURCE
Salesforce
CRM
DESTINATION
Dynamics 365
CRM
4–6
Weeks typical
0ms
Cutover downtime
$12k
Starting fee
§ WHAT WE MIGRATE

Every object, every field.
From Salesforce, into Dynamics 365.

Dynamics 365 calls them entities, not objects. The standard entities (Account, Contact, Opportunity, Lead, Activity) line up with Salesforce, but Dynamics uses different terminology for ownership (Owner Team vs Owner User), pipeline stages (Business Process Flows), and assignment rules.
Accounts

Salesforce Accounts mapped to Dynamics Accounts with parent/child hierarchies and Account Team Members carried over as Access Team rows.

Contacts

All Contacts with custom fields, primary Contact role, and Contact-to-Account relationships preserved.

Opportunities

Opportunities mapped to Dynamics Opportunities with stage history, ForecastCategory translated to Sales Stage, and Products imported as Opportunity Products.

Leads

Leads migrated to Dynamics Leads with Lead Source, qualification status, and qualified Lead lineage tracked back to Account/Contact/Opportunity.

Custom Objects → Custom Entities

Salesforce custom objects recreated as Dynamics custom entities with all fields, relationships, option sets, and forms.

Activities

Tasks, Events, Calls, and EmailMessages mapped to Dynamics Activities (Phone Call, Appointment, Task, Email) with original Regarding records.

Notes & Attachments

Notes and ContentDocumentLinks moved to Dynamics Annotations; large files routed to SharePoint integration if enabled.

Users & Security Roles

Salesforce Profiles and Permission Sets analyzed and re-implemented as Dynamics Security Roles within the appropriate Business Units.

Pipelines → Business Process Flows

Sales Process pipelines re-implemented as Dynamics Business Process Flows with stage gating and required fields.

Email Templates

Salesforce Email Templates ported to Dynamics Email Templates with merge field syntax converted to Dynamics dynamic content.

Reports & Charts

Critical Salesforce Reports rebuilt as Dynamics Views, Charts, and Power BI dashboards.

Workflows

Active Workflows and Process Builder re-implemented as Power Automate Cloud Flows and Dynamics Real-Time Workflows.

§ HOW THIS MIGRATION RUNS

Three steps. One go-live date.

01
CONNECT

Plug into Salesforce.

We connect to Salesforce via OAuth and to Dynamics 365 via Azure AD application registration with the System Administrator role. Salesforce metadata API enumerates every entity, custom field, sharing rule, and Process Builder flow. The schema map identifies entities that need to become Dynamics custom entities versus extensions of standard entities.

02
MAP

Map to Dynamics 365.

Mapping covers four layers: data (Salesforce field → Dynamics attribute), security (Profile + Permission Set → Security Role + Business Unit), process (Sales Process → Business Process Flow), and integration (Outbound Messages → Power Automate). Your sales ops lead approves each layer before we touch Dynamics.

03
CUTOVER

Flip the connection.

We load Dynamics in a sandbox first and run a side-by-side test for a week with your power users. On cutover day, the sandbox is promoted to production, Salesforce is set to read-only, and we redirect all Outlook, mobile, and integration clients to Dynamics with a guided sign-on flow.

§ WHERE IT GETS HARD

Salesforce to Dynamics 365 isn't a button.

Every migration has its own gotchas. Here's what we plan for on this specific path.

● 01

Security model translation

Salesforce uses Profiles + Permission Sets + Sharing Rules + Roles. Dynamics uses Security Roles + Business Units + Teams. There's no automatic mapping. We build a matrix of who-sees-what in Salesforce today and re-design it in Dynamics terms before any user is provisioned.

● 02

Sales Process vs Business Process Flow

Salesforce Sales Process is a picklist with required-fields-per-stage. Dynamics Business Process Flow is a workflow object with branching, stage skipping, and immutable stage history. The migration recreates each stage but the user experience is different and reps need a 30-minute orientation.

● 03

Apex doesn't port to Power Automate

Apex Triggers and Classes need to be re-implemented as Power Automate flows, Dynamics Plugins (.NET), or Azure Functions. We don't port Apex automatically, we deliver a Power Automate replacement spec and either implement it in scope or hand it to your devs.

● 04

Files larger than 32MB

Dynamics Annotation has a 32MB attachment limit. Larger Salesforce ContentDocuments are routed to SharePoint via the Dynamics-SharePoint integration during migration, with a stub Annotation linking back to the SharePoint location.

§ STARTING PRICE

Salesforce to Dynamics 365 from $12K.

Single-system migrations like Salesforce to Dynamics 365 run as Track A engagements: one source, one destination, up to 1M records, 4–6 weeks. Final price depends on object volume, custom field count, and integrations, scoped on a 20-minute call before any commitment. See full pricing →

TRACK A
FROM$12K
4–6 weeks · 1 source → 1 destination · up to 1M records
Get a quote
§ QUESTIONS

Salesforce → Dynamics 365, asked.

How long does a Salesforce to Dynamics 365 migration take? +
Standard Salesforce-to-Dynamics migrations run 6–10 weeks. The complexity driver is Apex, every meaningful Apex Trigger or Class needs a Power Automate or Dynamics Plugin replacement. Orgs with light customization (out-of-the-box Sales Cloud) can run in 4–6 weeks. Heavily customized orgs with 50+ Apex classes run longer.
Can you migrate Salesforce custom objects to Dynamics custom entities? +
Yes. Every custom object you keep is recreated as a Dynamics custom entity with the same fields, option sets (Salesforce picklists), lookup relationships, and forms. We do not port Apex Triggers, those become Power Automate flows or Dynamics plugins as a separate workstream.
What happens to Salesforce Permission Sets and Sharing Rules? +
Profiles, Permission Sets, and Permission Set Groups are analyzed for effective permissions per user, then re-implemented as Dynamics Security Roles within Business Units. Sharing Rules become Access Teams or Business Unit hierarchy adjustments. We deliver the security mapping as a spreadsheet for sign-off.
Can users keep Outlook and Teams integrations on cutover day? +
Yes. Dynamics 365 App for Outlook and the Sales Copilot Teams integration are configured during the rehearsal week. Reps install the new add-in before cutover, and we deactivate the Salesforce Outlook integration on go-live day so there's no two-system sync drift.
Do you migrate Salesforce email and chatter conversations? +
Email Activities (EmailMessage records) migrate to Dynamics Email Activities with full body, attachments, and Regarding record linkage. Chatter posts and comments are exported and archived as a CSV reference, Dynamics doesn't have a direct Chatter equivalent. Microsoft Teams becomes the discussion surface post-migration.
NEXT CUTOVER

Book a 20-minute
scoping call.

Tell us what's in the source, where it's going, SaaS or custom, and when you need to be live. You'll walk away with a scoped quote, a named engineer, and a go-live date.

§ RELATED MIGRATIONS