CRM migration
Field-level mapping, validation, and rollback between Kylas Sales CRM and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Kylas Sales CRM
Source
Freshsales
Destination
Compatibility
8 of 9
objects map 1:1 between Kylas Sales CRM and Freshsales.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Kylas Sales CRM to Freshsales is a migration from a flat-rate, unlimited-user Indian-origin SMB CRM to a globally distributed, AI-powered per-seat CRM. Kylas organizes data around Leads, Deals, and Companies with Smart List filter views and automation rules; Freshsales uses Leads, Contacts, Accounts, and Deals with Freddy AI for scoring and routing. We extract Leads, Contacts, Companies, Deals, and Activities via Kylas export APIs, remap picklist value IDs and currency fields to Freshsales conventions, and resolve parent-record lookups (Contact to Account, Deal to Contact) before importing. Smart List definitions document as written filter criteria because Kylas Smart Lists are dynamic queries with no persistent record set. Kylas workflow automation rules cannot transfer; we deliver a configuration inventory for Freshsales admin to rebuild in Freshsales Workflows. Freshsales per-seat pricing (Growth $9/user, Pro $39/user, Enterprise $59/user) makes the move attractive for teams that previously paid a flat rate regardless of headcount, but growing sales teams moving from Kylas flat-rate to Freshsales per-seat should validate the per-user total against their planned hiring curve.
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 Kylas Sales 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.
Kylas Sales CRM
Lead
Freshsales
Lead
1:1Kylas Lead records map to Freshsales Lead. We preserve lead_score, lead_source, and custom lead properties in Freshsales custom fields. The Freshsales Lead Status field maps from Kylas lead status (New, Contacted, Qualified, Lost). Kylas lifecycle stages attached to Leads carry over as a custom text field for reference. Freshsales does not require lead conversion before a record can become an Account or Contact; the migration keeps Leads as Leads unless the customer requests Contact conversion during scoping.
Kylas Sales CRM
Contact
Freshsales
Contact
1:1Kylas Contact records map directly to Freshsales Contact. Standard fields (first_name, last_name, email, phone, mobile, address) map field-for-field. Custom contact properties migrate to Freshsales custom contact fields of matching type. Email address serves as the dedupe key; duplicate emails trigger a merge or skip decision based on customer preference during scoping. We preserve Kylas lifecycle_stage as a custom field on Freshsales Contact for reporting continuity.
Kylas Sales CRM
Company
Freshsales
Account
1:1Kylas Company records map to Freshsales Account. Industry classification, company size, annual revenue, and multi-currency settings transfer. The Kylas company domain maps to Account Website for web-domain-based dedupe. Linked Kylas Contacts and Deals carry their association through the migration by resolving the Account ID before Contact and Deal insert.
Kylas Sales CRM
Deal
Freshsales
Deal
1:1Kylas Deals map to Freshsales Deals with pipeline stage, deal value, expected close date, owner assignment, and probability preserved. Stage names map from Kylas stage names to Freshsales Deal Stage values. Probability percentages transfer as-is. Kylas custom deal fields map to Freshsales custom deal fields. Closed-Lost and Closed-Won reason custom fields carry over if they exist on the source.
Kylas Sales CRM
Pipeline
Freshsales
Deal Pipeline + Sales Process
lossyKylas multiple named Pipelines map to Freshsales Deal Pipelines. Freshsales Growth and above support multiple deal pipelines; we create each named pipeline in Freshsales with its stage sequence before Deal import begins. Stages exceeding Freshsales default limit (15 per pipeline) are flagged and consolidated per customer instruction.
Kylas Sales CRM
Activity (Task, Call, Note)
Freshsales
Tasks, Appointments, Notes
1:1Kylas Activity records (Tasks, Calls, Notes) attach to Leads, Contacts, Deals, and Companies. We migrate tasks as Freshsales Tasks with Status, Priority, and ActivityDate preserved. Calls with duration and disposition migrate as Tasks with a call_disposition custom field. Notes migrate as Freshsales Notes linked via the CRM object's note association. Activity timestamps and owner assignments transfer. Field-sales check-in activities with GPS coordinates map to Freshsales custom location fields if configured.
Kylas Sales CRM
Custom Fields (all objects)
Freshsales
Custom Fields
1:1Kylas custom fields on any object (Lead, Contact, Company, Deal, Activity) export with field type, picklist value IDs, and current values. We create matching custom fields in Freshsales during migration and remap picklist value IDs to Freshsales picklist option values. Multi-select picklists and date fields transfer as equivalent Freshsales field types. Custom field ordering and layout placement are documented for the customer's Freshsales admin to position on page layouts.
Kylas Sales CRM
Tag
Freshsales
Tag
1:1Kylas tags apply across objects and are exported as a full tag vocabulary. We map each tagged record to Freshsales Tags, merging duplicate tag names during the import pass. Tags on Kylas Deals carry to Freshsales Deals. Tags on Contacts carry to Freshsales Contacts. Tags used for lead scoring segments are preserved as tag values for the customer's Freshsales admin to recreate as Freshsales Workflow conditions.
Kylas Sales CRM
User (Owner)
Freshsales
User
1:1Kylas user records (name, email, role, profile) export and map to Freshsales Users. We resolve by email match. Inactive Kylas users are flagged and held in a reconciliation queue; Freshsales admin provisions matching User records (active or inactive) before record import resumes. Role and profile names map to Freshsales Role and Profile where names match; non-matching roles document for manual assignment after migration.
| Kylas Sales CRM | Freshsales | Compatibility | |
|---|---|---|---|
| Lead | Lead1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Deal1:1 | Fully supported | |
| Pipeline | Deal Pipeline + Sales Processlossy | Fully supported | |
| Activity (Task, Call, Note) | Tasks, Appointments, Notes1:1 | Fully supported | |
| Custom Fields (all objects) | Custom Fields1:1 | Mapping required | |
| Tag | Tag1:1 | Fully supported | |
| User (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.
Kylas Sales CRM gotchas
Record storage caps gate migration scope
Smart List filter criteria are non-exportable
Workflow automation rules cannot be transferred
API lacks publicly documented rate limits
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 scoping
We audit the Kylas portal for record counts across all objects, custom fields and their types, active pipeline count and stage names, user count and role assignments, and engagement volume. We also audit Kylas Smart List definitions and active workflow rules for the automation inventory. We pair this with a Freshsales tier recommendation: Free (3 users, 1,000 records) for very small teams; Growth ($9/user) for teams needing territory management and multiple pipelines; Pro ($39/user) for teams needing workflow automation, Freddy AI, and product quotes; Enterprise ($59/user) for teams with complex org structures. The discovery output is a written migration scope document with record counts, object mapping plan, and a Freshsales tier recommendation.
Source data extraction and deduplication
We extract all Kylas entities via Kylas export APIs and UI-based Data Management module: Leads, Contacts, Companies, Deals, Activities, Tags, and Custom Field values. We run a deduplication pass on email addresses for Contacts and on company names for Accounts, flagging duplicates for customer resolution. Custom field picklist value IDs are captured alongside their display labels for Freshsales remapping. Any Kylas records exceeding Freshsales record limits on the target plan are flagged for customer decision (upgrade tier or archive older records). Smart List definitions are documented as written filter criteria.
Destination schema setup in Freshsales
We create the Freshsales schema before any data import: custom fields on Lead, Contact, Account, and Deal objects with types matched to Kylas source field types; picklist option values populated from Kylas picklist display labels; Deal pipelines and stage sequences mirroring the Kylas pipeline configuration; Freshsales Workflows planned for the rebuild phase but not yet active. Custom fields are deployed via Freshsales API or manually configured, and we validate field-level access permissions with the customer's Freshsales admin to avoid import blocking.
Sandbox migration and reconciliation
We run a full migration into a Freshsales test environment using production-like data volume. The customer's operations lead reconciles record counts (Leads in, Contacts in, Accounts in, Deals in, Activities in), spot-checks 20-30 records against the Kylas source, and reviews the Smart List criteria documentation. Any field mapping corrections, picklist value mismatches, or pipeline stage name adjustments happen here. Sign-off on the sandbox migration is required before production cutover begins.
Owner reconciliation and user provisioning
We extract every distinct Kylas Owner (sales rep, manager) referenced on Contacts, Accounts, Deals, and Activities and match by email against the Freshsales destination User table. Owners without a matching Freshsales User go to a reconciliation queue. The customer's Freshsales admin provisions any missing Users and assigns Roles. Workflow automation rebuild planning also begins here using the automation inventory document we delivered.
Production migration in dependency order
We run production migration in record-dependency order: Users (provisioned and validated), Accounts (from Kylas Companies), Contacts (with AccountId resolved), Deals (with ContactId and AccountId resolved), Leads (with the lifecycle split applied), Activity history (Tasks, Calls, Notes), Tags, and Custom Field values. Each phase emits a row-count reconciliation report before the next phase begins. We use Freshsales REST API with rate-limit handling and exponential backoff for standard record loads; bulk CSV imports via Freshsales Data Import for large Contacts and Deals batches.
Cutover, validation, and automation rebuild handoff
We freeze Kylas writes during cutover, run a final delta migration of any records created or modified during the migration window, then switch the team to Freshsales as the system of record. We deliver the Smart List filter criteria documentation and the Workflow automation inventory to the customer's Freshsales admin. We support a three-day hypercare window where we resolve reconciliation issues. Workflow rebuilds in Freshsales Workflows are a separate engagement; we do not rebuild Kylas automations as Freshsales automations inside the standard migration scope.
Platform deep dives
Kylas Sales CRM
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Kylas Sales CRM and Freshsales.
Object compatibility
2 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
Kylas Sales CRM: Not publicly documented.
Data volume sensitivity
Kylas Sales 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 Kylas Sales CRM to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Kylas Sales 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 Kylas Sales 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.