CRM migration

Migrate from Launchpad CRM to Twenty CRM

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

Launchpad CRM logo

Launchpad CRM

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

82%

9 of 11

objects map 1:1 between Launchpad CRM and Twenty CRM.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Launchpad CRM to Twenty CRM is a workforce-to-open-source migration that requires non-standard data extraction because Launchpad CRM does not publish a public REST API or bulk export endpoint. We assess each migration on a case-by-case basis, using available CSV exports, direct database access where permitted, or screen-scraping under explicit customer authorization. The extraction method is determined during scoping and affects timeline and cost. Twenty CRM is an open-source platform (GPL license) that supports custom objects, custom fields, and self-hosting, making it attractive for organizations seeking data ownership. We create all custom objects and fields in Twenty via the Settings -> Data Model interface before any CSV import runs, because Twenty's import creates records only, not fields. We resolve owner references by inviting all caseworkers as Twenty Members before importing data with ownership fields. HUD reporting exports and RSA-911 field structures do not migrate as scheduled reports; we deliver a written inventory of the customer's reporting workflows requiring manual rebuild in Twenty's settings. Automations and compliance-tracked workflows do not migrate as code.

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

Launchpad CRM logo

Launchpad CRM

What's pushing teams away

  • Data redundancy forces staff to enter the same client information multiple times across different modules, creating friction and increasing the risk of inconsistent records.
  • Reporting functionality is cumbersome and time-consuming, making it difficult for managers to extract actionable insights from case data without significant manual effort.
  • Integration limitations beyond HUD reporting mean teams using other government systems face manual workarounds that slow down case processing.

Choosing

Twenty CRM logo

Twenty CRM

What's pulling them in

  • Top open-source CRM on GitHub with 40.6K stars, giving teams full source code access and infrastructure ownership without per-feature licensing surprises.
  • Free self-hosting under AGPL-3.0 means unlimited users and custom objects for the cost of cloud infrastructure alone, typically $20–100/month.
  • Pricing page explicitly mocks competitors for charging add-on fees for API access, webhooks, and workflows — transparency that resonates with RevOps teams burned by Salesforce.
  • Unlimited custom objects and fields with no price impact, letting teams shape the data model to their business rather than forcing business into rigid schemas.
  • Modern TypeScript/React/PostgreSQL stack means developer-led teams can extend, self-host, or integrate without fighting legacy architecture.

Object mapping

How Launchpad CRM objects map to Twenty CRM

Each row shows how a Launchpad CRM object lands in Twenty CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.

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

Launchpad CRM

Client

maps to

Twenty CRM

People

1:1
Fully supported

Launchpad Client records map to Twenty People. The primary contact fields (name, phone, email, address) map directly. Program eligibility flags, compliance codes, and demographics stored as custom fields on the Client record become Twenty custom fields on People, created via Settings -> Data Model before import. We deduplicate records where the same person appears in multiple modules by preferring the most recently updated field value.

Launchpad CRM

Case

maps to

Twenty CRM

Opportunity

1:1
Fully supported

Launchpad Case records map to Twenty Opportunity. The case-to-client relationship becomes the Opportunity's People (contact) lookup. Case status, compliance milestones, and outcomes map to Opportunity stage and custom fields. We create a custom Opportunity stage mapping table that reflects the customer's case lifecycle rather than a sales pipeline.

Launchpad CRM

Program

maps to

Twenty CRM

Custom Object

1:1
Fully supported

Launchpad Program definitions (workforce development, SNAP, TANF, housing, VR) map to Twenty Custom Objects named Programs. We pre-create the Custom Object via the /metadata API before import, defining fields for eligibility rules, funding sources, and enrollment windows. The Program-to-Case relationship becomes a lookup field on the Opportunity (Case) record.

Launchpad CRM

Service

maps to

Twenty CRM

Note or Custom Object record

1:1
Fully supported

Individual service encounters and assessments logged against a case map to Twenty Notes attached to the parent Opportunity record, or to a custom Service Encounter object if the customer uses a structured service taxonomy. Service type value maps may be needed when Launchpad's taxonomy differs from Twenty's select options.

Launchpad CRM

Employer

maps to

Twenty CRM

Company

1:1
Fully supported

Launchpad Employer records used in job-placement workflows map to Twenty Company. Employer name, industry, address, and contact information migrate as standard Company fields. The employer-to-case placement relationship becomes a Company lookup on the Opportunity record.

Launchpad CRM

Document

maps to

Twenty CRM

Attachment

1:1
Fully supported

Uploaded files attached to clients or cases transfer as file blobs and re-associate to the correct parent record in Twenty. File-type handling depends on Twenty's attachment model at the time of migration. Documents are the last object processed because they often reference already-migrated parent records.

Launchpad CRM

Assessment

maps to

Twenty CRM

Custom Object

1:1
Fully supported

Formal evaluations and skill assessments tied to a case map to a Twenty Custom Object named Assessment with fields for assessment type, score, completion date, and evaluator. Instrument-type mapping may require value transformation when assessment taxonomies differ between Launchpad and Twenty.

Launchpad CRM

Note

maps to

Twenty CRM

Note

1:1
Fully supported

Caseworker notes and case commentary migrate as Twenty Note records linked via ContentDocumentLink to the parent People, Opportunity (Case), or Company record. We migrate as plain text where rich text formatting does not apply.

Launchpad CRM

Pipeline Stage

maps to

Twenty CRM

Custom Field

lossy
Fully supported

Program-status or employment-placement stages do not map 1:1 to standard sales pipeline stages. We create a custom select field on the Opportunity object with stage values that match the customer's case lifecycle. The mapping table is built during scoping and validated in a test migration before production.

Launchpad CRM

User

maps to

Twenty CRM

User (Member)

1:1
Fully supported

Caseworkers and staff accounts migrate as Twenty Members. We invite all users as Twenty Members via Settings -> Members before importing any records with ownership references, because Twenty requires the target user to exist before owner lookups can resolve. We match by email address and flag any Launchpad user without a matching email in the destination workspace.

Launchpad CRM

Custom Fields

maps to

Twenty CRM

Custom Fields

lossy
Mapping required

Custom properties on any Launchpad object (eligibility flags, compliance codes, funding sources) migrate as Twenty custom fields. All custom fields must be created in Settings -> Data Model before CSV import runs, because Twenty's CSV import creates records only, not fields. We create them in the correct object and with the correct field type (text, number, date, select, multi-select, relation) during the setup phase.

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.

Launchpad CRM logo

Launchpad CRM gotchas

High

No publicly documented API or export endpoint

Medium

Redundant data entry creates duplicate field populations

Medium

Reporting requires manual export steps

Twenty CRM logo

Twenty CRM gotchas

High

Import order is enforced and critical

High

Export limited to 20,000 records and visible columns only

Medium

Soft-deleted records count toward uniqueness and trigger restores

Medium

API rate limits cap at 200 req/min on Organization tier

Low

No native email sequences — follow-up cadences require external tools

Pair-specific challenges

  • No public API forces non-standard extraction

    Launchpad CRM does not publish a public REST API, bulk export endpoint, or documented data schema. We assess each migration on a case-by-case basis, using available CSV exports, direct database access where permitted, or screen-scraping under explicit customer authorization. The extraction method is determined during scoping and has a direct impact on timeline and cost because non-API extraction paths require more manual preparation. There is no self-service export path customers can run independently to generate a portable data file.

  • Twenty requires custom fields created before import

    Twenty's CSV import creates records only, not fields. All custom fields must exist in Settings -> Data Model before any data import runs. We pre-create every custom field (eligibility flags, compliance codes, funding sources, program-specific properties) during the setup phase, matching field types to Twenty's supported types. Skipping this step causes import failures or truncated data for any record that references a custom field not yet defined.

  • Users must be invited before owner lookups resolve

    Twenty requires the target user to exist as a Member before owner references on imported records can resolve. We invite all caseworkers and staff as Twenty Members via Settings -> Members and wait for acceptance before importing any records that carry ownership fields. Any Launchpad Owner without a matching Twenty Member is held in a reconciliation queue for the customer's admin to provision. Failing to pre-invite users causes orphaned records with no owner assignment.

  • Compliance reporting does not migrate as scheduled exports

    HUD 9902, RSA-911, and other workforce-compliance report exports are configured automation jobs in Launchpad CRM. Twenty CRM has no native equivalent to these scheduled compliance exports. We deliver a written inventory of every active report and export configuration with its trigger, fields, and schedule for the customer's admin to rebuild in Twenty's settings. This is a manual post-migration task, not a data migration deliverable.

  • Redundant data entry creates duplicate field populations

    G2 reviewers report that the same client or case data must be entered multiple times across different Launchpad modules. When migrating, the same information may exist in both a client profile and a case record. We deduplicate at migration time by preferring the most recently updated field value, but we flag the pattern in the reconciliation report so the customer understands which canonical record the destination system should trust.

Migration approach

Six steps for a successful Launchpad CRM to Twenty CRM data migration

  1. Discovery and extraction method assessment

    We audit the Launchpad CRM instance to inventory all modules in use (Clients, Cases, Programs, Services, Documents, Assessments, Employers), identify the extraction method available (CSV export per module, direct database access, or screen-scraping under explicit authorization), and assess data quality across redundancy patterns, duplicate records, and stale entries. The extraction method determination is the critical first output because it controls the entire project timeline and cost estimate.

  2. Twenty workspace setup and custom object schema creation

    We create all custom objects and fields in the Twenty workspace before any data import. This includes Programs as a custom object, Assessment as a custom object, and any program-specific fields on the standard People and Opportunity objects. Field types are matched to Twenty's supported types (text, number, date, select, multi-select, relation). Standard fields for People and Company are reviewed against the migration mapping to identify any gaps that need to be created before import.

  3. User provisioning and owner reconciliation

    We invite all caseworkers and staff as Twenty Members via Settings -> Members, matching by email address. We wait for acceptance confirmation and verify all expected users appear in the Members list. Any Launchpad Owner without a matching Twenty Member goes to a reconciliation queue for the customer's admin to provision before record import begins. This step gates all subsequent import phases because owner lookups cannot resolve without a target user.

  4. Test migration and reconciliation in Twenty sandbox

    We run a full migration into the Twenty workspace using representative data volume. The customer's RevOps lead reconciles record counts, spot-checks field mappings for 25-50 records against the Launchpad source, and validates that People records link correctly to their Cases (as Opportunities), that Programs appear as related custom objects, and that owner assignments match the Launchpad source. Mapping corrections happen here, not in production.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Members validated (manual), People records (from Clients), Companies (from Employers), Custom Objects (Programs, Assessments), Opportunities with People and Company lookups resolved (from Cases), Notes attached to parent records, and Documents re-associated to correct parent records last because they depend on all other records being in place. Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and reporting rebuild handoff

    We freeze writes in Launchpad CRM during cutover, run a final delta migration of any records modified during the migration window, then designate Twenty as the system of record. We deliver the compliance reporting inventory document listing every HUD 9902, RSA-911, and other workforce report that requires rebuild in Twenty settings. We support a one-week hypercare window for reconciliation issues. We do not rebuild automations or scheduled exports as code; those are documented for the customer's admin to configure post-migration.

Platform deep dives

Context on both ends of the pair

Launchpad CRM logo

Launchpad CRM

Source

Strengths

  • Built natively on Salesforce as an ISV partner, inheriting Salesforce's data model, security architecture, and reporting framework.
  • Domain-specific design for workforce development, WIOA, TANF, SNAP E&T, vocational rehabilitation, and other public-sector programs.
  • Bundled HUD 9902 and RSA-911 reporting eliminates separate compliance tooling for federally funded agencies.
  • Common intake, case management, learning management, employment portals, and grant management consolidated in one platform.
  • 60+ workforce agencies and nonprofit government organizations as customers, with a founding team carrying 40+ years of combined sector experience.

Weaknesses

  • Redundant data entry patterns flagged by G2 reviewers create duplicate field populations and inconsistent record state.
  • Reporting and analytics outside the bundled federal reports (HUD 9902, RSA-911) require manual export steps and are described as cumbersome.
  • Integration ecosystem outside HUD reporting is limited; non-federal government system links require manual workarounds.
  • No publicly documented standalone REST API outside the underlying Salesforce platform's APIs.
  • Salesforce-native architecture means TCO includes Salesforce licensing on top of Launchpad fees for agencies not already on Salesforce.
Twenty CRM logo

Twenty CRM

Destination

Strengths

  • AGPL-3.0 open-source license with full source code on GitHub — no vendor lock-in, no sunset risk.
  • Unlimited users and unlimited custom objects on self-hosted, with no feature gating based on headcount.
  • REST and GraphQL APIs available on all paid tiers, not locked behind an enterprise add-on fee.
  • MCP server and webhooks shipped as standard features, not premium upgrades.
  • Modern PostgreSQL-backed data model that developer teams can query, extend, and self-host.

Weaknesses

  • Recent v1.0 release means limited production hardening compared to CRMs with multi-year operational track records.
  • No native email sequencing or sales engagement tools — follow-up cadences require a separate platform.
  • No native two-way email sync or inbox integration, requiring third-party connectors for full activity logging.
  • Self-hosting 'free' pricing hides real infrastructure and DevOps costs that stack up over time.
  • Workflow automation is functional but lacks the complexity needed for sophisticated multi-step sales motions.

Complexity grading

How hard is this migration?

Standard CRM migration. 3 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 Launchpad CRM and Twenty CRM.

  • Object compatibility

    B

    3 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

    Launchpad CRM: Salesforce platform limits apply (typically 15,000 API calls/day for Enterprise editions, with org-level governor limits).

  • Data volume sensitivity

    A

    Launchpad CRM exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your Launchpad CRM to Twenty CRM 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 Launchpad CRM to Twenty CRM data migrations

Answers to the questions buyers ask most during Launchpad CRM to Twenty CRM migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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

Book a free 30 minute consultation

Launchpad CRM does not publish a public REST API or bulk export endpoint. We assess each migration on a case-by-case basis. Options include: available CSV exports per module (Clients, Cases, Programs, Services), direct database access where the customer has database credentials and grants explicit authorization, or screen-scraping under explicit customer authorization. The extraction method is determined during scoping and has a direct impact on the project timeline and cost. There is no self-service export path customers can run independently to generate a portable data file.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Launchpad CRM.
Land in Twenty CRM, 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