CRM migration
Field-level mapping, validation, and rollback between Spin CRM and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Spin CRM
Source
Freshsales
Destination
Compatibility
6 of 8
objects map 1:1 between Spin CRM and Freshsales.
Complexity
CModerate
Timeline
2-3 weeks
Overview
Moving from Spin CRM to Freshsales is a snapshot-to-API migration. Spin CRM does not publish a REST API, so we extract data via per-object CSV exports from the settings menu, validate column completeness against reported custom field lists, and import into Freshsales using its REST API with tiered rate limits (1,000 requests per hour on Growth, 2,000 on Estate, 5,000 on Forest). We sequence the import in dependency order: Accounts first to establish the relationship anchor, then Contacts with AccountId resolved via company name lookup, then Deals with both AccountId and ContactId resolved, then Activities via bulk API calls. Custom fields discovered at export time are created in Freshsales before import. Workflows, Sequences, and Sales Flows from Spin CRM do not migrate; we deliver a written inventory of every active workflow for the customer's admin to rebuild in Freshsales's visual automation builder.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Spin CRM 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.
Spin CRM
Leads
Freshsales
Lead
1:1Spin CRM Leads export as a CSV snapshot from the settings menu in the Lead window. These map directly to Freshsales Leads with all standard fields (name, email, phone, status, owner) transferred. Spin CRM custom lead fields must be explicitly added to the CSV export view before extraction; we review column headers against the customer's reported custom field list and request a re-export if columns are missing. Freshsales Lead-to-Contact conversion mapping is configured post-migration by the customer if leads are to be converted.
Spin CRM
Contacts
Freshsales
Contact
1:1Spin CRM Contacts export via CSV with name, email, phone, company association, and custom fields. We import Contacts after Accounts (see below) so that the AccountId lookup can be resolved by matching the Spin CRM company name against the Freshsales Account name. Any Contact without a matching Account is held in a reconciliation queue. Freshsales requires custom contact fields to be created under Admin Settings before import; we coordinate this pre-import.
Spin CRM
Companies
Freshsales
Account
1:1Spin CRM Companies export first to establish the relationship anchor. Standard fields (company name, address, industry, website) map directly to Freshsales Account fields. Company name is used as the dedupe key during import. We extract all unique company names from the Spin CRM Contact export to cross-reference and resolve any Contacts without an explicit company association in Spin CRM.
Spin CRM
Deals
Freshsales
Deal
1:1Spin CRM Deals link to Contacts and Companies with stage, value, owner, and expected close date. We import Deals after Accounts and Contacts so that AccountId and PrimaryContactId lookups are satisfied at migration time. The Spin CRM pipeline stage configuration (custom stage names and order) is captured during scoping and replicated in Freshsales under Admin Settings before Deal import. Deal values and currency format are preserved; any currency field is mapped to Freshsales Deal Amount.
Spin CRM
Pipeline Stages
Freshsales
Deal Stage
lossySpin CRM supports fully customizable pipeline stages. We capture the complete stage sequence during discovery (stage name, order, and probability if configured) and create the corresponding stage values in Freshsales under Admin Settings before any Deal records are imported. This ensures Deal stage values in the CSV match a whitelisted Freshsales stage.
Spin CRM
Activities (Tasks, Calls, Meetings, Notes)
Freshsales
Task, Task (TaskSubtype=Call), Event, Note
1:1Spin CRM supports task management, reminders, and calendar functionality. Activity records may be present in the CSV export depending on what the settings menu exposes. We attempt to extract task and meeting records, map task status and priority to Freshsales Task fields, and import via Freshsales API with rate-limit pacing. Activity history import is scoped separately because the export mechanism is not fully documented in Spin CRM's public materials.
Spin CRM
Custom Fields
Freshsales
Custom Fields
lossySpin CRM supports custom fields on Leads, Contacts, and Deals but they are not guaranteed to appear in the CSV export unless the user explicitly adds them to the export view. We review the exported column headers against the customer's reported custom field list, flag any missing columns, and request a re-export before proceeding. In Freshsales, we pre-create all confirmed custom fields under Admin Settings with appropriate field types (text, number, date, picklist, checkbox) before the main import phase.
Spin CRM
Owner
Freshsales
User
1:1Spin CRM owner assignments on Leads, Contacts, Deals, and Activities are resolved by matching the owner name or email against Freshsales User records. We build a lookup table during scoping. Any Spin CRM owner without a matching Freshsales User is flagged for the customer to provision before the relevant object import begins. OwnerId must be resolved before Deal import because Deals require an assigned OwnerId.
| Spin CRM | Freshsales | Compatibility | |
|---|---|---|---|
| Leads | Lead1:1 | Fully supported | |
| Contacts | Contact1:1 | Fully supported | |
| Companies | Account1:1 | Fully supported | |
| Deals | Deal1:1 | Mapping required | |
| Pipeline Stages | Deal Stagelossy | Fully supported | |
| Activities (Tasks, Calls, Meetings, Notes) | Task, Task (TaskSubtype=Call), Event, Note1:1 | Fully supported | |
| Custom Fields | Custom Fieldslossy | Mapping required | |
| Owner | User1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Spin CRM gotchas
No documented public REST API
CSV export is object-by-object, not bulk
Custom field visibility at export time
Freshsales gotchas
Freddy AI is Pro-tier only despite heavy marketing
Post-migration emails and sequences are disabled
Bot session credits are a one-time 500-session allocation
Phone credits charged per minute with no cap
File storage limits scale with plan tier
Pair-specific challenges
Migration approach
Discovery and CSV export coordination
We audit the Spin CRM account scope: object types in use (Leads, Contacts, Companies, Deals, Activities), reported custom fields, pipeline stage configuration, and owner assignments. We provide the customer with a written export checklist specifying which objects to export from which settings menu location, which custom fields to explicitly add to each export, and a recommended 24-48 hour data freeze window before final exports. We also confirm the customer's target Freshsales plan and API access level to determine applicable rate limits.
CSV pre-validation and data cleansing
We receive the exported CSV files and run a pre-validation pass: checking column headers against the customer's reported field list, identifying missing custom fields, flagging duplicate records by email, and standardizing date formats and phone number formats to match Freshsales field requirements. Any missing columns trigger a request for a re-export before import begins. We also deduplicate records where the same email appears multiple times across Contacts and Leads.
Freshsales schema preparation
We create all confirmed custom fields in Freshsales under Admin Settings before any data import, matching field types to the Spin CRM data. We configure pipeline stages in Freshsales to match the Spin CRM stage sequence. We verify API access and rate limits on the target Freshsales account and provision a migration-specific API key if needed. If the customer is on the Sprout free plan, we flag that API access is unavailable and discuss an upgrade to Growth for the migration window.
Sandbox validation import (if available)
If the customer has a Freshsales Sandbox or is willing to use a trial account for validation, we run a subset import (first 100-200 records per object) to verify column mapping, deduplication behavior, and AccountId resolution. The customer reviews the imported records against the source CSV and confirms mapping correctness before we proceed to the full production import. Any mapping corrections are applied to the import configuration before the next phase.
Production import in dependency order
We run the full production import in dependency order: Accounts first (from Spin CRM Companies), then Contacts with AccountId resolved via company name lookup, then Deals with AccountId and PrimaryContactId resolved, then Leads, then Activities (Tasks, Calls, Events, Notes) via API with rate-limit pacing. Each phase emits a row-count reconciliation report comparing records in the CSV to records created in Freshsales. Any records that fail validation (missing required fields, unmapped stages) are held in a reconciliation file for the customer to resolve.
Cutover, final validation, and handoff
We freeze Spin CRM writes during cutover, run a final delta import of any records created or modified after the main export, then mark Freshsales as the system of record. We deliver a migration summary report with record counts per object, a list of any unmapped or skipped records, and the Workflow and automation inventory document. We support a 72-hour hypercare window for reconciliation issues. We do not configure Freshsales email deliverability, DNS records, or chat integrations; those steps are handled by the customer's admin per the Freshworks post-migration checklist we provide.
Platform deep dives
Spin CRM
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Moderate CRM migration. 4 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Spin CRM and Freshsales.
Object compatibility
4 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Spin CRM: Not publicly documented — confirmed during scoping..
Data volume sensitivity
Spin CRM doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Spin CRM to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Spin CRM to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Spin CRM
Other ways to arrive at Freshsales
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.