CRM migration

Migrate from Close to Freshsales

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

Close logo

Close

Source

Freshsales

Destination

Freshsales logo

Compatibility

50%

5 of 10

objects map 1:1 between Close and Freshsales.

Complexity

BStandard

Timeline

1-3 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Close to Freshsales requires reconciling two different data models. Close runs a Lead-and-Contact schema where both coexist as separate record types with their own fields; Freshsales uses a traditional Leads module with an explicit Convert action that produces a Contact, an Account, and optionally a Deal. We resolve that difference during scoping by defining a Close Lead status to Freshsales Lead mapping and a Freshsales lead conversion field-mapping template before import begins. Close's unified activity stream (calls, emails, SMS, tasks) must come via JSON export because CSV silently drops every activity record. We collapse Custom Activities into typed Tasks with a custom activity_type field so that the timeline survives the migration intact. We do not migrate Workflows or Custom Objects as code; we deliver a written inventory of both for the customer's admin to rebuild in Freshsales Workflows or Custom Modules post-migration.

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

Close logo

Close

What's pushing teams away

  • The feature set is deliberately narrower than enterprise CRMs — advanced reporting, deep customisation, and workflow complexity lag behind Salesforce and HubSpot.
  • Mobile app navigation receives consistent complaints; users report missed call notifications and the need to reopen the app frequently to stay current.
  • Teams needing native Slack integration without a Zapier workaround find the gap frustrating, especially at the lower pricing tiers.
  • Some users report that Close lacks Serbian number support and has limited inbox management compared to dedicated helpdesk tools.

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 Close objects map to Freshsales

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

Close

Lead

maps to

Freshsales

Lead

1:1
Fully supported

Close Leads migrate to Freshsales Leads with all standard fields (name, email, phone, status, owner) and all Lead-scoped Custom Fields preserved. We resolve Close lead status labels to Freshsales Lead Status values during the transform. A close_lead_id__c field stores the original Close Lead ID for audit and reconciliation. The mapping excludes any Custom Activity fields that are scoped to Lead in Close; those require the Custom Activity collapse described below.

Close

Contact

maps to

Freshsales

Contact + Account

1:many
Fully supported

Close Contacts that carry an organisation name split into a Freshsales Account (the company record) and a Contact linked to it. The Contact-Account relationship is resolved at migration time: we create the Account first using the organisation name from Close, then create the Contact with AccountId pointing to the resolved Account. Contacts without an organisation name in Close migrate as standalone Freshsales Contacts with no Account association.

Close

Opportunity

maps to

Freshsales

Deal

1:1
Fully supported

Close Opportunities map to Freshsales Deals. The Close pipeline_stage maps to Freshsales Deal stage. We create a Freshsales Sales Flow (pipeline) matching the Close Pipeline name and recreate all stage values in order before importing Deals so that the stage reference is satisfied at insert time. Closed-Lost and Closed-Won status from Close map directly to Freshsales deal_status values.

Close

Pipeline

maps to

Freshsales

Sales Flow

lossy
Fully supported

Each Close Pipeline becomes a Freshsales Sales Flow with the same name and stage ordering preserved. Stage probability percentages from Close migrate to Freshsales stage weights. The Sales Flow must exist in Freshsales before any Deal referencing it is imported; we create all Sales Flows in the schema setup phase before any record-level migration begins.

Close

Pipeline Stage

maps to

Freshsales

Sales Flow Stage

lossy
Fully supported

Close pipeline stages map to Freshsales Sales Flow stage values with display order preserved. If a Close pipeline stage has a probability weight set, we create a corresponding Freshsales stage with the probability value. Custom stage columns from Close (such as required_fields_on_entry or custom_probability_override) are noted in the migration scope but cannot be replicated in Freshsales without manual configuration by the admin.

Close

Activity (Calls, Emails, SMS, Tasks)

maps to

Freshsales

Task + Event

1:1
Fully supported

Close's activity stream is only complete via JSON export; CSV export silently omits all activity records. We extract the full activity array from Close's JSON export, transform each entry by type, and import into Freshsales. Call engagements become Task records with TaskSubtype=Call and a custom call_disposition__c field. Email engagements become Task records with a notes_body field carrying the email body. SMS engagements become Task records with a custom sms_direction__c field. Meeting engagements become Event records with StartDateTime and EndDateTime preserved. All tasks link to the parent Contact or Lead via the WhoId resolution built during record creation.

Close

Custom Activity

maps to

Freshsales

Task (typed)

lossy
Fully supported

Close Custom Activities have no Freshsales equivalent; Freshsales does not support user-defined activity type schemas. We collapse all Custom Activity instances into Freshsales Task records and set a custom field activity_type__c to the original Close Custom Activity Type name so that the activity kind is preserved in the timeline. The Custom Activity Type definitions are exported as a schema document and included in the handoff package for the customer's admin to review.

Close

Custom Fields

maps to

Freshsales

Custom Fields

1:1
Mapping required

Close Lead Custom Fields, Contact Custom Fields, and Opportunity Custom Fields map to Freshsales Lead, Contact, and Deal Custom Fields respectively. We read the field definition (type, picklist options, required flag) from the Close API, create the equivalent typed field in Freshsales via Admin Settings before import, and preserve choice-option labels exactly. If a Close custom field type has no direct Freshsales equivalent (for example, a formula field), we flag it in the scope document and note whether the value can be replicated post-migration in Freshsales.

Close

User / Team Member

maps to

Freshsales

User

1:1
Fully supported

Close Users map to Freshsales Users by email address match. We extract all distinct users referenced on Lead, Contact, Opportunity, and Activity records and match against the Freshsales User table. Any Close User without a matching Freshsales User goes to a reconciliation queue for the customer's admin to provision before the record migration phase begins. Role and team membership from Close are noted but do not replicate; Freshsales role-based access is configured by the admin post-migration.

Close

Smart View

maps to

Freshsales

Saved View

lossy
Fully supported

Close Smart Views (saved Lead search filters) cannot be exported as data and have no direct Freshsales equivalent. We extract the Smart View filter configuration as a named JSON document and deliver it to the customer's admin as a step-by-step guide for recreating the same filters as Freshsales Saved Views. Filter logic translation is included: Close operator types (is, is_not, contains, etc.) map to Freshsales filter operators one-to-one.

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.

Close logo

Close gotchas

High

CSV exports drop all activity history silently

Medium

Smart Views can only export from the Leads tab

Medium

Workflows gatekept behind Growth and Scale plans

Medium

Custom Activities require strict dependency ordering

Low

Rate limits enforced per endpoint group

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

  • CSV exports silently drop all activity history

    Close's CSV export intentionally excludes all activity records — calls, emails, SMS, and tasks do not appear in the downloaded file. Any customer who has previously exported data for migration scoping via CSV will have an incomplete picture of their activity volume. We always request JSON export for activity-bearing records and flag this to the customer during discovery. If a customer has only used CSV, we require them to re-export via JSON before we scope the engagement history migration.

  • Freshsales lead conversion field mapping must be configured before import

    Freshsales' Lead Convert action applies explicit field-to-field mapping between Lead and the resulting Contact, Account, and Deal. Any Close Lead Custom Field that is not mapped in Freshsales Conversion Settings before migration begins is permanently lost when a Lead is converted. We configure the conversion mapping during the schema setup phase before any Lead records import. If a customer has already migrated without this step, we cannot retroactively recover unmapped fields; the data is gone from Freshsales.

  • Custom Activities have no Freshsales equivalent

    Close Custom Activities are user-defined activity types with their own field schema. Freshsales does not support user-defined activity types. We collapse Custom Activities into Freshsales Task records with a custom activity_type__c field carrying the original type name. The schema definition of each Custom Activity Type is exported as a schema document in the handoff package. The customer's admin decides whether to rebuild the type as a Freshsales Custom Module or absorb the data into standard Task records.

  • Close Workflows do not migrate to Freshsales Workflows

    Close Automated Workflows (available on Growth and Scale tiers) are tightly coupled to Close's event model and trigger-action logic. Freshsales Workflows are a separate system with different triggers, conditions, and actions. We do not migrate Workflows as code. We deliver a written inventory of every active Close Workflow with its trigger, conditions, steps, and recommended Freshsales Workflow equivalent. The customer's admin rebuilds them post-migration in Freshsales Admin Settings > Workflows.

  • Smart Views export only from the Leads tab

    Close exports are only available from Smart Views created in the Leads tab. Smart Views built from the Contacts tab produce no export button in the UI. We handle this by querying Leads via the Close API directly rather than relying on saved Smart View exports, which ensures all Lead records are retrieved regardless of how the customer's saved views are structured.

Migration approach

Six steps for a successful Close to Freshsales data migration

  1. Discovery and data export

    We audit the Close account for record counts (Leads, Contacts, Opportunities, Activities), Custom Fields per object, Custom Activity Types and their field schemas, Pipeline names and stage counts, and active Workflows. We request JSON export for all record types including activity history. We identify any Close plan-gated features (Workflows on Essentials will not migrate regardless of destination) and flag them in the scope document before migration begins.

  2. Schema setup in Freshsales

    We create the destination schema in Freshsales before any records import: Sales Flows matching Close Pipelines, Deal stages with probability weights, Accounts (for the Contact-Account split), Lead and Contact Custom Fields matched to Close definitions, and the Freshsales Conversion Settings mapping Lead fields to Contact, Account, and Deal fields. The conversion mapping is the critical path item; it must be complete before Leads are imported if any Lead records will be converted post-migration.

  3. Sandbox validation and record count reconciliation

    We run a sample migration using a subset of Close records into a Freshsales test account. The customer reconciles record counts (Leads in, Contacts in, Accounts in, Deals in, Activities in), spot-checks 20-30 records against the Close source, and approves the field mapping before full production migration. Corrections to Custom Field names, stage ordering, or conversion mapping happen in the test phase.

  4. Production migration in dependency order

    We run production migration in record-dependency order: Users (email-matched and reconciled), Accounts (from Close Contacts with organisation names), Contacts (with AccountId resolved), Leads, Deals (with Sales Flow stage and AccountId resolved), Activity history via JSON extract (Tasks, Events, typed by activity kind), and Custom Activities collapsed to typed Tasks last. Each phase emits a row-count report before the next phase begins.

  5. Cutover, delta sync, and Workflow handoff

    We freeze Close writes during cutover, run a final delta migration of any records created or modified during the migration window, then mark Freshsales as the system of record. We deliver the Close Workflow inventory document with Freshsales Workflow equivalents to the customer's admin team. We support a brief hypercare window to resolve post-migration reconciliation issues raised by the sales team. We do not rebuild Close Workflows or Custom Activities as Freshsales code; those are documented for the admin to complete post-migration.

Platform deep dives

Context on both ends of the pair

Close logo

Close

Source

Strengths

  • Unified inbox combining email, SMS, and call history in a single thread per Lead or Contact.
  • Built-in dialer stack — Power Dialer and Predictive Dialer — without requiring a third-party VoIP integration.
  • Per-seat pricing with no separate marketing-contact billing model, making cost predictable as teams grow.
  • Clean API with structured endpoints for Leads, Contacts, Opportunities, and Custom Activities using API-key authentication.
  • Strong G2 rating (4.7/5 from 2,030 reviews) with consistent praise for ease of use and onboarding speed.

Weaknesses

  • Mobile app is widely criticised for navigation friction, missed notifications, and the need to reopen to refresh call status.
  • Feature set is intentionally lean — advanced custom reporting, deep customisation, and complex workflow logic are more limited than Salesforce or HubSpot.
  • Native Slack integration is absent without a Zapier or API workaround, frustrating teams that rely on Slack for sales team communication.
  • Custom Objects and Custom Activities are powerful but add migration complexity due to their dependency ordering requirements.
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 Close 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

    Close: Per endpoint group with a lower limit on write operations; 429 response includes rate_reset value; limits enforced at the organisation level across all API keys.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Close 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 Close to Freshsales data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Standard migrations covering Leads, Contacts, Accounts, Deals, and standard activity history land between one and three weeks. Migrations with Custom Activities, Custom Objects, multiple Close pipelines, or large engagement histories (over 200,000 activity records) move to four to six weeks because of the Freshsales conversion-mapping configuration and multi-phase import sequencing.

Adjacent paths

Related migrations to explore

Ready when you are

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