CRM migration
Field-level mapping, validation, and rollback between Cirqll and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Cirqll
Source
Twenty CRM
Destination
Compatibility
8 of 10
objects map 1:1 between Cirqll and Twenty CRM.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Cirqll to Twenty CRM is a lightweight-to-modern open-source migration. Cirqll stores customer and lead records with tasks and activity timestamps in a simple flat schema; Twenty uses a normalized object model with Person, Company, and Opportunity as standard objects plus a metadata-driven custom object system. Cirqll's API surface is narrow — only one endpoint is publicly documented — so we probe the live schema during scoping before committing field mappings. The 100 requests-per-minute rate limit requires us to chunk large batches into timed intervals and monitor for HTTP 429 responses. Documents and calendar attachments are handled in a secondary pass since they require a download-and-reupload workflow outside the standard API. We do not migrate Cirqll workflows, automations, or role-based permissions; these are not supported on the source and have no analog to reconstruct in Twenty.
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 Cirqll 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.
Cirqll
Customer
Twenty CRM
Person
1:1Cirqll Customers are the primary contact entity and map directly to Twenty's Person object. We preserve name fields, email, phone, address, and any custom properties as Person fields or custom fields on the Person object. The Person is created before any related Activity or Task so that lookups are satisfied at insert time.
Cirqll
Lead
Twenty CRM
Opportunity
1:1Cirqll Lead records including qualification status, source attribution, and owner assignment map to Twenty's Opportunity object. Lead-to-Customer conversion history is preserved as a linked activity record in Twenty's activity timeline. The qualification status property maps to a custom Opportunity status field.
Cirqll
Task
Twenty CRM
Task
1:1Cirqll Tasks migrate to Twenty Tasks with due date, assignee, priority flag, and completion status preserved. Both open and completed task states carry forward. Task ownership resolves by matching Cirqll's owner email to a Twenty User record.
Cirqll
Activity
Twenty CRM
ActivityTimelineItem
1:1Cirqll Activity records — calls, emails, meetings — migrate to Twenty's activity timeline with timestamps, related Contact or Lead reference, and owner attribution. Activity type and duration fields are preserved. We resolve the Person or Opportunity lookup before insert.
Cirqll
Note
Twenty CRM
Note
1:1Free-text notes attached to Cirqll Contacts or Leads migrate as Note records linked to the corresponding Twenty Person record. Creation timestamp and author attribution are preserved. If notes contain rich text, we strip formatting that Twenty's note renderer cannot display.
Cirqll
Calendar Event
Twenty CRM
CalendarEvent / Task
1:1Cirqll Calendar events migrate with date, time, title, and attendee list. All-day event flags and recurrence patterns require field-level mapping since Twenty's calendar model handles these differently. Single-occurrence events become Task records; recurring events are flattened into individual instances during migration.
Cirqll
Document
Twenty CRM
Attachment / Custom File Object
lossyDocuments stored in Cirqll are binary blobs exported via a separate download-and-reupload pass rather than the standard API. We preserve original filenames, file sizes, and upload timestamps. File attachments are linked to the corresponding Cirqll Person or Lead record via a lookup in Twenty. Customers should confirm storage limits in their Twenty plan before assuming full parity.
Cirqll
User
Twenty CRM
User
1:1Cirqll User accounts and their assignment to Leads, Tasks, and Activities migrate as owner mappings in Twenty. Active versus inactive status carries forward. Role-based permissions do not transfer because destination permission models differ; we document the original permission structure for the customer's admin to reconfigure in Twenty.
Cirqll
Custom Field / Extended Property
Twenty CRM
Custom Field
lossyCirqll custom fields and extended properties on Customer and Lead records are preserved as custom fields on the corresponding Twenty Person and Opportunity objects. We probe the actual field names and types via Cirqll API during scoping since the full schema is not publicly documented. Custom field types map to equivalent Twenty field types during the schema design phase.
Cirqll
Record Relationships
Twenty CRM
Object Lookups
1:1Relationships between Cirqll records — a Task assigned to a Customer, an Activity linked to a Lead, a Note attached to a Contact — migrate as typed lookups in Twenty. We resolve parent-record IDs during the migration pass so that relationship integrity is maintained at cutover. Circular or orphaned references are flagged in the scoping report.
| Cirqll | Twenty CRM | Compatibility | |
|---|---|---|---|
| Customer | Person1:1 | Fully supported | |
| Lead | Opportunity1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Activity | ActivityTimelineItem1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
| Calendar Event | CalendarEvent / Task1:1 | Fully supported | |
| Document | Attachment / Custom File Objectlossy | Fully supported | |
| User | User1:1 | Fully supported | |
| Custom Field / Extended Property | Custom Fieldlossy | Fully supported | |
| Record Relationships | Object Lookups1: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.
Cirqll gotchas
100 requests per minute API rate limit
Sparse API schema documentation
Document blob handling requires separate pass
No public pricing — tier limits unknown
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
Discovery and scoping
We audit the source Cirqll environment for record counts across Customers, Leads, Tasks, Activities, Notes, and Calendar Events. We ask the customer to confirm their Cirqll plan tier during scoping to identify any data export caps, and we request access to a Cirqll sandbox or trial account so that we can probe the actual field schema. This step resolves the undocumented field names that prevent us from building a definitive field map upfront.
Schema probing and field mapping
Using the sandbox access, we read sample records from each object type to surface all field names, data types, and extended properties. We compare the discovered Cirqll schema against Twenty's documented GraphQL schema and identify the mapping for each field. Custom fields in Cirqll are mapped to Twenty custom fields that we create via the Twenty metadata API before migration. We document the complete field map and submit it to the customer for review.
Twenty workspace preparation
We create the required objects and custom fields in the destination Twenty workspace using the /metadata API. This includes any custom fields discovered during schema probing, lookup relationships between Person and Opportunity, and custom field types matched to their Cirqll equivalents. The Twenty workspace is prepared in a staging environment first for validation before production migration begins.
Staging migration and reconciliation
We run a full migration into the Twenty staging environment using production-like record volumes. The customer reconciles record counts and spot-checks 20-30 records against the Cirqll source to confirm field fidelity. Any mapping corrections, missing fields, or relationship issues surface here and are resolved before the production migration begins.
Production migration with rate-limit pacing
We execute the production migration in dependency order: Persons first, then Opportunities, then Tasks, Activities, Notes, and Calendar events. Each batch is chunked to respect Cirqll's 100 requests-per-minute rate limit. We monitor HTTP response headers throughout and back off dynamically if 429 errors appear. Document attachments run in a secondary pass after structured records complete.
Cutover, validation, and handoff
We freeze Cirqll writes during cutover and run a final delta pass for any records modified during the migration window. We validate record counts, relationship integrity, and activity timeline ordering. We deliver a written inventory of Cirqll workflows and automations (if any exist in the source) for the customer's admin to rebuild in Twenty. We provide a one-week hypercare window for reconciliation issues. Post-migration admin support, training, and workflow rebuild fall outside standard scope.
Platform deep dives
Cirqll
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 Cirqll and Twenty CRM.
Object compatibility
1 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
Cirqll: 100 requests per minute per client (confirmed via docs.api.cirqll.nl/rate-limiting).
Data volume sensitivity
Cirqll 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 Cirqll to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Cirqll 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 Cirqll
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.