CRM migration

Migrate from Act! to Twenty CRM

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

Act! logo

Act!

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

70%

7 of 10

objects map 1:1 between Act! and Twenty CRM.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Twenty CRM is the open-source destination of choice for Act! tenants who want a modern UI with self-hosting flexibility — particularly Act! Premium Desktop users replacing one on-premise system with another. Twenty's data model is intentionally flexible: standard objects (Person, Company, Opportunity) ship out of the box but every object's schema is editable per workspace via the metadata API. This makes Act! Custom Table migration cleaner than most destinations because Twenty's Custom Objects are first-class with full UI editing support (unlike HighLevel's API-only Custom Objects or Nutshell's lack of Custom Objects entirely). The interesting work is in deployment-mode planning: Twenty Cloud handles SaaS users; self-hosted Twenty requires the customer's team to manage Postgres + Node + Redis, which is a meaningful engineering commitment. We support both paths during migration.

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

Act! logo

Act!

What's pushing teams away

  • Dated UI and on-premise legacy feel — long-time Act! Desktop users describe the experience as 'Office 2007-era' compared to modern cloud CRMs, and the upgrade path between major versions historically requires reinstalling and re-syncing data.
  • Limited modern integration ecosystem — Act!'s Zapier and native integration count is in the low double digits, where HubSpot, Salesforce, and Pipedrive all measure integrations in the thousands.
  • Act! Premium Desktop's reliance on SQL Server, IIS, and Windows Server makes IT maintenance an ongoing cost — patching, backups, and disaster recovery fall on the customer's IT team rather than the vendor.
  • Team collaboration features lag modern CRMs — Act!'s historical strength is the individual contact owner, and shared pipelines, real-time activity feeds, and built-in chat are weaker than HubSpot, Pipedrive, or monday.
  • Reporting is functional but inflexible — most users export to Excel rather than build inside Act!, where modern CRMs ship dashboards, pivot charts, and embedded BI as core features.

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

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

Act!

Contact

maps to

Twenty CRM

Person

1:1
Fully supported

Act! Contacts map to Twenty People. Email primary identifier.

Act!

Company

maps to

Twenty CRM

Company

1:1
Fully supported

Act! Companies map to Twenty Companies with Person → Company association.

Act!

Opportunity

maps to

Twenty CRM

Opportunity

1:1
Fully supported

Act! Opportunities map to Twenty Opportunities with stage and amount preserved.

Act!

Opportunity Product

maps to

Twenty CRM

Custom Object: OpportunityProduct or serialized note

lossy
Fully supported

Twenty doesn't ship a standard OpportunityProduct object. We create a Custom Object linked to Opportunity via foreign key, or serialize products as a JSON note depending on customer requirements.

Act!

Activity (Meeting / Call / Task)

maps to

Twenty CRM

Task or custom Activity object

1:1
Fully supported

Twenty has a Task object; richer activity classification (Meeting vs Call vs Task) uses a Type field or a separate Custom Object per type if needed.

Act!

History

maps to

Twenty CRM

Note or closed Task

1:1
Fully supported

Completed History items map to Notes or closed Tasks with original timestamps preserved via the createdAt field on insert.

Act!

Note

maps to

Twenty CRM

Note

1:1
Fully supported

Act! Notes attach to Person/Company/Opportunity with author and timestamp preserved.

Act!

Group (Static)

maps to

Twenty CRM

View Filter or custom Tag object

lossy
Fully supported

Twenty's segmentation uses View Filters (saved query criteria) or a custom Tag object linked to People/Companies. Decision during scoping based on use pattern.

Act!

Custom Table

maps to

Twenty CRM

Custom Object

lossy
Fully supported

Twenty's first-class Custom Objects accept Act! Custom Table schemas cleanly. Deployed via the metadata API before record load.

Act!

Document

maps to

Twenty CRM

Attachment

1:1
Fully supported

Documents upload as Twenty Attachments linked to parent records. Storage configuration depends on Twenty deployment (Cloud handles storage; self-hosted requires S3 or local filesystem config).

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.

Act! logo

Act! gotchas

High

Act! Premium Desktop and Cloud use different export paths and cannot share a single migration script

High

Act! Custom Tables (v18+) have no standardized schema across customers

Medium

Activity Series (recurring activities) explode into thousands of occurrences

Medium

Act! Marketing Automation campaign history is in a separate database

Low

Act! contact layouts can hide fields without dropping them from the schema

Low

Document attachments in Act! Desktop are file-system pointers, not blobs

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 self-hosted requires infra commitment

    Self-hosted Twenty needs PostgreSQL, Node, Redis, and (for attachments) S3 or local filesystem. We support deployment setup during migration but ongoing operations (backups, patching, monitoring) fall on the customer's IT team. Customers without engineering capacity should choose Twenty Cloud instead.

  • Custom Object schema deployment via metadata API

    Twenty Custom Objects deploy via the metadata API rather than UI clicks. We package the Act! Custom Table → Twenty Custom Object mapping as API calls executed during pre-flight.

  • Twenty's standard objects don't ship OpportunityProduct

    Act! Opportunity Products need either a Custom Object (OpportunityProduct with foreign key to Opportunity) or serialization as a JSON note on the Opportunity. Standard Twenty doesn't have line-item products natively.

  • Email primary-key behavior differs

    Twenty Person supports multiple emails per record. We migrate Act!'s primary email as the first/primary email; additional Act! email fields (Personal Email, Spouse Email) become additional emails on the same Person record.

  • Deployment model selection (same Act! gotcha)

    Cloud vs Desktop extraction path.

Migration approach

Six steps for a successful Act! to Twenty CRM data migration

  1. Discovery + deployment mode

    Confirm Act! deployment, decide Twenty Cloud vs self-hosted. For self-hosted: capture infra requirements and assist with initial setup.

  2. Twenty pre-flight

    Deploy Custom Objects for Custom Tables via metadata API, configure Opportunity stages enum, design View Filters for Group equivalents, set up attachment storage.

  3. Sample + customer review

    200 People, 50 Companies, 30 Opportunities, 100 Tasks. Customer reviews on Cloud or self-hosted instance.

  4. Full extraction + Document download

    Bulk Act! extraction. Documents prepared for attachment upload.

  5. Full load via REST + GraphQL APIs

    Companies → People → Opportunities → Tasks → Notes → Attachments → Custom Object records. Field-level diff.

  6. Cutover + decommission

    Delta sync. Reps switch to Twenty. Act! read-only for safety.

Platform deep dives

Context on both ends of the pair

Act! logo

Act!

Source

Strengths

  • Deep, mature contact-management feature set: layouts, custom fields, secondary contacts, and relationship-tracking refined over 35+ years of releases.
  • Available as on-premise (Act! Premium Desktop) for teams that require local data residency — most modern CRMs are cloud-only.
  • Per-user pricing is predictable and competitive with mid-market CRMs for SMB use cases without integration complexity.
  • Strong fit for relationship-driven verticals: financial advisors, accountants, insurance brokers, real-estate, legal — workflows where the contact record is the center of the universe.
  • Built-in Act! Marketing Automation add-on covers basic email marketing without needing a separate Mailchimp/Constant Contact subscription.

Weaknesses

  • Dated UI and on-premise legacy architecture — the look and feel hasn't kept pace with modern cloud CRMs.
  • Small integration ecosystem (low double digits of pre-built integrations) versus thousands on HubSpot/Salesforce/Pipedrive.
  • Act! Premium Desktop requires customer-managed Windows Server, SQL Server, and IIS — ongoing IT overhead.
  • Team-collaboration and real-time-feed features lag behind modern collaborative CRMs.
  • Reporting is rigid — most teams export to Excel rather than build dashboards inside Act!
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 Act! 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

    Act!: Not publicly documented for Cloud; Desktop is limited only by the customer's SQL Server and IIS capacity.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Twenty Cloud is the recommended path for most teams — managed infrastructure, automatic updates, no IT overhead. Self-hosted Twenty is the right choice if you specifically want on-premise control (matching Act! Premium Desktop's posture) and have engineering capacity to run PostgreSQL + Node + Redis. We support both during migration.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Act!.
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