CRM migration
Field-level mapping, validation, and rollback between Assembly Trialworks and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Assembly Trialworks
Source
Freshsales
Destination
Compatibility
13 of 13
objects map 1:1 between Assembly Trialworks and Freshsales.
Complexity
BStandard
Timeline
48–72 hours
Overview
Assembly Trialworks organizes data around legal cases (matters), parties (plaintiffs, defendants, witnesses, contacts), attorneys, documents, time entries, and billing. Freshsales is a sales CRM built around Leads, Contacts, Accounts, Deals, and Sales Activities. The migration translates Trialworks parties into Freshsales Contacts and Accounts, Trialworks cases into Freshsales Deals, attorney assignments into Owner lookups, and documents into Freshsales Files with external links preserved as URL fields. The core structural difference is that Trialworks is case-centric with N:N party relationships (one party can appear across many cases), while Freshsales is account- and contact-centric with 1:N hierarchies. FlitStack AI resolves party deduplication during migration, maps multi-party cases to deal-level contact roles in Freshsales, and creates custom modules on Enterprise plans for legal-specific fields that have no direct CRM equivalent. Workflows, document generation templates, and billing rules in Trialworks do not migrate — we export their configuration as reference JSON for your Freshsales admin to rebuild using Freshsales Workflows. The migration runs via Freshsales REST API (1,000–5,000 requests/hour depending on plan) with batched inserts and scoped Trialworks read access so your firm keeps working throughout cutover.
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 Assembly Trialworks 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.
Assembly Trialworks
Case (Matter)
Freshsales
Deal
1:1Trialworks Cases map to Freshsales Deals. Case number becomes Deal name with case number suffix. Case status (Open, Closed, Pending) maps to Freshsales Deal Stage values. The case-centric model shifts to deal-centric: each migrated case becomes one Deal with the originating case ID stored in a custom field for traceability.
Assembly Trialworks
Party — Plaintiff / Defendant
Freshsales
Contact
1:1Named parties with first name, last name, and email map directly to Freshsales Contacts. Party role (Plaintiff, Defendant) is stored as a custom pick-list field (Party_Role__c) on the Contact record. Duplicate party names (same person in multiple cases) are deduplicated by email match, collapsing to one Contact with multiple Deal associations via Contact Roles.
Assembly Trialworks
Party — Attorney / Counsel
Freshsales
User (Freshsales Agent)
1:1Opposing counsel and co-counsel entries with firm names and email addresses are matched against Freshsales users by email. If no matching user exists, the attorney record is created as a Contact with Type = 'Attorney' and linked to relevant Deals. Internal firm attorneys resolve to Freshsales Owner lookups on migrated Cases.
Assembly Trialworks
Party — Corporate Entity
Freshsales
Account
1:1Corporate parties (plaintiff/defendant companies) with business name, address, and industry map to Freshsales Accounts. Account Name = entity legal name. Industry and address fields map directly. Parent-subsidiary relationships in Trialworks become Parent Account lookups in Freshsales, preserving organizational hierarchies. Corporate entity type (LLC, Corp, Partnership) can be stored in a custom field. We validate D-U-N-S numbers and business registrations where available to ensure accurate Account matching during migration.
Assembly Trialworks
Attorney Assignment (Case-Party link)
Freshsales
Contact Role on Deal
1:1Trialworks links attorneys to parties on a case. Each attorney-party assignment migrates as a Freshsales Contact Role on the corresponding Deal, with Role value = 'Attorney' or the specific role title from Trialworks. Contact Roles are the native Freshsales mechanism for many-to-many contact-deal relationships.
Assembly Trialworks
Time Entry
Freshsales
Custom Sales Activity
1:1Billable hours logged in Trialworks become Custom Sales Activities in Freshsales (available on Pro and Enterprise plans). Activity type = 'Billable Hours', duration maps to hours, description carries the task narrative. On Growth plans, time entries are stored as custom text fields on the Deal since Custom Sales Activities are not available.
Assembly Trialworks
Document / File
Freshsales
File / Attachment on Deal
1:1Trialworks documents stored in Casefiles are re-uploaded to Freshsales Files attached to the corresponding Deal. Original Trialworks folder path and document category are preserved in the File description field. Trialworks FileIT exports must be provided as a directory export — we do not have a direct API pull for documents.
Assembly Trialworks
Calendar / Hearing Date
Freshsales
Event on Deal
1:1Trialworks calendar entries with hearing dates, deadlines, and filing due dates migrate as Freshsales Events linked to the corresponding Deal. Start time, end time, and subject line (e.g., 'Motion Hearing — Case #12345') are preserved. All-day events in Trialworks map to Freshsales all-day Events.
Assembly Trialworks
Custom Field — Case
Freshsales
Custom Field on Deal / Custom Module
1:1Firm-specific custom fields on Cases (e.g., Case Type, Statute of Limitations, Venue) migrate as Freshsales custom fields on the Deal object for up to 15 fields. Fields beyond the standard Deal schema or requiring relational lookups require Freshsales Custom Modules, available only on Enterprise plans.
Assembly Trialworks
Bill / Invoice
Freshsales
Custom Module Record / Deal Field
1:1Trialworks billing records have no native equivalent in Freshsales CRM. Invoice totals, outstanding balances, and billing status migrate as custom numeric and pick-list fields on the Deal. Firms needing full billing history use Freshsales Products and Quote-to-Cash (CPQ add-on) to reconstruct billing workflows post-migration.
Assembly Trialworks
Contact / Firm Staff
Freshsales
User (Freshsales Agent)
1:1Internal firm staff in Trialworks (paralegals, admins, assistants) are matched to Freshsales users by email. If no matching email exists, the staff member is created as a Contact with Type designation. User roles (Attorney, Paralegal, Admin) map to Freshsales security profiles post-migration. We recommend creating Freshsales user accounts for active staff before migration to ensure proper deal ownership. Inactive staff are migrated as Contacts with a 'Former Staff' designation.
Assembly Trialworks
Insurance Carrier / Medical Provider
Freshsales
Account
1:1Third-party entities linked to cases (insurance carriers, medical providers, expert witnesses, courts, opposing firms) with company name, address, and phone map to Freshsales Accounts with Type = 'Other'. Their individual contact persons migrate as Contacts linked to the parent Account. We preserve the relationship type (e.g., 'Insurance Carrier', 'Medical Provider', 'Expert Witness') in a custom Account field for segmentation and reporting. Where available, we match entities against Freshsales' built-in Account database for data enrichment before migration.
Assembly Trialworks
Conflict Check Result
Freshsales
Custom Field / Note on Contact
1:1Conflict check flags, notes, and clearance records have no direct Freshsales CRM equivalent and migrate as Notes attached to the relevant Contact record for historical reference. Firms rebuild conflict check workflows using Freshsales duplicate detection rules combined with Workflows automation. Duplicate detection rules flag potential conflicts based on name, email, and company matches, while custom Workflows trigger review tasks when new Contacts meet predefined criteria. We recommend documenting your firm's conflict policy during pre-migration schema review.
| Assembly Trialworks | Freshsales | Compatibility | |
|---|---|---|---|
| Case (Matter) | Deal1:1 | Fully supported | |
| Party — Plaintiff / Defendant | Contact1:1 | Fully supported | |
| Party — Attorney / Counsel | User (Freshsales Agent)1:1 | Fully supported | |
| Party — Corporate Entity | Account1:1 | Fully supported | |
| Attorney Assignment (Case-Party link) | Contact Role on Deal1:1 | Fully supported | |
| Time Entry | Custom Sales Activity1:1 | Fully supported | |
| Document / File | File / Attachment on Deal1:1 | Fully supported | |
| Calendar / Hearing Date | Event on Deal1:1 | Fully supported | |
| Custom Field — Case | Custom Field on Deal / Custom Module1:1 | Fully supported | |
| Bill / Invoice | Custom Module Record / Deal Field1:1 | Fully supported | |
| Contact / Firm Staff | User (Freshsales Agent)1:1 | Fully supported | |
| Insurance Carrier / Medical Provider | Account1:1 | Fully supported | |
| Conflict Check Result | Custom Field / Note on Contact1: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.
Assembly Trialworks gotchas
No public API means migration requires direct SQL database access
Assembly has discontinued custom dashboard creation and modification
FileIT document import requires a parallel folder-to-case mapping step
Custom fields are firm-specific and must be discovered before mapping
Firms being pushed toward cloud-only Neos despite needing on-premise
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
Confirm Freshsales plan and schema readiness
Before extracting data from Trialworks, FlitStack reviews your target Freshsales plan to confirm Custom Module availability for legal-specific fields. We deliver a schema setup plan listing every custom field, pick-list value, and custom module that must exist in Freshsales before data lands. For Growth/Pro plans, we document which fields exceed the flat-custom-field model and agree on a fallback approach before migration day. Your Freshsales admin creates the fields (or FlitStack creates them via API with your admin credentials).
Export Trialworks data via FileIT and structured file directory
FlitStack coordinates a Trialworks data export using the FileIT tool for records and a structured file directory export for documents. We provide a data intake questionnaire covering: Cases with all parties, time entries, calendar events, and custom field definitions. If Trialworks is hosted, we work with your IT team to produce a clean CSV export of all record types. We validate record counts against your Trialworks reports before building the field mapping spec.
Build field mapping spec and deduplicate parties by email
FlitStack engineers build the full field mapping spec from the validated Trialworks export. The critical step is party deduplication: one individual may appear as Plaintiff in one case and Witness in another, generating duplicate Contact candidates. We match party records by email (case-sensitive) and collapse to a single Freshsales Contact with multiple Contact Role entries on relevant Deals. Attorney-party-case linkages become Freshsales Contact Roles. Unmatched emails are flagged for manual review before the migration run.
Run sample migration with field-level diff
A representative slice migrates first — typically 50–200 records spanning Cases, Contacts, Accounts, time entries, and a sample document. We generate a field-level diff between the Trialworks source values and the Freshsales destination fields so you can verify: case number → Deal name mapping, party role → Party_Role__c pick-list values, attorney assignment → Owner lookup resolution, and document links. You approve the sample before the full migration commits. Adjustments to the mapping spec are made at this stage at no additional charge.
Execute full migration with delta-pickup window
The full migration runs against Freshsales using the approved mapping spec. Freshsales API write pacing is set to your plan's rate limit (1,000–5,000 req/hr). A delta-pickup window of 24–48 hours after the full run captures any Case, Party, or Calendar records modified in Trialworks during cutover. All operations are logged in the FlitStack audit trail. If reconciliation fails — record counts don't match, owner resolution misses more than 5% of attorneys — one-click rollback reverts the Freshsales environment to its pre-migration state so you can investigate without data loss.
Deliver workflow reference export and post-migration support
After the migration is validated, FlitStack delivers the Trialworks workflow and document-generation definitions as a structured JSON reference file. Your Freshsales admin uses this to rebuild automated rules in Freshsales Workflows. We offer a 30-day post-migration support window for data quality questions, owner reassignments, and additional record imports if the delta window captured new data. Billing reconstruction via Freshsales Products and CPQ (add-on) is scoped as a separate workstream if needed.
Platform deep dives
Assembly Trialworks
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 Assembly Trialworks 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
Assembly Trialworks: Not applicable—no public API.
Data volume sensitivity
Assembly Trialworks 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 Assembly Trialworks to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Assembly Trialworks 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 Assembly Trialworks
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.