CRM migration

Migrate from Teleos to Twenty CRM

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

Teleos logo

Teleos

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

100%

10 of 10

objects map 1:1 between Teleos and Twenty CRM.

Complexity

BStandard

Timeline

24–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Teleos is a veterinary-practice management platform built around client animals, appointments, clinical records, and billing — a fundamentally different data model from Twenty CRM's People/Companies/Opportunities schema. The migration carries client-contact records, animal profiles, visit history, and invoice data into Twenty as a combination of People records (pet owners), Companies records (practices or clinics), and custom objects (Pets, Visits, Invoices). Workflows, appointment reminders, and prescription-management rules do not migrate — Twenty's workflow builder (available on Organization tier at $19/user/month) must be configured post-migration to replicate operational logic. We use Teleos's REST API or CSV export endpoints to extract records, resolve pet-owner relationships to People records, and load into Twenty via GraphQL bulk mutations or CSV import with relation mapping by email and domain. A 24–48 hour delta-pickup window captures any records modified during the cutover window before you decommission Teleos.

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

Teleos logo

Teleos

What's pushing teams away

  • No publicly documented API or developer portal blocks any meaningful integration with central group reporting, BI tools, or modern marketing automation.
  • Corporate veterinary groups consolidating onto cloud-native platforms like Provet Cloud or ezyVet move away to gain multi-site reporting and centralised configuration.
  • Small UK supplier with limited public review corpus and a 3-10 employee footprint raises long-term support continuity concerns for buyers making multi-year commitments.
  • No free trial or freemium tier means buyers cannot evaluate the product without committing to a sales conversation, which loses deals to self-serve cloud competitors.
  • Integrations are largely UK-vertical specific (Vet-XML, Clover POS, T-VoIP) and limited outside that ecosystem, making it a poor fit for practices expanding internationally or adopting non-UK toolchains.

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

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

Teleos

Client / Pet Owner

maps to

Twenty CRM

People

1:1
Fully supported

Teleos client records (owner name, email, phone, address) map directly to Twenty People records. The owner's address fields map to Twenty's address compound field. Email becomes the unique identifier for relation mapping during import.

Teleos

Animal / Patient

maps to

Twenty CRM

Custom Object: Pet

1:1
Fully supported

Teleos animal records (name, species, breed, date of birth, weight, microchip ID) have no direct equivalent in Twenty's standard objects. We create a 'Pet' custom object on the Organization tier and map species to a select field, breed to a text field, and DOB to a date field. Pet links to People via a relation field.

Teleos

Visit / Appointment

maps to

Twenty CRM

Custom Object: Visit

1:1
Fully supported

Teleos visit records (date, type, diagnosis, treatment plan, veterinarian, notes) become a custom 'Visit' object in Twenty. Visit links to the Pet record (via relation) and the veterinarian as a People record. Appointment status (Completed, Cancelled, No-Show) maps to a select field.

Teleos

Invoice / Billing Record

maps to

Twenty CRM

Custom Object: Invoice

1:1
Fully supported

Teleos invoice records (invoice number, amount, status, line items, payment date) migrate as a custom 'Invoice' object linked to the People record (owner). Invoice status (Paid, Outstanding, Overdue) maps to a select field. Amount fields preserve original currency.

Teleos

Practice / Clinic

maps to

Twenty CRM

Company

1:1
Fully supported

Teleos clinic or practice records (clinic name, address, phone, opening hours) map to Twenty Company records. For single-location practices this is a 1:1 map. Multi-location setups create one Company per location.

Teleos

Vaccination Record

maps to

Twenty CRM

Custom Object: Vaccination

1:1
Fully supported

Teleos vaccination records (vaccine name, date administered, next due date, batch number) migrate as a 'Vaccination' custom object linked to the Pet record. Next-due date becomes a date field that Twenty workflow rules can reference for reminder automations post-migration.

Teleos

Prescription / Medication

maps to

Twenty CRM

Custom Object: Prescription

1:1
Fully supported

Teleos prescription records (medication name, dosage, frequency, prescribing vet, start/end date) migrate as a 'Prescription' custom object linked to Pet and the veterinarian People record. Active vs. expired status is preserved as a select field.

Teleos

Document / Attachment

maps to

Twenty CRM

Note + Attachment

1:1
Fully supported

Teleos clinical notes and attached files (lab reports, X-rays) migrate as Twenty Notes linked to the relevant Pet or Visit record. Files are re-uploaded to Twenty's storage. Large files (exceeding Twenty's attachment size limits) are flagged for manual re-upload.

Teleos

Staff / Veterinarian

maps to

Twenty CRM

WorkspaceMember / People

1:1
Fully supported

Teleos staff records (name, role, email, credentials) map to Twenty WorkspaceMembers for login and People records for contact purposes. Teleos role labels (Veterinarian, Technician, Receptionist) are preserved in a custom role field on the People record.

Teleos

Teleos Workflow / Automation Rule

maps to

Twenty CRM

Twenty Workflow Builder

1:1
Fully supported

Appointment reminders, vaccination alerts, and prescription-renewal notifications in Teleos have no direct equivalent in Twenty CRM — those logic rules must be rebuilt manually in Twenty's workflow builder on the Organization tier. We export the rule definitions as a reference JSON file for your admin to use during configuration.

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.

Teleos logo

Teleos gotchas

High

Catalog website pointed at the wrong company

High

No public API forces export-driven extraction

Medium

Channel-based UI configuration is per-workstation

Medium

Vet-XML records require special handling

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

  • Teleos animal-to-owner N:N relationship collapses to 1:N in Twenty's Pet custom object

    Teleos allows a single animal record to be linked to multiple owners (e.g., co-owners or a primary owner plus an emergency contact). Twenty CRM's relation model on custom objects supports one-to-many rather than many-to-many natively. We handle co-owner scenarios by creating one primary People record as the primary owner link and surfacing secondary owners in a custom text field or note. Your admin decides whether to create separate People records for co-owners and link them via a junction table if both-owner relationship integrity is required.

  • Teleos API rate limits may restrict bulk export window for large clinics

    Teleos's business-tier API imposes per-minute and per-day request limits that affect how quickly we can extract records during the migration window. For clinics with 10,000+ records (animals, visits, invoices), we implement a pagination strategy with rate-limit-aware throttling using the Retry-After header. Export jobs exceeding Teleos's daily quota are split across multiple sessions. This adds 4–8 hours to the extraction phase and is reflected in the project timeline before validation begins.

  • Twenty CRM CSV import requires fields to exist before import — custom objects must be created first

    Twenty's CSV import creates records but not fields — this is explicitly documented in Twenty's import guide. If your Teleos instance uses custom fields beyond the standard animal and owner fields, your Twenty admin must pre-create those fields in Settings → Data Model before we run the import. We deliver a field-creation checklist with exact field names, types, and pick-list values so your admin can configure the schema before data lands. Failure to pre-create fields results in those columns being silently ignored during import.

  • Vaccination and prescription alerts require manual rebuild in Twenty's workflow builder

    Teleos's built-in vaccination-due reminders and prescription-renewal notifications are automation rules that have no equivalent in Twenty CRM's migration scope. Once custom objects Pet and Vaccination are created in Twenty, your admin can build workflow triggers using Twenty's Organization-tier workflow builder (e.g., 'Vaccination nextDueDate is in 7 days → create Task for People record'). We export a machine-readable JSON of Teleos workflow definitions as a rebuild reference. The automation rebuild typically takes 4–8 hours for a clinic with 3–5 active alert rules.

  • Teleos date-of-birth and weight fields need type validation before mapping

    Teleos instances with long usage histories sometimes store dates in mixed formats (DD/MM/YYYY vs MM/DD/YYYY) and weights in mixed units (kg vs lbs). We run a pre-migration type audit that flags records with inconsistent date formats and non-numeric weight values. These are corrected against the clinic's documented locale settings before mapping to Twenty's date and number fields. Unresolved date ambiguity results in null values for those specific records — flagged in the reconciliation report.

Migration approach

Six steps for a successful Teleos to Twenty CRM data migration

  1. Audit Teleos data export and validate record counts

    We connect to Teleos via API (or CSV export if API access is limited on your plan) and pull a full record inventory: clients, animals, visits, invoices, vaccinations, prescriptions, and staff. We validate record counts against Teleos's own reporting module, flag duplicate records, and identify any fields with null or malformed data. This audit produces a data quality report that determines whether pre-cleaning is needed before mapping begins.

  2. Design Twenty CRM schema — custom objects, fields, and relation setup

    Based on the audit, we deliver a Twenty schema design document: Pet, Visit, Invoice, Vaccination, and Prescription custom objects with field definitions (name, type, required flag, select options). We include a step-by-step checklist for your Twenty admin to create these in Settings → Data Model. We also define the People-to-Pet relation and the Pet-to-Visit/Vaccination/Prescription relation graph so foreign-key integrity is maintained during import sequencing.

  3. Migrate People and Companies first, then custom objects in dependency order

    Twenty's import system requires parent records to exist before children are imported. We sequence the migration: Companies (clinic locations) first, then People (owners and staff), then Pet custom objects (linked to People by email), then Visit and Prescription records (linked to Pet by ID), then Invoice records (linked to People by email). This ordering respects Twenty's relation-resolution rules and prevents orphaned records. We run this sequence in a test workspace first.

  4. Run sample migration with field-level diff and reconciliation report

    We migrate a representative slice (typically 200–500 records spanning owners, animals, visits, and invoices) into a Twenty staging environment. We generate a field-level diff comparing source Teleos values against the migrated Twenty values for every mapped field. We surface discrepancies in a reconciliation spreadsheet so you can verify that vaccination dates, invoice amounts, and owner email links are correct before committing to the full run. You sign off on the sample before we proceed.

  5. Execute full migration with delta-pickup and post-migration verification

    The full migration runs against your live Twenty workspace. A 24–48 hour delta-pickup window captures any Teleos records created or modified during the cutover period. We verify record counts match across all object types, relation links are intact (Pets linked to correct People, Visits linked to correct Pets), and custom object record counts match the Teleos audit totals. We deliver an audit log of every import operation and flag any records that failed to migrate with error reasons for manual remediation.

Platform deep dives

Context on both ends of the pair

Teleos logo

Teleos

Source

Strengths

  • 25+ years of continuous operation in the veterinary sector with stable, well-understood data structures.
  • Full feature set covering clinical, billing, and communication workflows in one platform.
  • Independent UK company with direct access to founders and senior staff.
  • 24/7 multi-channel customer support including live phone assistance.
  • Transparent pricing model with no public tiered plans that might restrict data export.

Weaknesses

  • No publicly documented API — all data extraction relies on in-product export tools.
  • Single verified review on major platforms makes independent quality assessment difficult.
  • Niche platform with limited third-party integrations compared to global veterinary software.
  • Small company footprint (3–10 employees) raises long-term support continuity questions.
  • No free trial or freemium entry tier listed on Capterra.
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 Teleos 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

    Teleos: Not applicable — no documented public API endpoints exist..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Teleos-to-Twenty CRM migrations complete in 24–72 hours for setups under 25,000 total records (clients, animals, visits, invoices). Larger clinics with 50,000+ records or multiple custom objects (Vaccination, Prescription) extend to 5–10 days. The longest phase is schema setup in Twenty — your admin creating Pet, Visit, and other custom objects — which typically takes 2–4 hours. The actual data load runs overnight for most mid-size practices.

Adjacent paths

Related migrations to explore

Ready when you are

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