CRM migration
Field-level mapping, validation, and rollback between Kursaha and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Kursaha
Source
Freshsales
Destination
Compatibility
3 of 8
objects map 1:1 between Kursaha and Freshsales.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Kursaha has no publicly documented REST API, which means the migration path runs through dashboard CSV exports rather than programmatic extraction. We work with the customer to export Contacts, Campaigns, Audience Segments, and User Accounts from the Kursaha dashboard, map those exports to Freshsales standard objects (Leads, Contacts, Accounts, Deals), and resolve any Lead-versus-Contact split based on the customer's audience segmentation logic. Behavioral event data, real-time analytics, and campaign engagement metrics are not exportable from Kursaha and do not migrate; we document what is lost and recommend screenshot capture for historical reporting before cutover. Freshsales has native CRM migration tooling for platforms like Pipedrive, Salesforce, and Zoho, but no built-in Kursaha connector, so every object mapping is custom. We do not migrate templates, workflows, or integrations as code.
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 Kursaha 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.
Kursaha
Contact
Freshsales
Lead and Contact (split required)
1:manyKursaha Contact records map to Freshsales Lead for unqualified audience members (subscribers, early-stage leads) and to Freshsales Contact attached to an Account for qualified buyers. We use the Kursaha contact's lifecycle stage or segment membership to determine the split. The original Kursaha segment assignment is preserved in a custom field segment_source__c on both the Lead and Contact for audit and re-segmentation. Standard fields (name, email, phone, company) migrate 1:1; custom behavioral properties migrate to custom fields on the appropriate object.
Kursaha
Audience Segment
Freshsales
Lead or Contact with filter rules
lossyKursaha audience segments are defined by filter rules against contact properties. We reconstruct segment logic in Freshsales using the Filter builder for Leads and Contacts. Complex segment rules with multiple AND/OR conditions may require simplification; we document the original segment logic and deliver a written filter reconstruction plan for the customer's admin to rebuild in Freshsales filter views or dynamic lists.
Kursaha
Campaign
Freshsales
Deal
1:1Kursaha Campaigns map to Freshsales Deals. Campaign name becomes Deal name, status maps to Deal status, and channel assignments (mail, WhatsApp, SMS) are preserved as custom fields on the Deal. Campaign start and end dates migrate to Deal fields if present. Audience size and segment membership are not carried as standard Deal fields; we document these as supplementary data for the admin to reference.
Kursaha
Campaign
Freshsales
Account
1:1Kursaha Campaigns tied to a specific company or brand map to Freshsales Account records. We resolve company names from the Campaign record to Account lookups. If no matching Account exists, we create one using the campaign's company field or domain. This step establishes the Account context needed before Contact and Deal import.
Kursaha
Channel
Freshsales
Custom fields on Deal or Contact
lossyKursaha Channels (mail, WhatsApp, SMS) are linked to campaigns rather than stored as independent objects. We preserve channel-to-campaign associations as custom multi-select picklist fields on the corresponding Freshsales Deal. Channel-specific templates are flagged as a separate migration item because template HTML and AMP markup require manual re-entry in Freshsales email templates.
Kursaha
User Account
Freshsales
User
1:1Kursaha User accounts and role assignments (admin, editor, viewer) map to Freshsales User records. We resolve by email match. Freshsales assigns the Standard profile to migrated users unless role mapping is specified; the customer's admin reviews admin-level access after migration. SSO is not supported in Kursaha so manual Freshsales user provisioning is the standard path.
Kursaha
Template
Freshsales
Note or Attachment on Contact/Deal
lossyKursaha templates (mail, WhatsApp, SMS) include content and styling. We migrate template text content and basic HTML structure as Notes attached to the relevant Contact or Deal records, or as documents in Freshsales file storage. Advanced AMP markup and interactive elements cannot transfer; these require manual rebuild in Freshsales email template builder and are documented as a rebuild item.
Kursaha
Campaign Activity Log
Freshsales
Task or Event
lossyHistorical campaign engagement logs (send dates, delivery status, open records) stored in Kursaha are not reliably exportable as discrete records. We map available send/response data to Freshsales Task records linked to the Contact and corresponding Deal, preserving a basic activity timestamp. Engagement depth (opens, clicks, conversions) is flagged as non-exportable and documented for screenshot capture before cutover.
| Kursaha | Freshsales | Compatibility | |
|---|---|---|---|
| Contact | Lead and Contact (split required)1:many | Fully supported | |
| Audience Segment | Lead or Contact with filter ruleslossy | Fully supported | |
| Campaign | Deal1:1 | Fully supported | |
| Campaign | Account1:1 | Fully supported | |
| Channel | Custom fields on Deal or Contactlossy | Fully supported | |
| User Account | User1:1 | Fully supported | |
| Template | Note or Attachment on Contact/Deallossy | Fully supported | |
| Campaign Activity Log | Task or Eventlossy | 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.
Kursaha gotchas
No public API documentation complicates automated migration
Analytics and behavioral event data are not exportable
On-premise deployment complicates data retrieval
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
Scoping and export capability confirmation
We audit the customer's Kursaha account to identify all data objects in use: Contacts, Campaigns, Audience Segments, Channels, Templates, and User Accounts. We confirm CSV export availability for each object during the scoping call and verify whether the account is on the cloud SaaS or on-premise deployment. If on-premise, we coordinate with the customer on data retrieval procedures. We deliver a written migration scope specifying which objects have an export path and which require manual re-entry or screenshot capture.
CSV export and data extraction
The customer exports CSV files from the Kursaha dashboard for each migratable object. We provide a per-object export checklist specifying which fields to include, the delimiter format, and any encoding requirements. If the dashboard export tool limits field selection, we request all available fields and handle field pruning during the mapping phase. We validate the CSV row counts and flag any encoding issues before mapping begins.
Freshsales schema setup and Lead-Contact split design
We configure the destination Freshsales account: custom fields on Lead and Contact objects mapped from Kursaha properties, Account records created from company data, Deal record types aligned to the customer's campaign and deal structure, and User provisioning for all migrated team members. We design the Lead-Contact split rule based on the customer's segment logic and lifecycle stage data, and document any segment rules that will require Freshsales filter rebuild.
Data mapping, transformation, and test import
We map each CSV column to the corresponding Freshsales field, applying data type transformations (date formats, phone number normalization, multi-select handling). We run a test import into a Freshsales sandbox or the live account with a small record subset to validate mapping accuracy, check for validation rule rejections, and confirm the Lead-Contact split is producing the expected record distribution. Corrections to field mapping happen in this phase.
Full production migration and reconciliation
We run the full migration in dependency order: User accounts first, then Accounts, then Leads and Contacts with the split applied, then Deals, then activity history as available from CSV. Each phase emits a row-count reconciliation report comparing source CSV row count to destination record count. We investigate any discrepancy exceeding 1% before proceeding to the next phase. Template content and channel data are delivered as documented Notes or file attachments per the mapping plan.
Cutover, handoff, and rebuild inventory
We freeze writes to the source system during cutover, run a final delta migration of any records modified during the migration window, then declare Freshsales the system of record. We deliver the migration inventory document listing all migrated objects with record counts, all non-migratable objects with the reason and recommended rebuild approach (templates, analytics screenshots, integrations), and the Lead-Contact split rule applied. We do not rebuild integrations, templates, or segment filters as part of the migration scope; those are documented for the customer's admin to configure post-migration.
Platform deep dives
Kursaha
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 3 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 Kursaha and Freshsales.
Object compatibility
3 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
Kursaha: Not publicly documented.
Data volume sensitivity
Kursaha 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 Kursaha to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Kursaha 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 Kursaha
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.