CRM migration
Field-level mapping, validation, and rollback between Bigin by Zoho CRM and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Bigin by Zoho CRM
Source
Twenty CRM
Destination
Compatibility
10 of 11
objects map 1:1 between Bigin by Zoho CRM and Twenty CRM.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Bigin by Zoho CRM to Twenty CRM is a structural migration driven by two pressures: teams that have outgrown Bigin's 100k record ceiling on Premier and those who need an open-source, self-hostable CRM outside the Zoho ecosystem. Bigin organizes data around Pipelines and sub-pipelines containing Deals, while Twenty CRM uses a simpler Opportunities model attached to Organizations and People. We flatten Bigin's pipeline hierarchy into Twenty CRM opportunity stages during the transform phase, and we resolve the credit-based API limits and Bulk Read exclusions (Notes and Attachments are unavailable via Bigin's bulk endpoint) by falling back to individual record API calls. Workflows and automations do not migrate; we deliver a written inventory for the customer's admin to rebuild in Twenty CRM's workflow engine.
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 Bigin by Zoho 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.
Bigin by Zoho CRM
Contact
Twenty CRM
Person
1:1Bigin Contacts map directly to Twenty CRM Person records. We map First Name, Last Name, Email, Phone, and Address fields. Owner assignment maps to the Twenty CRM workspace Member by email match. Any Bigin custom contact fields (created via Developer Console with <topping_namespace>__<field_label> naming) are pre-validated against Twenty CRM's custom field system and mapped explicitly. Contacts linked to Companies in Bigin are matched to Twenty CRM Organizations by domain or name before import so the relationship is satisfied at insert time.
Bigin by Zoho CRM
Company
Twenty CRM
Organization
1:1Bigin Companies (API name: Accounts) map to Twenty CRM Organizations. We use the Company domain as a matching key for deduplication if the Organization already exists. Organization address, industry, size, and any custom fields migrate as custom properties on the Organization record. Company-Contact linkages are preserved through the Organization-Person relationship in Twenty CRM.
Bigin by Zoho CRM
Deal
Twenty CRM
Opportunity
1:1Bigin Deals map to Twenty CRM Opportunities. The Deal Amount, Closing Date, Stage, and Description migrate directly. The Bigin Deal owner maps to the Twenty CRM Opportunity assignee by email. Any Bigin custom deal fields are mapped to custom Opportunity fields. We flag Deals without a linked Contact or Company at migration time so the customer can decide whether to attach them to a generic Organization or clean up the data before import.
Bigin by Zoho CRM
Pipeline
Twenty CRM
Opportunity Stage
1:manyBigin Pipelines and their sub-pipelines represent a hierarchical container that has no direct Twenty CRM equivalent. We flatten each Bigin pipeline into a named Opportunity Stage group in Twenty CRM. Sub-pipeline names become stage display names, and sub-pipeline order maps to stage sort order. If Bigin has multiple top-level pipelines (3 on Express, unlimited on Premier), we create separate stage groups in Twenty CRM and add a custom pipeline_name__c field on Opportunity to preserve the original grouping context.
Bigin by Zoho CRM
Product
Twenty CRM
Product
1:1Bigin Products map to Twenty CRM Products. We migrate Product Name, Unit Price, Tax, and Description fields. Product-Opportunity line-item relationships in Bigin (if used for quoting) map to Opportunity line items in Twenty CRM. Custom product fields created in Bigin via the Developer Console are mapped to Twenty CRM custom product fields.
Bigin by Zoho CRM
Task
Twenty CRM
Task
1:1Bigin Tasks linked to Contacts, Companies, or Deals migrate to Twenty CRM Tasks. Due date, status, priority, and assignee all transfer. We resolve Bigin task owners to Twenty CRM workspace Members by email and set the linked record (Person, Organization, or Opportunity) using Twenty CRM's foreign-key references. Tasks without a valid linked record are imported as orphaned Tasks with a note flagging the missing parent.
Bigin by Zoho CRM
Event
Twenty CRM
Task (calendar type)
1:1Bigin Events (meetings, appointments) migrate to Twenty CRM Tasks with the activity type set to calendar. Start and end times, location, and recurrence data transfer. Recurring events in Bigin are exported individually at the occurrence level so that each occurrence lands as a separate Task in Twenty CRM. Attendee information is preserved as a custom field on the Task since Twenty CRM's standard model does not include a dedicated attendee object.
Bigin by Zoho CRM
Call
Twenty CRM
Task (call type)
1:1Bigin Call logs migrate to Twenty CRM Tasks with activity type set to call. Duration, subject, outcome, and any call notes transfer to custom fields on the Task. Call recordings stored as URLs in Bigin migrate as a custom URL field on the Task. We flag any Calls without a linked Contact or Company during scoping.
Bigin by Zoho CRM
Notes
Twenty CRM
Comment
1:1Bigin Notes migrate to Twenty CRM Comment records attached to the relevant Person, Organization, or Opportunity. The Note body (rich text) transfers to the Comment text field. Note attachments are handled separately (see Attachments mapping). Notes are excluded from Bigin's Bulk Read API, so we use individual record API calls, which consume credits at a higher rate; we budget API credits accordingly during scoping and pace requests to stay within the daily credit window.
Bigin by Zoho CRM
Attachments
Twenty CRM
Attachment (via Comment)
1:1Bigin file Attachments migrate to Twenty CRM as file attachments linked to Person, Organization, or Opportunity records. Bigin's Bulk Read API cannot export Attachments, so we use individual record API requests. We flag any file size or type constraints during scoping and handle downloads individually. For large Attachment volumes, we estimate credit consumption and schedule the migration window to avoid hitting Bigin's 100,000 credit daily ceiling on paid plans.
Bigin by Zoho CRM
Users
Twenty CRM
Members
1:1Bigin User records (name, email, role, profile) are matched to Twenty CRM workspace Members by email. The migration user performing the export is matched first, then any additional users. Owners assigned to Deals and Contacts are resolved via this User mapping. Any Bigin user without a matching email in the Twenty CRM destination is flagged for the customer to provision manually before record import resumes.
| Bigin by Zoho CRM | Twenty CRM | Compatibility | |
|---|---|---|---|
| Contact | Person1:1 | Fully supported | |
| Company | Organization1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Pipeline | Opportunity Stage1:many | Fully supported | |
| Product | Product1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Event | Task (calendar type)1:1 | Fully supported | |
| Call | Task (call type)1:1 | Fully supported | |
| Notes | Comment1:1 | Fully supported | |
| Attachments | Attachment (via Comment)1:1 | Fully supported | |
| Users | Members1:1 | Mapping required |
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.
Bigin by Zoho CRM gotchas
Credit-based API limits vary by plan and can throttle migrations
Bulk Read API excludes Notes, Attachments, Emails, and cross-module records
Import field mapping is complicated and unintuitive for users
Undo import window is limited to 30 days
Free plan is single-user with a 500-record hard cap
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 Bigin account across plan tier (Free/Express/Premier/Bigin 360), pipeline count, record counts per module (Contacts, Companies, Deals, Products, Tasks, Events, Calls, Notes, Attachments), active workflows, and custom field metadata. We extract the custom field list via Bigin's field metadata API to identify Developer Console fields with the <topping_namespace>__ naming convention. We produce a written scoping document with record counts, a preliminary object mapping, and an API credit budget estimate. We also confirm the destination Twenty CRM setup (cloud-hosted or self-hosted) and whether the workspace has been provisioned.
Pipeline flattening design and transform spec
We design the pipeline-to-stage mapping for Twenty CRM. Each Bigin sub-pipeline becomes a named stage in Twenty CRM. If Bigin has multiple top-level pipelines, we add a pipeline_name__c custom field on Opportunity to preserve grouping context. We produce a written transform specification that documents the stage mapping, the owner resolution rules (by email match to Twenty CRM Members), and the Notes and Attachments migration path (individual API calls budgeted against the credit system). This spec is approved before any data is extracted.
Data extraction and deduplication
We extract all Bigin modules via the Bigin API: Contacts, Companies, Deals, Products, Tasks, Events, Calls, Notes, and Attachments. We run a deduplication pass on Contacts and Companies using email and domain as match keys, flagging duplicates for the customer's admin to resolve before import. Notes and Attachments are extracted via individual record API calls (not Bulk Read) to ensure completeness. We produce a pre-import record count report against the scoping document and flag any discrepancies before the transform phase begins.
Transform and schema provisioning
We transform the extracted data to match Twenty CRM's schema: Bigin Companies become Organizations, Deals become Opportunities with stage assigned from the pipeline mapping, and Activities are linked to their parent records using the resolved foreign-key IDs. Custom fields are created in Twenty CRM before import using the field metadata from the scoping phase. The transform phase also applies any field-level data transformations (date format normalization, picklist value mapping, currency conversion if applicable). We run a dry-run import into Twenty CRM with a subset of records to validate the mapping before processing the full dataset.
Production migration in dependency order
We run production migration in record-dependency order: Organization records first (from Bigin Companies), then Person records (from Bigin Contacts) with OrganizationId resolved, then Product records, then Opportunities (with stage from pipeline mapping and OwnerId resolved), then Tasks and Events, then Notes and Attachments via individual API calls. Each phase emits a row-count reconciliation report. We pace Notes and Attachments extraction to stay within Bigin's credit budget and pause overnight if needed to respect the 24-hour credit window.
Cutover, validation, and workflow inventory delivery
We freeze Bigin writes during cutover, run a final delta migration of records modified during the migration window, then enable Twenty CRM as the system of record. We validate a random sample of 25-50 records per module against the source Bigin data. We deliver a written workflow and automation inventory document listing every Bigin workflow with its trigger, conditions, and actions for the customer's admin to rebuild in Twenty CRM's workflow engine. We support a one-week hypercare window for reconciliation issues. We do not rebuild Bigin workflows as Twenty CRM workflows inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Bigin by Zoho 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 Bigin by Zoho 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
Bigin by Zoho CRM: Credit-based system: 5,000 credits/24h on Free; 50,000 + (user licenses × 250) capped at 100,000/24h on Express, Premier, and Zoho One. Concurrency cap of 5 simultaneous API calls per user on Free, 10 on paid editions, with a sub-cap of 10 across resource-intensive operations..
Data volume sensitivity
Bigin by Zoho CRM exposes a bulk API — large-volume migrations stream efficiently.
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 Bigin by Zoho CRM to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Bigin by Zoho 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 Bigin by Zoho 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.