CRM migration

Migrate from Getfly CRM to Microsoft Dynamics 365 Sales

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 logo

Getfly CRM

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

89%

8 of 9

objects map 1:1 between Getfly CRM and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

Getfly CRM logo

Getfly CRM

What's pushing teams away

  • Scaling businesses report that Getfly's feature set plateaus relative to their growth needs, particularly when comparing pipeline customization and advanced analytics to platforms like HubSpot or Pipedrive.
  • International expansion requirements create friction for companies outgrowing a Vietnam-centric CRM, as English-language documentation, multilingual support, and global compliance features are limited.
  • The platform's visual workflow builder lacks the expressiveness of competing tools, leading customers with complex automation requirements to seek alternatives where logic is easier to author and debug.

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

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)

maps to

Microsoft Dynamics 365 Sales

Account + Contact (split required)

1:many
Fully supported

Getfly'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

maps to

Microsoft Dynamics 365 Sales

Product (Product2)

1:1
Fully supported

Getfly 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)

maps to

Microsoft Dynamics 365 Sales

Opportunity (Sales Process + Stage)

1:1
Fully supported

Getfly 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)

maps to

Microsoft Dynamics 365 Sales

Task (TaskSubtype = Call) + Event

1:1
Fully supported

Getfly 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

maps to

Microsoft Dynamics 365 Sales

Task (TaskSubtype = Call) + Attachment

1:1
Fully supported

Getfly 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)

maps to

Microsoft Dynamics 365 Sales

Custom Fields (on Account, Contact, Product2)

1:1
Fully supported

Getfly 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)

maps to

Microsoft Dynamics 365 Sales

User

1:1
Fully supported

Getfly 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

maps to

Microsoft Dynamics 365 Sales

Note + Attachment (SharePoint/OneDrive linked)

1:1
Mapping required

Attachments 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

maps to

Microsoft Dynamics 365 Sales

Campaign

1:1
Mapping required

Getfly 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.

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.

Getfly CRM logo

Getfly CRM gotchas

High

Workflow automations are not exportable via API

Medium

API requires X-API-KEY with subdomain-scoped access

Medium

Custom field schemas vary per customer with no registry endpoint

Low

PABX call recordings are URL-referenced only

Low

No public pricing page requires direct sales inquiry

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

  • Workflow automations do not export from Getfly

    Getfly stores workflow rules as internal platform configuration with no public export endpoint. Any automation logic — triggers, conditions, and CRM actions — is lost on migration unless manually documented beforehand. We address this during discovery by providing a workflow audit questionnaire that the customer completes before migration kickoff, cataloging every active automation with its logic. We deliver that catalog as a written handoff document so the customer's Dynamics admin or a Power Automate partner can rebuild equivalent flows post-migration. This is not a FlitStack AI rebuild scope.

  • API requires subdomain-scoped X-API-KEY with no OAuth

    Getfly authenticates via a static X-API-KEY header tied to a customer-specific subdomain on getflycrm.com. There is no OAuth flow, no per-user token rotation, and no token expiry. Keys are issued per-org. We request the API key during scoping and use it read-only wherever possible to minimize exposure. If the key is rotated mid-migration for security reasons, we must re-authenticate and resume from the last checkpoint. We recommend scheduling key rotation for after the production migration cutover.

  • PABX recording URLs may expire after Getfly account closure

    Getfly PABX call logs return a recording URL rather than the audio file itself, and that URL may be a signed or time-limited link. We download recordings at export time and re-upload to Microsoft Dynamics 365 Sales to prevent broken links. The risk increases if the customer cancels or suspends the Getfly subscription before the migration window closes — URL access may be revoked. We strongly recommend maintaining Getfly access in read-only mode until the migration is validated and cutover is confirmed. If the PABX system is replaced alongside the CRM, recording continuity must be explicitly scoped before migration begins.

  • Custom field schemas vary per customer with no registry

    Getfly does not publish a field schema endpoint that enumerates all active custom fields across an account. We discover custom fields by sampling API records during export, which may miss fields used on fewer than 10 records. We mitigate this by instructing customers to run a full field audit report from Getfly's admin panel before migration kickoff and cross-referencing it against the sampled schema. Any fields not present in both sources are flagged for explicit mapping review before the production migration phase.

Migration approach

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

Getfly CRM logo

Getfly CRM

Source

Strengths

  • 14 years of continuous operation with 6000+ SME customers validates long-term viability in the Vietnam market.
  • Mobile-first architecture with full feature parity between web and native apps suits distributed sales teams.
  • Subscription-based pricing with a 30-day free trial provides predictable cost planning and low-risk evaluation.
  • Integrated calling (PABX), KPI tracking, and marketing automation reduce the need for multiple separate tools.
  • Customer-specific subdomain architecture allows white-label deployments for resellers.

Weaknesses

  • Limited documented presence in English-language review ecosystems makes independent quality assessment difficult for international buyers.
  • API rate limits and bulk export capabilities are not publicly documented, requiring direct inquiry to Getfly engineering.
  • No evidence of third-party security certifications (SOC 2, ISO 27001), which may block enterprises with strict compliance requirements.
  • The platform's feature set is anchored to Vietnamese SME workflows and may not map cleanly to international business processes.
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 Getfly CRM 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

    Getfly CRM: Not publicly documented — direct inquiry to Getfly engineering required.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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 consultation

Most Getfly CRM migrations land between two and four weeks for accounts under 10,000 Accounts, 2,000 Deals, and straightforward pipeline structures. Migrations with large PABX call recording libraries (needing file download and re-upload), complex multi-stage pipelines, or a high proportion of ambiguous Account-Contact records that require manual review move to five to eight weeks. Discovery and sandbox validation typically add two weeks before production migration begins regardless of account size.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Getfly CRM.
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