CRM migration
Field-level mapping, validation, and rollback between Clientify and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Clientify
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
8 of 11
objects map 1:1 between Clientify and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Clientify to Microsoft Dynamics 365 Sales is a structural migration for Spanish-first SMBs scaling beyond the all-in-one platform's feature ceiling. Clientify stores sales data in a flat object model with WhatsApp threads, AI lead scores, and marketing campaigns tied directly to Contact records, while Microsoft Dynamics 365 Sales uses the Account-Contact-Opportunity hierarchy with separate Entities for activities, products, and quotes. We resolve the contact-to-account parent linkage during scoping, pre-create picklist values in Dynamics 365 before import to avoid field-type rejection, and use the Dynamics 365 Dataverse API with batch chunking for engagement history. Workflow automations, WhatsApp chatbot logic, and AI scoring models stored inside Clientify's builder do not export; we deliver a structured workflow audit and an automation rebuild plan. The Microsoft 365 Copilot integration is activated post-migration as a separate configuration step.
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
Clientify platform overview
Scorecard, SWOT, gotchas, and pricing for Clientify.
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 Clientify 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.
Clientify
Contact
Microsoft Dynamics 365 Sales
Contact
1:1Clientify Contact records map directly to Dynamics 365 Sales Contact. Standard fields (FullName, Email, Phone, MobilePhone, JobTitle) migrate 1:1. The clientify lifecycle stage property maps to a custom field cly_lifecycle_stage__c on Contact since Dynamics 365 Sales does not have a native lifecycle stage concept. Contact requires an AccountId parent link; we resolve the parent Company from Clientify and create or match the Account record before Contact insert.
Clientify
Company
Microsoft Dynamics 365 Sales
Account
1:1Clientify Company records map to Dynamics 365 Sales Account. The clientify industry, number of employees, annual revenue, and address fields map to their Dynamics 365 equivalents (IndustryCode, NumberOfEmployees, AnnualRevenue, Address1_*). Account is created before Contact import so that the AccountId lookup is satisfied on insert. Domain name from Clientify becomes the Account Website field and is used as the dedupe key.
Clientify
Lead
Microsoft Dynamics 365 Sales
Lead
1:1Clientify Lead records (distinct from Contact in Clientify) map to Dynamics 365 Lead. Lead status from Clientify maps to Dynamics 365 Lead StateCode and StatusCode. Any lead score value from Clientify's AI scoring migrates to a custom field lead_score__c. The customer's admin reviews the Lead-to-Contact convert mapping post-migration since lead qualification criteria differ between platforms.
Clientify
Deal
Microsoft Dynamics 365 Sales
Opportunity
1:1Clientify Deal records map to Dynamics 365 Sales Opportunity. Deal name maps to Opportunity Name, deal value maps to EstimatedRevenue, and expected close date maps to EstimatedCloseDate. The Clientify deal stage maps to the corresponding StageName in the configured Sales Process. OwnerId resolves by email match to the Dynamics 365 User record.
Clientify
Pipeline Stage
Microsoft Dynamics 365 Sales
Stage (Sales Process)
lossyClientify pipeline stage names and ordering are read from the export and replicated as StageName values within a Dynamics 365 Sales Process. Probability percentages from Clientify map to StageProbability on each stage. If Clientify uses multiple pipelines, we create multiple Sales Processes or Record Types in Dynamics 365 to preserve the multi-pipeline structure.
Clientify
Activities (calls, emails, meetings, tasks)
Microsoft Dynamics 365 Sales
Task and EmailMessage
1:1Clientify activity records (logged calls, emails, meeting notes, tasks) map to Dynamics 365 Task and EmailMessage entities. Activity type label and timestamp format are normalized to match Dataverse conventions. The regarding_objectid on each activity links to the parent Contact, Account, or Opportunity record by resolving the original Clientify record ID through the mapping table created during scoping.
Clientify
Custom Properties
Microsoft Dynamics 365 Sales
Custom Fields
lossyClientify custom fields on Contact, Company, and Deal map to Dynamics 365 custom fields. We pre-create the destination schema including all custom fields, field types, and picklist value sets before migration begins. Any picklist-based custom property in Clientify requires pre-creation of the corresponding option set values in Dynamics 365 or the import fails for those records. Required-field flags and validation rules are reviewed with the customer's admin before activation.
Clientify
WhatsApp Conversations
Microsoft Dynamics 365 Sales
Custom Activity Entity
1:1WhatsApp conversation metadata (timestamps, participant IDs, message count, thread length) attached to Clientify Contact records migrates to a custom Dataverse entity we create for WhatsApp activity. Full message body export depends on Clientify's API availability at migration time; if the complete thread is not exportable via API, we preserve available metadata and note the gap. Media attachments, delivery receipts, and read receipts require separate documentation. Dynamics 365 Sales does not have native WhatsApp support; the customer may configure a Power Automate flow or third-party connector post-migration to reactivate live WhatsApp sync.
Clientify
Tags and Segments
Microsoft Dynamics 365 Sales
Multi-Select Picklist or Marketing List
lossyClientify contact tags migrate to Dynamics 365 Sales as multi-select picklist values on the Contact record. Segments built from dynamic filters in Clientify do not transfer as logic; we export the segment membership list (which contacts qualified) and the customer chooses whether to store segment membership as a static Marketing List in Dynamics 365 or as a custom picklist field. The segment rebuild as dynamic logic requires manual recreation in Dynamics 365 Marketing or a Power Automate flow.
Clientify
Marketing Campaigns
Microsoft Dynamics 365 Sales
Campaign
1:1Clientify marketing campaigns with open rates, click rates, and send volumes migrate to Dynamics 365 Sales Campaign records as static performance data. The campaign execution logic (A/B test conditions, trigger schedules, automation rules) lives in Clientify's campaign builder and cannot be extracted; we document the campaign parameters (subject, send date, audience size, aggregated metrics) for the customer's marketing team to reconstruct in Dynamics 365 Marketing or their chosen email platform.
Clientify
Users and Owners
Microsoft Dynamics 365 Sales
User
1:1Clientify user records (name, email, role) export for mapping to Dynamics 365 User. We resolve each Owner by email match against the destination org's User table. Any Clientify Owner without a matching Dynamics 365 User is held in a reconciliation queue until the customer's admin provisions the User account. Role and team structure from Clientify require manual reconfiguration in Dynamics 365 Security Roles and Teams post-migration.
| Clientify | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Lead | Lead1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Pipeline Stage | Stage (Sales Process)lossy | Fully supported | |
| Activities (calls, emails, meetings, tasks) | Task and EmailMessage1:1 | Fully supported | |
| Custom Properties | Custom Fieldslossy | Mapping required | |
| WhatsApp Conversations | Custom Activity Entity1:1 | Mapping required | |
| Tags and Segments | Multi-Select Picklist or Marketing Listlossy | Mapping required | |
| Marketing Campaigns | Campaign1:1 | Mapping required | |
| Users and Owners | User1:1 | Mapping required |
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.
Clientify gotchas
Workflow automation logic does not export
WhatsApp conversation history depends on API exportability
Custom properties may have schema restrictions at destination
Marketing campaign metrics are exportable but campaign logic is not
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 data profiling
We audit the Clientify instance for record volumes across all objects (Contacts, Companies, Leads, Deals, Activities, Marketing Campaigns), custom field definitions and their data types, pipeline configurations and stage counts, active workflow rules and their trigger logic, WhatsApp conversation archive completeness, and tag/segment definitions. We produce a data quality report identifying duplicates, missing required fields, and format inconsistencies that must be resolved before import. We also confirm the Clientify API export capability for each object and flag any that are exportable only in aggregate.
Destination schema design in Dataverse
We design the Dynamics 365 Sales destination schema. This includes creating custom fields on Contact, Account, Lead, and Opportunity to capture Clientify-specific data (lifecycle stage, lead score, WhatsApp metadata). We pre-create all option-set values for picklist-based custom fields, configure the Account-Contact relationship, set up Sales Processes with stage names matching the Clientify pipeline, and define Security Roles reflecting the customer's existing permission model. Schema is deployed to a Dynamics 365 Sandbox for validation before production.
Workflow audit and automation handoff preparation
We deliver the Clientify workflow audit worksheet to the customer's team and ask them to document every active automation rule (trigger, conditions, actions, delays) before we begin migration. We do not migrate workflow logic. The completed worksheet serves as the handoff document for the customer's Power Automate or Dynamics 365 admin to rebuild automation post-migration. We also document the WhatsApp chatbot configuration and any Clientify AI scoring logic that should be replaced with Dynamics 365 Sales Copilot scoring or a custom Power Apps scoring model.
Sandbox migration and reconciliation
We run a full migration into the Dynamics 365 Sandbox using representative data volumes. The customer's RevOps lead reconciles record counts against the Clientify source (Contacts in vs Contacts out, Accounts in vs Companies in, Opportunities in vs Deals in, Activities in), spot-checks 20-30 records for field-level accuracy, and validates that parent-child relationships (AccountId on Contact, Regarding on Activities) are correctly resolved. Mapping corrections are documented and applied before the production migration begins.
Owner reconciliation and User provisioning
We extract every distinct Clientify Owner referenced across Contacts, Companies, Deals, and Activities and match by email against the destination Dynamics 365 User table. Any Owner without a matching User is placed in a reconciliation queue. The customer's Dynamics 365 admin provisions missing User accounts (active or inactive based on whether the original Clientify user is still active). Migration cannot proceed past this step because OwnerId references are required on Account, Contact, and Opportunity records.
Production migration in dependency order
We run production migration in strict dependency order: Account (from Company), Contact (with AccountId resolved), Lead, Opportunity (with AccountId, OwnerId, and Sales Process resolved), Activities (Tasks and EmailMessage via Dataverse API with batch chunking), WhatsApp metadata (custom Dataverse entity), Campaign performance data, and Tags/Segments (as picklist values or Marketing Lists). Each phase emits a row-count reconciliation report. We run a final delta migration for any records modified in Clientify during the migration window, then enable Dynamics 365 Sales as the system of record.
Cutover, validation, and post-migration handoff
We freeze Clientify writes during cutover and deliver the final reconciliation report showing record counts, error rates, and any unmapped fields. We provide the automation rebuild handoff document to the customer's admin team. We support a five-business-day hypercare window for reconciliation issues raised by the sales team. We do not configure Power Automate flows, Microsoft 365 Copilot activation, or WhatsApp third-party connectors as part of the migration scope; these are separate configuration engagements with the customer's Microsoft partner.
Platform deep dives
Clientify
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Clientify and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Clientify and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between Clientify and Microsoft Dynamics 365 Sales .
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
Clientify: Not publicly documented.
Data volume sensitivity
Clientify 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 Clientify to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Clientify 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 Clientify
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.