CRM migration

Migrate from Oncord to Freshsales

Field-level mapping, validation, and rollback between Oncord and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.

Oncord logo

Oncord

Source

Freshsales

Destination

Freshsales logo

Compatibility

75%

6 of 8

objects map 1:1 between Oncord and Freshsales.

Complexity

BStandard

Timeline

3-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Oncord logo

Oncord

What's pushing teams away

  • Feature depth creates a steep learning curve — customers report feeling overwhelmed by the number of tools available and not knowing where to start.
  • Built-in analytics are described as shallow compared to Google Analytics or dedicated BI tools, frustrating customers who need detailed campaign reporting.
  • No formal data export process means customers leaving Oncord must manually download backups or build custom exports, adding friction to migration timelines.
  • Analytics limitations and the learning curve combine to create churn among customers who expected a simpler, more intuitive experience out of the box.
  • The platform is website-builder-first rather than CRM-first, which causes friction for teams that prioritised contact management over web presence.

Choosing

Freshsales logo

Freshsales

What's pulling them in

  • Lowest barrier to entry among major CRMs — the free tier supports up to 3 users and includes core CRM functionality before committing to per-seat pricing.
  • Built-in chat, email, and phone reduce reliance on third-party integrations for basic sales communication and contact management.
  • Freddy AI contact scoring and deal insights are included on Pro plans at a lower price than comparable HubSpot tiers.
  • Kanban pipeline views across Contacts, Accounts, and Deals provide visual deal management without requiring custom configuration.
  • Integration with the broader Freshworks ecosystem (Freshdesk, Freshchat, Freshservice) reduces tool sprawl for teams already using Freshworks.

Object mapping

How Oncord objects map to Freshsales

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

maps to

Freshsales

Contact

1:1
Fully supported

Oncord 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

maps to

Freshsales

Segment

lossy
Fully supported

Oncord 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

maps to

Freshsales

Custom Field

lossy
Fully supported

Oncord 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)

maps to

Freshsales

Product

1:1
Fully supported

Products 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)

maps to

Freshsales

Task and Event

1:1
Fully supported

Oncord 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

maps to

Freshsales

User

1:1
Fully supported

Oncord 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)

maps to

Freshsales

Workflow (documented only)

1:1
Fully supported

Oncord 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)

maps to

Freshsales

Web-to-Lead (documented only)

1:1
Fully supported

Oncord 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.

Gotchas + challenges

What specifically takes care here

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 logo

Oncord gotchas

Medium

Email accounts are not included in the base subscription

Medium

Lite plan restrictions gate most CRM and marketing data

High

No formal export or migration tooling exists

Low

Commerce and Marketing are optional paid add-ons

Freshsales logo

Freshsales gotchas

Medium

Freddy AI is Pro-tier only despite heavy marketing

High

Post-migration emails and sequences are disabled

Medium

Bot session credits are a one-time 500-session allocation

Medium

Phone credits charged per minute with no cap

Low

File storage limits scale with plan tier

Pair-specific challenges

  • Oncord has no public API or migration export tool

    Oncord publishes no public API reference and has no formal migration or export tooling. Customers leaving Oncord are directed by Oncord's own FAQ to download a manual backup. We work around this using the CustomFields API component internally and on-demand account backups, but we cannot guarantee byte-for-byte fidelity or completeness without a documented API endpoint. We disclose this constraint upfront, audit what Oncord's backup actually contains before promising scope, and flag any records or fields that are present in Oncord's UI but absent from the export file. Customers expecting a clean programmatic migration from Oncord will face a different reality than they would migrating from Salesforce or Pipedrive.

  • Oncord has no Deal or pipeline object to migrate

    Oncord does not include a Deal, Opportunity, or pipeline object in its data model. Sales pipeline history, deal stages, deal values, and deal-to-contact relationships that never existed in Oncord cannot be migrated to Freshsales. We confirm during scoping that customers do not assume historical deal data will appear in Freshsales after migration. If customers have tracked deal-like data in custom fields or notes, we can migrate those as custom fields on Contact, but they will not appear as Freshsales Opportunities without manual re-entry post-migration.

  • Freshsales Locations module does not support custom fields

    Freshsales Locations (used for territory assignment and office-based segmentation) do not support custom fields at this time, per Freshworks community feedback. If the Oncord export includes location-specific custom field data intended for Freshsales Locations, we must map those fields to Contact custom fields or to the standard city and state address fields instead. We confirm during mapping whether location data is source-system-defined or needs to live on the Contact record.

  • Export completeness is not guaranteed without a documented API

    Oncord's lack of a public API means we rely on internal export components and account backups. For customers on the Lite plan ($5/month), the Marketing module is restricted to 1,000 email sends and filters are group-only, which means the data in those modules may be incomplete or empty. The Commerce module on Lite is limited to 15 products. We audit the actual data volume in each module during discovery before committing to migration scope. If the export returns fewer records than the customer expects, we escalate before proceeding.

  • Automation workflows do not migrate as code

    Oncord marketing automation workflows (available on the Marketing add-on) are not exportable. We document the workflow structure (triggers, conditions, actions, and target group) in a written inventory for the customer's admin to rebuild in Freshsales Workflows or Freshmarketer. This is a manual rebuild task outside the migration scope. Customers who rely heavily on Oncord automation should plan for a rebuild effort in Freshsales concurrent with or after the data migration.

Migration approach

Six steps for a successful Oncord to Freshsales data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

Oncord logo

Oncord

Source

Strengths

  • All-in-one platform removes the need to coordinate separate website, CRM, and marketing vendors.
  • Unlimited contacts on the base plan eliminates per-record billing surprises common in other CRMs.
  • Bundled hosting includes SSL, automated backups, and platform updates at no extra cost.
  • Marketing tools (email, SMS, social, automation) are pre-integrated with the contact database, reducing data silos.
  • Integrated e-commerce with unlimited products and referral tracking on the Commerce add-on.

Weaknesses

  • No publicly documented API reference for developers to programmatically read or write data outside the platform.
  • No formal migration or export tooling — customers leaving Oncord must rely on manual backups or bespoke exports.
  • Lite plan ($5/month) has severe restrictions (1,000 email sends, 15 products, no source code access) that make it unsuitable for active marketing or commerce use.
  • Limited analytics depth compared to Google Analytics or dedicated reporting tools, frustrating data-driven teams.
  • The platform is website-builder-first, which creates friction for teams prioritising CRM functionality over web presence management.
Freshsales logo

Freshsales

Destination

Strengths

  • Generous free tier for small teams with core CRM functionality without per-seat costs.
  • All-in-one sales CRM with built-in telephony, chat, and email reducing third-party tool dependency.
  • Freddy AI contact scoring and deal predictions available on Pro tier.
  • Multiple pipeline views with Kanban and list options across all plans.

Weaknesses

  • Reports lack depth compared to competitors like HubSpot, with limited customization options.
  • Integration setup is poorly documented with no clear guides for connecting third-party tools.
  • AI features gated behind $39/user/month Pro tier despite marketing emphasis on Freddy AI.
  • Bot sessions limited to 500 one-time allocation with no monthly refresh.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Oncord and Freshsales.

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Oncord: Not publicly documented.

  • Data volume sensitivity

    B

    Oncord doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Oncord to Freshsales migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Oncord to Freshsales data migrations

Answers to the questions buyers ask most during Oncord to Freshsales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Oncord to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between three and four weeks for accounts under 10,000 Contacts with no Commerce or Marketing add-on. Migrations including Commerce products, Events with RSVP data, or over 10,000 Contacts move to six to nine weeks because of the additional object schema work and export-gap reconciliation. The primary timeline driver is Oncord's lack of a documented API, which requires manual backup extraction and custom export work that a platform with native migration tooling would not need.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Oncord.
Land in Freshsales, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day