CRM migration

Migrate from Onsite CRM to Microsoft Dynamics 365 Sales

Field-level mapping, validation, and rollback between Onsite CRM and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .

Onsite CRM logo

Onsite CRM

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

75%

6 of 8

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

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Onsite CRM has no documented REST API, SDK, or webhook system, which means every migration from this platform begins with in-app CSV exports rather than an API pull. We extract contact lists, company records, deal pipelines, and activity logs from the Weebly-hosted UI, cleanse and normalize the data against a scoping snapshot, then load it into Microsoft Microsoft Dynamics 365 Sales using the Dataverse REST API. The absence of an automated extraction path is the defining constraint of this migration pair; all downstream decisions follow from it. We do not migrate workflows, sequences, or automations, as Onsite CRM's automation layer is not exposed for data extraction, and Microsoft Dynamics 365 Sales has a different automation model (Power Automate and Dataverse workflows) that requires separate configuration. We deliver a written inventory of any automations discovered during scoping for the customer's admin to rebuild 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

Onsite CRM logo

Onsite CRM

What's pushing teams away

  • Extremely limited market presence with minimal third-party reviews and community discussion, making it difficult to assess long-term viability.
  • No publicly documented API, SDK, or webhook infrastructure limits integration options and blocks automated data extraction.
  • Appears to have weaker reporting and analytics depth compared to established CRM competitors like HubSpot or Pipedrive.
  • Very small user base on review platforms like G2 and Capterra suggests limited adoption and support ecosystem.
  • Lacks enterprise-grade features needed as teams scale, driving migration to platforms with better customization and API access.

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

Each row shows how a Onsite 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.

Onsite CRM

Contact

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Onsite CRM Contact records (name, email, phone, company association) map 1:1 to Microsoft Dynamics 365 Sales Contact. We extract the contact list via in-app CSV export, normalize the field headers against a scoping snapshot, and load via Dataverse REST API with duplicate detection on email address. The Contact-Company association is preserved as the parentaccountid lookup, resolved against the Account records imported in the preceding phase.

Onsite CRM

Company

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Onsite CRM Company records serve as the parent entity for Contacts and map directly to Microsoft Dynamics 365 Sales Account. We extract the company list via CSV, set the Account Name and any Industry or Website fields, and load Accounts before Contacts so that the parentaccountid lookup is satisfied at insert time. The company-contact relationship is preserved by resolving the Onsite CRM company identifier to the Dynamics 365 Account GUID.

Onsite CRM

Deal

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Onsite CRM Deal records (deal name, value, close date, associated contact and company) map to Microsoft Dynamics 365 Sales Opportunity. The pipeline stage name from Onsite CRM maps to the Microsoft Dynamics 365 Sales stage name via a pre-agreed mapping table created during scoping. Deal owner maps to the Dynamics 365 User by email match. We flag any Deals without a resolved Account or Contact as requiring manual review before insert.

Onsite CRM

Pipeline Stages

maps to

Microsoft Dynamics 365 Sales

Opportunity Stage (Sales Process)

lossy
Mapping required

Onsite CRM's custom pipeline stages are defined per customer configuration and exported as part of the deal export or captured via customer-supplied screenshots during scoping. We map each Onsite CRM stage name to a corresponding Microsoft Dynamics 365 Sales stage value within a Sales Process, preserving stage order and assigning probability percentages. If the customer has multiple pipelines, we recommend one Record Type per pipeline in Microsoft Dynamics 365 Sales .

Onsite CRM

Activities (Call, SMS, Email)

maps to

Microsoft Dynamics 365 Sales

ActivityPointer / Task / Email

1:1
Fully supported

Onsite CRM activity logs (call records, SMS threads, email logs) are extracted via CSV where the UI exposes them. We map each activity type to the corresponding Microsoft Dynamics 365 Sales activity entity: calls to Task with TaskSubtype=Call, SMS to Task with a custom customertype field, emails to EmailMessage. The regardingobjectid links each activity to the resolved Contact, Account, or Opportunity. If the Onsite CRM export does not include activity history, we flag this for manual re-entry and note it as a scope limitation in the migration report.

Onsite CRM

Task

maps to

Microsoft Dynamics 365 Sales

Task

1:1
Fully supported

Onsite CRM Task records for follow-ups and reminders map directly to Microsoft Dynamics 365 Sales Task. Status, Priority, Due Date, and Subject transfer 1:1. Task assignee maps by email match to a Dynamics 365 User. Tasks without a resolvable owner are placed in a reconciliation queue for the customer's admin to resolve before final load.

Onsite CRM

Custom Fields

maps to

Microsoft Dynamics 365 Sales

Custom Fields

lossy
Mapping required

Onsite CRM custom fields on Contacts, Companies, Deals, or Activities require manual mapping during scoping against the Microsoft Dynamics 365 Sales schema. We create matching custom fields in the destination Dataverse environment before migration, apply the appropriate field type (text, number, picklist, date), and map each custom field value during the transform phase. Any Onsite CRM custom field without a Dynamics 365 equivalent is flagged in the scope document for the admin to decide whether to create a new field or drop the data.

Onsite CRM

User / Owner

maps to

Microsoft Dynamics 365 Sales

User

1:1
Fully supported

Onsite CRM User records map to Dynamics 365 User by email match. We extract the distinct owner references across all Contact, Company, Deal, and Activity records and match them against the destination org's User table. Any Onsite CRM owner without a matching Dynamics 365 User is held in a reconciliation queue. The customer's admin provisions missing Users in the Microsoft 365 admin center before the migration proceeds to the record load phase.

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.

Onsite CRM logo

Onsite CRM gotchas

High

No public API documentation found

Medium

Weebly-hosted infrastructure limits data access

Medium

Limited historical activity export

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

  • No API forces reliance on in-app CSV exports with export size limits

    Onsite CRM has no documented REST API, SDK, or webhook system per apitracker.io. We extract all data via CSV exports from the Weebly-hosted UI. If the customer has more than 10,000 records or complex custom field configurations, export size limits in the UI become a migration bottleneck. We request a pre-migration scoping session where the customer provides screenshots of their data structure to confirm what objects and fields the UI actually exposes, then design the export strategy accordingly. Any records that cannot be exported via CSV are flagged as manual-re-entry candidates before migration begins.

  • Activity history export coverage is inconsistent across customer configurations

    CRM migration reviews consistently surface that teams want full call notes, email logs, and activity history in the new system. Onsite CRM's in-app export options may not include rich activity history in a single downloadable file, and the Weebly-hosted infrastructure means there is no API to fall back on for supplemental export. We advise customers to request a pre-migration export of activity records separately during scoping and budget time for any manual activity re-entry if the export is incomplete. We flag the activity export gap in the scope document and do not guarantee complete activity timeline migration unless the customer confirms the UI exposes the relevant data.

  • Dynamics 365 field security and validation rules can reject migrated records

    Microsoft Dynamics 365 Sales enforces field-level security, required field constraints, and validation rules that may not exist in Onsite CRM's more permissive data model. Fields such as emailaddress1 format, phone number formatting, required lookups (Account, Contact), and picklist whitelists can cause 5-30% record rejection on first load. We coordinate with the customer's Dynamics 365 admin to either temporarily relax these constraints during migration or run a pre-migration data cleanse pass. We restore the original security configuration after load and do not leave the org in a permissive state.

  • Weebly-hosted infrastructure means no direct database access and no webhook for delta captures

    Onsite CRM runs on a Weebly-hosted environment (onsitecrm.weebly.com) with data storage and export mechanisms constrained by Weebly infrastructure. We have no direct database access and cannot build an automated delta-capture mechanism. After the initial migration, any new records created in Onsite CRM during the cutover window must be captured manually or through a final export-and-merge pass. We advise customers to freeze Onsite CRM writes during the cutover window and run a delta export immediately before switching systems of record.

Migration approach

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

  1. Scoping and export feasibility assessment

    We conduct a scoping call with the customer to identify the Onsite CRM objects in use (Contacts, Companies, Deals, Pipeline Stages, Activities, Tasks, Custom Fields), approximate record volumes, and any known custom field configurations. We request customer-supplied screenshots of the Onsite CRM data structure to confirm what the UI exposes for export. If activity history is required, we explicitly ask whether the UI export includes call logs, SMS, and email records or whether those must be handled as manual re-entry. The scoping output is a written migration scope document with a confirmed object list, record counts, and any export gaps flagged as scope limitations.

  2. Customer-side CSV export and data delivery

    We guide the customer through the in-app CSV export process for each object. Exports are requested in the following order: Companies (first, because they are parent to Contacts), Contacts, Deals, Pipeline Stages (captured as a separate mapping reference), Activities (where available), Tasks, and Custom Field values. We provide a data delivery checklist and a field header reference so the customer knows exactly what columns to include. Exports are delivered to us via a secure transfer mechanism. We validate row counts and spot-check field completeness against the scoping snapshot before proceeding.

  3. Microsoft Dynamics 365 Sales environment preparation

    We provision or validate the destination Microsoft Dynamics 365 Sales environment: confirming the Dataverse API is enabled, the migration user has the necessary Dataverse permissions (Create, Read, Update on the relevant entities), and any required custom fields and entities are pre-created. We coordinate with the customer's Dynamics 365 admin to temporarily disable or extend validation rules that could reject Onsite CRM-formatted data, and to grant field-level security relaxation for the migration user during the load window.

  4. Data normalization and transform

    We normalize the exported CSV data: standardizing date formats to UTC, cleaning phone number formatting, splitting combined name fields where present, resolving Onsite CRM company identifiers to Account GUIDs, and resolving owner emails to Dynamics 365 User GUIDs. Custom field values are mapped to the destination custom field schema. Any records with missing required fields are flagged in a reconciliation report for the customer to address before load. We do not suppress or auto-correct data without the customer's approval; the reconciliation report is the decision point.

  5. Sandbox migration and reconciliation

    We run the first full migration into a Microsoft Dynamics 365 Sales Sandbox environment using the Dataverse REST API with batch chunking. The customer reconciles record counts against the source CSV exports, spot-checks 20-30 records for field-level accuracy, and signs off before production migration begins. Any mapping corrections identified during sandbox reconciliation are applied before the production phase. Sandbox migration typically takes one to three days depending on record volume and any API rate-limit pauses required.

  6. Production migration in dependency order

    We run production migration in record dependency order: Accounts (from Companies), Contacts (with parentaccountid resolved), Opportunities (with regardingobjectid resolved and stage mapping applied), Tasks, Activities (via Dataverse API with batch processing and exponential backoff on rate-limit responses), and Custom Field values. Each phase emits a row-count reconciliation report. After all standard objects load, we run a final validation pass comparing source record counts to destination record counts and surface any discrepancies in a written report.

  7. Cutover, delta capture, and handoff

    We freeze Onsite CRM writes during the cutover window and run a final delta export of any records modified after the initial export date. The delta is merged into Microsoft Dynamics 365 Sales and validated. We enable Microsoft Dynamics 365 Sales as the system of record and deliver the migration completion report including record counts by object, any unmapped fields or dropped records, and a list of automations or custom fields requiring post-migration configuration. We support a three-day hypercare window for reconciliation issues. We do not rebuild Onsite CRM automations as Power Automate flows; we deliver a written inventory of any automations discovered during scoping for the customer's admin to rebuild.

Platform deep dives

Context on both ends of the pair

Onsite CRM logo

Onsite CRM

Source

Strengths

  • Combines CRM, calling, SMS, and email marketing in a single subscription for small teams.
  • Weebly-hosted platform offers straightforward initial setup for businesses already using Weebly.
  • Provides basic pipeline visualization and deal tracking for straightforward sales processes.
  • Lead conversion tools and real-time outreach automation for teams prioritizing outbound activity.
  • Established in 2010, indicating over a decade of operational history.

Weaknesses

  • No publicly documented REST API, SDK, or webhook system according to apitracker.io, severely limiting programmatic integrations and data extraction options.
  • Extremely limited market visibility with minimal reviews, community discussion, or third-party integrations.
  • Appears to lack enterprise-grade features like advanced reporting, custom objects, or sophisticated workflow automation.
  • Data export is limited to in-app CSV/PDF options with no bulk API access, complicating large-scale migrations.
  • Small user base and limited review presence make it difficult to assess platform reliability and long-term vendor viability.
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. 3 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 Onsite CRM and Microsoft Dynamics 365 Sales .

  • Object compatibility

    B

    3 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

    Onsite CRM: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Onsite 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

Small migrations under 5,000 Contacts, 500 Companies, and 1,000 Deals with clean exports and no custom field complexity complete in two to four weeks. Migrations exceeding 15,000 total records, requiring activity history re-entry due to incomplete export coverage, or involving multi-pipeline deal structures move to six to ten weeks. The primary driver of timeline variance is not the Dynamics 365 side but the speed at which the customer can produce complete, accurate CSV exports from the Onsite CRM UI.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Onsite 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