CRM migration
Field-level mapping, validation, and rollback between Followup CRM and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Followup CRM
Source
Twenty CRM
Destination
Compatibility
11 of 11
objects map 1:1 between Followup CRM and Twenty CRM.
Complexity
BStandard
Timeline
24–72 hours
Overview
Followup CRM and Twenty CRM occupy different positions in the CRM landscape: Followup CRM is a construction-industry-focused system with a vertical data model built around projects, bids, and follow-up sequences tied to sales territory. Twenty CRM is an open-source platform (AGPL-3.0, 44K GitHub stars) with a developer-first architecture that models People, Companies, and Opportunities as standard objects and exposes custom objects via a GraphQL API with 100–200 calls per minute depending on tier. The migration from Followup CRM to Twenty involves several structural transitions: Followup's Projects (with bid tracking and goals) map to Twenty's Opportunities, Followup's custom fields (User, Text, Dropdown types, load-ordered from 11) map to Twenty's custom fields (text, select, multi-select, relation), and Followup's contact associations with companies must respect Twenty's import-order constraint — Companies must exist before People can reference them via companyId. FlitStack AI sequences the migration to handle that dependency, runs a sample migration with field-level diff before committing data, and offers a delta-pickup window so in-flight records modified during cutover are captured. Workflows, quotas, goals, and Owner-level access rules in Followup CRM are not migratable — those must be rebuilt in Twenty's workflow builder or configuration settings.
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 Followup 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.
Followup CRM
Contact
Twenty CRM
People
1:1Followup CRM contacts migrate directly to Twenty People records. The primary company association uses Twenty's companyId foreign key, which requires the referenced Company to be imported first. Contacts without a primary company land in Twenty as standalone People records with no companyId.
Followup CRM
Company
Twenty CRM
Company
1:1Followup CRM companies map 1:1 to Twenty Companies. Domain-based linking in Followup CRM (for website matching) translates to Twenty's domain unique field for deduplication. Parent-child company hierarchies use Twenty's relation field if supported, or are flattened if the relationship is not expressible.
Followup CRM
Project
Twenty CRM
Opportunity
1:1Followup CRM's Projects are the primary deal-tracking entity in a construction-sales context. They migrate to Twenty Opportunities with project-level fields (bid volume, goals, milestones) mapped to custom fields on the Opportunity record. The follow-up task chain associated with each Project migrates as individual Tasks linked to the Opportunity.
Followup CRM
Custom Field (User type)
Twenty CRM
Relation field (WorkspaceMember)
1:1Followup CRM User-type custom fields store a reference to another Followup CRM user (e.g., assigned estimator). These migrate as Twenty relation fields pointing to the WorkspaceMember object, resolved by email match — the Twenty user must exist in the workspace before the relation can resolve.
Followup CRM
Custom Field (Dropdown type)
Twenty CRM
Custom field (select or multi-select)
1:1Followup CRM Dropdown custom fields carry a defined list of options with description and load order. Each option migrates as a select or multi-select value in Twenty's corresponding custom field. The option order is preserved from Followup's load order values.
Followup CRM
Custom Field (Text type)
Twenty CRM
Custom field (text)
1:1Followup CRM Text-type custom fields migrate directly to Twenty text-type custom fields without any transformation. Both the field display names and the underlying string data type carry over exactly as they appear in Followup CRM, preserving any labels, descriptions, or placeholder text associated with each field during the migration.
Followup CRM
Follow-up / Task
Twenty CRM
Task
1:1Followup CRM follow-up items (reminders, task sequences tied to projects) map to Twenty Tasks. The original due date, assignee (via User field → WorkspaceMember relation), and completion status are preserved. Open follow-ups migrate as open Tasks; completed ones carry their completed timestamp.
Followup CRM
Goals / Quotas
Twenty CRM
Custom field / Report
1:1Followup CRM team goal-setting and quota configuration—including bid volume targets, revenue goals, and per-user allocations—has no equivalent object in Twenty's current data model. These cannot be migrated as data records. FlitStack AI exports the full goal and quota definitions (targets, assignments, and thresholds) as a structured reference document so administrators can reconstruct the equivalent reporting setup using Twenty's custom fields and reporting tools.
Followup CRM
Workflow / Sequence
Twenty CRM
Workflow (Twenty workflow builder)
1:1Followup CRM automation sequences—including automated follow-up triggers, stage-transition logic, and action-based rules—do not migrate because they are configuration rather than data records. FlitStack AI exports the complete sequence definitions, documenting each step's trigger conditions, actions, and stage transitions in a structured format that serves as a detailed rebuild checklist for Twenty's workflow builder.
Followup CRM
Attachment / File
Twenty CRM
File (Twenty native or external storage)
1:1Files attached to Followup CRM contacts, companies, or projects are downloaded from the source system and re-uploaded to Twenty's native file storage. For self-hosted deployments, files may alternatively be linked externally if the storage architecture supports it. File size limits apply on Twenty Cloud (as defined by your tier), while self-hosted deployments inherit whatever storage constraints the hosting server defines.
Followup CRM
Owner / User
Twenty CRM
WorkspaceMember
1:1Followup CRM users (Owner, Admin, Regular) resolve to Twenty WorkspaceMembers by email address match. Unmatched owners are flagged before migration — either invited to Twenty first or assigned to a fallback WorkspaceMember. Owner-level permissions in Followup CRM (for custom field creation) do not map to any Twenty permission tier.
| Followup CRM | Twenty CRM | Compatibility | |
|---|---|---|---|
| Contact | People1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Project | Opportunity1:1 | Fully supported | |
| Custom Field (User type) | Relation field (WorkspaceMember)1:1 | Fully supported | |
| Custom Field (Dropdown type) | Custom field (select or multi-select)1:1 | Fully supported | |
| Custom Field (Text type) | Custom field (text)1:1 | Fully supported | |
| Follow-up / Task | Task1:1 | Fully supported | |
| Goals / Quotas | Custom field / Report1:1 | Fully supported | |
| Workflow / Sequence | Workflow (Twenty workflow builder)1:1 | Fully supported | |
| Attachment / File | File (Twenty native or external storage)1:1 | Fully supported | |
| Owner / User | WorkspaceMember1: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.
Followup CRM gotchas
No documented API or bulk export endpoint
Duplicate follow-up artifacts in contact records
Annual contract pricing creates migration timing pressure
Custom fields require explicit field-level mapping
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 Followup CRM data and schema before planning
FlitStack AI reads your Followup CRM export — contacts, companies, projects, custom field definitions, and Owner-level configuration. We catalog every custom field (User, Text, Dropdown), map Followup CRM project stages to a provisional Twenty Opportunity stage list, and identify User-type field references that depend on WorkspaceMember resolution. This audit generates the migration plan and a Twenty schema-setup checklist (custom field names, types, and select values to pre-create) before any data moves.
Set up Twenty schema and provision WorkspaceMembers
Before records can import, Twenty needs its custom fields, select-field value lists, and users in place. We deliver a schema-setup plan: which custom fields to create on People, Company, and Opportunity, what select values to populate for each Dropdown mapping, and which Twenty WorkspaceMembers correspond to Followup CRM users. WorkspaceMembers must be created or invited to Twenty so owner-resolution by email works during the migration run.
Sequence the import: Companies → People → Opportunities → Tasks
Twenty enforces that Company records exist before People can reference them (via companyId) and that both exist before Opportunities can link to them. We sequence the migration accordingly: Companies first, then People with companyId links, then Opportunities with their linked contacts and amounts, then Tasks tied to records. Custom objects import last. We run this sequence against a sample of 100–500 records first and generate a field-level diff so you can verify the mapping before the full run commits.
Run sample migration with field-level diff
A representative slice — typically 100–500 records spanning contacts, companies, projects, and tasks — migrates first. We generate a field-level diff between Followup CRM source values and Twenty destination fields for every record in the sample, so you can verify that Dropdown values mapped correctly, User-field relations resolved, companyId links are in place, and timestamps are preserved. No record lands without passing the diff.
Execute full migration with delta-pickup window
The full migration runs against Twenty once the sample diff is approved. A delta-pickup window (24–48 hours after initial load) captures any records created or modified in Followup CRM during the cutover. An audit log records every operation. One-click rollback is available if reconciliation fails. Your team keeps working in Followup CRM throughout the window — we use scoped read access only, so no records are modified on the source side.
Platform deep dives
Followup CRM
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 Followup CRM 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
Followup CRM: Not publicly documented.
Data volume sensitivity
Followup CRM 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 Followup CRM to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Followup CRM 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 Followup CRM
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.