CRM migration
Field-level mapping, validation, and rollback between Tekion and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Tekion
Source
Twenty CRM
Destination
Compatibility
14 of 14
objects map 1:1 between Tekion and Twenty CRM.
Complexity
BStandard
Timeline
1–3 weeks
Overview
Tekion is an AI-native automotive retail platform where the CRM module sits inside a broader Dealer Management System (DMS) covering sales, F&I, service, and parts. Its data model is purpose-built for franchise dealerships and OEM relationships, with objects like Vehicle, Deal, F&I Product, Service Appointment, and Parts Order alongside standard CRM entities. Twenty CRM is a general-purpose open-source CRM built on PostgreSQL, TypeScript, and React with a GraphQL API. Its schema uses People (contacts), Companies (accounts), Opportunities (deals), Notes, and Tasks as standard objects, plus unlimited custom objects. The migration from Tekion to Twenty means leaving automotive-specific objects and DMS integration data behind—the vehicle record, F&I product attachments, and OEM identifiers map as custom fields on Twenty's People/Opportunities objects. FlitStack AI accesses Tekion via API (using the API License and Data Sharing Agreement scope), exports standard CRM records, and loads them into Twenty via GraphQL batch import or CSV. We preserve original create dates as custom datetime fields, resolve owner assignments by email match against Twenty workspace members, and run a sample migration with field-level diff before committing the full load. Workflows, automations, DMS-triggered sequences, and F&I product logic do not migrate—they are exported as configuration documentation for your Twenty admin to rebuild.
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 Tekion 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.
Tekion
Contact (Tekion CRM)
Twenty CRM
People
1:1Tekion's Contact record maps directly to Twenty's People object. First name, last name, email, phone, job title, and address fields map 1:1. Tekion contacts without a primary company association land as standalone People records in Twenty with no CompanyId link.
Tekion
Contact.phonenumber
Twenty CRM
People.phone
1:1Tekion's phone field (string) maps to Twenty's Phone field (text). When a contact has multiple phone numbers stored under different types in Tekion—such as mobile, office, or home—the primary number populates Twenty's Phone field; any secondary numbers are appended as semicolon‑separated values in the custom Tekion_Phone_Alt__c field, preserving the full contact detail set.
Tekion
Contact.hs_object_id
Twenty CRM
People.source_system_id__c
1:1Tekion does not expose a persistent internal ID in standard CRM exports; therefore, we capture the exported record identifier and store it as source_system_id__c (text, custom field) on each Twenty People record. This field is created in Twenty's data model before the import and serves as a stable reference for delta-run de-duplication, allowing a second migration pass to update only changed records rather than reloading the entire dataset.
Tekion
Company (Tekion CRM)
Twenty CRM
Company
1:1Tekion's Company object maps to Twenty's Company object. Company name, website (domain), industry, employee count, and annual revenue map directly. Tekion company hierarchies (parent/child relationships) map to Twenty's Parent CompanyId field. Multi-contact companies collapse to one primary Company record with all related People linked via companyId.
Tekion
Company.website
Twenty CRM
Company.domain
1:1Tekion stores the company website URL as the field named 'domain'. Twenty also uses a 'domain' field for the same purpose, enabling a direct 1:1 mapping. The domain value is critical for Twenty's company deduplication logic during import; therefore, the field must be present, correctly formatted (typically lowercase, without leading http:// or https://), and match the Tekion source exactly to avoid duplicate Company records.
Tekion
Deal / Opportunity (Tekion CRM)
Twenty CRM
Opportunity
1:1Tekion's Deal object maps to Twenty's Opportunity object. Deal name, amount, stage, and expected close date map 1:1. Tekion supports multiple deal pipelines that map to Twenty's pipeline kanban stages. Each Tekion pipeline stage value maps to a corresponding Twenty Opportunity Stage via value mapping.
Tekion
Vehicle Record
Twenty CRM
People (custom fields)
1:1Tekion vehicle records (VIN, make, model, year, trim, stock number, Odometer) have no direct Twenty equivalent. We create custom text fields on the People object: Vehicle_VIN__c, Vehicle_Make__c, Vehicle_Model__c, Vehicle_Year__c, Vehicle_Stock__c. The vehicle is linked to the customer (buyer) via the People record that carries these custom fields.
Tekion
F&I Product Attachment
Twenty CRM
Opportunity (custom fields) + Note
1:1Tekion F&I product names, coverage types, and pricing attach to the deal record. We map these as custom fields on the Opportunity: FI_Product_Name__c (text), FI_Coverage_Type__c (select), FI_Price__c (currency). The F&I product narrative or contract notes migrate as a Twenty Note attached to the Opportunity.
Tekion
Service Appointment
Twenty CRM
Task + custom fields
1:1Tekion service appointments—including advisor name, repair‑order (RO) number, service type, and current status—are transformed into Twenty Task records. Custom fields Service_RO_Number__c, Service_Type__c, Service_Advisor__c, and Service_Status__c capture the appointment specifics, while the original appointment start time maps to the Task due date and the completion timestamp maps to the Task completion date in Twenty. These custom fields must be created in the Twenty workspace before the import to avoid validation errors.
Tekion
Parts Order
Twenty CRM
Custom Object: Parts_Order__c
1:1Tekion parts orders are automotive‑specific records with no standard Twenty CRM mapping. We create a custom object named 'Parts Order' in Twenty, adding fields Order_Number__c, Part_Number__c, Quantity__c, Price__c, and Order_Status__c. A relation field on this object points to the parent Opportunity, linking each part sale to its deal record. The custom object and fields must be defined in the Twenty workspace under Settings → Data Model before migration runs.
Tekion
Owner / User (Tekion CRM)
Twenty CRM
WorkspaceMember (Twenty)
1:1Tekion owner IDs resolve by email match against Twenty workspace members. All Tekion users must be invited to Twenty and accept their invitations before migration runs—Twenty requires users to exist before owner relations can be mapped. Unmatched owners are flagged and assigned to a fallback Twenty user before migration commits.
Tekion
Attachment / Document (Tekion DMS)
Twenty CRM
Note (Twenty)
1:1Tekion DMS documents (deal jackets, F&I contracts, service records) stored as file attachments have no direct Twenty equivalent. We migrate the file URL and filename as a Note with a custom field Attachment_URL__c for reference; actual file re-hosting requires a separate document migration step. Tekion PDF document conversion runs separately and requires the document data to be provided upfront per Tekion's implementation terms.
Tekion
Tekion Lead (90-day window)
Twenty CRM
People
1:1Tekion's standard CRM conversion limits lead data to 90 days of active leads based on lead creation date. Leads older than this window are not included in a standard Tekion export and cannot be migrated without a custom data extraction arrangement. We flag any leads outside the 90-day window and surface them in the migration plan for manual review.
Tekion
Tekion Custom Objects
Twenty CRM
Custom Objects (Twenty)
1:1Any Tekion custom CRM objects beyond standard Contact, Company, and Deal are mapped 1:1 to Twenty custom objects. N:N associations in Tekion require junction objects in Twenty—these are surfaced in the migration plan before data lands. The Twenty workspace must have the custom objects and fields created via Settings → Data Model before the migration runs.
| Tekion | Twenty CRM | Compatibility | |
|---|---|---|---|
| Contact (Tekion CRM) | People1:1 | Fully supported | |
| Contact.phonenumber | People.phone1:1 | Fully supported | |
| Contact.hs_object_id | People.source_system_id__c1:1 | Fully supported | |
| Company (Tekion CRM) | Company1:1 | Fully supported | |
| Company.website | Company.domain1:1 | Fully supported | |
| Deal / Opportunity (Tekion CRM) | Opportunity1:1 | Fully supported | |
| Vehicle Record | People (custom fields)1:1 | Fully supported | |
| F&I Product Attachment | Opportunity (custom fields) + Note1:1 | Fully supported | |
| Service Appointment | Task + custom fields1:1 | Fully supported | |
| Parts Order | Custom Object: Parts_Order__c1:1 | Fully supported | |
| Owner / User (Tekion CRM) | WorkspaceMember (Twenty)1:1 | Fully supported | |
| Attachment / Document (Tekion DMS) | Note (Twenty)1:1 | Fully supported | |
| Tekion Lead (90-day window) | People1:1 | Fully supported | |
| Tekion Custom Objects | Custom Objects (Twenty)1: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.
Tekion gotchas
Standard DMS conversion limited to 7 years of history
CRM lead migration capped at 90 days of active leads
Data cleansing and de-duplication outside project scope
Buy/sell implementations may lack pre-close DMS data access
Document conversion requires separate metadata feed
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 Tekion CRM data and design Twenty schema
FlitStack AI connects to your Tekion environment via API using your authorized integration credentials (under the API License and Data Sharing Agreement scope). We export all CRM records: Contacts, Companies, Deals, associated custom objects, and any vehicle or F&I fields present in the dataset. We simultaneously audit the Tekion record counts, field inventory, and data freshness to establish the baseline migration scope. Based on this audit, we produce a Twenty schema setup plan listing every standard field mapping, custom field to create (Vehicle__c, FI_Product__c, Parts_Order__c), pick-list values to configure, and pipeline/stage definitions. Your Twenty admin creates the schema in Settings → Data Model before data lands.
Invite and confirm Twenty workspace members
Twenty requires users to exist before owner assignments map. FlitStack AI extracts the list of Tekion owner IDs and their email addresses, then matches them against the Twenty workspace member list. We surface any Tekion users who have not yet accepted their Twenty invitation and recommend your team sends invites at least five business days before migration day. Unmatched owners (Tekion users with no Twenty account) are assigned to a designated fallback workspace member. Owner resolution is validated in the sample migration before the full run.
Migrate Companies, then People, then Opportunities with field-level diff
Twenty's import documentation requires Companies to exist before People (via companyId), and People before Opportunities (via opportunityContactRole). We sequence the migration: Companies → People → Opportunities → Tasks → Custom Objects. A sample migration runs first (typically 100–500 records spanning each object type). We generate a field-level diff comparing source Tekion values against the imported Twenty records, verifying that custom field values, pick-list mappings, owner assignments, and date fields are correct. You review the diff and approve before the full migration commits.
Cut over with delta-pickup window and audit log
The full migration runs against your Twenty workspace. A delta-pickup window (24–48 hours) captures any Tekion records created or modified during the cutover—your team continues working in Tekion throughout. FlitStack AI logs every record operation (create, update, link) in an audit log. If reconciliation fails or record counts do not match the pre-migration baseline, one-click rollback reverts the Twenty workspace to its pre-migration state. After rollback verification, the final post-migration QA compares record counts, relationship integrity (People linked to Companies, Opportunities linked to People), and custom field completeness against the Tekion source.
Deliver workflow export documentation for Twenty rebuild
Tekion workflows, automations, DMS-triggered sequences, F&I product rules, and service appointment routing logic do not migrate—they are configuration-bound to Tekion's platform. FlitStack AI exports the Tekion workflow definitions as a structured reference document listing each workflow's trigger, conditions, and actions in a format your Twenty admin can use to recreate equivalent automations in Twenty's workflow builder. This export is delivered alongside the migration report. Roles, permissions, sharing rules, and page layouts in Tekion are destination-side configuration that must be set up independently in Twenty's workspace settings.
Platform deep dives
Tekion
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 Tekion 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
Tekion: Not publicly documented in external sources.
Data volume sensitivity
Tekion 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 Tekion to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Tekion 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 Tekion
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.