CRM migration
Field-level mapping, validation, and rollback between Mothernode and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Mothernode
Source
Freshsales
Destination
Compatibility
7 of 9
objects map 1:1 between Mothernode and Freshsales.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Mothernode to Freshsales is a migration between platforms with different object models and different API architectures. Mothernode organizes data around Departments with distinct Contacts and Customers objects, while Freshsales uses the standard CRM triad of Contacts, Accounts (as Companies), and Deals (as Opportunities). We extract via Mothernode's HTTP Basic authenticated REST API using paginated reads since no bulk endpoint exists, and write into Freshsales via its REST API with account-level rate limits of 1,000 to 5,000 requests per hour depending on the plan. The Lead-versus-Opportunity distinction in Mothernode requires a pre-migration mapping table because both record types share an API endpoint but carry different workflow semantics. We do not migrate marketing sequences, automations, Project Folders, or Job Center modules; these are documented in a written handoff inventory for the customer's admin to rebuild in Freshsales or decommission.
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 Mothernode 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.
Mothernode
Contact
Freshsales
Contact
1:1Mothernode Contacts map directly to Freshsales Contact records. We extract via GET https://api.mothernode.com/contacts using paginated offset reads, preserving first_name, last_name, email, phone, address fields, and any custom field values discovered in the response schema. The primary email address becomes the dedupe key during Freshsales import to prevent duplicate Contact creation.
Mothernode
Customer
Freshsales
Account
1:1Mothernode Customers map to Freshsales Account records. Mothernode's customer_id becomes a reference stored in a custom Account field for reconciliation. The Customer name maps to Account Name, and any associated contact links are resolved after both Contact and Account imports complete. We probe the API response during extraction to capture any customer-specific fields not documented in the public API reference.
Mothernode
Lead
Freshsales
Lead
1:1Mothernode Leads migrate to Freshsales Lead records. Both Lead and Opportunity records in Mothernode return from the same API endpoint (https://api.mothernode.com/leads-and-opportunities) with a record type indicator in the payload. We separate Leads from Opportunities using this indicator before writing to Freshsales. Lead status and source fields map to Freshsales standard Lead fields. We preserve any lead score value from Mothernode in a custom field for review after migration.
Mothernode
Opportunity
Freshsales
Deal
1:1Mothernode Opportunities map to Freshsales Deal records. The shared leads-and-opportunities API endpoint requires the record type split before import. Opportunity amount, stage, expected close date, and owner_id transfer to Freshsales Deal fields. Pipeline stage names from Mothernode are extracted and mapped to Freshsales pipeline stages; if the stage names do not match an existing Freshsales pipeline, we create one during the schema configuration phase.
Mothernode
Note
Freshsales
Note
1:1Mothernode Notes and Events share an API endpoint and migrate to Freshsales Notes attached to the parent record. We extract note body, associated entity IDs (contact_id or opportunity_id), timestamps, and author attribution. Notes are linked to the parent Contact, Account, or Deal in Freshsales via the appropriate ID resolution after the parent records exist in the destination.
Mothernode
Event
Freshsales
Task / Event
1:1Mothernode Events (calendar-bound entries) migrate to Freshsales Task records with event type, date/time, duration, and associated Contact or Opportunity link preserved. The original timestamp is carried into the Freshsales Activity Date to maintain the chronological sequence in the Contact or Deal timeline.
Mothernode
Invoice
Freshsales
Deal (with custom invoice fields)
1:manyMothernode Invoice records contain line items, totals, and status. Freshsales does not have a native Invoice object in the standard CRM tier; invoices map to Deals with custom fields capturing invoice_number, invoice_total, and invoice_status. We flag any invoice records with an associated Customer and merge them into the corresponding Account or Deal context in Freshsales. If the customer requires a full invoicing module, Freshsales Suite includes billing capabilities as an add-on.
Mothernode
Owner / User
Freshsales
User
1:1Mothernode does not expose a dedicated Users endpoint in the public API. Owner IDs referenced in Lead, Opportunity, Event, and Note records are resolved by matching against the source payload's owner attribution. We create a mapping table of Mothernode owner_id to Freshsales User records based on email where available. Any owner without a matching Freshsales User is held in a reconciliation queue for the customer's admin to provision before record import.
Mothernode
Custom Fields
Freshsales
Custom Fields
lossyCustom fields on Contacts, Customers, Leads, and Opportunities are not explicitly documented in the Mothernode API reference. We probe the API response schema during the extraction phase to identify any non-standard fields present in the customer's data. These are then recreated as custom fields in Freshsales with appropriate field types before migration begins. Field type mapping follows Freshsales type constraints (text, number, picklist, date, checkbox, etc.).
| Mothernode | Freshsales | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Customer | Account1:1 | Fully supported | |
| Lead | Lead1:1 | Fully supported | |
| Opportunity | Deal1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
| Event | Task / Event1:1 | Fully supported | |
| Invoice | Deal (with custom invoice fields)1:many | Fully supported | |
| Owner / User | User1:1 | Fully supported | |
| Custom Fields | Custom Fieldslossy | Mapping required |
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.
Mothernode gotchas
No bulk API forces sequential record reads
Enterprise-tier objects lack confirmed API coverage
HTTP Basic auth with no OAuth 2.0
Rate limits are not publicly documented
Lead vs. Opportunity distinction requires manual validation
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 extraction scoping
We audit the Mothernode account via the HTTP Basic REST API across the five documented object categories: Contacts, Customers, Leads/Opportunities, Notes/Events, and Invoices. We paginate through each endpoint, count total records and pages, and identify any custom fields present in the response payloads. We also probe for Project Folders and Job Center endpoints to confirm API availability. The output is a written extraction scope with record counts per object, a custom field inventory, and a confirmed list of objects that require manual export.
Freshsales schema configuration
We configure the Freshsales destination schema before writing any records. This includes creating custom fields that correspond to Mothernode custom field values, setting up the Deal pipeline with stages mapped from Mothernode Opportunity stages, and configuring the Freshsales API key in the admin settings. We also identify the target Freshsales tier (Growth, Pro, or Enterprise) based on the migration volume and any CPQ or Freddy AI requirements. Schema configuration is validated in a Freshsales sandbox or trial account before production migration begins.
Owner reconciliation and User provisioning
We extract every distinct owner_id referenced on Lead, Opportunity, Event, and Note records from the Mothernode payload. We map these to Freshsales User records by email address where the association is identifiable. Owners without a matching Freshsales User are queued for the customer's admin to provision. OwnerId resolution must be complete before record import because Freshsales requires a valid User reference on most standard objects.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Mothernode Customers), Contacts (with email dedupe), Leads (separated from Opportunities at read time), Deals (Opportunities mapped to Deals with stage and owner resolved), Notes and Events (attached to parent records after parent IDs are confirmed in Freshsales), and Invoices (mapped to Deals with custom invoice fields). Each phase emits a row-count reconciliation report before the next phase begins. We apply exponential backoff on Freshsales HTTP 429 responses and chunk writes to stay within the account-level API limit.
Cutover, validation, and automation handoff
We freeze Mothernode writes during cutover and run a final delta migration of any records created or modified during the migration window. We deliver a written inventory of identified Mothernode automations (sequences, follow-up rules) with Freshsales Workflow and Freddy AI equivalent recommendations. We do not rebuild automations as part of the migration scope. Reports and dashboards do not migrate; Freshsales provides its own analytics tools for rebuilding these post-migration. We support a one-week hypercare window for reconciliation issues.
Platform deep dives
Mothernode
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 Mothernode 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
Mothernode: Not publicly documented.
Data volume sensitivity
Mothernode 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 Mothernode to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Mothernode 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 Mothernode
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.