CRM migration

Migrate from Altcraft to Freshsales

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

Altcraft logo

Altcraft

Source

Freshsales

Destination

Freshsales logo

Compatibility

30%

3 of 10

objects map 1:1 between Altcraft and Freshsales.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Altcraft to Freshsales is a cross-category migration from a customer data platform with omnichannel marketing automation to a sales-focused CRM. Altcraft organizes data around Profiles that unify behavioral, transactional, and channel data; Freshsales uses the standard CRM triad of Contacts, Accounts, and Deals. We map Altcraft Profiles to Freshsales Contacts, preserving behavioral event history as custom fields and linked notes, and we restructure Altcraft Segments as Freshsales Lists or Contact tags depending on whether the segment is static or dynamic. Automation Scenarios from Altcraft do not export as portable logic; we deliver a written inventory of every active Scenario with its trigger, conditions, and recommended Freshsales Workflow equivalent for the customer's admin to rebuild. Products and order histories from Altcraft's e-commerce module transfer as Freshsales Products and Deal records tied to the migrated Contact and Account.

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

Freshsales logo

Freshsales

What's pulling them in

  • Lowest barrier to entry among major CRMs — the free tier supports up to 3 users and includes core CRM functionality before committing to per-seat pricing.
  • Built-in chat, email, and phone reduce reliance on third-party integrations for basic sales communication and contact management.
  • Freddy AI contact scoring and deal insights are included on Pro plans at a lower price than comparable HubSpot tiers.
  • Kanban pipeline views across Contacts, Accounts, and Deals provide visual deal management without requiring custom configuration.
  • Integration with the broader Freshworks ecosystem (Freshdesk, Freshchat, Freshservice) reduces tool sprawl for teams already using Freshworks.

Object mapping

How Altcraft objects map to Freshsales

Each row shows how a Altcraft object lands in Freshsales, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Altcraft

Profile (Customer Profile)

maps to

Freshsales

Contact + Account

1:many
Fully supported

Altcraft Profiles map to Freshsales Contacts with the Account resolved from the Profile's company association. If the Profile includes company data, we create the corresponding Account first, then link the Contact. Behavioral event history (channel opens, clicks, purchases) is preserved as a structured note attached to the Contact and as custom fields for key metrics like total_order_count and last_purchase_date. Altcraft custom profile fields map to Freshsales custom contact fields, with type conversion (date fields, number fields, picklist fields) handled during the transform phase.

Altcraft

Segment (Static)

maps to

Freshsales

List

1:1
Fully supported

Static segments in Altcraft (fixed lists of Profile IDs) map directly to Freshsales Lists. We export the segment as a list of Profile IDs, resolve each to the migrated Freshsales Contact, and import the Contact IDs into the corresponding Freshsales List. Segment membership dates are preserved as custom fields on the List membership.

Altcraft

Segment (Dynamic)

maps to

Freshsales

Contact Tags or Custom Field filter

lossy
Fully supported

Dynamic segments in Altcraft use real-time behavioral criteria (last_action_date, channel_consent, purchase_value range) that do not have a direct Freshsales equivalent without Freshmarketer. We export the segment definition as structured criteria documentation and recommend either rebuilding the logic as Freshsales Contact filters or licensing Freshmarketer for dynamic journey-based segmentation. The customer chooses the approach during scoping.

Altcraft

Message Template

maps to

Freshsales

Email Templates

1:1
Fully supported

Altcraft message templates export in standard formats (HTML with merge tags). We import them into Freshsales as Email Templates with the appropriate merge field syntax converted from Altcraft's format to Freshsales' {{contact.field_name}} syntax. A/B test variants transfer as separate template records with a naming convention noting the variant label.

Altcraft

Campaign

maps to

Freshsales

Deal + Activity (Task/Event)

1:many
Fully supported

Altcraft campaigns (send history, open/click analytics, channel assignment) have no single Freshsales equivalent because Freshsales does not have a native Campaign object in the core CRM tier. We map campaign metadata to a Freshsales Deal record for financial tracking and to Tasks or Events for engagement analytics. Channel attribution data is preserved as custom fields on the Deal. Marketing attribution reporting requires Freshmarketer.

Altcraft

Control Group

maps to

Freshsales

Custom Field on Contact

lossy
Fully supported

Altcraft Control Groups are holdout groups for comparative campaign analytics tied to Profile IDs. Freshsales does not have a native Control Group object. We preserve Control Group membership as an explicit custom field (e.g., control_group_id__c) on the migrated Contact record and document the Control Group structure (name, size, assignment logic) so the customer's admin can recreate comparative analysis using Freshsales Reports or Freshmarketer.

Altcraft

Product

maps to

Freshsales

Product2

1:1
Fully supported

Altcraft Products transfer as Freshsales Product2 records. ProductCode, name, description, and pricing (standard price) migrate directly. Product images do not transfer automatically; we recommend re-uploading product imagery post-migration or using a CDN-linked image URL in the product description field.

Altcraft

Order

maps to

Freshsales

Deal + Line Items

1:many
Fully supported

Altcraft order records link to the Profile and Product at migration time. We create a Freshsales Deal for each order with the Contact (from the Profile mapping) as the primary relationship and the Product as a line item. Order total, order date, and order status transfer as Deal fields. If Altcraft order data includes loyalty points or promo codes, those transfer as custom fields on the Deal.

Altcraft

Loyalty Program Tier

maps to

Freshsales

Custom Field on Contact

lossy
Fully supported

Altcraft loyalty tiers (Bronze, Silver, Gold, etc.) tied to customer Profiles have no native Freshsales equivalent. We preserve the loyalty tier as a custom picklist field on the migrated Contact record. The tier history (promotions, redemptions) transfers as a structured note attached to the Contact.

Altcraft

Promo Code Pool

maps to

Freshsales

Custom Field on Deal

lossy
Fully supported

Altcraft promo code pools with rules (discount type, minimum order value, validity period) export as structured data tied to the order or Profile. We map active promo codes to a custom field on the Freshsales Deal and document the full promo rule set for the customer's admin to re-implement using Freshsales' deal customization or a third-party CPQ tool if complex pricing logic is required.

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

Freshsales logo

Freshsales gotchas

Medium

Freddy AI is Pro-tier only despite heavy marketing

High

Post-migration emails and sequences are disabled

Medium

Bot session credits are a one-time 500-session allocation

Medium

Phone credits charged per minute with no cap

Low

File storage limits scale with plan tier

Pair-specific challenges

  • Altcraft API documentation returns HTTP 301, blocking automated discovery

    The official Altcraft developer guide at guides.altcraft.com/en/developer-guide/ returns a 301 redirect. We cannot programmatically enumerate endpoints, object schemas, or field types before migration. We work around this by exporting Profile data through Altcraft's UI-based CSV export, using Albato integrations where the customer has an active connection, or using direct database credentials for private cloud and on-premise installations. API-based migration is only viable when the customer supplies their own endpoint documentation or access to the underlying MongoDB instance.

  • Automation Scenarios do not export as portable logic

    Altcraft Scenarios include conditional branching, loop constructs, time delays, and API webhook calls built in the visual builder. There is no standard export format for Scenarios, and Freshsales Workflows use a different trigger-action model. We export each Scenario as a structured description with a list of all referenced Profiles, triggers, conditions, and actions. The customer receives a Scenario inventory document with recommended Freshsales Workflow equivalents. Rebuilding the automation logic in Freshsales Workflows is an admin task outside the migration scope.

  • Profile-count pricing creates double-billing risk during migration window

    Altcraft bills on the number of Profiles stored, not on seats or feature access. During migration, both platforms may be accumulating records simultaneously, resulting in double-billing. We count every Profile that will land in Freshsales and advise the customer to throttle exports to minimize the overlap period. For private cloud and on-premise customers, individual contracts may have different billing terms; we confirm the contract scope during discovery before establishing the migration schedule.

  • Control Group assignments break when Profile IDs change

    Altcraft Control Groups are assigned to specific Profile IDs. If Freshsales assigns new Contact IDs during import, the Control Group association breaks. We preserve Control Group membership as an explicit Contact attribute before import and re-apply the assignment after Freshsales IDs are established. This requires a two-pass import for any contact record with a Control Group flag. Freshsales does not have native Control Group analytics, so comparative campaign reporting must be rebuilt in Freshsales Reports or Freshmarketer.

  • Dynamic segments may not map 1:1 to Freshsales filter logic

    Altcraft dynamic segments use real-time behavioral criteria (event frequency, channel consent status, recency windows) that rely on Altcraft's CDP event engine. Freshsales core CRM does not have a real-time behavioral event store; dynamic segmentation requires Freshmarketer ($49/month or $499/month). We export the segment definition as structured criteria and flag which segments require Freshmarketer licensing versus which can be approximated with Freshsales contact filters.

Migration approach

Six steps for a successful Altcraft to Freshsales data migration

  1. Discovery and export path selection

    We audit the Altcraft portal or installation for Profile volume, custom field definitions, segment types (static vs dynamic), active Scenarios, campaign history, Control Group assignments, loyalty program structure, and product catalog. We determine the export path: UI-based CSV for Profiles, Albato integration if available, or direct database access for private cloud and on-premise. The discovery output is a written migration scope with object inventory and export path recommendation.

  2. Freshsales schema provisioning and custom field creation

    We provision the Freshsales account structure: custom fields on Contact and Account matching the Altcraft Profile field definitions, custom fields for Control Group membership and loyalty tier, Products matching the Altcraft product catalog, and Lists matching static Altcraft segments. Custom field types are mapped (string, date, number, picklist) and validated against Freshsales field type constraints before import begins.

  3. Profile export and Contact mapping

    We export Altcraft Profiles as CSV including all custom fields, behavioral summary fields, channel subscription status, and Control Group assignment. We run the Profile-to-Contact transform, resolving the Account relationship from each Profile's company data. Static segment membership is resolved to Freshsales Contact IDs and queued for List import. Dynamic segment criteria are exported as structured documentation for Freshmarketer or filter rebuild.

  4. Test migration and reconciliation

    We run a test migration into a Freshsales sandbox or the customer's staging environment using a representative sample (500-1000 records). We reconcile record counts, spot-check field values, verify Control Group assignments, and validate that custom field types (dates, numbers, picklists) landed correctly. The customer reviews the test output and approves corrections before production migration begins.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Products first (for Deal line item resolution), then Accounts (from Profile company data), then Contacts (with AccountId resolved and Control Group flags preserved), then Deals (from Altcraft orders), then Lists (from static segments), then Tasks and Events (from campaign engagement history), then Notes (from loyalty history and segment descriptions). Each phase emits a row-count reconciliation report before the next phase begins.

  6. Scenario inventory and cutover handoff

    We deliver the Scenario inventory document: for each active Altcraft Scenario, we document the trigger, conditions, actions, and referenced Profiles, and we provide a recommended Freshsales Workflow equivalent. We do not rebuild Scenarios as Freshsales Workflows; that is a separate engagement for the customer's admin or a Freshsales partner. We freeze Altcraft writes during cutover, run a final delta migration of records modified during the migration window, then enable Freshsales as the system of record. We support a one-week hypercare window for reconciliation issues.

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.
Freshsales logo

Freshsales

Destination

Strengths

  • Generous free tier for small teams with core CRM functionality without per-seat costs.
  • All-in-one sales CRM with built-in telephony, chat, and email reducing third-party tool dependency.
  • Freddy AI contact scoring and deal predictions available on Pro tier.
  • Multiple pipeline views with Kanban and list options across all plans.

Weaknesses

  • Reports lack depth compared to competitors like HubSpot, with limited customization options.
  • Integration setup is poorly documented with no clear guides for connecting third-party tools.
  • AI features gated behind $39/user/month Pro tier despite marketing emphasis on Freddy AI.
  • Bot sessions limited to 500 one-time allocation with no monthly refresh.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Altcraft and Freshsales.

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • 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 Freshsales 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 Freshsales data migrations

Answers to the questions buyers ask most during Altcraft to Freshsales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Altcraft to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Migrations under 15,000 Profiles with no loyalty program data and no complex segment logic land between two and four weeks. Migrations with large behavioral histories, loyalty tiers, promo code structures, or dynamic segments requiring Freshmarketer configuration move to five to nine weeks because of data restructuring, custom field type mapping, and Scenario documentation scope. The Freshsales account provisioning and custom field creation typically takes one to two weeks and can overlap with Altcraft data preparation.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Altcraft.
Land in Freshsales, 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