CRM migration
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
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
5 of 10
objects map 1:1 between Dashly and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
2-4 weeks
Overview
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.
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
Dashly platform overview
Scorecard, SWOT, gotchas, and pricing for Dashly.
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 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
Microsoft Dynamics 365 Sales
Lead or Contact
1:manyDashly 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
Microsoft Dynamics 365 Sales
Task + EmailMessage
1:manyDashly 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
Microsoft Dynamics 365 Sales
EmailMessage
1:1Each 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
Microsoft Dynamics 365 Sales
Account
1:1Dashly 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)
Microsoft Dynamics 365 Sales
User
1:1Dashly 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
Microsoft Dynamics 365 Sales
Power Automate or Dynamics Workflow
lossyDashly 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
Microsoft Dynamics 365 Sales
Power Automate or Dynamics Workflow
lossyTriggered 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
Microsoft Dynamics 365 Sales
Knowledge Article
1:1Dashly 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
Microsoft Dynamics 365 Sales
Text Field or Custom Entity
lossyTags 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
Microsoft Dynamics 365 Sales
Custom Fields
1:1Dashly 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).
| Dashly | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Lead | Lead or Contact1:many | Fully supported | |
| Conversation | Task + EmailMessage1:many | Fully supported | |
| Message | EmailMessage1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| User (Agent) | User1:1 | Fully supported | |
| Leadbot | Power Automate or Dynamics Workflowlossy | Fully supported | |
| Triggered Message | Power Automate or Dynamics Workflowlossy | Fully supported | |
| Knowledge Base Article | Knowledge Article1:1 | Fully supported | |
| Tag | Text Field or Custom Entitylossy | Fully supported | |
| Custom Properties | Custom Fields1: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.
Dashly gotchas
Visitor-based pricing affects migration scoping
No public bulk export endpoint
Leadbot and triggered message configs require manual rebuild
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 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.
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.
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.
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.
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.
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
Dashly
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Dashly and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Dashly and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between Dashly 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
Dashly: Not publicly documented.
Data volume sensitivity
Dashly 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 Dashly to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave Dashly
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.