CRM migration

Migrate from FactBox to Freshsales

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

FactBox logo

FactBox

Source

Freshsales

Destination

Freshsales logo

Compatibility

80%

8 of 10

objects map 1:1 between FactBox and Freshsales.

Complexity

BStandard

Timeline

3–5 days

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

FactBox logo

FactBox

What's pushing teams away

  • Limited public API documentation makes integration with other legal tech tools difficult and custom automation nearly impossible.
  • The platform appears geared toward smaller cases and solo practitioners; larger litigation teams may find collaboration features insufficient.
  • Reviews note the tool works well for organizing facts but lacks broader practice management capabilities some firms need.
  • Some users may outgrow the platform as case volume and complexity increase beyond what FactBox was designed to handle.

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 FactBox objects map to Freshsales

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

maps to

Freshsales

Account + Deal

1:1
Fully supported

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

maps to

Freshsales

Contact

1:1
Fully supported

Client 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

maps to

Freshsales

Freshsales Files

1:1
Fully supported

FactBox 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

maps to

Freshsales

Freshsales Custom Object (Fact)

1:1
Fully supported

FactBox 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

maps to

Freshsales

Contact + Custom Field

many:1
Fully supported

Witnesses 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

maps to

Freshsales

Freshsales Activity Log (Note + Task)

1:many
Fully supported

Case 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

maps to

Freshsales

Freshsales Custom Field (Account or Contact)

1:1
Fully supported

FactBox 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

maps to

Freshsales

Freshsales User (Owner)

1:1
Fully supported

FactBox 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

maps to

Freshsales

Freshsales Custom Field on File or Account Tag

1:1
Fully supported

FactBox 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

maps to

Freshsales

Freshsales Deal + Custom Field

1:1
Fully supported

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

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.

FactBox logo

FactBox gotchas

Medium

Annual subscription does not auto-renew

High

Limited public API documentation

Medium

File attachment handling requires separate migration

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

  • FactBox facts require a Freshsales Custom Object — there is no native equivalent

    FactBox stores facts as structured records with source-document links, relationship types, and multi-level hierarchies. Freshsales has no standard CRM object that models this. We create a Freshsales Custom Object via the Custom Objects API, defining typed fields (fact_name, fact_description, source_document_link, relationship_type) and linking each fact record to the corresponding Account. This is the most technically complex part of the migration: the Freshsales entity schema must be defined before any fact records can be created, and the relationship field linking facts to accounts must resolve correctly during the migration run or the links break.

  • Freshsales API rate limits cap migration throughput for large document sets

    Freshsales enforces 600 GET requests per minute and 300 POST requests per minute on its API. A FactBox migration with thousands of document attachments and hundreds of fact records can be throttled at these limits, extending migration clock time significantly. We handle this by batching API calls, respecting 429 responses with exponential backoff, and pacing POST operations to avoid hitting the limit mid-run. For migrations exceeding 50,000 records, we typically request a temporary rate-limit increase from Freshworks support before the migration window.

  • Files exceeding 25MB per attachment cannot be migrated as Freshsales Files

    Freshsales Files have a 25MB per-file size limit. FactBox documents — particularly scanned document bundles, discovery files, and multimedia evidence — can exceed this threshold. We identify oversized files during the pre-migration audit and flag them before the migration run. For these files, we store a URL reference (pointing to the original file location or a designated document store) in a custom text field on the Account rather than uploading the file directly. This preserves traceability to the original document without violating Freshsales' file size constraint.

  • FactBox case structure with multi-address firm data maps imperfectly to Freshsales address fields

    FactBox may store multiple addresses per firm or client (e.g., primary office address, mailing address, billing address) within a single case record. Freshsales Contact and Account address fields support a single address per record. We map the primary address directly and store additional addresses as custom text fields on the Account (e.g., Mailing_Address__c, Billing_Address__c) rather than in Freshsales' native address fields. This preserves all address data but means address-based Freshsales reporting and map integrations will only surface the primary address.

  • Billing and invoice records have no Freshsales equivalent and must be archived as custom fields

    FactBox tracks matter-level billing and invoice records with amounts, statuses, and payment dates. Freshsales has no native billing or invoicing object — the CRM handles financial tracking through Opportunity Amount and stage-based forecasting, not invoice management. We migrate invoice amount and status as custom fields on the Account for the migrated case. However, full invoice history, line items, and payment records should be archived in a dedicated document store with a link stored in Freshsales for audit traceability, rather than rebuilt as CRM records.

Migration approach

Six steps for a successful FactBox to Freshsales data migration

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

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

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

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

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

Context on both ends of the pair

FactBox logo

FactBox

Source

Strengths

  • Fact-centric data model directly supports litigation workflow from document intake to trial preparation.
  • Automatic fact extraction from uploaded documents speeds up case organization significantly.
  • Physical data security with biometric readers, 2-factor access, and armed guards protects sensitive case data.
  • Immediate productivity—attorneys report being productive on day one without training or technical support.

Weaknesses

  • Minimal public API documentation limits integration options and custom automation capabilities.
  • Collaboration features may be insufficient for large litigation teams handling complex, multi-party cases.
  • The platform appears optimized for smaller matters; enterprise-scale case management features may be limited.
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 FactBox 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

    FactBox: Not applicable — no public API endpoints are published..

  • Data volume sensitivity

    B

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

Estimator

Estimate your FactBox 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 FactBox to Freshsales data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most FactBox-to-Freshsales migrations complete in 3–5 days once the data audit is finished and Freshsales schema is configured. Firms with under 10,000 records, a straightforward fact-object structure, and no oversized documents fall into this window. Larger migrations with 20,000+ records, multi-level fact hierarchies, or Freshsales Custom Object schema design extend to 7–14 days. The Freshsales Custom Object setup for facts is the longest planning step because the entity schema must be defined before any fact records can be ingested.

Adjacent paths

Related migrations to explore

Ready when you are

Move from FactBox.
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