CRM migration

Migrate from Jarvis CRM to Twenty CRM

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

Jarvis CRM logo

Jarvis CRM

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

83%

10 of 12

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

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Jarvis CRM to Twenty CRM is a migration from a FileMaker Pro-powered per-customer instance with no REST API to a self-hosted open-source CRM with a GraphQL API. The primary technical challenge is that Jarvis has no documented public API, so we extract data via FileMaker export scripts and direct table access. Every Jarvis deployment has a unique schema because FileMaker allows full customization, which means a mandatory schema audit precedes any migration scope. We reconstruct relational links between Contacts, Companies, and Projects using primary-key and foreign-key exports rather than name-matching. Twenty's data model maps closely to standard CRM terminology (Companies, People, Opportunities), but its lack of native ERP modules means that Jarvis Projects, Time Entries, and Vendor records require custom object or manual workflow alternatives. Row-level security is not yet available in Twenty, which affects organizations with strict data-separation requirements. We do not migrate FileMaker Pro scripts, custom FileMaker workflows, or QuickBooks Online integration configurations; these require separate rebuild work post-migration.

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

Jarvis CRM logo

Jarvis CRM

What's pushing teams away

  • There is a learning curve with Jarvis, especially when navigating custom workflows or the FileMaker backend, and reviewers note it takes time to become fully comfortable with the system.
  • The platform lacks a publicly documented API, which limits automation options and makes integration with modern SaaS tools more difficult compared to REST-API-first CRMs.
  • Some users report difficulty finding consolidated views of all information entered into the system, suggesting the data architecture can fragment customer records across modules.
  • Customizations are billed separately from the base subscription and require discovery and development fees, which can surprise customers expecting all-inclusive pricing.
  • As a smaller niche CRM with limited market visibility, organizations concerned about vendor longevity or ecosystem scale may prefer platforms with larger user communities and more third-party integrations.

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 Jarvis CRM objects map to Twenty CRM

Each row shows how a Jarvis 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.

Jarvis CRM

Contacts

maps to

Twenty CRM

People

1:1
Mapping required

Jarvis Contact records map to Twenty People. We extract via FileMaker export including contact name, email, phone, address, job title, and owner assignment. Custom contact fields (deployment-specific) map to Twenty custom fields that we create in Settings before import. The Jarvis contact-to-company relationship (Contact linked to Company via FileMaker relationship) resolves to the People.company field during Twenty import by matching Company foreign keys.

Jarvis CRM

Companies/Accounts

maps to

Twenty CRM

Companies

1:1
Mapping required

Jarvis Company records map to Twenty Companies. We export the full Company table including company name, domain, industry, address, phone, and any custom company fields. Company is the first object imported into Twenty because People, Opportunities, and Tasks reference it via lookup. We use the company name as the dedupe key during import to prevent duplicate Companies.

Jarvis CRM

Opportunities

maps to

Twenty CRM

Opportunities

1:1
Mapping required

Jarvis Opportunity records map to Twenty Opportunities with stage, amount, expected close date, probability, and owner preserved. Pipeline stage names from Jarvis (which vary per deployment) map to Twenty Opportunity.stage values. We create the stage options in Twenty Settings before import. Opportunities link to People (the primary contact) and Companies via Twenty's Opportunity.company and Opportunity.person foreign keys.

Jarvis CRM

Projects

maps to

Twenty CRM

Custom Object: Projects

1:1
Mapping required

Jarvis Projects map to a Twenty Custom Object named Projects. We extract project records including name, description, start date, end date, status, and budget. Task structures within projects export from FileMaker as a separate table; we flatten these into Twenty Tasks linked to the Project custom object via a lookup field. Gantt chart layout data exports as metadata but does not map to a native Twenty format; we store Gantt layout notes in a custom field for admin reference.

Jarvis CRM

Time Entries

maps to

Twenty CRM

Custom Object: Time Entries

1:1
Mapping required

Jarvis time entries (billable and non-billable hours linked to projects, contacts, or vendors) map to a Twenty Custom Object named Time Entries. We extract date, duration, description, billable flag, and the linked project and contact references. Because Twenty does not have native time tracking, the custom object provides a data housing layer; billing workflow and time approval require manual rebuild in Twenty Settings or a separate time-tracking tool.

Jarvis CRM

Vendors

maps to

Twenty CRM

Custom Object: Vendors

1:1
Fully supported

Jarvis vendor records (part of the ERP module) map to a Twenty Custom Object named Vendors. We extract vendor name, contact information, payment terms, and any custom fields. QuickBooks Online vendor data that lives in Jarvis through the native integration does not migrate through FileMaker export; the customer must re-export from QuickBooks Online directly if vendor history is needed in Twenty.

Jarvis CRM

Products and Services

maps to

Twenty CRM

Products

1:1
Mapping required

Jarvis product and service catalog records map to Twenty Products. We extract item names, descriptions, SKUs, unit prices, and any custom product fields. Product-to-opportunity associations from Jarvis map to the Opportunity.items relationship in Twenty. The Jarvis product catalog export uses FileMaker table exports; we align column headers to Twenty Product field names during the transform phase.

Jarvis CRM

Tasks and Activities

maps to

Twenty CRM

Tasks

1:1
Mapping required

Jarvis task flows and activity records (follow-ups, assignments, meeting logs) map to Twenty Tasks. We extract activity type, title, description, due date, completion status, owner, and linked record references. Task types from Jarvis (call, email, meeting, note) map to Twenty Task.type values. Historical timestamps (created date, modified date) preserve as Task.createdAt and Task.updatedAt to maintain audit trails.

Jarvis CRM

User and Owner Assignment

maps to

Twenty CRM

Members

1:1
Mapping required

Jarvis user records and owner assignments export from the FileMaker ACL and record-level ownership fields. We map each Jarvis user to a corresponding Twenty Member by email address. Twenty Members must be invited and accept their invitations before we import any records with owner assignments; otherwise owner references cannot resolve. Users without a matching Twenty Member go to a reconciliation queue for the customer's admin to provision.

Jarvis CRM

Custom Properties

maps to

Twenty CRM

Custom Fields

lossy
Mapping required

Every Jarvis deployment has custom fields on Contacts, Companies, Opportunities, and Projects that do not exist in a standard FileMaker schema. We identify all custom properties during the mandatory schema audit, then create matching custom fields in Twenty Settings under the relevant object before any data import. Custom fields must exist before CSV import because the CSV import creates records, not fields. We flag any custom properties that have no equivalent Twenty field type for admin decision during scoping.

Jarvis CRM

Attachments

maps to

Twenty CRM

Files (manual re-upload)

lossy
Mapping required

File attachments stored within the FileMaker instance can be exported, but attachment storage format and location vary by deployment. We identify attachment storage paths during scoping and include them in the scope only if the FileMaker host grants access. Twenty does not support bulk file attachment import via CSV; we document the file locations and naming conventions so the customer's admin can re-upload them manually or via a separate file migration tool. Attachments linked to specific records via FileMaker relationships require manual re-attachment in Twenty after import.

Jarvis CRM

Marketing Campaigns and Groups

maps to

Twenty CRM

Custom Object: Campaigns

1:1
Mapping required

Jarvis campaign and contact group records export as basic CRM data (campaign name, type, status, and group membership lists). We map these to a Twenty Custom Object named Campaigns with a many-to-many relationship to People for group membership. Because Jarvis does not have a native marketing automation engine, campaign data is typically basic (names and tags rather than engagement metrics); we preserve what exists and note that email campaign sending capability is not a Twenty feature in the free or standard tiers.

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.

Jarvis CRM logo

Jarvis CRM gotchas

High

No documented public API means migration requires FileMaker-native exports

High

FileMaker schema varies per deployment because the platform is fully customizable

Medium

Customizations are not included in base pricing and require separate engagement

Medium

Data relationships between FileMaker tables must be reconstructed manually

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

  • Jarvis has no REST API; FileMaker export access is required

    Jarvis CRM runs on a per-customer FileMaker Pro instance with no published REST API. We cannot use API-based migration tools. We coordinate with the customer's FileMaker host to extract data via FileMaker export scripts or direct table access, which requires explicit customer permission and technical access to the FileMaker Server. We plan for this access requirement during scoping. If the FileMaker host is managed by The Scarpetta Group, the customer may need to involve Scarpetta Group to enable or assist with the export, which can add timeline days to the scoping phase.

  • FileMaker schema is unique per deployment and requires audit

    Every Jarvis deployment has a different field structure because FileMaker Pro supports full customization. Standard CRM objects (Contacts, Opportunities) exist in all deployments, but custom fields and custom objects vary. We conduct a mandatory schema audit of the live FileMaker instance before migration begins. We map every custom field individually and flag any that have no equivalent in Twenty. The audit output is a written mapping document that both objects must sign off on before data extraction begins.

  • Relational links must be reconstructed from primary and foreign keys

    FileMaker Pro stores relational links within its own table schema using Contact IDs, Company IDs, Project IDs, and foreign-key references. A standard CSV export flattens these relationships into separate columns or separate files. We export primary keys and foreign keys from all relevant tables, then reconstruct relationships in Twenty by resolving Company IDs when importing People, Opportunity IDs when importing Tasks, and so on. We do not rely on name-matching alone to link records; the primary-key approach ensures accuracy at scale.

  • Twenty row-level security is not yet available

    Jarvis CRM uses FileMaker Pro ACL controls for record-level access, allowing specific users to see only records assigned to them or their team. Twenty currently supports object-level and field-level security but row-level security (restricting a user to only records they own or are assigned to) is on the roadmap and not yet shipped. Organizations with strict data-separation requirements should evaluate whether the current Twenty permission model meets their compliance needs before migrating. We document this gap in the scope handoff.

  • FileMaker Pro custom scripts and workflows do not migrate

    Jarvis deployments that include custom FileMaker Pro scripts (automated workflows, scripted data validations, custom button actions) are built specifically for the FileMaker Pro runtime and cannot run inside Twenty. Similarly, QuickBooks Online integration configurations set up in Jarvis do not transfer because they depend on the FileMaker-QuickBooks connector. We do not migrate these as code. We deliver a written inventory of every custom script and integration configuration for the customer's admin to evaluate for rebuild in Twenty Settings or via a third-party integration tool.

Migration approach

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

  1. FileMaker schema audit and scoping

    We connect with the customer's FileMaker host to conduct a schema audit of the live instance. We identify all tables in use (Contacts, Companies, Opportunities, Projects, Tasks, Time Entries, Vendors, Products, Custom Properties), extract the field list per table, and document the relational links between tables (which table references which via foreign keys). This audit output is a written schema map that forms the basis of the migration scope. We also identify attachment storage locations, custom scripts, and any integration configurations that depend on the FileMaker Pro backend.

  2. Twenty workspace setup and custom object creation

    We create the Twenty workspace and set up the data model before any data import. This includes creating any custom objects (Projects, Time Entries, Vendors, Campaigns) under Settings, adding custom fields to standard objects (Companies, People, Opportunities, Tasks) to receive migrated custom properties, and configuring Opportunity stage values to match the source pipeline stages. We also invite all team members who will receive migrated records so that owner assignments can resolve during import. This step requires Twenty to be accessible and configured before FileMaker exports begin.

  3. FileMaker data extraction in dependency order

    We export data from the FileMaker instance in a sequence that respects foreign-key dependencies. We begin with Companies (the parent in most relationships), then export People (which references Companies), then Opportunities (which references People and Companies), then Tasks and Activities, then Projects and Time Entries. For each table, we include the primary key, all standard fields, all custom fields, and the foreign-key columns that link to other tables. We coordinate with the FileMaker host for export execution and validate that row counts from the export match the schema audit baseline before proceeding.

  4. Data transform and relationship reconstruction

    We transform the FileMaker export files into Twenty CSV import format. This includes renaming columns to match Twenty field names, mapping FileMaker field types to Twenty field types (text, number, date, email, phone, select, multi-select), and reconstructing relational links using the foreign-key columns extracted from FileMaker. For example, when importing People, we resolve the Company foreign key from the exported CompanyID column to the imported Company UUID in Twenty. We handle date format normalization, phone number formatting, and multi-select field splitting during this phase.

  5. Twenty CSV import in dependency order with validation

    We import data into Twenty using the CSV import tool in the correct dependency order: Companies first, then People, then Opportunities, then Tasks, then custom objects last. After each import phase, we reconcile record counts against the FileMaker export to confirm no records were dropped. We spot-check 25-50 records per object against the source to verify field mapping accuracy. Any records rejected by Twenty (due to missing required fields or invalid formats) are corrected in the transform layer and re-imported before proceeding to the next phase.

  6. Cutover, delta sync, and admin handoff

    We freeze FileMaker writes during the cutover window, run a final delta migration of any records modified between the last full export and the cutover date, then mark Twenty as the system of record. We validate record counts one final time and deliver the custom script inventory, integration configuration inventory, and any manual rebuild checklists to the customer's admin. We do not rebuild FileMaker Pro scripts, QuickBooks Online integrations, or custom workflows as these are outside standard migration scope. We offer a one-week post-go-live support window for reconciliation issues raised during initial team use.

Platform deep dives

Context on both ends of the pair

Jarvis CRM logo

Jarvis CRM

Source

Strengths

  • Integrated CRM and ERP functionality covering sales, projects, HR, and accounting in one platform
  • Fully customizable FileMaker Pro foundation allows per-business workflow adaptation
  • Per-customer isolated instance provides dedicated data separation and hosting control
  • Includes native QuickBooks Online and Google integrations without requiring third-party connectors
  • Cross-platform access across Mac, Windows, iOS, and web browsers

Weaknesses

  • No publicly documented REST API limits migration options and third-party integrations
  • Small market footprint with limited community resources and few third-party app integrations
  • Customizations are separate from base pricing, adding cost complexity for tailored deployments
  • Learning curve for administrators managing the FileMaker Pro backend
  • Case studies and review volume are limited compared to major CRM platforms
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. 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 Jarvis CRM and Twenty CRM.

  • 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

    Jarvis CRM: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts under 15,000 Contacts and 3,000 Companies with no custom objects. Migrations with custom FileMaker objects, large project and time-entry histories, or multiple relational tables move to six to ten weeks because of FileMaker schema audit time, relationship reconstruction logic, and custom object setup in Twenty. The FileMaker schema audit and export coordination with the Scarpetta Group can add additional time if the host requires advance notice for access.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Jarvis 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