CRM migration
Field-level mapping, validation, and rollback between Checkbox and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Checkbox
Source
Twenty CRM
Destination
Compatibility
10 of 10
objects map 1:1 between Checkbox and Twenty CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
Checkbox stores form submissions, respondent profiles, and workflow run logs rather than traditional CRM contacts and deals. When migrating to Twenty CRM, FlitStack AI treats each Checkbox form submission as a potential People or Company record in Twenty, mapping respondent properties (name, email, phone, custom fields) to Twenty's People object and any organizational data to Companies. Workflow history (run timestamps, step completions, outcomes) surfaces as custom activity fields or Notes attached to the relevant People record in Twenty. Because Checkbox has no native opportunity or deal object, any deal-like data stored in custom fields or form responses maps to Twenty's Opportunities object with manual stage configuration required post-migration. FlitStack runs the migration via Twenty's REST and GraphQL APIs at 100–200 requests per minute depending on your Organization tier, using a sample-first approach with field-level diff before committing the full run. This approach minimizes risk by validating data integrity on a representative subset before the full dataset is transferred, ensuring that field mappings, custom field translations, and relationship linkages hold across all records.
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 Checkbox 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.
Checkbox
Checkbox Form Submission
Twenty CRM
People
1:1Each Checkbox form submission from a named respondent maps to a Twenty People record. The respondent's first name, last name, and email from the form response become the corresponding Twenty fields. If Checkbox captures company information in the form, it maps to the People.companyId relation requiring a Company record to exist first.
Checkbox
Checkbox Respondent (Email-Only Contact)
Twenty CRM
People
1:1When a Checkbox form collects only an email address without full name, FlitStack creates a minimal People record with the email field populated and firstName/lastName left blank for manual completion. The original submission timestamp is preserved in a custom datetime field.
Checkbox
Checkbox Form Company Field
Twenty CRM
Companies
1:1Any company name or organization field captured in a Checkbox form submission maps to a Twenty Companies record. The company domain is parsed from the respondent email address and populated in Companies.domain for automatic linking. Duplicate company names are deduplicated during migration.
Checkbox
Checkbox Custom Form Field (Text)
Twenty CRM
People Custom Field
1:1Checkbox custom fields on forms — text, number, date, or select types — require pre-creation as custom fields in Twenty Settings → Data Model before import. FlitStack delivers a field-creation guide specifying the field name, type, and pick-list values from the Checkbox form definition.
Checkbox
Checkbox Workflow Run Log
Twenty CRM
Notes
1:1Each Checkbox workflow run generates a log entry with timestamps, triggered steps, and outcomes. FlitStack maps these as Notes attached to the relevant People or Company record, with the workflow name as the Note title and the run outcome as the body text. Original run timestamps are preserved in the Note body.
Checkbox
Checkbox File Attachment (Form Upload)
Twenty CRM
Notes
1:1Files uploaded via Checkbox form responses are downloaded by FlitStack and re-uploaded to Twenty as Notes with file attachments. The Note body captures the original file name and upload timestamp from Checkbox. Files exceeding Twenty's attachment size limits are flagged for manual handling.
Checkbox
Checkbox Deal-Like Data (Custom Field)
Twenty CRM
Opportunities
1:1If Checkbox forms capture deal value, deal stage, or expected close dates in custom fields, FlitStack maps these to a Twenty Opportunities record linked to the People or Company from the same submission. The Opportunity name defaults to the form name + respondent email. Pipeline stages require post-migration configuration in Twenty.
Checkbox
Checkbox User / Admin
Twenty CRM
Workspace Members
1:1Checkbox workspace users (admins, form editors) are matched to Twenty Workspace Members by email address. FlitStack flags any Checkbox user without a matching Twenty Workspace Member before migration — these records either get assigned to a fallback owner or require a Twenty user invite before migration runs.
Checkbox
Checkbox Form
Twenty CRM
Custom Object
1:1If Checkbox forms represent a distinct entity type in your process (e.g., Intake Requests, Support Tickets), FlitStack can map these to a Twenty Custom Object rather than People. The custom object definition (name, plural label, fields) is delivered as a schema plan for pre-creation in Twenty Settings → Data Model.
Checkbox
Checkbox Form Response Metadata
Twenty CRM
People
1:1Checkbox captures submission metadata: response ID, submission timestamp, last-edit timestamp, IP address, language. The response ID maps to a Source_Response_ID__c custom field on People for traceability. Original timestamps map to Original_Submission_Date__c. IP and language map to custom text fields if retention is required.
| Checkbox | Twenty CRM | Compatibility | |
|---|---|---|---|
| Checkbox Form Submission | People1:1 | Fully supported | |
| Checkbox Respondent (Email-Only Contact) | People1:1 | Fully supported | |
| Checkbox Form Company Field | Companies1:1 | Fully supported | |
| Checkbox Custom Form Field (Text) | People Custom Field1:1 | Fully supported | |
| Checkbox Workflow Run Log | Notes1:1 | Fully supported | |
| Checkbox File Attachment (Form Upload) | Notes1:1 | Fully supported | |
| Checkbox Deal-Like Data (Custom Field) | Opportunities1:1 | Fully supported | |
| Checkbox User / Admin | Workspace Members1:1 | Fully supported | |
| Checkbox Form | Custom Object1:1 | Fully supported | |
| Checkbox Form Response Metadata | People1: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.
Checkbox gotchas
Workflow JSON is not portable across platforms
API capabilities are not publicly documented
Integration tokens and OAuth connections cannot be migrated
Twenty CRM gotchas
Import order is enforced and critical
Export limited to 20,000 records and visible columns only
Soft-deleted records count toward uniqueness and trigger restores
API rate limits cap at 200 req/min on Organization tier
No native email sequences — follow-up cadences require external tools
Pair-specific challenges
Migration approach
Audit Checkbox forms and export respondent data
FlitStack enumerates every Checkbox form in your workspace, identifies which forms collect contact data (People records), company data (Companies), or deal-like data (Opportunities), and exports all submissions to CSV. We capture submission metadata (response ID, timestamps, IP, language) alongside the form field values. Workflow run logs are exported separately as activity history for mapping to Notes. Attachments are identified and queued for download.
Create Twenty custom fields and workspace structure
Before data lands in Twenty, your admin (or our team using your Twenty admin credentials) creates the custom fields required for migration. FlitStack delivers a schema setup guide specifying: (a) every custom field name, type, and pick-list values from Checkbox forms; (b) any custom objects needed for form-as-entity mapping; and (c) Twenty Workspace Members for owner resolution. We verify all custom fields exist in Twenty before running the import to avoid skipped columns.
Run sample migration with field-level diff
A representative slice of Checkbox submissions — typically 200–500 records spanning your most-used forms — migrates to Twenty first. FlitStack generates a field-level diff comparing the source CSV values against the migrated Twenty records, covering standard fields, custom fields, owner assignment, and note attachment. You review the diff in a shared spreadsheet and approve or request corrections before the full migration commits.
Full migration with delta-pickup window
Approved migration runs against Twenty via REST and GraphQL APIs. A delta-pickup window of 24–48 hours captures any new Checkbox submissions or edits made during the cutover. FlitStack tracks all API operations in an audit log. If reconciliation detects discrepancies, one-click rollback reverts the Twenty workspace to its pre-migration state. After rollback window closes, your team transitions fully to Twenty.
Post-migration verification and rebuild handoff
FlitStack delivers a migration summary report: record counts by object, custom field coverage, owner resolution rate, and skipped records with reasons. Any partial People records (from Checkbox submissions with missing contact data) are flagged for manual review. We hand off the Checkbox workflow definitions as a structured rebuild reference for Twenty's workflow builder, including step-by-step conditions and assignments from the original Checkbox design.
Platform deep dives
Checkbox
Source
Strengths
Weaknesses
Twenty CRM
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 Checkbox and Twenty CRM.
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
Checkbox: Not publicly documented.
Data volume sensitivity
Checkbox 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 Checkbox to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Checkbox to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Checkbox
Other ways to arrive at Twenty CRM
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.