CRM migration

Migrate from Thryv to Twenty CRM

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

Thryv logo

Thryv

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

83%

10 of 12

objects map 1:1 between Thryv and Twenty CRM.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Thryv bundles CRM, scheduling, payments, and marketing into a single platform priced at $255-$1,475 per month, which creates both functional lock-in and a significant cost burden for service businesses looking to scale. Twenty CRM is an open-source platform at $9-$19 per user per month with a fully customizable data model accessible via REST and GraphQL APIs. The migration from Thryv to Twenty is a data model redesign as much as a record copy: Thryv's flat Client-Company structure and bundled appointment and payment records must be decomposed into Twenty's People, Companies, Opportunities, and custom object model. We extract via Thryv's REST v2 API, transform the schema, and load into Twenty through its REST and CSV import endpoints. Automations, workflows, payment processor configurations, and social media content do not migrate; we deliver a written inventory of each for your admin to rebuild or re-establish independently.

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

Thryv logo

Thryv

What's pushing teams away

  • Monthly costs of $255-$1,475 feel prohibitive for very small businesses or solopreneurs, especially when compared to free or low-cost CRM alternatives.
  • Steep learning curve and cluttered interface frustrate users who want simplicity over comprehensiveness.
  • Developers report poor API documentation and a shrinking developer community, making custom integrations difficult to maintain.
  • The XML-RPC API sunset forces customers with custom integrations to rebuild from scratch, pushing them toward platforms with better developer support.
  • Locked-in data architecture makes migration difficult — by the time businesses want to leave, their workflows and historical data are deeply embedded.

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 Thryv objects map to Twenty CRM

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

Thryv

Client

maps to

Twenty CRM

Person

1:1
Fully supported

Thryv Clients map directly to Twenty People records. Standard fields (firstName, lastName, email, phone, address) migrate cleanly via CSV or REST. Custom client fields map to Twenty custom fields on the Person object. The migration user must pre-create any custom fields in Twenty Settings > Data Model before import; fields do not auto-create from CSV. Tags assigned to clients convert to multi-select picklist values on a tags field we add to Person.

Thryv

Company

maps to

Twenty CRM

Company

1:1
Fully supported

Thryv Companies map to Twenty Companies. Company names, addresses, and industry fields migrate via 1:1 mapping. Thryv's flat company structure has no parent-company hierarchy; Twenty's Company object also uses a flat model by default, so no hierarchy flattening is required. Custom company fields map to Twenty custom fields on Company.

Thryv

Opportunity

maps to

Twenty CRM

Opportunity

1:1
Fully supported

Thryv Opportunities map to Twenty Opportunities with stage, value, and pipeline preserved. Stage names from Thryv become Opportunity stage values in Twenty; the customer defines stage labels during workspace configuration. Monetary values transfer as integers or decimals depending on Thryv field type. Pipeline assignments map to Twenty's opportunityStatus field or a custom pipeline field.

Thryv

Appointment

maps to

Twenty CRM

Task or Event

1:many
Fully supported

Thryv Appointments carry date, time, duration, service type, assignee, and client association. We map these to Twenty Task records with the appointment details in the task body or to custom calendar Event records depending on the customer's preference. Recurring appointment series are flattened into individual records during extraction. Assignee maps by email to a Twenty workspace Member.

Thryv

Invoice

maps to

Twenty CRM

Custom Object (Invoice)

1:1
Fully supported

Twenty has no native invoice object, so Invoices migrate to a custom Invoice object we create in the Twenty workspace during schema setup. Invoice records include line items, totals, payment status, and client association (linked via Person lookup). Paid/unpaid status from Thryv preserves as a select field. We do not migrate the ThryvPay merchant account configuration.

Thryv

Tag

maps to

Twenty CRM

Multi-Select Picklist

lossy
Fully supported

Thryv's freeform tagging system on Client records converts to a Twenty multi-select picklist on the Person object. During extraction, we deduplicate and normalize tags, converting spaces and special characters to valid picklist option names. The customer chooses whether to create a single personTags field or split tags into multiple typed picklists (e.g., industryTag, sourceTag) during scoping.

Thryv

Custom Field

maps to

Twenty CRM

Custom Field

1:1
Fully supported

Thryv custom fields (up to 150 on Max tier) map to Twenty custom fields on the corresponding object (Person, Company, Opportunity, or a custom object). Field types are matched: Thryv radio buttons map to Twenty select; Thryv checkboxes map to Twenty boolean; Thryv text fields map to Twenty text. The customer must create all destination custom fields in Twenty Settings > Data Model before migration begins.

Thryv

User (Staff/Owner)

maps to

Twenty CRM

Member

1:1
Fully supported

Thryv Users map to Twenty Members by email address match. Name, email, and role title migrate. Permission levels and access control configurations from Thryv do not transfer and must be reconfigured in Twenty Settings > Members. Members must be invited and active before importing any records with owner or assignee references.

Thryv

Email and SMS Log

maps to

Twenty CRM

Task (Activity)

1:1
Fully supported

Thryv communication history (Keap tier) migrates to Twenty Task records representing email and SMS activity. Email content and SMS body migrate as task body text; timestamps preserve as ActivityDate for timeline ordering. Logs link to the Person record via the PersonId lookup. This requires the Person records to exist before the activity import.

Thryv

Website Form Response

maps to

Twenty CRM

Person (via custom formObject)

1:1
Fully supported

Thryv form submissions are structured records with contact info and custom form fields. These migrate as Person records with form-specific fields added as custom Person fields. The form submission date and source field map to date and source fields on Person. Duplicate detection uses email as the dedupe key.

Thryv

Automation Workflow

maps to

Twenty CRM

Workflow (manual rebuild)

1:1
Fully supported

Thryv Automation Builder sequences are not accessible via API and cannot be migrated programmatically. We deliver a written inventory of every active automation with its trigger, conditions, and actions documented for the customer's admin to rebuild in Twenty's Workflow builder. Workflow rebuild is outside migration scope.

Thryv

Social Media Post

maps to

Twenty CRM

Note (content export)

1:1
Fully supported

Thryv Marketing Center social posts migrate as Note records attached to the associated Person or Company record, or as standalone Note records if no linked contact exists. Post content, scheduling metadata, and performance metrics transfer as note body text and custom fields. Platform-native posts are not recreated; content is exported for manual review.

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.

Thryv logo

Thryv gotchas

High

XML-RPC API sunset breaks existing integrations

Medium

Custom field limits vary by edition and block installs

High

Automation workflows cannot be exported

Low

Bounce rate limits affect email campaign recovery

Medium

ThryvPay payment processor lock-in

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

  • Twenty's standard Person fields require manual creation before import

    Twenty ships with minimal standard fields on People and Companies. Users report spending 30-60 minutes creating basic fields (jobTitle, department, website, socialProfiles, dateOfBirth) before they can import data from other CRMs. Third-party integrations also expect standard fields that do not exist by default. We create all required fields during schema setup, but the customer must define which custom fields are needed based on their Thryv data. This step is required before any CSV import begins; the Twenty import process creates records, not fields.

  • Thryv XML-RPC API sunset forces REST v2 migration with gaps

    Thryv is actively deprecating its legacy XML-RPC API in favor of REST v2. Existing custom integrations built on the old API will stop working. During scoping, we identify all XML-RPC endpoints in use and extract data via REST v2 where available. Some Thryv data, particularly around advanced automation triggers and historical payment metadata, may only exist in XML-RPC and requires either accepting a data gap or rebuilding the integration in the destination. We document every gap explicitly.

  • Twenty has no native invoice or payment processing object

    Thryv bundles invoicing and ThryvPay payment processing. Twenty has no native invoice object and no built-in payment processor. We create a custom Invoice object and migrate invoice records as structured data, but the customer must select and configure a separate payment integration (Stripe, Square, or another processor) post-migration. We export invoice records but cannot migrate the merchant account relationship.

  • Thryv automation workflows do not migrate to Twenty workflows

    Thryv Automation Builder sequences (triggers, conditions, actions) are not accessible via API. We cannot migrate active workflows programmatically. We deliver a written inventory of every Thryv automation with its trigger, conditions, and actions documented for the customer's admin to rebuild in Twenty's Workflow builder. The customer should configure Twenty's workflows before cutover so that new records enter the right sequences from day one.

  • Twenty self-hosted deployments require infrastructure setup

    Twenty supports self-hosted deployment via Docker, which gives businesses full data ownership but requires infrastructure configuration. We do not set up the hosting environment as part of the migration scope. For cloud-hosted Twenty (app.twenty.com), the migration runs against the hosted workspace with no infrastructure setup required. If the customer chooses self-hosted, infrastructure setup is a pre-requisite that must complete before migration scoping begins.

Migration approach

Six steps for a successful Thryv to Twenty CRM data migration

  1. Discovery and workspace audit

    We audit the source Thryv account across edition (Pro, Max), custom fields per object, active automation count, appointment volume, invoice records, and communication log availability. We also assess whether the account uses REST v2 or still relies on XML-RPC endpoints. This produces a written migration scope with record counts per object, a list of custom fields requiring Twenty schema creation, and a flag for any automation sequences that must be documented for rebuild.

  2. Twenty workspace configuration

    We configure the Twenty workspace before any data import. This includes creating custom fields on Person, Company, and Opportunity to match Thryv field names and types, creating a custom Invoice object if invoice migration is in scope, creating a tags multi-select picklist on Person, inviting all workspace Members so owner and assignee lookups can resolve, and defining Opportunity stage values to match Thryv pipeline stages. Fields must exist in Twenty before CSV import begins.

  3. Data extraction and transformation

    We extract data from Thryv via REST v2 API. Records are cleaned: duplicates identified by email (People) or company name (Companies), incomplete records flagged for customer review, and tag values normalized to valid picklist options. Thryv Client and Company records are decomposed to map to Twenty's separate People and Companies objects. Appointment records are flattened from recurring series. All timestamps preserve as original values for timeline accuracy.

  4. Sandbox migration and reconciliation

    We run a full migration into a staging environment or the production workspace with a test dataset. The customer reconciles record counts, spot-checks 25-50 records against Thryv source data, and verifies that Opportunity values, tag assignments, and appointment dates appear correctly. Any field mapping corrections or missing custom fields are identified here. Sign-off on the sandbox migration gates the production run.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Members first (validated manually), then People (with tag values normalized), Companies, Opportunities, Tasks and Events (with PersonId and CompanyId resolved), custom Invoice records, and form submissions last. Each phase emits a row-count reconciliation report before the next phase begins. Any records modified in Thryv during the migration window are captured in a delta pass before cutover.

  6. Cutover, validation, and automation handoff

    We freeze writes to Thryv during cutover, run the final delta migration, and confirm Twenty as the system of record. We deliver the automation inventory document listing every Thryv Automation Builder sequence with its configuration details for the customer's admin to rebuild in Twenty's Workflow builder. We provide a reconciliation summary comparing Thryv source counts to Twenty destination counts. A one-week hypercare window covers post-migration data issues. We do not rebuild Thryv automations as Twenty workflows inside the migration scope.

Platform deep dives

Context on both ends of the pair

Thryv logo

Thryv

Source

Strengths

  • Bundles CRM, scheduling, payments, and marketing into a single platform, reducing tool sprawl for small service businesses.
  • Industry-specific editions for legal, healthcare, beauty, automotive, and home services with pre-built workflows and templates.
  • Thryv Marketing Center tier focuses on local SEO, online listings, and reputation management for businesses prioritizing local visibility.
  • Keap edition provides full invoicing, automation, and two-way text/voice communication for client-facing service businesses.
  • Trusted by 50,000+ small businesses across the US, Canada, and Australia with public company backing.

Weaknesses

  • Monthly costs of $255-$1,475 are high relative to competitors, and pricing tiers represent large feature jumps rather than incremental scaling.
  • Legacy XML-RPC API being phased out in favor of REST v2, requiring customers to rebuild existing integrations.
  • Developer community and API documentation are weak, with G2 reviewers noting poor exposure to API endpoints for appointments and deals.
  • Steep learning curve and cluttered interface make adoption slow for non-technical small business owners.
  • Migration is difficult once data and workflows are deeply embedded, creating meaningful lock-in risk.
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. 2 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 Thryv and Twenty CRM.

  • Object compatibility

    B

    2 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

    Thryv: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Thryv 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 Thryv to Twenty CRM data migrations

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

Can't find your answer?

Walk through your Thryv 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 three and five weeks for accounts under 15,000 Contacts and 3,000 Deals with straightforward field mapping and no custom invoice objects. Migrations with large appointment histories (over 50,000 booking records), complex tag normalization, multiple custom Thryv field types requiring type-matching, or a self-hosted Twenty deployment requiring infrastructure setup move to six to ten weeks. The Twenty workspace configuration step (creating custom fields before import) can extend the timeline if the customer has many custom fields.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Thryv.
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