CRM migration

Migrate from Dashly to Microsoft Dynamics 365 Sales

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

Dashly logo

Dashly

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

50%

5 of 10

objects map 1:1 between Dashly and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Dashly to Microsoft Microsoft Dynamics 365 Sales is a structural migration from a conversational marketing platform into an enterprise CRM. Dashly has no bulk export endpoint, so we extract all data via paginated REST API requests with field-level include parameters and backoff on 429 responses. Conversation threads stored as message arrays in Dashly are split into separate activity records in Dynamics (EmailMessage, Task with Call subtype, Event for meetings) with the parent conversation metadata preserved as custom fields. Leadbot configurations and triggered message rules are exported as structured JSON for manual rebuild in Dynamics using Power Automate or Dynamics workflows; we do not automate the automation. Custom Lead properties, company records, and tag assignments map field-by-field to Dynamics equivalents, with visitor session data excluded as aggregated analytics that cannot be meaningfully restructured for a CRM.

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

Dashly logo

Dashly

What's pushing teams away

  • G2 reviewers report that Dashly's interface is not intuitive, with a steep learning curve that makes basic tasks like editing workflows and navigating the inbox time-consuming.
  • Users encounter difficulties deleting records and contacts cleanly, leading to data clutter and frustration when attempting to maintain accurate contact databases.
  • The platform's editing workflow for conversations and automations is described as cumbersome, forcing support teams to work around UI limitations rather than through them.
  • Email deliverability and sending issues appear in negative reviews, with some users reporting that outbound email features fail without clear explanation or workaround.

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

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

Dashly

Lead

maps to

Microsoft Dynamics 365 Sales

Lead or Contact

1:many
Fully supported

Dashly Leads map to Salesforce-style Lead and Contact in Microsoft Dynamics 365 Sales . We use Dashly lead properties (lifecycle stage, lead score, conversation count) to determine the split: prospects with no closed deal map to Lead; leads with active conversations or sales-accepted status map to Contact with an Account parent. We preserve all Dashly custom properties as custom fields on the destination record, and tag assignments migrate as custom fields or text arrays depending on the Dynamics field type configured during schema design.

Dashly

Conversation

maps to

Microsoft Dynamics 365 Sales

Task + EmailMessage

1:many
Fully supported

Dashly conversations are top-level threads with metadata (status, assignee, source channel, timestamps) and a message array. We split each conversation into a parent Task record holding the conversation metadata and status, with child EmailMessage records for each message. The Task's Subject is derived from the conversation's first message or the lead's name. Assignee resolution maps Dashly owner email to the Dynamics User record by email match.

Dashly

Message

maps to

Microsoft Dynamics 365 Sales

EmailMessage

1:1
Fully supported

Each Dashly message is migrated as an EmailMessage record linked to the parent Task. The message sender maps to the EmailMessage From field (agent or visitor), the body to the EmailMessage Body field, and the timestamp to EmailMessage CreatedOn. Participant attribution is preserved in EmailMessage To (the lead) and From (the agent user) fields. Thread ordering is maintained by the parent Task's ActivityId.

Dashly

Company

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Dashly Company records map directly to Microsoft Dynamics 365 Sales Account. Standard fields (name, domain, industry) migrate to Account Name, Website, and Industry. Any custom company properties migrate as custom Account fields. The Account record is created before Contact import so that the parent Account lookup is satisfied at insert time.

Dashly

User (Agent)

maps to

Microsoft Dynamics 365 Sales

User

1:1
Fully supported

Dashly user accounts (agents and admins with roles and email addresses) are resolved by email match against the Microsoft Dynamics 365 Sales User table. Any Dashly user without a matching Dynamics User is held in a reconciliation queue for the customer's admin to provision before record import resumes. Conversation assignee data then resolves correctly against the provisioned User records.

Dashly

Leadbot

maps to

Microsoft Dynamics 365 Sales

Power Automate or Dynamics Workflow

lossy
Fully supported

Dashly Leadbots are structured automation configurations (trigger conditions, dialogue trees, action sequences) stored as JSON. We export the complete bot configuration and deliver it as a structured JSON file with a mapping guide describing the trigger logic, branching conditions, and recommended Power Automate or Dynamics workflow equivalents. The automation rebuild is manual and outside the automated migration scope.

Dashly

Triggered Message

maps to

Microsoft Dynamics 365 Sales

Power Automate or Dynamics Workflow

lossy
Fully supported

Triggered message rules define automated outbound sequences tied to visitor behavior or time delays. The trigger rules and message content are exported as structured automation data. Because Microsoft Dynamics 365 Sales and Power Automate use different event models (record-change vs visitor-behavior-triggered), we document the current trigger conditions and message content for manual rebuild in the target system.

Dashly

Knowledge Base Article

maps to

Microsoft Dynamics 365 Sales

Knowledge Article

1:1
Fully supported

Dashly articles (title, body content, SEO settings, category) are exported as structured text with metadata. We map them to Microsoft Dynamics 365 Sales Knowledge Article entities where the customer's org has the knowledge base feature enabled. Deep SEO field mapping depends on whether the destination Dynamics org includes the knowledge management module; if not, articles are delivered as a structured export for manual import into the customer's preferred knowledge base platform.

Dashly

Tag

maps to

Microsoft Dynamics 365 Sales

Text Field or Custom Entity

lossy
Fully supported

Tags applied to Leads, Conversations, or Companies are exported as flat label arrays. We preserve all tag assignments and map them to a multi-select text field on the destination record, or to a custom tagging entity if the customer requires tag-based segmentation in Dynamics. The tag strategy is confirmed during scoping based on how tags are used in Dashly reporting.

Dashly

Custom Properties

maps to

Microsoft Dynamics 365 Sales

Custom Fields

1:1
Mapping required

Dashly custom fields on Leads and Companies are inventoried during discovery with their data types and values. We map each custom property to an equivalent custom field in Microsoft Dynamics 365 Sales , creating the field in the destination org before migration begins. Custom property data types (text, number, date, checkbox, dropdown) are mapped to the closest Dynamics field type (single-line text, whole number, date and time, two options, option set).

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.

Dashly logo

Dashly gotchas

High

Visitor-based pricing affects migration scoping

High

No public bulk export endpoint

Medium

Leadbot and triggered message configs require manual rebuild

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 bulk export endpoint means API-based extraction only

    Dashly has no documented bulk export endpoint for Leads, Conversations, or Messages. All data retrieval goes through paginated REST API requests using optional field inclusion parameters (include_fieldname=true). For accounts with large conversation histories, sequential API pagination with 429 rate-limit backoff extends the extraction phase significantly beyond what a bulk export would require. We chunk requests per endpoint, page through results, and flag any accounts approaching their visitor quota overage threshold before migration begins to avoid surprise charges.

  • Leadbots and triggered messages require manual rebuild

    Leadbots and triggered message rules are stored as structured automation configurations in Dashly. We export these as JSON, but Microsoft Dynamics 365 Sales does not share the same automation schema, so the bot logic and trigger conditions cannot be imported directly. Visitor-behavior triggers (page view, time on site, return visit) used in Dashly have no direct equivalent in Dynamics workflows, which are record-change-triggered. We provide the exported config files, a mapping guide, and a documented trigger matrix for manual rebuild in Power Automate or Dynamics workflows.

  • Conversation threading must be restructured as activity records

    Dashly stores messages as a nested array within a conversation object; each conversation holds all messages as child elements. Microsoft Dynamics 365 Sales represents each message as a separate activity record (EmailMessage, Task, or Event) with its own row, related to a parent WhatId and WhoId. We write a transformation that unpacks the message array, creates one parent Task per conversation, and splits individual messages into child activity records. This re-threading step adds time for accounts with high message density and must be validated against the original thread order.

  • Visitor session data is not migratable

    Dashly visitor sessions (page views, referrer, UTM parameters, session duration) are aggregated by Dashly's analytics engine and stored as behavioral metrics rather than individual records. This data cannot be meaningfully mapped to Microsoft Dynamics 365 Sales , which does not have a visitor session object. We exclude visitor session data from migration scope and note it in the inventory delivered to the customer. If behavioral analytics are required post-migration, a separate web analytics tool (Microsoft Clarity, Google Analytics 4) is the recommended replacement.

Migration approach

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

  1. Discovery and scoping

    We audit the Dashly account via API across Leads, Conversations, Messages, Companies, Users, Tags, and custom properties. We inventory active Leadbot and triggered message configurations, knowledge base article count, and visitor volume against the current plan tier. This output is a written migration scope document that includes record counts per object, a list of custom properties with data types, the Lead-Contact split rule, and a flag on any accounts approaching visitor quota overages. We also identify whether the Microsoft Dynamics 365 Sales destination org has the knowledge base module enabled.

  2. Schema design and field mapping

    We design the destination schema in Microsoft Dynamics 365 Sales . This includes creating custom fields on Lead and Contact to receive Dashly custom properties, configuring multi-select text fields for tags, defining custom fields on Account for company-level custom properties, and ensuring the knowledge article entity is provisioned if knowledge base migration is in scope. We confirm the Lead-Contact split rule with the customer before any data extraction begins.

  3. API extraction with pagination and validation

    We extract data from Dashly via paginated REST API requests. Each endpoint (Leads, Conversations, Companies, Users, Tags) is pulled with field-level include parameters to minimize payload size and extract only active fields. We handle 429 rate-limit responses with exponential backoff and chunk large result sets into manageable batches. After extraction, we run a validation pass comparing record counts, checking for null required fields, and flagging orphaned records (Conversations with no associated Lead, Companies with no name) for customer resolution before transformation.

  4. Transformation and conversation re-threading

    We transform the extracted data into Dynamics-compatible record structures. The core transform unpacks conversation message arrays into separate EmailMessage records, creates a parent Task per conversation, and preserves the conversation metadata (status, assignee, source channel, timestamps) as custom fields on the Task. We apply the Lead-Contact split rule using Dashly lifecycle and scoring properties, map Tags to the configured tag field, and resolve Dashly owner emails to Dynamics User records. Custom property values are mapped to their corresponding custom fields.

  5. Microsoft Dynamics 365 Sales data load and reconciliation

    We load transformed records into Microsoft Dynamics 365 Sales using the Dynamics API with batched requests. Account records load first (no parent dependency), followed by Lead and Contact records with resolved AccountId, then Task and EmailMessage records with resolved WhoId and OwnerId references. Each phase emits a row-count reconciliation report comparing imported records against the source extraction count. Any rejected records (validation rule failures, required field missing) are logged, corrected, and reloaded in a subsequent batch.

  6. Cutover, handoff, and automation rebuild documentation

    We freeze Dashly writes during cutover and run a final delta migration of any records created or modified during the migration window. We deliver a migration completion report with record counts, exception logs, and a data quality summary. We deliver the Leadbot and triggered message configuration exports with a mapping guide for manual rebuild in Power Automate or Dynamics workflows. We do not rebuild automations or provide post-migration admin support as part of the standard migration scope.

Platform deep dives

Context on both ends of the pair

Dashly logo

Dashly

Source

Strengths

  • All-in-one platform combining live chat, AI leadbots, triggered messaging, and knowledge base in a single tool.
  • Unlimited seats across all paid plans, making it cost-effective for growing support teams without per-user licensing.
  • Visitor-based pricing allows small teams to start at a low monthly cost with overage flexibility.
  • Built-in knowledge base with unlimited articles and SEO settings supports both agent reference and self-service content.
  • Offers a free trial and free Conversation starter plan for evaluation.

Weaknesses

  • G2 reviews consistently describe the interface as unintuitive with a steep learning curve for new users.
  • Deletion workflows are reported as problematic, making it difficult to remove stale records cleanly.
  • Email sending and deliverability features receive recurring complaints in negative reviews.
  • No documented bulk data export endpoint means migration requires API-based extraction or manual workarounds.
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. All 8 core objects map 1:1 between Dashly and Microsoft Dynamics 365 Sales .

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Dashly and Microsoft Dynamics 365 Sales .

  • Object compatibility

    A

    All 8 core objects map 1:1 between Dashly and Microsoft Dynamics 365 Sales .

  • 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

    Dashly: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Dashly 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 Dashly migrations land between two and four weeks for accounts with fewer than 10,000 Leads and moderate conversation history. Accounts with higher record volumes, extensive custom properties, or complex company-to-contact hierarchies move to four to eight weeks because of sequential API extraction time, conversation re-threading transformation, and schema validation. Discovery and scoping take one to two weeks regardless of size, with the data load phase running one to three weeks depending on volume.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Dashly.
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