CRM migration

Migrate from Act-On to Microsoft Dynamics 365 Sales

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

Act-On logo

Act-On

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

90%

9 of 10

objects map 1:1 between Act-On and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Act-On marketing automation to Microsoft Microsoft Dynamics 365 Sales is a migration from a marketing-centric record system to a full sales CRM. Act-On holds Contacts and Companies with engagement scores, List membership, and Program (nurture sequence) metadata; Microsoft Dynamics 365 Sales structures records as Accounts, Contacts, Leads, and Opportunities with a richer relationship model. We export Contacts with their current engagement score as a static numeric property, map Companies to Accounts, preserve List membership as tags on Contact records, and export Activity history (email opens, clicks, form submissions) as timestamped Activity logs linked to the Contact. Automated Programs (nurture sequences) do not export; we deliver a written sequence map showing each step and its trigger so your admin can rebuild in Dynamics using Sales Playbooks or Power Automate. Microsoft Dynamics 365 Sales pricing starts at $65 per user per month for Sales Professional and $105 per user per month for Sales Enterprise, with Copilot AI features included at Enterprise tier and above. The Microsoft 365 native integration with Outlook, Teams, and SharePoint is activated during migration so your sales team works within the tools they already use daily.

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

Act-On logo

Act-On

What's pushing teams away

  • Feature gaps in email composer quality and CRM integration force teams to layer on additional tools, increasing stack complexity and cost.
  • Performance and reporting depth lag behind competitors at similar price points, making it harder to justify ROI to leadership.
  • Pricing is perceived as high relative to the value delivered, especially as teams scale contact volumes and hit tier limitations.
  • Users report that Act-On feels less suitable as companies grow beyond mid-market requirements and need more sophisticated pipeline management.

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

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

Act-On

Contact

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Act-On Contact records map directly to Microsoft Dynamics 365 Sales Contact. The HubSpot-sourced tagline is a misnomer here; Act-On Contact properties (name, email, phone, job title, lifecycle stage, source) map to standard Contact fields. We preserve Act-On lifecycle stage as a custom field act_lifecycle_stage__c because Microsoft Dynamics 365 Sales has no native lifecycle stage equivalent. Email serves as the primary dedupe key.

Act-On

Company

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Act-On Company records map to Microsoft Dynamics 365 Sales Account. The Account is created before any Contact import so that the parent AccountId Lookup relationship is satisfied at Contact insert time. Company industry and employee count map to standard Account fields; custom company fields migrate to Account custom fields pre-created in Dataverse.

Act-On

List

maps to

Microsoft Dynamics 365 Sales

Contact (Tag)

lossy
Fully supported

Act-On Lists are audience segments used for campaign targeting. We preserve List membership as tags on the Contact record using the Dynamics 365 native tagging feature or a custom multi-select picklist field list_membership__c. Static Lists migrate as explicit tag values; dynamic Lists are documented with their filter criteria for the customer to recreate as a Dynamics Customer Insights segment or Power Automate flow.

Act-On

Program (Automated Workflow)

maps to

Microsoft Dynamics 365 Sales

Sales Playbook or Power Automate (documented rebuild)

1:1
Fully supported

Act-On Programs define multi-step nurture sequences with branching logic. These workflow definitions are stored server-side and are not accessible via the API. We export the Program membership log (which contacts entered, when, which branch they took) as a reference dataset and deliver a written Program map showing each step, trigger, delay, and condition. The customer's admin rebuilds using Microsoft Dynamics 365 Sales Playbooks (available on Sales Enterprise and above) or Power Automate.

Act-On

Email (Send History)

maps to

Microsoft Dynamics 365 Sales

Email (Activity)

1:1
Fully supported

Act-On email send history (subject, send date, open date, click date, unsubscribe) migrates as Activity records linked to the Contact. We create Email (activitytypecode = Email) records with the subject and body preserved, and additional custom fields capturing the Act-On-specific engagement metrics (act_email_opened__c, act_email_clicked__c, act_email_unsubscribed__c) as reference data.

Act-On

Form

maps to

Microsoft Dynamics 365 Sales

Dynamics 365 Forms or Power Apps Portal

1:1
Fully supported

Act-On web form field definitions and submission data migrate. Form field labels and values move to a custom entity act_form_submission__c linked to the Contact. The form embed code does not transfer; we recommend Dynamics 365 Forms (built into Sales Enterprise and above) or a Power Apps Portal form as the replacement.

Act-On

Engagement Score

maps to

Microsoft Dynamics 365 Sales

Contact (Custom Field)

1:1
Fully supported

Act-On calculates a behavioural engagement score per Contact using proprietary weighting across email opens, clicks, page visits, and form submissions. These calculation rules do not export. We migrate the current numeric score as a static integer field act_engagement_score__c on Contact. The customer's admin configures a replacement scoring model in Microsoft Dynamics 365 Sales using Customer Insights or a custom Power Automate flow if behavioural scoring is still required.

Act-On

Custom Data Schema / Custom Object

maps to

Microsoft Dynamics 365 Sales

Dataverse Custom Entity

1:1
Fully supported

Act-On Custom Data schemas with user-defined fields export via the Act-On Custom Objects API. We pre-create equivalent Dataverse custom entities in Microsoft Dynamics 365 Sales with matching field types (string, integer, decimal, datetime, picklist, boolean) before any data import. Lookup relationships between custom objects resolve at migration time by matching the referenced record IDs.

Act-On

Activity History (email opens, clicks, form submissions, page visits)

maps to

Microsoft Dynamics 365 Sales

Email (Activity) and Custom Activity Log

1:1
Fully supported

Act-On logs behavioural events (email opens, clicks, page visits, form submissions) as timestamped entries. We export these as custom Activity log records in a dedicated entity act_activity_log__c linked to the Contact. Email-specific events (opens, clicks) also create standard Email activities. The date-range-chunked export handles large volumes by splitting by month to avoid API timeout.

Act-On

Tag

maps to

Microsoft Dynamics 365 Sales

Contact (Tag or Custom Field)

1:1
Fully supported

Act-On Contact and Company tags export cleanly as label arrays. We map them to Dynamics 365 native contact tags where available, or to a custom field act_tags__c using a semicolon-delimited string or multi-select picklist depending on the Dynamics 365 version in the destination org.

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.

Act-On logo

Act-On gotchas

High

ACT! desktop CRM and Act-On marketing automation are different products

Medium

Automated Program logic does not export

Medium

Engagement score formulas are not transferable

Low

Bulk API is not publicly 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

  • ACT! CRM and Act-On are different products

    A recurring confusion in migration scoping conflates ACT! (a desktop and cloud CRM by Swiftpage, formerly Sage ACT!) with Act-On (a separate marketing automation SaaS). These have entirely different data models, different APIs, and different export paths. We confirm the exact product name and Act-On subdomain during discovery before designing the migration schema. Mixing them up produces a failed or corrupt migration with record mis-match that is difficult to unwind after load.

  • Engagement score calculation logic does not transfer

    Act-On calculates a behavioural engagement score per Contact using proprietary weighting across email opens, clicks, page visits, and form submissions. These calculation rules are not exposed via the API and cannot be exported. We migrate the current numeric score as a static property on the Contact record, but the customer must configure a replacement scoring model in Microsoft Dynamics 365 Sales manually. Options include Dynamics 365 Customer Insights, a Power Automate flow that recalculates scores from Activity records, or accepting that the historical score is preserved for audit but no longer updates automatically.

  • Act-On Programs (nurture sequences) do not export

    Act-On's Program builder stores multi-step nurture sequence definitions server-side with no API access. We export Program membership data (which contacts entered each Program, when they entered, and which branch they took) as a historical reference log, but the Program automation itself must be rebuilt. We deliver a written Program map showing each step, its trigger, delay, and condition so the customer's admin can rebuild in Microsoft Dynamics 365 Sales Playbooks or Power Automate. This documentation step is included in the migration scope but the rebuild is outside standard scope.

  • Act-On Custom Data Schema requires Dataverse pre-creation

    Act-On Custom Data schemas with user-defined fields map to Dataverse custom entities in Microsoft Dynamics 365 Sales . These must be provisioned in the destination environment before any data import begins, including all custom field definitions, data types, picklist values, and any lookup relationships between custom entities. We handle the Dataverse schema creation during migration scoping, but the customer must confirm that their Microsoft Dynamics 365 Sales environment has the Dataverse customization capacity available at their licensing tier (custom entities are available from Sales Professional upward).

  • Microsoft 365 integration must be activated post-migration

    Microsoft Dynamics 365 Sales ' native Microsoft 365 integration (automatic email and meeting tracking from Outlook, Teams presence in record timelines, SharePoint document management) is not enabled by default and requires post-migration configuration by the customer's Dynamics 365 admin or a Microsoft solutions partner. We document the required steps during migration handoff but do not configure the integration as part of the data migration scope. Failing to activate the Microsoft 365 integration means the Microsoft Dynamics 365 Sales environment operates without the ecosystem advantages that motivated the switch.

Migration approach

Six steps for a successful Act-On to Microsoft Dynamics 365 Sales data migration

  1. Discovery and data audit

    We audit the source Act-On environment across Contacts (volume and properties), Companies, Lists (count and type: static vs dynamic), Programs (count and estimated step complexity), Custom Data schemas, engagement score coverage, and Activity history volume by type. We confirm the exact product name and API credentials during discovery to avoid the ACT! vs Act-On confusion. The discovery output is a written migration scope specifying record counts, field mapping, custom entity requirements, and a recommendation on whether the destination Microsoft Dynamics 365 Sales org is provisioned in Production or Sandbox for the initial migration run.

  2. Dataverse schema pre-creation

    We create the destination schema in Microsoft Dynamics 365 Sales before any data export begins. This includes any Custom Data entities mapped from Act-On Custom Data schemas, custom fields on Contact and Account to hold Act-On-specific properties (act_lifecycle_stage__c, act_engagement_score__c, act_original_source__c, act_tags__c), a custom entity act_form_submission__c for web form data, and a custom entity act_activity_log__c for behavioural event history. Each custom field's Dataverse data type is matched to the Act-On source type. The schema is deployed into a Sandbox org first for validation if the customer requests a parallel test run.

  3. Data profiling and deduplication

    We run a data quality assessment on the exported Act-On data before import. Duplicate contacts (same email address) are flagged for the customer's review; we apply a dedupe rule (typically retaining the most recently updated record) and log the merged record IDs for audit. Incomplete records (missing required fields like lastname or email) are quarantined and reported to the customer for remediation before import. Lists are profiled to determine the tag-value distribution and whether dynamic Lists can be approximated with Power Automate flows or require manual rebuild in Dynamics Customer Insights.

  4. Sandbox or parallel test migration

    For migrations exceeding 10,000 Contacts or involving custom entities, we run a parallel test migration into a Microsoft Dynamics 365 Sales Sandbox environment. The customer's RevOps or sales operations lead spot-checks 20-30 migrated records against the Act-On source for field accuracy, verifies the Account-Contact parent relationship resolution, confirms List membership tagging, and reviews the activity log for completeness. Any mapping corrections are documented and applied before the production migration begins. This step is optional for smaller migrations and can be replaced with a representative sample review in the production org.

  5. Production migration in dependency order

    We run production migration in dependency order: Accounts (from Act-On Companies) first, then Contacts with AccountId Lookup resolved at insert time, then Activity history (Email activities and act_activity_log__c records chunked by month to manage API volume), then Custom Data entities with their inter-entity Lookup relationships resolved, then Form submission records. Each phase emits a row-count reconciliation report. Any quarantined records (duplicates, missing required fields) are resolved in coordination with the customer before the next phase begins.

  6. Cutover, delta migration, and Program documentation handoff

    We freeze writes to the Act-On environment during cutover, run a final delta migration of any records modified during the migration window, then mark the Microsoft Dynamics 365 Sales org as the system of record. We deliver the written Program map documenting each Act-On Program's sequence steps, triggers, and conditions for the customer's admin to rebuild in Microsoft Dynamics 365 Sales Playbooks or Power Automate. We support a five-business-day hypercare window for reconciliation issues. We do not configure Microsoft 365 integration, rebuild Automations, or provide Dynamics 365 admin training as part of the migration scope; these are separate engagements.

Platform deep dives

Context on both ends of the pair

Act-On logo

Act-On

Source

Strengths

  • Embedded SMS marketing extends reach beyond email without an additional platform subscription.
  • Native engagement scoring gives a behavioural signal out of the box without third-party analytics.
  • Responsive support team with a reputation for hands-on help during setup and troubleshooting.
  • Segmented audience management via Lists allows targeted campaign execution without complex queries.
  • User-friendly interface lowers the learning curve for marketing teams without dedicated ops resources.

Weaknesses

  • CRM integration capabilities lag behind competitors, often requiring workarounds or third-party middleware.
  • Reporting depth is shallower than HubSpot or Salesforce, making multi-touch attribution difficult.
  • Pricing relative to feature set draws criticism as teams scale and hit tier ceilings.
  • Limited custom object flexibility compared to platforms with a full schema designer.
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 Act-On and Microsoft Dynamics 365 Sales .

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

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

    Act-On: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Act-On 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 three and five weeks for accounts under 20,000 Contacts and 3,000 Companies with no Custom Data schemas. Migrations with Custom Data schemas, large engagement histories (over 200,000 Activity records), or multiple Act-On Lists requiring tag normalization move to eight to twelve weeks because of custom entity pre-creation in Dataverse, activity chunking, and List-to-tag mapping validation. The Microsoft 365 integration configuration and Sales Playbook rebuild are separate post-migration workstreams.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Act-On.
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