CRM migration
Field-level mapping, validation, and rollback between FactBox and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
FactBox
Source
Freshsales
Destination
Compatibility
8 of 10
objects map 1:1 between FactBox and Freshsales.
Complexity
BStandard
Timeline
3–5 days
Overview
FactBox targets solo practitioners and small law firms with per-case pricing and a document-centric case-file model. As firms grow, per-case billing becomes unpredictable and the platform lacks built-in communication tools, AI-assisted lead scoring, and flexible pipeline automation. Freshsales offers per-seat pricing with native calling, Freddy AI contact scoring, and a Custom Objects API that can model legal case data directly. The migration carries cases to Accounts (with optional Deal records for case-type pipelines), contacts to Contacts, documents to Freshsales Files, and — critically — FactBox facts to a Freshsales Custom Object that preserves source-document links, relationship types, and evidence associations. We extract via FactBox API or CSV export, validate against Freshsales' API rate limits (600 GET / 300 POST per minute), and run a test migration with field-level diff before committing the full dataset. A delta-pickup window at cutover captures any records modified during the migration window so Freshsales reflects FactBox's final state at go-live.
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 FactBox 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.
FactBox
Case
Freshsales
Account + Deal
1:1FactBox cases map to Freshsales Accounts using the case name as Account Name and case status mapped to Freshsales Account Type or a custom status field. Where the firm tracks case revenue or billable amounts, we also create a Deal record linked to the Account with the case amount as Opportunity Amount, enabling Freshsales pipeline reporting on a per-case basis. Case metadata such as case type, priority, and description migrate as custom fields on the Account.
FactBox
Contact (client contact on case)
Freshsales
Contact
1:1Client and party contacts from FactBox migrate directly to Freshsales Contacts. Each contact's primary case becomes the linked Account lookup. Freshsales' Contact record supports phone, email, job title, and address fields natively. Where a contact appears on multiple cases, we create a primary Account association and surface secondary case relationships via the Account Contact Relationships feature or a custom multi-case link field on the Contact.
FactBox
Document / Evidence File
Freshsales
Freshsales Files
1:1FactBox documents and evidence files attached to cases re-upload as Freshsales Files linked to the corresponding Account record. Freshsales enforces a 25MB per-file limit — files exceeding this threshold are flagged before migration and handled via an alternative file storage reference (URL field pointing to an external repository) rather than direct attachment. Original document titles, types, and case associations are preserved as file metadata and custom fields on the File record.
FactBox
FactBox Fact
Freshsales
Freshsales Custom Object (Fact)
1:1FactBox facts have no direct equivalent in Freshsales' standard CRM objects. We create a Freshsales Custom Object named Fact via the Custom Objects API, defining typed fields for fact_name, fact_description, source_document_link, relationship_type, and linked_account_id. This custom entity preserves the fact-to-document and fact-to-account relationships that FactBox stores natively. Custom object records are created via Freshsales POST API and linked to the corresponding Account record using the relationship field defined during schema setup.
FactBox
Witness
Freshsales
Contact + Custom Field
many:1Witnesses from FactBox migrate as Freshsales Contacts with a custom field (Witness_Role__c or similar pick-list) set to 'Witness' to distinguish them from party contacts. Witness contact details — name, email, phone, address — map directly to Freshsales Contact fields. Deposition dates and testimony references from FactBox migrate as custom fields on the Contact record rather than separate records, keeping the contact profile self-contained.
FactBox
Case Note / Timeline Entry
Freshsales
Freshsales Activity Log (Note + Task)
1:manyCase timeline entries in FactBox split into two Freshsales record types based on content type. Textual notes and narrative entries migrate as Freshsales Notes attached to the Account. Time-sensitive action items (deadlines, filing reminders, deposition dates) migrate as Freshsales Tasks with a due date and the responsible user assigned via owner resolution. This split preserves the narrative history while activating Freshsales' task management capabilities for follow-up items.
FactBox
Case Custom Field
Freshsales
Freshsales Custom Field (Account or Contact)
1:1FactBox allows custom fields per case type that have no standard CRM equivalent. We map these to Freshsales custom fields on the Account object for case-level attributes, or on the Contact object for party-level attributes, depending on what the field describes. Field types map as follows: text to Text, date to Date, pick-list to Picklist, number to Number. Custom fields are created in Freshsales before the migration run using the field definition API.
FactBox
FactBox User / Case Owner
Freshsales
Freshsales User (Owner)
1:1FactBox users and case owners resolve to Freshsales users by email match. Where a FactBox user has no corresponding Freshsales user account, records are assigned to a designated fallback owner — typically the admin user or the user who initiated the migration. Unresolved owners are flagged in the pre-migration audit so your team can create Freshsales accounts before the migration run rather than losing ownership attribution on migrated records.
FactBox
FactBox Document Folder / Category
Freshsales
Freshsales Custom Field on File or Account Tag
1:1FactBox document folders and categorization tags have no direct Freshsales equivalent. We surface document categories as a custom pick-list field on the Freshsales File record (e.g., Discovery, Deposition, Contract) so filtering by document type works natively inside Freshsales. Alternatively, for firms that use Freshsales Tags, we create tags per document category and apply them to migrated files for cross-object tagging flexibility.
FactBox
FactBox Billing / Invoice Record
Freshsales
Freshsales Deal + Custom Field
1:1FactBox billing and invoice records track matter-level finances — these have no Freshsales equivalent at the CRM level. We migrate invoice amount, date, and status as custom fields on the corresponding Deal record (if one exists for the case) or as standalone custom fields on the Account. Freshsales does not provide native invoice generation — if billing records need to remain accessible post-migration, we recommend archiving them in an external document store with a link stored in the Account record for traceability.
| FactBox | Freshsales | Compatibility | |
|---|---|---|---|
| Case | Account + Deal1:1 | Fully supported | |
| Contact (client contact on case) | Contact1:1 | Fully supported | |
| Document / Evidence File | Freshsales Files1:1 | Fully supported | |
| FactBox Fact | Freshsales Custom Object (Fact)1:1 | Fully supported | |
| Witness | Contact + Custom Fieldmany:1 | Fully supported | |
| Case Note / Timeline Entry | Freshsales Activity Log (Note + Task)1:many | Fully supported | |
| Case Custom Field | Freshsales Custom Field (Account or Contact)1:1 | Fully supported | |
| FactBox User / Case Owner | Freshsales User (Owner)1:1 | Fully supported | |
| FactBox Document Folder / Category | Freshsales Custom Field on File or Account Tag1:1 | Fully supported | |
| FactBox Billing / Invoice Record | Freshsales Deal + Custom Field1: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.
FactBox gotchas
Annual subscription does not auto-renew
Limited public API documentation
File attachment handling requires separate migration
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
Data audit and source inventory
We inventory all FactBox data before migration: cases, contacts, documents, facts, witnesses, timeline entries, and billing records. We capture field names, data types, pick-list values, and document sizes. This audit surfaces oversized files, duplicate contacts, and any fact-object relationships that require Freshsales Custom Object schema design. The output is a migration plan with field-level mapping and a list of Freshsales custom fields to create before the migration run.
Set up Freshsales schema and custom objects
We create all required Freshsales custom fields, the Fact Custom Object with typed fields (fact_name, fact_description, source_document_link, relationship_type, linked_account_id), and any custom pick-list values matching FactBox pick-lists. This step runs before data ingestion so Freshsales is ready to accept records in the correct schema. We also configure Freshsales pipelines if the firm wants case status tracked as a pipeline with stages.
Resolve FactBox users to Freshsales owners by email
FactBox users and case owners are matched to Freshsales user accounts by email address. Any FactBox user without a corresponding Freshsales account is flagged in the pre-migration report — your team creates the Freshsales account or designates a fallback owner before the migration run so no migrated record lands without an assigned owner. Owner attribution on contacts, accounts, and fact records is preserved throughout.
Run a sample migration with field-level diff
A representative slice of cases, contacts, documents, and facts migrates first — typically 100–500 records spanning a few active cases and their associated records. We generate a field-level diff between the FactBox source values and the Freshsales destination values so you can verify custom field mapping, fact-to-account linking, document attachment, and owner resolution before the full run commits. You approve the sample before we proceed to the full migration.
Execute full migration with delta-pickup window
The full dataset migrates to Freshsales: Accounts with case metadata, Contacts with witness roles, Freshsales Files for documents, and custom Fact object records with document links and relationship types. A delta-pickup window (typically 24–48 hours) at cutover captures any records created or modified in FactBox during the migration window. Every operation is logged in an audit trail, and one-click rollback is available if reconciliation identifies data integrity issues.
Platform deep dives
FactBox
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 FactBox 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
FactBox: Not applicable — no public API endpoints are published..
Data volume sensitivity
FactBox 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 FactBox to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your FactBox 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 FactBox
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.