CRM migration

Migrate from e-shot to Microsoft Dynamics 365 Sales

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

e-shot logo

e-shot

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

88%

7 of 8

objects map 1:1 between e-shot and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

e-shot is an email marketing and automation platform; Microsoft Microsoft Dynamics 365 Sales is a CRM. This is a category-crossing migration, not a like-for-like platform swap, and the scope reflects that reality. We export e-shot Contacts with all standard and custom field values, replicate merge-tag fallback definitions as default field values in Dynamics 365, and preserve Campaign Reports as static records or notes. We do not migrate Automated Series, Landing Pages, Website Popups, or Forms as these have no structural equivalent in Microsoft Dynamics 365 Sales ; we deliver a written inventory of these objects for the customer's admin to rebuild or decommission. Email templates export as HTML assets for reimport into Dynamics 365-compatible editors. Parent-record dependency order (Accounts before Contacts) and e-shot's tiered API rate limits (500-5,000 calls per hour) govern our extraction cadence.

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

e-shot logo

e-shot

What's pushing teams away

  • Import failures and intermittent system reliability frustrate users — contacts sometimes fail to load and template rendering breaks unpredictably, requiring manual intervention.
  • The analytics interface is widely regarded as dated and unintuitive, prompting teams to export data to external BI tools rather than rely on in-platform reporting.
  • The basic tier caps active Preferences at 25 and Automated Series at 3, which forces growing teams to upgrade or manage within artificially constrained campaign structures.
  • Some users report the platform feels slower than competing email tools during high-volume sends, particularly on the basic tier with lower API rate limits.

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

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

e-shot

Contact

maps to

Microsoft Dynamics 365 Sales

Contact (linked to Account)

1:1
Fully supported

e-shot Contacts map to Dynamics 365 Contact records. The Contact's email address is the dedupe key. We extract all standard e-shot contact fields (name, email, phone, address) and custom contact fields defined in Settings > Contacts field manager, mapping each to a typed Dynamics 365 custom field. The e-shot contact ID is preserved in a custom field eshot_contact_id__c for audit and reconciliation. Contacts import after Account creation so that the parent AccountId lookup is satisfied at insert time.

e-shot

Contact Field

maps to

Microsoft Dynamics 365 Sales

Custom Field on Contact

1:1
Fully supported

e-shot's contact field schema is fully customisable. We extract every custom field definition (name, type, merge-tag syntax *_fieldname_*) from the field manager and create equivalent typed custom fields in Dynamics 365 using the Dataverse API. Merge-tag fallback values from e-shot (* *_fieldname=fallback('text')_ *) are replicated as default values on the corresponding Dynamics 365 custom fields so that contacts without data render cleanly rather than exposing raw merge tags.

e-shot

Campaign

maps to

Microsoft Dynamics 365 Sales

Campaign

1:1
Fully supported

e-shot Campaign records (email subject, sender details, scheduling, content body) map to Dynamics 365 Campaign. The campaign name and status migrate as-is. HTML template body migrates as the Campaign's Description field or as a Document attachment for reformatting in a Dynamics 365-compatible editor. Campaign send date and recipient count migrate to support historical reporting.

e-shot

Campaign Reports

maps to

Microsoft Dynamics 365 Sales

Campaign

1:1
Fully supported

Historical campaign analytics (opens, clicks, bounces, unsubscribes, delivery health) export from e-shot's analytics dashboard and populate the corresponding Dynamics 365 Campaign's tracking fields. We preserve the send date, open rate, click rate, bounce count, and unsubscribe count as static numeric fields on the Campaign record so that historical performance remains queryable in Dynamics 365 without external reporting tools.

e-shot

Template

maps to

Microsoft Dynamics 365 Sales

Email Template

1:1
Fully supported

e-shot email templates (HTML with embedded styles and merge tags) export as raw HTML files. We preserve the merge-tag syntax as source values so that when the customer rebuilds templates in Dynamics 365-compatible editors (Dynamics 365 Email Editor, Adobe Creative Cloud, or marketing tools like Mailchimp), the personalisation tokens can be re-enabled against the migrated custom fields.

e-shot

Preferences

maps to

Microsoft Dynamics 365 Sales

Contact (custom fields)

lossy
Mapping required

e-shot contact preferences (subscription interests and opt-in status) migrate to Dynamics 365 Contact as either boolean custom fields or a multi-select picklist, depending on preference centre structure. The tier limit on active preferences (basic: 25, pro: 50, omni: unlimited) is a scoping flag: we export only the active preferences currently in use. HasOptedOutOfEmail migrates as the primary email opt-out flag on Contact.

e-shot

Form

maps to

Microsoft Dynamics 365 Sales

Not migrated (inventory only)

1:1
Fully supported

e-shot Forms and the preference centre store contact choices and field inputs. Forms have no structural equivalent in Microsoft Dynamics 365 Sales as a native object. We export form definitions, field types, and associated preference data as a written inventory document. The customer's admin rebuilds forms in Dynamics 365 using Power Apps portals, SharePoint, or a third-party form tool; we do not migrate forms as functional records.

e-shot

Automated Series

maps to

Microsoft Dynamics 365 Sales

Not migrated (inventory only)

1:1
Mapping required

Automated Series are workflow-based email sequences with trigger conditions and delay steps. These have no direct Microsoft Dynamics 365 Sales equivalent; Sales automation in Dynamics 365 relies on Power Automate or Sales Insights, which are different architectural models. We deliver a written inventory of every active Automated Series with its trigger, conditions, steps, and recommended Power Automate equivalent. The customer's admin or a Microsoft partner rebuilds the sequences post-migration.

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.

e-shot logo

e-shot gotchas

Medium

File attachments blocked in bulk email sends

Low

Tier limits apply to active (live) objects only

Medium

Merge-tag fallback values must be replicated

Low

No dedicated bulk export endpoint documented

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

  • e-shot has no bulk export endpoint

    e-shot's REST API accepts JSON request bodies and returns JSON-encoded responses but does not publish a dedicated bulk-export endpoint. High-volume contact exports require paginated API calls within the per-hour rate limit (500 on basic, 2,000 on pro, 5,000 on omni). We implement throttled pagination with resume logic to extract large contact lists without exceeding the tier cap. Large datasets on basic or pro tiers take longer to extract because of the lower hourly limit, which we account for in the project timeline before beginning the Dynamics 365 import phase.

  • Merge-tag fallback values must be replicated in Dynamics 365

    e-shot personalises email content using *_fieldname=fallback('text')_ * syntax so that contacts without a field value display fallback text rather than a raw merge tag. If fallback values are not set on the destination, contacts without that field populated will display raw merge tags to recipients. We extract every fallback definition from the contact field manager and create equivalent default-value rules on the corresponding Dynamics 365 custom fields before loading any contact records. This step is validated before the main import begins.

  • e-shot Contacts need a parent Account in Dynamics 365

    e-shot's contact-centric model stores every contact as a top-level record. Microsoft Dynamics 365 Sales requires Contacts to be linked to an Account (the Account-Contact hierarchy). We resolve the parent Account by extracting the company name from each e-shot contact, looking up or creating the corresponding Account in Dynamics 365, and setting AccountId on the Contact record at insert time. Contacts without a company name are held in a reconciliation queue for the customer to clarify whether they belong to a new Account or a generic placeholder.

  • Automated Series and Landing Pages do not migrate

    e-shot Automated Series and Landing Pages are tier-gated platform features with no structural equivalent in Microsoft Dynamics 365 Sales . We export these as written inventory documents listing each active series (trigger, conditions, steps) and each live landing page (URL, form elements, content). The customer's admin rebuilds these using Power Automate for sequences and SharePoint or Power Pages for landing pages. We do not rebuild these as part of the migration scope.

  • Dynamics 365 field-level security can block contact import

    Dynamics 365 environments commonly enforce field-level security, validation rules (required formats, conditional requireds, picklist whitelists), and duplicate rules that block initial import attempts. We coordinate with the customer's Dynamics 365 admin to grant the migration user appropriate Dataverse roles before load and either temporarily relax validation rules or add migration-context bypass logic. First-attempt rejection rates of 5-20% are common without this step and are resolved in the sandbox rehearsal phase before production migration.

Migration approach

Six steps for a successful e-shot to Microsoft Dynamics 365 Sales data migration

  1. Discovery and source audit

    We audit the e-shot portal across the customer's active tier (basic, pro, or omni), extracting all active contacts (with pagination under the tier's hourly rate limit), custom contact field definitions, merge-tag fallback values, active campaign records, campaign report snapshots, template HTML files, active Automated Series, and live landing pages. We also capture any tag assignments stored as field values or list memberships. The discovery output is a written scope document listing every object, its record count, its schema, and whether it is in-scope for migration, in-scope for written inventory, or out of scope.

  2. Dynamics 365 schema provisioning

    We create the destination schema in the customer's Dynamics 365 environment. This includes provisioning all e-shot custom contact fields as typed Dataverse columns on Contact, setting default values from e-shot fallback definitions, creating a custom field eshot_contact_id__c for audit traceability, provisioning Campaign records from e-shot campaign data, and configuring any required Account records as parent containers for migrated contacts. Schema is deployed to a Sandbox environment first for validation before any data moves.

  3. Sandbox migration and reconciliation

    We run a full extraction and load into the Dynamics 365 Sandbox using production-like data volumes. The customer's Dynamics 365 admin and RevOps lead reconcile record counts, spot-check 20-40 random contacts against the e-shot source, and verify that merge-tag fallback values render correctly on contacts without source data. Any field mapping corrections, validation rule adjustments, or Account assignment corrections happen in this phase. Sign-off on the sandbox reconciliation gates the production migration.

  4. Contact extraction with API pagination

    We export contacts from e-shot using paginated API calls throttled to the customer's tier limit (500, 2,000, or 5,000 calls per hour). Large contact lists extract over multiple hourly windows if needed. Each contact record is enriched with its company name (for Account lookup), all custom field values, preference flags, and the original e-shot contact ID. Tags stored as field values are extracted as a separate dataset for the Dynamics 365 admin to assign to multi-select picklist fields or Topic records post-migration.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Accounts (from e-shot company names on contacts), Contacts (with AccountId resolved and merge-tag fallbacks validated), Campaigns (with historical analytics populated), Templates (as HTML file inventory), then deliver the Automated Series and Landing Page inventory document. Each phase emits a row-count reconciliation report. We freeze writes to the e-shot portal during the final delta window to capture any last-minute contact changes before cutover.

  6. Cutover, validation, and rebuild handoff

    We validate the production migration by running a record-count comparison (contacts in, accounts in, campaigns in) and a field-sampling check against the e-shot source data. We deliver the Automated Series inventory, Landing Page inventory, and Form definitions as written documents to the customer's admin team. We support a three-day hypercare window for reconciliation issues. We do not rebuild e-shot Automated Series as Power Automate flows or Landing Pages as Power Pages within the migration scope; those are separate engagements or internal admin tasks.

Platform deep dives

Context on both ends of the pair

e-shot logo

e-shot

Source

Strengths

  • Tiered pricing from £200/month provides a clear upgrade path without per-seat licensing on any plan.
  • Unlimited users across all tiers means whole teams can access the platform without incremental cost.
  • Dedicated deliverability tooling for Microsoft contacts, important for UK enterprise senders on Microsoft 365.
  • Contact field manager and merge-tag fallback syntax give non-technical users granular personalisation control.
  • Open API with JSON REST endpoints and tiered rate limits up to 5,000 calls per hour on omni.

Weaknesses

  • Analytics UI is repeatedly described as dated and difficult to navigate compared to modern email platforms.
  • Import reliability issues and intermittent system downtime affect campaign and contact loading.
  • Landing page and automation features are tier-gated, requiring upgrades as team complexity grows.
  • Basic tier has hard limits on live preferences, series, filters, and popups that constrain active campaigns.
  • Template design tools lack some drag-and-drop flexibility found in newer email builders.
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 e-shot and Microsoft Dynamics 365 Sales .

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

    All 8 core objects map 1:1 between e-shot 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

    e-shot: 500–5,000 requests per hour depending on tier (basic: 500, pro: 2,000, omni: 5,000).

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your e-shot 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 migrations land between two and four weeks for accounts under 10,000 contacts and fewer than 20 custom contact fields. Migrations exceeding 50,000 contacts, 50+ custom fields, or large campaign histories (1,000+ campaigns) move to four to eight weeks because of paginated API extraction under the e-shot tier rate limit and the Dynamics 365 custom field provisioning time. The sandbox rehearsal phase typically adds one to two weeks to the timeline before production migration begins.

Adjacent paths

Related migrations to explore

Ready when you are

Move from e-shot.
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