CRM migration

Migrate from Assembly Trialworks to HubSpot

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

Assembly Trialworks logo

Assembly Trialworks

Source

HubSpot

Destination

HubSpot logo

Compatibility

93%

14 of 15

objects map 1:1 between Assembly Trialworks and HubSpot.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Teams leave Assembly Trialworks for HubSpot when their practice needs outgrow legal-only case management — specifically when marketing, sales, and client-services functions need a unified CRM that Trialworks was not designed to support. The migration carries everything Trialworks stores natively: parties (contacts), companies, case records (mapped to HubSpot Deals with a legal-matter schema), documents, calendar events, tasks, and billing history. The harder translation problems are mapping Trialworks case-specific fields like court information, opposing counsel, and case status to HubSpot's custom properties model, preserving many-to-many party-to-case associations using HubSpot's association labels, and restructuring document references into HubSpot Files with original folder paths preserved as metadata. HubSpot has no native legal-matter object — we handle this with a custom Deal schema that adds the legal fields Trialworks firms need without sacrificing HubSpot's native pipeline reporting. We sequence the migration using HubSpot's API and the import-by-object approach so associations resolve in the correct order: Companies first, then Contacts with party-to-company links, then Deals with case details, then Activities, then Files. A 24–48h delta-pickup window captures any matter updates made during the cutover window.

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

Assembly Trialworks logo

Assembly Trialworks

What's pushing teams away

  • Assembly Software is actively steering Trialworks customers toward Neos, its cloud-only successor, and has stopped creating or modifying custom dashboards, making the platform feel like it is entering long-term maintenance mode.
  • Neos is cloud-only with no on-premise option, which forces firms that require local server deployment to either switch platforms entirely or accept a deployment model they never chose.
  • Users report that Neos lacks features Trialworks had, and G2 satisfaction scores for Neos exceed Trialworks, creating pressure without clear functional parity at launch.
  • The forced transition conversation is creating churn anxiety among firms that do not want to migrate to a cloud product but face uncertainty about Trialworks' long-term roadmap despite Assembly's official no-EOL statement.
  • Windows-only workstation requirement and lack of native Mac or mobile support increasingly conflicts with modern law firm BYOD expectations and hybrid work arrangements.

Choosing

HubSpot logo

HubSpot

What's pulling them in

  • Lowest barrier to entry of any major CRM — the free tier with unlimited contacts lets teams validate fit before committing to a paid plan, according to G2 and Capterra reviewers.
  • Native integration between the CRM and sales engagement tools (sequences, email tracking, dialer) means no separate sync configuration, a theme across G2 Sales Hub reviews.
  • Pipeline visualization, deal tracking, and automated workflows are consistently praised as intuitive and easy to set up without developer involvement.
  • Strong onboarding for new team members — reviewers on Capterra and G2 highlight how quickly new reps become productive without formal training.
  • The HubSpot platform ecosystem (Marketing, Sales, Service, CMS hubs) allows growing companies to consolidate tools without building new integrations.

Object mapping

How Assembly Trialworks objects map to HubSpot

Each row shows how a Assembly Trialworks object lands in HubSpot, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Assembly Trialworks

Party

maps to

HubSpot

Contact

1:1
Fully supported

Trialworks Parties map directly to HubSpot Contacts. Party type (Attorney, Client, Witness, Opposing Counsel) is preserved as a HubSpot custom property (party_role__c) since HubSpot has no native role field on contacts. Multiple party roles per person are handled via association labels on Deal-Contact links.

Assembly Trialworks

Party (with company affiliation)

maps to

HubSpot

Contact + Company association

many:1
Fully supported

When a Trialworks Party is affiliated with a Company record, we create a HubSpot Contact and a HubSpot Company, then link them via the native Contact-Company association. Party address, phone, and email all migrate to the Contact record; the Company record captures the firm or organization name.

Assembly Trialworks

Company / Organization

maps to

HubSpot

Company

1:1
Fully supported

Trialworks Organizations map directly to HubSpot Companies. Company name, address, phone, and website fields migrate as HubSpot Company properties. Parent-subsidiary relationships in Trialworks map to HubSpot's Parent Company field on the Company record.

Assembly Trialworks

Case / Matter

maps to

HubSpot

Deal

1:1
Fully supported

Trialworks Cases map to HubSpot Deals using a legal-matter Deal schema. The Case Name becomes the Deal name; the Case Number is stored as a custom property (case_number__c). The HubSpot pipeline represents the firm's practice areas (e.g., PI Litigation, Civil Litigation, Family Law) — each practice area is its own pipeline in HubSpot so stage pick-list values reflect the correct workflow.

Assembly Trialworks

Case custom fields (court, opposing counsel, statute of limitations, insurance carrier)

maps to

HubSpot

Deal custom properties

1:1
Fully supported

Trialworks case-specific fields that have no HubSpot native equivalent are created as HubSpot custom properties on the Deal object: court_name__c (text), opposing_counsel__c (text), statute_of_limitations__c (date), insurance_carrier__c (text), case_type__c (picklist). Each custom property is typed correctly at creation (date fields become date properties, picklists become dropdowns).

Assembly Trialworks

Document / File

maps to

HubSpot

HubSpot Files

1:1
Fully supported

Trialworks documents are re-uploaded as HubSpot Files attached to the corresponding Case-Contact-Company link. Original folder paths are stored as a metadata property (original_folder_path__c) on each file so document organization can be reconstructed in HubSpot or referenced for discovery purposes.

Assembly Trialworks

Calendar Event / Court Date

maps to

HubSpot

Meeting

1:1
Fully supported

Trialworks calendar entries map to HubSpot Meetings with original start/end times, title, and description preserved. Meeting associations link to the relevant Deal (Case) so court dates and deadlines appear in the Case record's activity timeline. Owner of the Trialworks event maps to the HubSpot user by email match.

Assembly Trialworks

Task / To-Do

maps to

HubSpot

Task

1:1
Fully supported

Trialworks Tasks migrate as HubSpot Tasks with original due dates, subject, and completion status preserved. Tasks linked to a specific Case are associated to the corresponding HubSpot Deal. Completed status is preserved as a HubSpot custom property (task_completed__c) since HubSpot's standard Task object does not track historical completion dates.

Assembly Trialworks

Bill / Invoice

maps to

HubSpot

Deal Line Item or Custom Object

1:1
Fully supported

Trialworks billing records do not have a native HubSpot equivalent. We create a custom object (Legal_Billing__c) with fields for invoice number, amount, date, status, and linked Case (Deal). This preserves billing history for reference without requiring HubSpot's paid Operations Hub invoicing module.

Assembly Trialworks

Time Entry

maps to

HubSpot

Custom Object

1:1
Fully supported

Billable time entries are stored in a Time_Entry__c custom object linked to the Deal and Contact. Hours, rate, description, and date are preserved as custom properties. This maintains attorney billing history without migrating into HubSpot's native billing tools.

Assembly Trialworks

Insurance / Lien record

maps to

HubSpot

Custom Object

1:1
Fully supported

PI firms commonly track insurance carriers, policy numbers, and lien status per case. We create an Insurance_Lien__c custom object linked to the Deal, with carrier name, policy number, claim status, and lien amount as properties — preserved for case reference and settlement calculations.

Assembly Trialworks

Note

maps to

HubSpot

Note

1:1
Fully supported

Trialworks notes migrate as HubSpot Notes attached to the relevant Contact or Deal. Original create date is stored in a custom datetime property (original_note_date__c) since HubSpot's CreatedDate reflects the import timestamp, not the original note date.

Assembly Trialworks

User / Staff member

maps to

HubSpot

HubSpot User

1:1
Fully supported

Trialworks staff accounts are matched to HubSpot users by email address. If a Trialworks user has no matching HubSpot account, their records are assigned to a designated fallback HubSpot user and flagged for review before the migration completes.

Assembly Trialworks

Opposing Party / Opposing Counsel

maps to

HubSpot

Contact (with custom property)

1:1
Fully supported

Opposing parties and opposing counsel are imported as HubSpot Contacts with a custom property (party_role__c = 'Opposing Party' or 'Opposing Counsel') distinguishing them from the firm's clients and witnesses. They can be associated to the relevant Case (Deal) just like any other party.

Assembly Trialworks

Witness

maps to

HubSpot

Contact (with custom property)

1:1
Fully supported

Witnesses are HubSpot Contacts with party_role__c = 'Witness'. Contact information, notes, and any documents linked to the witness record migrate alongside the contact. Witness lists per case are preserved via Deal-Contact association labels.

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.

Assembly Trialworks logo

Assembly Trialworks gotchas

High

No public API means migration requires direct SQL database access

High

Assembly has discontinued custom dashboard creation and modification

Medium

FileIT document import requires a parallel folder-to-case mapping step

Medium

Custom fields are firm-specific and must be discovered before mapping

Medium

Firms being pushed toward cloud-only Neos despite needing on-premise

HubSpot logo

HubSpot gotchas

High

Marketing Contacts billing model is migration-critical

High

Feature tier gating is not visible until onboarding

Medium

Mandatory onboarding fees inflate year-one cost

Medium

HubSpot CSV importer cannot migrate engagements or attachments

Medium

Custom objects require Enterprise and a pre-existing schema

Pair-specific challenges

  • HubSpot has no native legal-matter object — case fields need custom property architecture

    HubSpot Deals are fundamentally sales-pipeline tools with stage and amount fields. Trialworks case records carry legal-specific fields (court name, opposing counsel, insurance carrier, statute of limitations, case type) that have no native HubSpot equivalent. We resolve this by creating a per-practice-area pipeline structure in HubSpot where each pipeline represents a practice area, and by adding custom properties on the Deal object for every legal field. The mapping plan must be agreed upon before migration runs so the HubSpot custom property schema is ready for data.

  • Party-to-Case many-to-many associations require HubSpot association labels

    Trialworks allows a single Party (contact) to appear across multiple Cases, and a Case can have many Parties in different roles (client, witness, opposing counsel). HubSpot supports many-to-many relationships via association labels on Contact-Deal and Company-Deal links, but the built-in labels are limited (Business Contact, Decision Maker). We create custom association labels (Client, Opposing Party, Opposing Counsel, Witness, Insurance Carrier) and map Trialworks role data accordingly. If your firm uses role types not covered by our standard mapping, we flag them for your review before migration.

  • Trialworks document storage hierarchy does not map to HubSpot native folders

    Trialworks organizes documents in a folder hierarchy per case with tabs and categories. HubSpot Files are stored in a flat file system attached to CRM records. We re-upload every document to its corresponding Case (Deal) and Contact, and preserve the original folder path as a metadata property (original_folder_path__c) on each file. This means the folder hierarchy itself is not reproduced as HubSpot folders — document retrieval in HubSpot is via search and filter rather than folder navigation.

  • Billing and time-entry data requires a custom object that does not use HubSpot's native invoicing

    Trialworks tracks bills, invoices, and billable time entries natively. HubSpot's native invoicing is available only with Operations Hub Professional or Enterprise, which is a separate subscription. We handle this by creating a Legal_Billing__c custom object and a Time_Entry__c custom object linked to the Deal, preserving invoice number, amount, date, status, hours, and rate. These records appear in HubSpot reports via custom object associations, but they do not use HubSpot's native billing or payments features.

  • Trialworks custom dashboards cannot migrate — reporting must be rebuilt in HubSpot

    Trialworks custom dashboards are built using a SQL-backed reporting layer that requires Trialworks support or external BI tools to modify. HubSpot's native reporting includes pipeline analytics, lifecycle reporting, and goal tracking — but it replaces, rather than reproduces, your Trialworks dashboard layouts. G2 reviewers specifically note that even simple dashboard changes in Trialworks require support tickets or developer work. We deliver a reporting setup plan as part of the migration package so your HubSpot analytics are configured to match your practice's key metrics before go-live.

Migration approach

Six steps for a successful Assembly Trialworks to HubSpot data migration

  1. Discovery and schema mapping workshop

    FlitStack AI reviews your Trialworks data export — parties, cases, documents, calendar, tasks, and billing — to build a full field-level mapping plan. We identify all custom fields, case types, and practice-area pipelines. A schema plan is delivered showing the HubSpot custom properties and association labels to be created before migration, including a review call with your team to confirm the mapping matches your firm's workflow.

  2. HubSpot environment setup

    We create all required custom properties on HubSpot Contacts, Companies, and Deals (case_number__c, court_name__c, party_role__c, etc.), set up per-practice-area pipelines, and configure association labels for party-to-case roles. If you are using HubSpot for the first time, we also configure user accounts and match Trialworks staff emails to HubSpot users. This step runs in parallel with your team's HubSpot onboarding so the environment is ready before data arrives.

  3. Sample migration with field-level diff

    A representative sample — typically 100–300 records spanning contacts, companies, cases across your main practice areas, and a sample of documents and calendar entries — migrates first. We generate a field-level diff comparing source values to destination values so you can verify that case type mapping, party role assignment, association labels, and document metadata are correct before committing to the full run. Any field mapping adjustments are made before the full migration proceeds.

  4. Full migration with ordered object loading

    Companies load first (HubSpot requires Companies before Contacts via the primary Company association). Contacts load second with party role assignments and Contact-Company links. Deals load third with case custom properties, case-contact associations using the custom role labels, and owner resolution by email. Documents upload fourth with original folder paths preserved as metadata. Calendar events and tasks load fifth with original timestamps. Bills and time entries load last via the custom billing object. The load order prevents foreign-key resolution failures common in out-of-order CRM migrations.

  5. Delta-pickup and cutover

    After the full migration completes, a 24–48h delta-pickup window captures any records created or modified in Trialworks during the cutover period. Owner resolution is re-run against the delta to flag any unmapped users. A post-migration validation report shows record counts by object, association completeness, and any records that could not be linked to their expected parent record. One-click rollback is available if the validation report reveals unexpected data gaps.

Platform deep dives

Context on both ends of the pair

Assembly Trialworks logo

Assembly Trialworks

Source

Strengths

  • Windows-native platform with deep Microsoft Office and WordPerfect document generation integration that litigation attorneys know well.
  • SQL Server backend gives IT staff full access to the database for custom reporting, backup, and integration work.
  • Customizable dashboards let individual users surface case metrics and pipeline views tailored to their practice area.
  • Supports on-premise, hosted, and virtual desktop deployment, giving firms flexibility in how they run the software.
  • Structured Claims and Parties data model aligns closely with how PI and liability litigation firms actually organize case information.

Weaknesses

  • No public REST API documented, making programmatic export and import a custom SQL-level operation rather than a standard integration.
  • Assembly has stopped creating or modifying custom dashboards, signaling reduced investment in the platform's feature set.
  • Strictly Windows-only workstations; no native Mac or Linux client, limiting deployment flexibility for modern hybrid work environments.
  • Cloud-only successor (Neos) has no on-premise option, forcing firms with local server requirements to migrate to a different platform entirely if they want to stay current.
  • Support for NeosAI and newer AI-powered features is concentrated in Neos, leaving Trialworks users without access to Assembly's most recent product investments.
HubSpot logo

HubSpot

Destination

Strengths

  • Genuinely useful free CRM tier with no seat limit on contact records.
  • All-in-one sales engagement layer (sequences, email tracking, calling, dialer) embedded natively in the CRM, eliminating a separate integration.
  • Intuitive interface and fast onboarding for individual reps, per G2 and Capterra reviews.
  • Workflow automation triggers across contacts, deals, and tickets with a visual builder.
  • API coverage for all standard objects including custom objects at Enterprise tier.

Weaknesses

  • Pricing model is contact-based at the marketing layer — importing all records as marketing contacts can multiply the monthly bill by 4×.
  • Feature tier cliffs are frequent surprises: sequences, calling, advanced reporting, and quoting are all gated, often requiring plan upgrades mid-implementation.
  • Mandatory onboarding fees at Professional ($1,500) and Enterprise ($3,500) are not prominently disclosed on the pricing page.
  • API rate limits are restrictive for bulk migration — burst limits of 100-200 req/10sec and search endpoint limits of 4 req/sec require careful job queuing.
  • Custom objects, additional pipelines, and advanced forecasting are Enterprise-only, making cost projections difficult for growing teams.

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 Assembly Trialworks and HubSpot.

  • 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

    Assembly Trialworks: Not applicable—no public API.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Assembly Trialworks to HubSpot 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 Assembly Trialworks to HubSpot data migrations

Answers to the questions buyers ask most during Assembly Trialworks to HubSpot migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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

Book a free 30 minute consultation

Most Trialworks to HubSpot migrations complete within 48–72 hours of migration clock time for firms with fewer than 25,000 records. Larger firms with 100,000+ records across multiple practice areas, heavy document volumes, and complex custom field schemas extend to 7–14 days. The longest single step is usually the HubSpot schema setup — configuring per-practice-area pipelines and custom properties — which runs 3–5 days and is completed before any data moves.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Assembly Trialworks.
Land in HubSpot, 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