CRM migration
Field-level mapping, validation, and rollback between Getfly CRM and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Getfly CRM
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
8 of 9
objects map 1:1 between Getfly CRM and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
2-4 weeks
Overview
Migrating from Getfly CRM to Microsoft Microsoft Dynamics 365 Sales is a structural migration for any company scaling beyond the Vietnam-market feature set into an enterprise Microsoft environment. Getfly's primary object is an Account that blurs the line between organization and person; Microsoft Dynamics 365 Sales enforces a strict Account (organization) and Contact (individual) split with a many-to-one relationship. We resolve that split at migration time using Getfly's phone, email, and address fields to determine whether each record is an organization or a person. Activity records (calls, tasks, meetings) link to the resolved parent Account or Contact via lookup resolution. Getfly's workflow automations are not exportable; we document the full automation topology during scoping and deliver a written inventory for the customer to rebuild in Microsoft Dynamics 365 Sales or Power Automate. PABX call recordings are URL-referenced only in Getfly — we download each recording file at export time and re-upload it to Dynamics to prevent broken links post-migration.
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
Getfly CRM platform overview
Scorecard, SWOT, gotchas, and pricing for Getfly CRM.
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 Getfly CRM 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.
Getfly CRM
Account (Customer)
Microsoft Dynamics 365 Sales
Account + Contact (split required)
1:manyGetfly's primary object is an Account that stores both organizational records and individual contacts without a clear separation. We inspect each record at migration time: records with a domain in the email field, a company phone without a personal name, or no individual name map to Microsoft Microsoft Dynamics 365 Sales Account. Records with an individual name, personal email, and a linked company name map to Dynamics Contact with the AccountId lookup resolved to the parent Account. This split requires two-pass resolution: first pass identifies all organizational accounts, second pass distributes individual records into the Account-Contact hierarchy. We flag any Getfly Account record with ambiguous type for customer review before migration.
Getfly CRM
Products
Microsoft Dynamics 365 Sales
Product (Product2)
1:1Getfly Products with SKU, pricing, and detail_custom_fields map to Microsoft Dynamics 365 Sales Product2 records. The detail_custom_fields nested object from Getfly flattens into typed custom fields on Product2. Standard Price Book entries are created during import to enable Opportunity Product line items. ProductCode migrates from Getfly's SKU field, and the product pricing tiers (if Getfly supports volume pricing) map to PricebookEntry records per price book.
Getfly CRM
Deal (Pipeline Stages)
Microsoft Dynamics 365 Sales
Opportunity (Sales Process + Stage)
1:1Getfly Deals map to Microsoft Dynamics 365 Sales Opportunity. Each Getfly pipeline becomes a Microsoft Dynamics 365 Sales Process (a stage whitelist) and an Opportunity Record Type that we configure before migration. Stage names from Getfly map to StageName values in Dynamics, and probability percentages round to Dynamics-allowed integers. Closed-Lost and Closed-Won statuses from Getfly map to equivalent Dynamics stage outcomes. Deal amount, close date, and owner assignment migrate directly.
Getfly CRM
Activities (Tasks, Calls, Meetings)
Microsoft Dynamics 365 Sales
Task (TaskSubtype = Call) + Event
1:1Getfly Activity records map to Microsoft Dynamics 365 Sales Task and Event objects based on activity type. Call activities map to Task with TaskSubtype = Call and CallDirection preserved. Meeting activities map to Event with StartDateTime, EndDateTime, and Location fields carried over. Task activities map to Task with Status, Priority, and ActivityDate preserved. All activity records resolve their Getfly owner reference to a Dynamics 365 UserId via the User mapping table, and the associated Account or Contact lookup resolves via the Account-Contact split completed in phase one.
Getfly CRM
PABX Call Logs
Microsoft Dynamics 365 Sales
Task (TaskSubtype = Call) + Attachment
1:1Getfly PABX call logs store a recording URL rather than the audio file itself. We download each recording file at export time to local storage before the migration window closes. Recordings re-upload to Microsoft Dynamics 365 Sales as Notes attached to the Task record, or as file attachments on the related Account or Contact. If the PABX system is also replaced during the cutover, recording continuity requires explicit scoping to ensure the source recording URLs remain accessible during the download phase. We flag this risk during discovery and request confirmation that recording files are downloaded before any Getfly account suspension.
Getfly CRM
Custom Fields (on Accounts and Products)
Microsoft Dynamics 365 Sales
Custom Fields (on Account, Contact, Product2)
1:1Getfly custom fields on Account and Product records map to custom fields on the corresponding Microsoft Dynamics 365 Sales objects. Getfly does not publish a field schema endpoint, so we discover custom fields by sampling Getfly API records during the export phase. We request the customer to run a full field audit report from Getfly's admin panel before migration kickoff to catch rarely-used fields that sampling may miss. Field type mapping converts Getfly field types (text, number, dropdown, date) to equivalent Dynamics field types, and any unsupported field type is flagged for customer decision on how to represent it.
Getfly CRM
Users (Owners)
Microsoft Dynamics 365 Sales
User
1:1Getfly Users acting as record owners map to Microsoft Dynamics 365 Sales User records. We extract every distinct owner referenced on Account, Deal, and Activity records and match by email address against the destination Dynamics 365 tenant. Owners without a matching Dynamics User go into a reconciliation queue. The customer's Dynamics 365 admin provisions any missing Users before production migration begins. Getfly role and permission structures do not map directly to Dynamics security roles; we document the Getfly role list and map it to a recommended Dynamics security role matrix for the customer's admin to configure post-migration.
Getfly CRM
Attachments
Microsoft Dynamics 365 Sales
Note + Attachment (SharePoint/OneDrive linked)
1:1Attachments referenced by URL on Getfly Account or Product records are downloaded to local storage during export and re-uploaded to Microsoft Dynamics 365 Sales . In Dynamics, file attachments can live as Note records with file body, or be linked to SharePoint document management if the customer's Dynamics environment has SharePoint integration configured. We map each Getfly attachment to the parent record (Account, Contact, or Product) via a lookup resolution. Attachments larger than 25 MB are flagged for the customer to decide on chunked upload strategy.
Getfly CRM
Campaigns
Microsoft Dynamics 365 Sales
Campaign
1:1Getfly Marketing Campaigns with name, start/end dates, and linked accounts map to Microsoft Dynamics 365 Sales Campaign records. Campaign member accounts (which Getfly accounts were contacted as part of each campaign) are preserved as CampaignMember records linked to the parent Campaign and the resolved Dynamics Account. Campaign member status from Getfly maps to CampaignMember Status values. Note that Getfly campaign-level engagement metrics (opens, clicks, responses) do not have a direct Dynamics equivalent and are preserved as campaign notes if available via API.
| Getfly CRM | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Account (Customer) | Account + Contact (split required)1:many | Fully supported | |
| Products | Product (Product2)1:1 | Fully supported | |
| Deal (Pipeline Stages) | Opportunity (Sales Process + Stage)1:1 | Fully supported | |
| Activities (Tasks, Calls, Meetings) | Task (TaskSubtype = Call) + Event1:1 | Fully supported | |
| PABX Call Logs | Task (TaskSubtype = Call) + Attachment1:1 | Fully supported | |
| Custom Fields (on Accounts and Products) | Custom Fields (on Account, Contact, Product2)1:1 | Fully supported | |
| Users (Owners) | User1:1 | Fully supported | |
| Attachments | Note + Attachment (SharePoint/OneDrive linked)1:1 | Mapping required | |
| Campaigns | Campaign1: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.
Getfly CRM gotchas
Workflow automations are not exportable via API
API requires X-API-KEY with subdomain-scoped access
Custom field schemas vary per customer with no registry endpoint
PABX call recordings are URL-referenced only
No public pricing page requires direct sales inquiry
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 API access setup
We audit the source Getfly CRM account via API across all active objects: Accounts, Products, Deals with pipeline stages, Activity records, Campaign records, User roster, and any attachment URLs. We request the X-API-KEY scoped to the customer's subdomain and confirm API response structure, pagination, and record counts for each object. We also deliver the workflow audit questionnaire at this stage so the customer has adequate time to document active automations before migration begins. The discovery output is a written migration scope with record counts per object, a preliminary mapping matrix, and a timeline estimate.
Account-Contact split design and schema pre-creation
We design the Account-Contact split logic based on Getfly record inspection: records that represent organizations (company phone, no personal name, corporate email domain) become Microsoft Dynamics 365 Sales Account records; records representing individuals become Dynamics Contact records with AccountId pointing to the parent organization. We pre-create all custom fields on Account, Contact, Product, and Opportunity in Dynamics 365 before any data import. If the customer uses Power BI for reporting, we note custom field names and types for the reporting layer setup. Schema is validated in a Dynamics Sandbox or development environment before production migration begins.
Sandbox migration and record reconciliation
We run a full migration into a Dynamics 365 test or sandbox environment using production-like record volume. The customer reviews the reconciled counts (Accounts in, Contacts in, Opportunities in, Activities in) and spot-checks 20-30 random records against the Getfly source. Any mapping corrections, missing fields, or data quality issues are resolved at this stage. We also test the attachment download and re-upload cycle for call recordings and file attachments. Sign-off from the customer's Dynamics admin on the sandbox results authorizes the production migration to proceed.
Owner reconciliation and User provisioning
We extract every distinct Getfly User referenced as an owner on Account, Deal, or Activity records and match by email address against the Dynamics 365 tenant User table. Any Getfly owner without a matching Dynamics User goes into a reconciliation queue for the customer's admin to provision before production migration resumes. Migration cannot proceed past this step because OwnerId references are required on most Dynamics standard objects. We also document the Getfly role structure for the admin to map to Dynamics security roles post-migration.
Production migration in dependency order
We run production migration in record-dependency order: first, Accounts from Getfly organizational records; second, Contacts with AccountId lookup resolved; third, Products and Pricebook entries; fourth, Opportunities with AccountId, OwnerId, and RecordTypeId resolved; fifth, Activity history (Tasks and Events via Dynamics Dataverse API with batch chunking); sixth, PABX call recordings downloaded and re-uploaded; seventh, Attachments and Notes. Each phase emits a row-count reconciliation report before the next phase begins. We handle API rate limiting from Getfly with exponential backoff and chunking for large record sets.
Cutover, validation, and workflow rebuild handoff
We freeze writes to Getfly during cutover, run a final delta migration of any records modified during the migration window, then mark Microsoft Dynamics 365 Sales as the system of record. We validate record counts against the pre-migration discovery report and spot-check the activity timeline ordering is preserved. We deliver the workflow automation audit document to the customer's admin team along with a recommended Power Automate rebuild approach for each documented automation. We provide a one-week post-cutover window to resolve reconciliation issues. We do not rebuild Getfly automations as Power Automate flows within the migration scope; that is a separate engagement.
Platform deep dives
Getfly CRM
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 Getfly CRM and Microsoft Dynamics 365 Sales .
Object compatibility
1 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
Getfly CRM: Not publicly documented — direct inquiry to Getfly engineering required.
Data volume sensitivity
Getfly CRM 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 Getfly CRM to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Getfly CRM 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 Getfly CRM
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.