CRM migration
Field-level mapping, validation, and rollback between Oncord and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Oncord
Source
Freshsales
Destination
Compatibility
6 of 8
objects map 1:1 between Oncord and Freshsales.
Complexity
BStandard
Timeline
3-4 weeks
Overview
Oncord has no publicly documented API and no formal export or migration tooling, which makes the source side of this migration the primary constraint. We extract data through Oncord's internal CustomFields API component and on-demand account backups, then map Contacts directly into Freshsales Contacts, Groups into Freshsales Segments, and Products into Freshsales Products. The absence of a Deal or Opportunity object in Oncord means pipeline history does not exist to migrate; we flag this gap during scoping so customers do not assume historical deal data will appear in Freshsales. Automation workflows, events RSVP data, and web form definitions document but do not migrate. We use Freshsales' CSV import for standard objects and the REST API for any custom field write-back, respecting Freshsales' API rate limits of 60 requests per minute on Growth and 120 on Pro and Enterprise.
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 Oncord 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.
Oncord
Contact
Freshsales
Contact
1:1Oncord Contacts map directly to Freshsales Contacts. We extract all standard contact fields (name, email, phone, address, job title) via Oncord's CustomFields API component and import into Freshsales via CSV using email as the dedupe key. Oncord's contact owner assignment maps to Freshsales OwnerId resolved by email match against the destination User table. Historical timestamps (created_date, updated_date) preserve on the Contact record.
Oncord
Group
Freshsales
Segment
lossyOncord Groups are static tagging and segmentation lists. We export all Group names and membership records and map them to Freshsales Segments on the Contact object. Each Oncord Group becomes a Segment with the same name, and membership is recreated as Segment-to-Contact assignments. On Lite plans, Oncord restricts filters to Groups only, which increases the importance of these lists; we confirm the active plan tier during scoping because Lite plan groups may be the only segmentation data available.
Oncord
Custom Field
Freshsales
Custom Field
lossyOncord CustomFields are read via the CustomFields API component. We export field definitions (name, type, options) and values per Contact record, then create matching custom fields in Freshsales on the Contact object using the Freshsales API or admin interface. Type mapping: Oncord text, number, date, and dropdown types map to Freshsales Text, Number, Date, and Picklist custom fields respectively. On Lite plans, custom fields are supported but the overall data scope is restricted; we confirm which fields have populated values during scoping.
Oncord
Product (Commerce add-on)
Freshsales
Product
1:1Products are only available when the Commerce add-on ($40/month) is active. We export product name, description, price, SKU, inventory count, images, and custom product fields via the Oncord export. Products map to Freshsales Product records with Standard Price Book entries created during import. SKUs map to product_code. If the customer does not have the Commerce add-on active, no product data exists to migrate and we exclude this object from scope. On Lite plans, Commerce is limited to 15 products; we confirm the active product count during discovery.
Oncord
Event (Marketing add-on)
Freshsales
Task and Event
1:1Oncord Events include event name, date, location, capacity, and RSVP attendee list linked to Contacts. We export events and attendee records via the Oncord backup. Each event migrates as a Freshsales Event with date and location preserved; attendee RSVPs map to EventRelation records linked to the corresponding Freshsales Contacts. Oncord does not expose a formal Events API, so export completeness depends on what Oncord's backup contains. We flag any missing event data in the pre-migration audit.
Oncord
User / Administrator
Freshsales
User
1:1Oncord includes unlimited admin users on base plans. We export user records including name, email, and role (admin, staff, customer). Owner assignment on Oncord Contacts maps to Freshsales User records resolved by email match. Role semantics differ between platforms: Oncord uses platform-level roles while Freshsales uses Salesforce-style profile and role hierarchy. We document the mapping and flag any admin users who may need Freshworks account provisioning before migration.
Oncord
Automation Workflow (Marketing add-on)
Freshsales
Workflow (documented only)
1:1Oncord Marketing automation workflows trigger on contact activity, group membership, or time-based schedules. We do not migrate workflows as code because Oncord's undocumented automation engine has no exportable format. We document every active workflow's trigger, conditions, actions, and target audience in a written inventory delivered to the customer's admin for rebuild in Freshsales Workflows (Pro and above) or Freshmarketer sequences. Scoping confirms whether the Marketing add-on is active; Lite plans have no automation capability.
Oncord
Web Form (Marketing add-on)
Freshsales
Web-to-Lead (documented only)
1:1Oncord web forms capture contact data and may carry custom field mappings per form. We export form definitions and field-to-contact-property mappings so the customer can rebuild equivalent forms in Freshsales using Web-to-Lead or a third-party form builder. Form submission history does not migrate as records; the migrated Contacts reflect the current state of the database. If the Marketing add-on is not active, no form data exists to document.
| Oncord | Freshsales | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Group | Segmentlossy | Fully supported | |
| Custom Field | Custom Fieldlossy | Fully supported | |
| Product (Commerce add-on) | Product1:1 | Fully supported | |
| Event (Marketing add-on) | Task and Event1:1 | Fully supported | |
| User / Administrator | User1:1 | Fully supported | |
| Automation Workflow (Marketing add-on) | Workflow (documented only)1:1 | Fully supported | |
| Web Form (Marketing add-on) | Web-to-Lead (documented only)1: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.
Oncord gotchas
Email accounts are not included in the base subscription
Lite plan restrictions gate most CRM and marketing data
No formal export or migration tooling exists
Commerce and Marketing are optional paid add-ons
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 add-on audit
We audit the customer's Oncord account to confirm the active plan tier (Base, Lite), active add-ons (Marketing, Commerce, or both), and the data volume in each module. We extract a full account backup via Oncord's on-demand export and a supplemental CustomFields API extraction to capture any records not included in the backup. We inventory: total Contact count, Group count and membership, custom field definitions, product catalog (if Commerce active), event list (if Marketing active), user count, and any web form definitions. This audit reveals whether Lite plan restrictions have suppressed data that the customer assumed was present.
Export gap analysis and scope confirmation
We compare the Oncord export output against the customer's expected record counts and flag any discrepancies before committing to migration scope. Common gaps include: records on Lite plans that were never created due to module restrictions, form submission history that exists in Oncord's UI but not in the export file, and product images or inventory data stored outside the standard export. We deliver a written scope confirmation listing all objects to be migrated, the expected record counts per object, and any objects excluded due to export unavailability. The customer signs off before we begin the Freshsales schema work.
Freshsales schema setup
We configure the Freshsales destination account: custom fields on Contact matching the Oncord custom field definitions, Segments matching the Oncord Group list, Products (if Commerce active) with Standard Price Book entries, and user provisioning for any Oncord users without a Freshsales account. We use Freshsales' CSV import template for Contacts and Products, configuring dedupe keys (email for Contacts, SKU for Products) and field-level type mapping. For any location data intended for Freshsales Locations, we confirm the Freshworks limitation and map to Contact address fields instead.
Test import and reconciliation
We run a test migration into a Freshsales sandbox or trial account using a representative sample of Oncord data (typically 10-20% of total records). We reconcile record counts, spot-check mapped fields against the Oncord source, and validate that custom fields, segments, and product records appear correctly in Freshsales. Any mapping corrections (field type mismatches, missing picklist values, address format issues) are resolved in this phase. We do not proceed to production import until the test import passes reconciliation.
Production migration in dependency order
We run production migration in this order: Contacts first (email dedupe key applied), then Segments (assigned to Contact records by email match), then Products (if Commerce active), then Events and attendee RSVP records (if Marketing active). Each phase emits a row-count reconciliation report. We use Freshsales CSV import for standard objects and the Freshsales API for any supplemental custom field write-back, respecting rate limits of 60 req/min on Growth and 120 req/min on Pro and Enterprise. Owner assignment resolves by email match to Freshsales User records.
Cutover, validation, and automation rebuild handoff
We freeze Oncord write access during cutover, run a final delta migration of any records modified during the migration window, then enable Freshsales as the system of record. We deliver the Automation Workflow inventory document and Web Form mapping document to the customer's admin team for rebuild in Freshsales Workflows or Freshmarketer. We support a one-week hypercare window for reconciliation issues. We do not rebuild Oncord workflows as Freshsales workflows inside the migration scope; that is a separate engagement.
Platform deep dives
Oncord
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 Oncord 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
Oncord: Not publicly documented.
Data volume sensitivity
Oncord 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 Oncord to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Oncord 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 Oncord
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.