CRM migration

Migrate from Textline to Twenty CRM

Field-level mapping, validation, and rollback between Textline and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.

Textline logo

Textline

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

80%

8 of 10

objects map 1:1 between Textline and Twenty CRM.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Textline to Twenty CRM is a platform-type migration: Textline is a team SMS inbox centered on conversations, while Twenty CRM is a full relationship-management platform with People, Companies, Opportunities, and a custom object model. There is no native conversation object in Twenty, so we transform Textline conversation threads into Note and Task records on the associated People record, preserving timestamps, direction, and content. We map the Textline contact address book (name, phone, email, tags, custom fields) to Twenty People, and we carry over department-to-phone-number assignments as either a custom Company field or a dedicated custom object depending on the customer's complexity. Automations and Routes do not migrate via API; we document them as a rebuild inventory for Twenty's workflow builder. Textline's performance metrics (NPS, CSAT, agent stats) have no equivalent in Twenty and are not migrated.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Textline logo

Textline

What's pushing teams away

  • Users report that Textline's feature set lags behind competitors — advanced workflow capabilities, deeper CRM integrations, and richer reporting are frequently cited as reasons to switch.
  • The error messages and pop-up notifications when something fails are described as vague and unhelpful, making troubleshooting time-consuming for agents and admins.
  • Documentation is sparse — users specifically note that example automations and API integration guides are missing, increasing onboarding friction for technical teams.
  • Pricing opacity frustrates customers — custom quotes for mid-tier plans and undisclosed API rate limits make it difficult to forecast costs at scale.
  • Some users report delivery delays or messages not sending without clear indication in the UI, prompting them to evaluate alternatives with more reliable SMS delivery.

Choosing

Twenty CRM logo

Twenty CRM

What's pulling them in

  • Top open-source CRM on GitHub with 40.6K stars, giving teams full source code access and infrastructure ownership without per-feature licensing surprises.
  • Free self-hosting under AGPL-3.0 means unlimited users and custom objects for the cost of cloud infrastructure alone, typically $20–100/month.
  • Pricing page explicitly mocks competitors for charging add-on fees for API access, webhooks, and workflows — transparency that resonates with RevOps teams burned by Salesforce.
  • Unlimited custom objects and fields with no price impact, letting teams shape the data model to their business rather than forcing business into rigid schemas.
  • Modern TypeScript/React/PostgreSQL stack means developer-led teams can extend, self-host, or integrate without fighting legacy architecture.

Object mapping

How Textline objects map to Twenty CRM

Each row shows how a Textline 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.

Textline

Contact (Address Book)

maps to

Twenty CRM

Person (People)

1:1
Fully supported

Textline Contact records (name, phone, email, tags, notes) map to Twenty Person records. Custom address book fields (Standard and Pro only) require pre-creation in Twenty's Settings → Data Model before import, as Twenty does not create fields during CSV import. Phone numbers map to the phone field; multiple phone types may require a custom field. Tags migrate as Twenty tags on each Person record.

Textline

Department

maps to

Twenty CRM

Company or Custom Object

lossy
Fully supported

Textline Departments group phone numbers by location or function. We migrate department names and the associated phone numbers as either a Company record (if each department maps to a business entity) or a custom object (if departments represent internal organizational units). The customer chooses the model during scoping, and the custom object schema is created in Twenty before import.

Textline

Conversation

maps to

Twenty CRM

Task + Note

1:many
Fully supported

Textline Conversations (SMS threads tied to a contact's phone number) transform into Twenty activity records. Each message in a thread becomes a Note or Task entry on the associated Person record with the original timestamp, direction (inbound/outbound), and message body preserved. MMS attachments are referenced by URL in the Note body if the destination supports media display. Large conversation histories require per-conversation pagination since Textline has no bulk conversation export endpoint.

Textline

Agent

maps to

Twenty CRM

Person (workspace member)

1:1
Fully supported

Textline Agents map to Twenty workspace Members. We resolve agents by email match and map their department assignments to either a custom Person field (department name) or a lookup to the Company or custom object representing their department. If the destination Twenty instance uses a different email domain, agents must be provisioned before the migration phase so that OwnerId references are satisfied.

Textline

Message Template

maps to

Twenty CRM

Note (rebuild inventory)

1:1
Fully supported

Textline Message Templates (canned replies with shortcut codes) are exported as Note records during migration, with the template body and shortcut codes preserved. Twenty has no native template library for SMS, so we document templates in a rebuild inventory for the customer to recreate manually or connect to a third-party SMS integration post-migration.

Textline

Tag

maps to

Twenty CRM

Tag

1:1
Fully supported

Textline tags applied to contacts migrate as a flat tag list on the corresponding Twenty Person record. Tag taxonomy and naming conventions are preserved as-is. If a contact has multiple tags, they become multiple Tag records linked to the same Person.

Textline

Announcement

maps to

Twenty CRM

Task (rebuild inventory)

1:1
Fully supported

Textline Announcements (bulk outbound messages) are documented as a list of announcement records with recipient counts and message content. Twenty has no native bulk outbound SMS feature, so announcements require a third-party SMS integration post-migration. We deliver the announcement history as a rebuild reference document.

Textline

Automation

maps to

Twenty CRM

Workflow (rebuild inventory)

1:1
Fully supported

Textline Automations (keyword triggers, scheduled messages, contact-action rules) are documented with their trigger conditions, action sequences, and delay settings. Twenty's workflow builder supports record-triggered and scheduled automations, but Textline automations cannot be migrated programmatically. We deliver a written inventory of every active Automation with its configuration and recommended Twenty Workflow equivalent for the customer's admin to rebuild.

Textline

Route

maps to

Twenty CRM

None

1:1
Fully supported

Textline Routes (inbound message routing rules that assign messages to agents or departments based on conditions) are not exposed via the Textline public API and cannot be migrated programmatically. We document the routing logic during discovery so it can be manually recreated in Twenty's workflow builder or assignment rules. This is flagged as a gap in the migration scope and addressed in the rebuild inventory.

Textline

Metrics

maps to

Twenty CRM

None

1:1
Not supported

Textline provides built-in performance metrics (NPS surveys, CSAT scores, agent statistics) that are aggregated reporting data with no migration target in Twenty CRM's standard objects. We deliver the most recent metric snapshots as a CSV reference file for manual entry into Twenty's reporting if needed, but these do not migrate as structured records.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Textline logo

Textline gotchas

High

API access requires Standard or Pro plan

High

HIPAA compliance is a paid add-on with separate configuration

Medium

Conversation export requires per-conversation manual action

Medium

Routes are not exposed via the public API

Low

Custom address book fields are tier-gated

Twenty CRM logo

Twenty CRM gotchas

High

Import order is enforced and critical

High

Export limited to 20,000 records and visible columns only

Medium

Soft-deleted records count toward uniqueness and trigger restores

Medium

API rate limits cap at 200 req/min on Organization tier

Low

No native email sequences — follow-up cadences require external tools

Pair-specific challenges

  • Textline API access requires Standard or Pro plan

    Textline's REST API is gated behind the Standard and Pro tiers—the Essentials plan does not include API access. During scoping, we confirm the source account's plan tier. If API access is unavailable, we fall back to CSV-based exports for Contacts and manual conversation exports, which limits what can be migrated programmatically and extends the timeline. We recommend verifying API access before migration kickoff.

  • Conversation export requires per-conversation pagination

    Textline has no bulk conversation export endpoint—each conversation must be exported individually via API. For accounts with thousands of conversations, this requires paginated API calls and repeated requests. We batch export in configurable chunks, map each thread to a Person's activity timeline in Twenty, and flag any conversation that returns an error for manual follow-up. Customers should expect this phase to take longer than a standard CRM pull.

  • Twenty lacks standard CRM fields out of the box

    A GitHub issue on twentyhq/twenty (Issue #13953) documents that Twenty's Person and Company objects require manual field creation for industry-standard fields like job title, department, website, industry, and annual revenue. Before importing Textline contacts, the Twenty workspace must have all relevant custom fields created in Settings → Data Model. Imports into an unprepared Twenty instance will drop or truncate fields that have no destination.

  • HIPAA-covered data requires separate confirmation

    Textline's HIPAA-compliant plan is a paid add-on with separate BAA configuration, audit logging, and data retention settings. Healthcare organizations migrating to Twenty CRM must confirm whether their Textline plan includes HIPAA configuration, as Twenty's self-hosted model places the data storage responsibility on the customer's infrastructure. We handle PHI data with additional procedures and require explicit customer confirmation before migration of any protected health information.

  • Routes cannot be migrated and lack API support

    Textline's Routes feature—which assigns inbound messages to specific agents or departments based on routing rules—is not documented in the public API and cannot be migrated programmatically. We document the routing logic during discovery, but the customer must manually rebuild Routes in Twenty's workflow builder or assignment rules after migration. This is a known scope limitation documented in the rebuild inventory.

Migration approach

Six steps for a successful Textline to Twenty CRM data migration

  1. Plan tier and API access verification

    We confirm the Textline account's plan tier (Essentials, Standard, or Pro) and verify API access availability. If the account is on Essentials with no API access, we scope a CSV-heavy migration with manual conversation exports and adjust the timeline accordingly. We also confirm whether HIPAA configuration is active if the customer handles protected health information.

  2. Twenty workspace preparation

    We prepare the destination Twenty workspace before any data import. This includes creating custom fields on the Person object (job title, department, phone type, source) and Company object (industry, website, type) in Settings → Data Model, creating any custom objects for department or location representation, provisioning workspace Members for each Textline Agent, and setting up the custom field visibility in views. Twenty requires fields to exist before import—importing into an unprepared schema drops unmapped data.

  3. Source data extraction and data quality audit

    We extract all Contact records via the Textline API, including custom address book fields if on Standard or Pro. We run a data quality audit identifying duplicate contacts (same phone or email), incomplete records (missing name), and inconsistent phone number formats. We flag dirty data for the customer to clean or deduplicate before migration, as moving uncleaned data into Twenty perpetuates the same problems. We also extract department assignments, agent profiles, tags, message templates, and automation rules.

  4. Conversation history extraction

    We paginate through Textline conversations using the per-conversation export API, batching by contact. Each message preserves its timestamp, direction (inbound/outbound), content, and any attachment URL. MMS attachments are referenced by URL. We transform each conversation thread into a series of Note and Task records on the associated Person in Twenty. This phase is the longest for accounts with deep conversation histories and requires coordination with the customer to avoid API rate-throttling.

  5. Schema mapping and object import into Twenty

    We run imports into Twenty in dependency order: Persons first (with tags), then Companies or custom objects (for department representation), then Activity records (Notes and Tasks linked to Persons). Custom address book fields from Textline map to the custom fields created in Step 2. Owner assignment resolves by email match against the provisioned Twenty Members. Each import phase emits a row-count reconciliation report comparing records imported to records extracted.

  6. Automation and route documentation delivery

    We deliver a written rebuild inventory covering every Textline Automation (trigger type, conditions, actions, delays) with a recommended Twenty Workflow equivalent, every Route (routing logic, conditions, assigned agents/departments) with a manual rebuild recommendation, and every Message Template with shortcut codes preserved. We do not rebuild these in Twenty's workflow builder as that is outside standard migration scope. The customer's admin or a Twenty implementation partner handles the rebuild post-migration.

  7. Cutover, validation, and go-live support

    We freeze Textline writes during cutover, run a final delta migration of any records modified during the migration window, then enable Twenty as the system of record. We deliver a migration summary report with record counts, unmapped fields, and any known gaps. We support a three-day hypercare window for reconciliation issues. We do not provide ongoing admin support, training, or post-migration workflow rebuild as standard scope.

Platform deep dives

Context on both ends of the pair

Textline logo

Textline

Source

Strengths

  • Simple team-based SMS inbox with no app installation required for customers
  • Multi-number support via Departments for multi-location or multi-brand organizations
  • HIPAA-compliant texting available as a paid add-on for healthcare customers
  • Built-in automations, scheduled messages, and keyword triggers reduce manual work
  • Chrome extension and mobile companion app enable on-the-go agent responses

Weaknesses

  • Feature parity lags behind competitors like Podium, Salesmsg, and Heymarket
  • Error messages and troubleshooting UX are consistently criticized in reviews
  • Limited public API documentation and no publicly documented rate limits
  • Sparse documentation — example automations and advanced use cases are absent
  • Pricing requires custom quotes for Pro tier, making comparison difficult
Twenty CRM logo

Twenty CRM

Destination

Strengths

  • AGPL-3.0 open-source license with full source code on GitHub — no vendor lock-in, no sunset risk.
  • Unlimited users and unlimited custom objects on self-hosted, with no feature gating based on headcount.
  • REST and GraphQL APIs available on all paid tiers, not locked behind an enterprise add-on fee.
  • MCP server and webhooks shipped as standard features, not premium upgrades.
  • Modern PostgreSQL-backed data model that developer teams can query, extend, and self-host.

Weaknesses

  • Recent v1.0 release means limited production hardening compared to CRMs with multi-year operational track records.
  • No native email sequencing or sales engagement tools — follow-up cadences require a separate platform.
  • No native two-way email sync or inbox integration, requiring third-party connectors for full activity logging.
  • Self-hosting 'free' pricing hides real infrastructure and DevOps costs that stack up over time.
  • Workflow automation is functional but lacks the complexity needed for sophisticated multi-step sales motions.

Complexity grading

How hard is this migration?

Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Textline and Twenty CRM.

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Textline: Not publicly documented.

  • Data volume sensitivity

    B

    Textline doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Textline to Twenty CRM migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Textline to Twenty CRM data migrations

Answers to the questions buyers ask most during Textline to Twenty CRM migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Textline to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between two and four weeks for accounts under 10,000 contacts with no custom objects and moderate conversation histories (under 50,000 messages). Migrations with large conversation histories (over 100,000 message records requiring per-conversation pagination), HIPAA-covered data, or custom department objects move to four to six weeks because of the API chunking overhead, schema design for custom objects, and additional PHI handling procedures.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Textline.
Land in Twenty CRM, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day