CRM migration
Field-level mapping, validation, and rollback between AutoText and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
AutoText
Source
Twenty CRM
Destination
Compatibility
8 of 10
objects map 1:1 between AutoText and Twenty CRM.
Complexity
BStandard
Timeline
1-2 weeks
Overview
AutoText (autotext.com) is an AI writing assistant for Gmail, not a CRM. It stores user preferences, tone profiles, Chrome extension settings, and learned writing patterns—but it has no public export API, no bulk data endpoint, and no CRM objects (Contacts, Companies, Deals) to migrate. Twenty CRM is a full relationship-management platform with People, Companies, Opportunities, Tasks, Notes, and Custom Objects. This migration involves two distinct scopes: First, we document and preserve what can be extracted from AutoText (extension settings, permission scopes, brand voice configurations) so that Twenty can be manually configured with equivalent preferences. Second, we migrate any CRM records the customer maintains outside of AutoText—whether in spreadsheets, another CRM, or Gmail contacts—into Twenty's CSV import pipeline. Workflows, automations, thread-context caches, and suggestion history do not migrate because AutoText does not expose them as data and Twenty requires manual configuration of these elements. The migration deliverable is a written AutoText settings inventory, a Twenty configuration guide, and a clean CSV import of CRM records into Twenty's data model.
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 AutoText 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.
AutoText
User Preferences
Twenty CRM
Manual Configuration in Twenty Settings
lossyAutoText stores tone, formatting, interaction preferences, and shortcut mappings per user in Chrome extension local storage. Twenty CRM does not have a comparable preference layer for writing-style configuration. We document each AutoText preference (tone profile, formatting rules, shortcut assignments) in a written configuration guide that the customer's admin uses to set equivalent behaviors in Twenty or in the email integration tool paired with Twenty. No direct field mapping is possible because the destination schema does not include an equivalent preference object.
AutoText
Chrome Extension Settings
Twenty CRM
Twenty Settings → Data Model (preparation)
lossyAutoText's Chrome extension permissions, enabled/disabled features, and OAuth scope (Google account) are documented from the installed manifest. These are mapped to a written inventory that the customer's admin uses to configure equivalent settings in Twenty or in a connected email tool. The Google OAuth connection must be re-authorized at the destination tool. AutoText extension settings are stored in Chrome local storage with no export format—manual documentation is the only migration path.
AutoText
Brand Voice Profiles
Twenty CRM
Twenty Custom Fields or Manual Email Templates
1:1AutoText brand voice profiles (tone, terminology, formatting rules) are documented as field values in a configuration inventory. Twenty CRM does not have a native brand voice profile object, but custom text fields or a linked Custom Object can store these values. The customer's admin configures Twenty email templates with the documented brand voice parameters. We preserve the brand profile field values as a written reference that maps to Twenty template content.
AutoText
Customer CRM Data (external)
Twenty CRM
Twenty People (Contact equivalent)
1:1AutoText does not store CRM records. Any Contact, Person, or prospect data that the customer maintains elsewhere (spreadsheets, another CRM, Gmail contacts export) migrates to Twenty People via CSV import. We extract from the customer's source, cleanse (dedupe, standardize formats), map to the Twenty People schema (name fields, email, phone, job title, company link, custom fields), and load via Settings → Data Model → Import. Parent records (Companies) must be imported before People so that the company link is satisfied.
AutoText
Customer CRM Data (external)
Twenty CRM
Twenty Companies (Account equivalent)
1:1Company or Account records sourced from the customer's existing data (spreadsheets, another CRM) migrate to Twenty Companies via CSV. We map company name, domain, industry, address fields, employee count, annual revenue, and any custom fields. Companies are imported first in the sequence so that People imports can resolve the company link. Twenty Companies use the domain field as a natural deduplication key.
AutoText
Customer CRM Data (external)
Twenty CRM
Twenty Opportunities (Deal equivalent)
1:1Deal or Opportunity records from the customer's existing data migrate to Twenty Opportunities via CSV. We map opportunity name, amount, stage, expected close date, probability, company link, and person link. Opportunities reference both the Company (Account) and the Person (Contact) as foreign keys that must be resolvable at import time. The import sequence is: Companies first, then People, then Opportunities.
AutoText
Customer CRM Data (external)
Twenty CRM
Twenty Tasks and Notes
1:1Activity records (tasks, notes, meeting summaries) from the customer's existing data migrate to Twenty Tasks and Notes via CSV. Twenty's Task object supports title, body, due date, status, and linked Person/Company. Notes support rich text body and linked Person/Company. We map historical activity data from the customer's source into the appropriate Twenty object, preserving linked Person and Company references where resolvable.
AutoText
Customer CRM Data (external)
Twenty CRM
Twenty Custom Objects
1:1If the customer has Custom Objects in an existing CRM (Projects, Subscriptions, Properties, Vehicles) that they want to replicate in Twenty, we pre-create the destination schema in Twenty (Settings → Data Model → Custom Objects) with all custom fields and lookup relationships, then load data via CSV. Twenty's Custom Object API supports standard CRUD operations on self-hosted and cloud deployments. We document the schema mapping for each Custom Object before any data moves.
AutoText
Suggestion History
Twenty CRM
Not Migratable
1:1AutoText does not expose a public API for suggestion acceptance history. This data is not migratable and we do not attempt to reconstruct it. Users should expect to rebuild any historical writing-quality context at the destination over their first week of use. We note this boundary in the migration scope document delivered to the customer before work begins.
AutoText
Thread Context Cache
Twenty CRM
Not Migratable
1:1AutoText caches Gmail thread context locally for its own inference. This ephemeral session data evaporates when the extension is uninstalled and has no export path. We do not attempt to migrate thread context caches. The customer's Twenty instance will accumulate fresh activity data from the day of go-live forward. We set this expectation during scoping so that the customer does not anticipate suggestion-quality continuity from AutoText.
| AutoText | Twenty CRM | Compatibility | |
|---|---|---|---|
| User Preferences | Manual Configuration in Twenty Settingslossy | Mapping required | |
| Chrome Extension Settings | Twenty Settings → Data Model (preparation)lossy | Mapping required | |
| Brand Voice Profiles | Twenty Custom Fields or Manual Email Templates1:1 | Mapping required | |
| Customer CRM Data (external) | Twenty People (Contact equivalent)1:1 | Fully supported | |
| Customer CRM Data (external) | Twenty Companies (Account equivalent)1:1 | Fully supported | |
| Customer CRM Data (external) | Twenty Opportunities (Deal equivalent)1:1 | Fully supported | |
| Customer CRM Data (external) | Twenty Tasks and Notes1:1 | Fully supported | |
| Customer CRM Data (external) | Twenty Custom Objects1:1 | Fully supported | |
| Suggestion History | Not Migratable1:1 | Not supported | |
| Thread Context Cache | Not Migratable1:1 | Not 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.
AutoText gotchas
No export API or documented data portability path
Thread context data is ephemeral and non-migratable
Chrome extension settings have no standardized export format
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
Scoping call and settings documentation
We conduct a scoping call with the customer's AutoText users to document Chrome extension settings, enabled/disabled features, keyboard shortcut mappings, brand voice profiles, and OAuth permission scopes directly from the extension UI. Because AutoText has no export API, we perform this documentation manually during the call, extracting each preference value and recording it in a structured settings inventory. We also identify the customer's source for CRM records (spreadsheet exports, another CRM, Gmail contacts) that will feed the Twenty import pipeline.
Twenty workspace preparation and schema design
We set up the Twenty workspace (cloud or self-hosted depending on the customer's deployment choice), invite the customer's team members, and design the data model. This includes creating any custom fields, Custom Objects, and picklist options in Settings → Data Model before any CSV import. We map the customer's CRM record sources to Twenty's schema (Companies from account exports, People from contact exports, Opportunities from deal exports, Tasks and Notes from activity exports). Custom Object schemas are created based on the customer's existing data structure.
Data extraction, cleansing, and CSV preparation
We extract CRM records from the customer's identified source (spreadsheet, CRM export, Gmail contacts). We cleanse the data: deduplication (using email as the dedupe key for People, domain for Companies), phone number and date format standardization, removal of test records and outdated contacts (no activity in 2+ years per Twenty's migration guide), and validation of required fields. We then produce cleaned CSV files for each object, with header rows matching Twenty's expected column names. Any fields that cannot be mapped to a Twenty field are preserved in a separate notes column for the customer's admin to handle manually.
Sandbox import and reconciliation
If the customer is using Twenty Cloud, we run the CSV import into a test workspace first to validate field mappings, verify that linked records (People to Companies, Opportunities to People and Companies) resolve correctly, and confirm that picklist values match. For self-hosted Twenty, we run the import in a staging environment if one exists. We spot-check 25-50 records against the source data and deliver a reconciliation report to the customer's admin for sign-off before production import.
Production import and settings handoff
We run the production CSV import in dependency order: Companies first, then People (with company links resolved), then Opportunities (with People and Company links resolved), then Tasks and Notes, then Custom Objects. Each phase emits a row-count reconciliation report. After all data loads, we deliver the AutoText settings inventory and Twenty configuration guide to the customer's admin, documenting each AutoText preference and its equivalent manual configuration in Twenty or in the customer's chosen email integration tool.
Cutover, validation, and post-migration handoff
We freeze writes to the source CRM during cutover, run a final delta import of any records modified during the migration window, and confirm that Twenty is the system of record. We validate record counts across all objects, spot-check linked records (Opportunities pointing to correct People and Companies), and confirm that custom field values populated correctly. We deliver the full AutoText settings inventory and Twenty configuration guide as a written document. We do not rebuild automations or sequences in Twenty; that is documented as a separate admin task.
Platform deep dives
AutoText
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 AutoText 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
AutoText: 1,000 suggestions/day on free tier; unlimited on Pro. No external API rate limits published..
Data volume sensitivity
AutoText 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 AutoText to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your AutoText 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 AutoText
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.