CRM migration

Migrate from Altcraft to Microsoft Dynamics 365 Sales

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

Altcraft logo

Altcraft

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

67%

8 of 12

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

Complexity

BStandard

Timeline

2-3 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Altcraft to Microsoft Microsoft Dynamics 365 Sales is a platform-category migration: Altcraft is a customer data platform and marketing automation suite; Microsoft Dynamics 365 Sales is a sales-focused CRM. The structural mismatch means we must resolve Altcraft's unified Profile object into Dynamics' Lead, Contact, Account, and Opportunity entities, decide which profiles are sales prospects versus marketing-only contacts, and route the split before any data enters Dynamics. Engagement history (email, SMS, call, and meeting records stored against Altcraft Profiles) migrates via the Dynamics Web API with parent-record resolution so that timelines attach to the correct Contact or Opportunity. We do not migrate Automation Scenarios, Web Layer configurations, or Control Group logic as code; we deliver written inventories for admin rebuild. The migration scope is bounded by Altcraft's broken API documentation, which forces us to export through CSV where possible or through Albato integrations where the customer has them configured.

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

Altcraft logo

Altcraft

What's pushing teams away

  • Profile-based pricing scales with database size, creating unpredictable monthly bills as the contact list grows and pushing teams toward flat-rate alternatives.
  • On-premise and private cloud installations require custom integration work per environment, making the total cost of ownership higher than the headline subscription price suggests.
  • Limited public review presence and sparse independent user community make peer validation and competitive comparison difficult before committing.
  • Documentation and developer guides return errors or redirect loops, raising concerns about the platform's long-term maintenance and support responsiveness for enterprise accounts.

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

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

Altcraft

Profile

maps to

Microsoft Dynamics 365 Sales

Contact or Lead (split required)

1:many
Fully supported

Altcraft Profiles with behavioral history and subscription data require a routing decision before migration. Profiles that represent individual buyers with purchase history map to Salesforce Contact attached to an Account. Profiles that represent early-stage prospects with no purchase record may route to Lead. We preserve the original Altcraft Profile ID in a custom field for audit and cross-reference. The routing rule is defined during scoping based on whether the Profile has an associated order, deal stage, or sales-owner assignment.

Altcraft

Company

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Altcraft Companies map to Dynamics 365 Account. The Company domain maps to Account.Website, and Company name maps to Account.Name. Account is created before any Contact import to satisfy the AccountId lookup relationship.

Altcraft

Deal

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Altcraft Deals map to Dynamics 365 Opportunity. Deal stage maps to Opportunity.StageName via a customer-approved stage matrix configured before migration. Deal amount, close date, owner, and associated Products all migrate to the Opportunity record.

Altcraft

Segment (Static)

maps to

Microsoft Dynamics 365 Sales

Contact/Lead List or Custom Field

1:1
Fully supported

Altcraft static segments are list-based membership records that map to Dynamics Contact or Lead list membership. We export segment names and member Profile IDs, then create corresponding list records or populate a multi-select picklist custom field on Contact that encodes segment membership.

Altcraft

Segment (Dynamic)

maps to

Microsoft Dynamics 365 Sales

Custom View or Filter

lossy
Fully supported

Altcraft dynamic segments depend on real-time behavioral criteria that do not have a direct Dynamics equivalent. We export the segment definition logic (rule structure, criteria fields, operators) as a written specification, and the Dynamics admin recreates equivalent advanced find views or uses Power Automate to replicate the dynamic criteria.

Altcraft

Message Template

maps to

Microsoft Dynamics 365 Sales

Email Template

1:1
Fully supported

Altcraft message templates migrate to Dynamics Email Template records. HTML body migrates to TemplateBody, subject to Template.Subject. A/B test variants are preserved as separate template records with naming convention indicating the variant. Dynamics supports both HTML and plain text templates.

Altcraft

Campaign

maps to

Microsoft Dynamics 365 Sales

Campaign

1:1
Fully supported

Altcraft Campaign records (send history, open and click analytics, channel assignment) map to Dynamics Campaign. Campaign response data migrates to CampaignMember records. Engagement metrics (opens, clicks) are stored as custom fields because Dynamics Campaign tracks response rates rather than individual engagement events.

Altcraft

Engagement (Email, SMS, Call, Meeting)

maps to

Microsoft Dynamics 365 Sales

EmailMessage, Task (Call), Event (Meeting)

1:1
Fully supported

Altcraft engagement records attach to Profiles. We resolve each engagement's parent Profile to the corresponding Dynamics Contact or Lead ID, then create the appropriate Dynamics record: EmailMessage for email, Task with TaskSubtype=Call for calls, Event for meetings. SMS engagements map to Task records with a custom sms_body__c field if no native SMS entity is available in the destination Dynamics configuration.

Altcraft

Product

maps to

Microsoft Dynamics 365 Sales

Product

1:1
Fully supported

Altcraft Products map to Dynamics Product2 records with Standard Pricebook entries. ProductCode, Description, and BasePrice migrate directly. We resolve the Pricebook2 reference during import.

Altcraft

Order

maps to

Microsoft Dynamics 365 Sales

Custom Order Object or Opportunity Line Item

lossy
Fully supported

Altcraft Order records linked to Profiles migrate to a custom Order entity with an Account lookup if Dynamics Sales does not include the Commerce or Supply Chain Management module. Order status, total amount, and line items transfer as structured data. The customer confirms during scoping whether a custom Order entity or OpportunityLineItem approach applies.

Altcraft

Custom Profile Field

maps to

Microsoft Dynamics 365 Sales

Custom Field on Contact/Lead/Account

lossy
Fully supported

Altcraft user-defined fields on Profile export as structured CSV columns. We map each to a corresponding custom field on the appropriate Dynamics entity (Contact, Account, or Lead), handling type differences (string, date, number, boolean). Picklist-style custom fields map to Dynamics picklist or multi-select picklist fields where applicable.

Altcraft

Control Group

maps to

Microsoft Dynamics 365 Sales

Campaign Holdout Group (manual rebuild)

1:1
Fully supported

Altcraft Control Groups assign specific Profiles to campaign holdouts for comparative analytics. Microsoft Dynamics 365 Sales does not have a native Control Group equivalent. We preserve Control Group membership as a custom Contact field (e.g., control_group_name__c), and the customer's marketing team implements comparable holdout logic in Dynamics Campaign or in an integrated marketing tool. The written inventory we deliver includes the Control Group membership list for manual re-entry.

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.

Altcraft logo

Altcraft gotchas

High

Profile-count pricing means database size drives the bill

High

Automation Scenarios do not export as portable logic

Medium

API developer guide returns HTTP 301, blocking programmatic discovery

Medium

Private Cloud and on-premise use separate support contracts

Medium

Control Group assignment is Profile-ID dependent

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

  • Profile-to-Contact routing requires upfront decision

    Altcraft Profiles are unified records containing both behavioral and transactional data. Microsoft Dynamics 365 Sales separates prospects into Leads and qualified buyers into Contacts attached to Accounts. There is no automated answer for which Altcraft Profiles should become Leads versus Contacts. We define the routing rule during scoping based on order history, deal association, and sales-owner assignment, then apply it as the first transform during migration. Migrations that skip this step produce Contacts without Account relationships or Leads that should have been converted on day one. We preserve the original Altcraft Profile ID in a custom field on both Lead and Contact for cross-reference and audit.

  • Altcraft API returns 301, forcing CSV-based export

    The Altcraft developer guide at guides.altcraft.com/en/developer-guide/ returns HTTP 301, preventing programmatic endpoint discovery and API-based migration. We work around this by exporting Profile, Company, Deal, Campaign, and Product data via CSV from the Altcraft UI, and by requesting Albato credentials if the customer has an Albato integration configured for Altcraft. Any custom field or relationship that cannot be expressed in the CSV export schema requires a separate data extraction step. API-based migration is not available for Altcraft unless the customer provides their own endpoint documentation or integration access.

  • Automation Scenarios do not migrate to Dynamics Workflows

    Altcraft Scenarios are configured in a visual builder with conditional branching, time delays, loop constructs, and API webhook calls. Microsoft Dynamics 365 Sales Workflows and Power Automate use different trigger models, action types, and flow structures. We do not migrate Scenarios as code. We export each Scenario as a structured description (trigger conditions, actions, delays, branches) and deliver a written playbook mapping each Scenario to a recommended Dynamics Workflow or Power Automate flow. The customer's Dynamics admin rebuilds them post-migration. Scenarios with complex loop constructs or external webhook calls require particular attention because they may have no direct Dynamics equivalent.

  • Control Groups have no Dynamics native equivalent

    Altcraft Control Groups assign specific Profiles to campaign holdouts for comparative analytics. Microsoft Dynamics 365 Sales does not have a native Control Group feature. We preserve Control Group membership as a custom field on Contact (e.g., control_group__c), and the customer implements comparable holdout logic manually in Dynamics Campaign or through an integrated marketing tool such as Dynamics Marketing or Marketing Cloud Account Engagement. The written inventory we deliver lists every Control Group, its member count, and the Altcraft Profile IDs for manual re-entry in Dynamics.

  • Data quality gaps surface during export

    Altcraft Profiles accumulated over years often contain incomplete records: missing email addresses, blank required fields, duplicate entries, and inconsistent date formats. We profile the source data before migration and flag records that fail Dynamics validation rules (required fields, picklist values, format constraints). We cleanse duplicates using email as the dedupe key, validate required fields against the Dynamics schema, and correct date format inconsistencies (Altcraft dates may not consistently use ISO format). Records that fail validation after cleansing are quarantined in a reconciliation file for the customer's admin to resolve before the final import phase.

Migration approach

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

  1. Discovery and routing rule definition

    We audit the source Altcraft instance across cloud tier, profile count, custom fields, segments, campaigns, engagement volume, and order history. We pair this with an assessment of the destination Microsoft Dynamics 365 Sales environment: edition (Professional $65/user, Enterprise $105/user, Premium $150/user), existing schema, active workflows, and any AppSource integrations in use. The discovery output is a written migration scope that includes the Profile-to-Lead-Contact routing rule, a complete field mapping draft, and a list of Altcraft objects that require rebuild rather than migration.

  2. Schema design and custom field provisioning

    We design the destination schema in Microsoft Dynamics 365 Sales . This includes creating any missing custom fields on Contact, Account, Lead, and Opportunity that correspond to Altcraft custom Profile fields, provisioning the Dynamics Account and Contact entities for the Company-to-Account mapping, and configuring the Opportunity stage matrix to match the Altcraft deal stage values approved by the customer. We deploy schema changes to a Dynamics Sandbox first for validation before any data loads.

  3. Data export and cleansing

    Because Altcraft's API documentation returns 301, we export via CSV from the Altcraft UI where supported. We extract Profiles, Companies, Deals, Products, Campaigns, and Message Templates as separate CSV files. We run a data quality pass: deduplication by email, required-field validation against the Dynamics schema, date format normalization (ISO 8601), and identification of records that require routing decisions. Any records with missing primary identifiers are quarantined for customer resolution before import.

  4. Sandbox migration and reconciliation

    We run a full migration into a Microsoft Dynamics 365 Sales Sandbox using production-like data volume. The customer's Dynamics admin reconciles record counts (Accounts in, Contacts in, Leads in, Opportunities in, Products in), spot-checks 25-50 records against the Altcraft source for field accuracy, and validates the Profile-to-Contact routing rule. Any mapping corrections happen in the sandbox before production migration begins. This step also surfaces any Dynamics validation rules or field-level security that would block the production import.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Accounts (from Altcraft Companies), Contacts (with AccountId resolved), Leads (with the routing rule applied), Opportunities (with AccountId, OwnerId, and stage resolved), Products and Pricebook entries, Engagement history (EmailMessage, Tasks, Events via Dynamics Web API with batch handling), and Custom Profile Fields. Each phase emits a row-count reconciliation report before the next phase begins. We use exponential backoff and batch chunking on the Dynamics Web API to respect rate limits.

  6. Cutover, validation, and rebuild handoff

    We freeze Altcraft writes during cutover, run a final delta migration of any records modified during the migration window, then mark Microsoft Dynamics 365 Sales as the system of record. We deliver the Scenario inventory, Control Group membership lists, and Segment definitions to the customer's Dynamics admin. We support a one-week hypercare window for reconciliation issues raised by the sales team. We do not rebuild Altcraft Scenarios as Dynamics Workflows inside the migration scope; that is a separate engagement or an internal admin task.

Platform deep dives

Context on both ends of the pair

Altcraft logo

Altcraft

Source

Strengths

  • Combines CDP, marketing automation, and omnichannel messaging in a single product rather than requiring three separate integrations.
  • Supports cloud, dedicated private cloud, and on-premise deployment to satisfy data-residency and sovereignty requirements.
  • Profile model unifies behavioral data with CRM and SQL data sources, enabling segment logic that references external relational data.
  • Includes Campaign Master, Control Groups, and ML algorithms in Cloud Pro tier—features typically charged as add-ons by competitors.
  • Built on a modern stack (Golang, ClickHouse, MongoDB) that supports real-time analytics and high-volume profile processing.

Weaknesses

  • API documentation is incomplete, returning errors or redirects, which creates friction for migration planning and third-party integration.
  • Pricing is profile-count based, making the total cost unpredictable and significantly higher than competitors for large contact databases.
  • Headquartered in Russia with a small team (21–45 employees), which may present compliance, support, and continuity risks for EU and US enterprises.
  • Limited public review presence and sparse community content make independent evaluation difficult compared to well-documented Western alternatives.
  • On-premise and private cloud require significant custom configuration, and some features (LDAP SSO, custom channels) are tier-gated, inflating implementation cost.
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 Altcraft and Microsoft Dynamics 365 Sales .

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

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

    Altcraft: Configurable via API_MAX_REQUESTS_COUNT — exceeding returns HTTP 429. Specific numeric limits are not published in the developer guide and must be confirmed per deployment..

  • Data volume sensitivity

    A

    Altcraft exposes a bulk API — large-volume migrations stream efficiently.

Estimator

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

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

Can't find your answer?

Walk through your Altcraft 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 three weeks for accounts under 10,000 Profiles with standard objects and clean CSV exports. Migrations with engagement history (over 100,000 activity records), custom fields, order data, or Albato-based API exports move to five to seven weeks because of the Dynamics Web API batch handling, parent-record lookup resolution, and the Profile-to-Contact split design work. A full Microsoft Dynamics 365 Sales implementation without existing CRM data runs four weeks to twelve months according to Microsoft's own guidance; the migration component alone is bounded by the data export and import scope.

Adjacent paths

Related migrations to explore

Ready when you are

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