CRM migration
Field-level mapping, validation, and rollback between BackDocket and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
BackDocket
Source
Freshsales
Destination
Compatibility
11 of 12
objects map 1:1 between BackDocket and Freshsales.
Complexity
BStandard
Timeline
2–3 weeks
Overview
BackDocket organizes legal practice data around cases, parties, and tasks within a case-centric workflow. Freshsales is a sales CRM built around leads, contacts, accounts, and deals in a pipeline model. The migration requires splitting BackDocket's contact-party-case associations into Freshsales's normalized object graph, where one BackDocket contact with multiple cases becomes one Contact record linked to multiple Deals via junction objects. We map BackDocket custom fields to Freshsales custom fields, preserving data types and pick-list values. BackDocket workflows and document templates do not migrate — they require rebuild in Freshsales. We use scoped read access on BackDocket during migration so your team continues working without interruption. The delta-pickup window (24–48 hours) captures any in-flight records created during cutover, and audit logging tracks every operation with one-click rollback available if reconciliation fails. During the initial load we apply field-level validation against Freshsales schema, rejecting records with missing required fields and logging discrepancies for manual correction. Each migrated Deal inherits the BackDocket case number in a custom field (Deal_Number__c) and retains the original created-at timestamp as Original_Create_Date__c). Party roles are stored in a custom pick-list (Party_Role__c) on Contact, and secondary parties are linked via Account_Contact_Relation records. All file attachments are downloaded, re-uploaded to Freshsales native storage, and linked to the appropriate record through ContentDocumentLink. The migration engine runs under Freshsales API rate limits, throttling requests as needed and retrying with exponential backoff on 429 responses. A final reconciliation report compares record counts and junction integrity, ensuring the Freshsales instance is ready for 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 BackDocket 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.
BackDocket
Contact / Party
Freshsales
Contact
1:1BackDocket contacts (parties on a case) migrate as Freshsales Contacts. Each contact's primary role label (Plaintiff, Defendant, Witness) is preserved as a custom pick-list field (Party_Role__c) on the Contact record. Multiple roles per contact across cases collapse to the most-recent role by default unless your team specifies a precedence rule.
BackDocket
Contact / Party
Freshsales
Lead
1:manyBackDocket contacts flagged as prospective clients (not yet opened as a case) route to Freshsales Leads. Leads preserve the original intake date and referral source. Once a BackDocket contact is associated with an opened case, the corresponding Freshsales record becomes a Contact linked to an Account and Deal.
BackDocket
Case
Freshsales
Deal
1:1Each BackDocket case becomes a Freshsales Deal. The case name maps to Deal name, case status maps to Freshsales Deal stage via value-mapping, and open/close dates map to Deal creation date and expected close date. BackDocket case IDs are preserved in Freshsales Deal records as Source_System_ID__c for reconciliation.
BackDocket
Case
Freshsales
Account
1:1BackDocket cases are linked to an Account representing the client entity. When a BackDocket case has a primary client party, that party becomes an Account, and the case becomes a Deal linked to that Account. The Account stores client-level fields: company name, jurisdiction, and primary contact information.
BackDocket
Case Party Association
Freshsales
Account Contact Relation
1:1BackDocket allows multiple parties (plaintiff, defendant, co-counsel, expert witness) on one case. Freshsales Accounts have a primary contact plus Account Contact Relations for additional parties. We map the primary client to Account.Primary_Contact__c and secondary parties to Account_Contact_Relation records with a Role custom field replicating BackDocket's party labels.
BackDocket
Task
Freshsales
Task
1:1BackDocket tasks migrate as Freshsales Tasks with original due dates, priority levels, and owner assignments preserved. The owner resolves by email match against Freshsales users. Tasks linked to a specific case carry the corresponding Deal ID as WhatId so task context is visible within the deal timeline.
BackDocket
Event / Calendar
Freshsales
Event
1:1BackDocket calendar events (court dates, deposition schedules, filing deadlines) migrate as Freshsales Events. Original start/end timestamps and location details are preserved. Events linked to a case carry the Deal ID as WhatId for calendar-view context within the deal. The original owner of each event is also preserved, and any recurrence patterns are captured as series data where supported.
BackDocket
Document / File Attachment
Freshsales
ContentDocument / File
1:1BackDocket file attachments (PDFs, DOCX, images) are downloaded and re-uploaded to Freshsales native file storage. Each file is linked to the relevant record (Contact, Account, or Deal) via ContentDocumentLink. Original file names, sizes, and upload timestamps are preserved as metadata fields.
BackDocket
Intake / Lead Source
Freshsales
LeadSource
1:1BackDocket intake records capture referral source (court referral, online intake form, attorney referral, walk-in). These values map to Freshsales Lead Source pick-list values. Any BackDocket intake source not matching a Freshsales default is added as a custom Lead Source pick-list value before migration.
BackDocket
Custom Field (Case)
Freshsales
Custom Field (Deal)
1:1BackDocket custom fields on cases (practice area, jurisdiction, statute of limitations, case value) become Freshsales custom fields on the Deal object. Data type conversion applies: text fields map to Text, numeric fields to Number, date fields to Date. Pick-list custom fields in BackDocket map to Freshsales pick-list or multi-select pick-list based on field configuration.
BackDocket
Custom Field (Contact)
Freshsales
Custom Field (Contact)
1:1BackDocket contact-level custom fields (bar number, bar state, referral discount code) migrate as Freshsales custom fields on the Contact object. Growth-plan accounts: custom fields limited to basic types. Pro and Enterprise: advanced custom fields with dependent pick-lists and formula fields are fully supported.
BackDocket
User / Staff Member
Freshsales
User
1:1BackDocket staff members (attorneys, paralegals, admins) are matched to Freshsales users by email address. Unmatched users are flagged before migration. You can either invite unmatched users to Freshsales or reassign their BackDocket records to a fallback user before the migration window opens.
| BackDocket | Freshsales | Compatibility | |
|---|---|---|---|
| Contact / Party | Contact1:1 | Fully supported | |
| Contact / Party | Lead1:many | Fully supported | |
| Case | Deal1:1 | Fully supported | |
| Case | Account1:1 | Fully supported | |
| Case Party Association | Account Contact Relation1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Event / Calendar | Event1:1 | Fully supported | |
| Document / File Attachment | ContentDocument / File1:1 | Fully supported | |
| Intake / Lead Source | LeadSource1:1 | Fully supported | |
| Custom Field (Case) | Custom Field (Deal)1:1 | Fully supported | |
| Custom Field (Contact) | Custom Field (Contact)1:1 | Fully supported | |
| User / Staff Member | User1: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.
BackDocket gotchas
No publicly documented API for data export
Pricing inconsistency across published sources
Onsite Data Warehouse data locality uncertainty
Check Approvals has no direct equivalent in most destination platforms
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
Scope BackDocket data volume and custom field inventory
We connect to BackDocket with scoped read credentials and export the full record inventory: contacts, cases, tasks, events, and documents. We count records per object, inventory custom field names and data types, and identify any records with missing required fields (e.g., contacts with no email). This scoping run produces a fixed-price quote and a migration sequencing plan before any data moves.
Create Freshsales schema: custom fields, pick-list values, and user mapping
Before migrating records, we create all required Freshsales custom fields (Party_Role__c, Practice_Area__c, Source_System_ID__c, etc.) and add any missing pick-list values to standard fields like LeadSource and Deal Stage. We also match BackDocket staff to Freshsales users by email and flag any unresolved users for your team to invite or reassign before the migration window. We also configure field-level security profiles for each custom field and verify that the API user has permission to write to all target objects before the migration window opens.
Run a sample migration with field-level diff
A representative slice — typically 100–500 records spanning contacts, accounts, deals, tasks, and a few document attachments — migrates to a Freshsales sandbox or trial account. We generate a field-level diff showing source values versus destination values so you can verify Party_Role__c mapping, Deal Stage value mapping, owner resolution, and attachment re-upload before the full run commits. We also validate that required fields are populated, that pick-list values match Freshsales enumerations, and that any data-type mismatches are flagged for correction before proceeding.
Execute full migration with delta-pickup window
The full record set migrates to your live Freshsales account. A delta-pickup window (typically 24–48 hours after the initial load) captures any BackDocket records created or modified during the migration window so Freshsales reflects the final state at cutover. Every operation is logged to an audit trail, and one-click rollback reverts to the pre-migration state if reconciliation fails. We monitor migration progress in real time and provide a summary report after the delta window closes, confirming that all records are committed and any errors are resolved.
Validate record counts, junction linking, and attachment access
Post-migration, we run reconciliation checks: total record counts per object in Freshsales versus BackDocket export totals, junction link integrity (each Deal linked to its Account and primary Contact), and spot-checks on document attachment URLs. We deliver a reconciliation report within 48 hours of go-live, flagging any records that require manual review. We also verify that all custom field values transferred correctly, that owner assignments match, and that any missing or duplicate records are identified for cleanup.
Platform deep dives
BackDocket
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 3 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 BackDocket and Freshsales.
Object compatibility
3 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
BackDocket: Not publicly documented.
Data volume sensitivity
BackDocket 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 BackDocket to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your BackDocket 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 BackDocket
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.