CRM migration
Field-level mapping, validation, and rollback between Propeller CRM and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Propeller CRM
Source
Freshsales
Destination
Compatibility
6 of 8
objects map 1:1 between Propeller CRM and Freshsales.
Complexity
CModerate
Timeline
1-3 weeks
Overview
Moving from Propeller CRM to Freshsales is an archive-based migration from a platform that ceased operations on December 15, 2019, with no active API and no support team. We work from whatever data export was produced during the February 15, 2020 request window, reconstructing Contacts, Companies, Deals, and Pipeline Stages and rehydrating them into Freshsales using the REST API with batch chunking and parent-record lookup resolution. We do not migrate activity history (opens, clicks, replies, meeting logs) because Propeller did not include this data in its standard shutdown export. We flag orphaned contact records where deal associations were severed by the export, resolve owner email assignments against active Freshsales users, and deliver a written pipeline stage mapping for manual confirmation on any non-standard Propeller stage names. Workflows, email campaigns as automated cadences, and Forms do not migrate; we provide an inventory document for your admin to rebuild these in Freshsales.
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 Propeller 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.
Propeller CRM
Contact
Freshsales
Contact
1:1Propeller Contact records (name, email, phone, company association) map to Freshsales Contact. We use email address as the dedupe key during import. Propeller's Gmail extension auto-logged email interactions per contact, but these activity records were not included in the shutdown export — we note this gap but do not falsely promise complete activity migration. Contact records without a company association in Propeller import as standalone contacts; we flag these as potentially orphaned and present them for customer review.
Propeller CRM
Company
Freshsales
Account
1:1Propeller Company records map to Freshsales Account. Propeller matched companies by company name string, which frequently created duplicate Account records when the same company appeared under slightly different name variations (e.g., 'Acme Corp' and 'Acme Corporation'). We run deduplication against the Propeller archive before import, matching on normalized company name and domain where present, and consolidate duplicates into single Freshsales Account records with all associated Contacts re-linked.
Propeller CRM
Deal
Freshsales
Deal
1:1Propeller Deals map to Freshsales Deals. The Contact association from Propeller becomes the Primary Contact lookup in Freshsales. Deal amount, deal name, and stage assignment migrate directly. Owner assignment maps by resolving Propeller owner email to Freshsales User email; we create placeholder inactive User records in Freshsales for any owner email that has no corresponding Freshsales user account.
Propeller CRM
Pipeline Stage
Freshsales
Deal Stage
lossyPropeller pipeline stages were fully customizable per team with no enforced ordering schema in the export. We map each Propeller stage name to the nearest Freshsales deal stage equivalent. Stages with no clear Freshsales equivalent (e.g., 'Pending Docs', 'verbal yes', 'awaiting finance') are flagged for customer confirmation on placement. Stage probability percentages are not stored in the Propeller export, so we assign Freshsales default probabilities unless the customer specifies a custom probability matrix.
Propeller CRM
Email Campaign
Freshsales
Note (historical reference)
lossyPropeller Email Campaigns (campaign names, associated contacts, send dates, and template references) are imported as Freshsales Notes attached to the relevant Contacts. The campaign name becomes the Note title prefixed with [Propeller Campaign]. We do not re-create campaigns as Freshsales workflow sequences because Propeller campaign logic (trigger conditions, delays, A/B testing) was not exported in a structured format. We deliver a campaign inventory document listing each imported campaign name, contact count, and send date for the customer's admin to reference when rebuilding sequences in Freshsales.
Propeller CRM
Email Template
Freshsales
Email Template
1:1Propeller email templates (template body text and merge field names) are mapped to Freshsales Email Templates. We preserve merge field names from Propeller in the template body and flag any template that uses Propeller-specific merge field syntax for manual review before activation in Freshsales.
Propeller CRM
User
Freshsales
User
1:1Propeller user accounts mapped contacts and deals to individual sales reps by email address. We resolve each Propeller owner email against Freshsales User records by email match. Any owner email with no corresponding Freshsales user is held in a reconciliation queue — the customer's admin must provision the Freshsales user account before deal and contact owner assignments can be completed. Inactive Propeller users (departed employees) are created as inactive Freshsales users so that historical assignment data is preserved even if the person no longer has system access.
Propeller CRM
Activity (opens, clicks, replies, meetings)
Freshsales
Not migratable
1:1Propeller tracked opens, clicks, replies, and meeting scheduling as live activity logs inside its Gmail extension, but these were not included in the standard data export produced at shutdown. We explicitly exclude activity history from the migration scope and document this gap in the final migration report. Freshsales does not receive any engagement timeline data from Propeller's Gmail extension for the simple reason that Propeller did not export it. Customers who need engagement intelligence in Freshsales start fresh tracking from the day of cutover.
| Propeller CRM | Freshsales | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Deal1:1 | Fully supported | |
| Pipeline Stage | Deal Stagelossy | Fully supported | |
| Email Campaign | Note (historical reference)lossy | Fully supported | |
| Email Template | Email Template1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Activity (opens, clicks, replies, meetings) | Not migratable1: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.
Propeller CRM gotchas
Platform shutdown — no active API or support
Activity history not included in standard export
Deal stage mapping requires manual review
Owner/user assignment requires remapping
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
Archive intake and data quality audit
We review the Propeller data export archive for completeness and format. We assess record counts across Contacts, Companies, Deals, Pipeline Stages, Email Templates, and Email Campaigns. We identify duplicate company records (Propeller matched companies by name, producing duplicates), orphaned contacts without company associations, and any records with missing required fields. We document gaps and present the customer with a pre-migration data quality report including record counts, duplicate estimates, and the activity history gap before any import begins.
Freshsales destination setup
We configure the Freshsales destination account for migration: provisioning required custom fields not available in the default schema, configuring deal stages to accommodate the Propeller stage names (with customer confirmation on non-standard stages), and setting up the initial user accounts matching Propeller owner emails. If the customer has an existing Freshsales account, we coordinate workspace isolation to prevent data collision during migration.
Owner and user reconciliation
We extract every distinct Propeller owner email referenced on Contact, Company, and Deal records. We match each against the Freshsales User table by email. Owners without a matching Freshsales user are placed in a reconciliation queue. The customer's admin provisions any missing Freshsales users (active for current employees, inactive for departed employees). Migration cannot proceed past record insertion until owner resolution is complete because OwnerId references are required on standard Freshsales objects.
Account and Contact import with deduplication
We import Company records first (as Freshsales Accounts), using normalized company name and domain as the dedupe key. We run deduplication against the Propeller archive before insert, merging duplicate company records into single Freshsales Accounts. We then import Contacts with AccountId resolved by matching the Propeller company name to the Freshsales Account record. Contact email is the dedupe key for Contact-level deduplication. Orphaned contacts (no company association in Propeller) are flagged and imported as standalone contacts for customer review.
Deal import with stage and owner resolution
We import Deals with AccountId resolved from the Account mapping, Primary Contact resolved from the Contact mapping, OwnerId resolved from the User mapping, and Deal Stage assigned using the stage mapping confirmed by the customer. Each phase emits a row-count reconciliation report before the next phase begins.
Template and campaign inventory handoff
We import Email Templates with merge field content preserved. Email Campaigns are imported as Notes prefixed with [Propeller Campaign] and attached to the relevant Contacts. We do not re-create campaigns as automated Freshsales sequences because Propeller campaign logic was not exported in a structured format. We deliver a campaign inventory document listing each imported campaign name, contact count, and send date. We do not migrate Workflows, Forms, or automations as these were not exported by Propeller and do not exist in the archive.
Platform deep dives
Propeller CRM
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Moderate CRM migration. 1 of 8 objects need a manual workaround.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Propeller CRM and Freshsales.
Object compatibility
1 of 8 objects need a manual workaround.
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
Propeller CRM: Not applicable — platform shut down December 15, 2019.
Data volume sensitivity
Propeller 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 Propeller CRM to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Propeller 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 Propeller 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.