CRM and customer data 10 min

Twenty CRM: a complete and honest review after 18 months in production

Our view of Twenty CRM, run in production since early 2025: it holds up for a small or mid-sized sales team. Objects and fields are created without code, everything goes through the API, and self-hosted it carries no per-user licence. In return, operating it falls to you, backups included, and it is not an ERP.

Contents8
  1. 01What does Twenty actually do?
  2. 02Is it easy to get started?
  3. 03What works well in Twenty?
  4. 04What takes effort?
  5. 05What does the AGPL licence change for a company?
  6. 06Who is Twenty for, and who is it not for?
  7. 07Where to start
  8. 08Frequently asked questions

Twenty CRM is open-source customer relationship software that you can install on your own server. Our view rests on real use: we have run Twenty in production since early 2025, and we contribute to the project. Palmora Property, a property listings portal in Thailand that we operate, is the most complete example: a self-hosted Twenty CRM, linked to the site, fed every day by n8n workflows.

“It holds up” does not mean “it runs by itself”. To place it among the other options, our CRM and customer data section gathers the guides on choosing, migrating and cleaning data.

Since October 2026, Twenty is also our own CRM: Brain Plus AI’s, installed separately on our server. Here is our complete review, with no figure we could not show: the features, onboarding, the API and MCP, what takes effort, what the licence implies, and who we do not recommend Twenty to.

In short

  • Twenty holds up in production for a sales team: a freely configurable data model, a complete API, and no per-user licence when self-hosted.

  • Operating it is up to you: the server, tested backups, regular updates, API keys that expire.

  • The AGPL licence gets in the way of neither use nor integration through the published interfaces; it governs modification of the code.

  • It is neither an ERP nor a marketing suite.

What does Twenty actually do?

Twenty covers the core of a CRM: companies, people and opportunities, with a column pipeline, tasks, notes and a timeline on each record. Views can be filtered, sorted and saved, as a table or a kanban. According to its documentation, a Google Workspace or Microsoft 365 mailbox can be connected so that emails and calendar events attach to the records. On top of that come workflows, custom objects and the API, covered below.

Is it easy to get started?

For a salesperson, yes: the interface looks like a well-organised spreadsheet, and search is fast. The time goes elsewhere: deciding the model (which objects, which fields, which pipeline stages) and importing the data. On our own CRM, the pipeline, the qualification fields and three objects of our own (offers, projects and subscriptions) were set up in a day, our 27 offers included. It was quick because the model had been decided beforehand.

Key takeaway

Getting started depends on the model, not the screen

A team learns the interface in a morning. What takes time is agreeing on the vocabulary: what an opportunity is, when it changes stage, who marks it as won.

What works well in Twenty?

A data model shaped around your business

Twenty’s strength is the freedom of its model. According to its documentation, you create custom objects, fields of more than twenty types and relations between objects, without code. On Palmora Property, a property is not an “opportunity” in disguise: properties, zones and contact persons are objects in their own right, with business identifiers generated automatically.

That is what makes a team adopt the tool: it finds its own vocabulary there, instead of working around the CRM with a spreadsheet. We describe this use, where Twenty holds far more than contacts, in our guide Twenty beyond the CRM, as a back office for your business data.

A complete API, so the CRM can be the source of truth

Everything you see on screen is accessible through the API, in REST and GraphQL, with documentation generated for each workspace. That is what makes it possible to turn Twenty into the source of truth: on Palmora Property, the site updates from the CRM, through a pipeline that we moved back onto our own server in July 2026. Nobody enters anything twice.

Webhooks make it possible to react to a change in real time, with a reservation drawn from our own use:

From the field

On custom objects, a webhook is an unreliable trigger

The automatic saving of drafts is the cause. For our identifier generator, a scheduled job that re-reads the current state of the record proved safer.

Built-in workflows, and n8n or an app for the rest

Twenty offers its own workflows, triggered by a change to a record, a schedule, a manual action or an incoming webhook. For processes that cross several tools, we use n8n, which runs on the same server. And when a function is missing, you can add it through an app: we developed one, which reorders photos, and published it on Twenty’s app store.

No per-user licence when self-hosted

On its pricing page, the vendor states that the open-source core can be self-hosted with no licence fees; its cloud plan is billed per user per month. For a growing team, that is the difference between a fixed bill and one that follows every hire.

What takes effort?

Hosting is down to you

With us, Twenty runs in Docker containers, on a single server behind Traefik, alongside n8n, Matomo, Docuseal, Documenso, InvoiceNinja and Ollama: a dozen services on the same machine. It is economical, and it is demanding.

Our most expensive lesson comes from this sharing:

From the field

In July 2026, a single command destroyed the containers of ten services

It was a docker system prune, on the server that hosts the CRM. The data survived because it lived in volumes. Since then, our operating rules have been written down, instead of a promise to be careful.

Backups do not happen by themselves

Twenty’s data lives in a PostgreSQL database. It has to be exported regularly, off the server, and a restore tested from time to time: a backup that has never been restored is only a hypothesis. We detail what really breaks, incident included, in our article on backing up a server of your own.

Updates: regular, and to be prepared

An upgrade is simple, provided you do it regularly and follow this order:

A Twenty upgrade

  1. The release notes

    An upgrade can require a prerequisite; version 2.34, for example, needs PostgreSQL 15 or later.

  2. The backup

    The upgrade guide says to always back up the database before starting.

  3. The migration

    Migrations run automatically when the new version starts, and since version 1.23 you can jump straight to the latest version.

  4. The check

    Afterwards, you check that whatever depends on the CRM, the site and the n8n workflows, still works.

Bulk corrections go through the API, at the right rate

Fixing hundreds of records by hand is not realistic; the API makes it possible, provided you limit the rate. On Palmora Property, a first bulk repair launched without any limit produced 754 failures. Relaunched with rate limiting and automatic retries, it fixed all 837 records concerned, without a single failure. The advice that follows: every bulk operation starts with a simulation, is then applied explicitly, at the right rate, and is checked afterwards.

API keys expire

According to its API documentation, a key is created in the settings, under API & Webhooks, with an expiry date, and is displayed only once. It is good security practice, and a classic trap:

Watch out

The day the key expires, synchronisation stops

Note the expiry date somewhere someone will read it, and set up an alert, as for any automation.

Think through the model before importing data

A model that is badly thought out at the start costs a lot later, because every correction touches the data already entered and everything that reads it. Every field used to make decisions (a record’s source, its status, its owner) is defined before the import, with a list of values that do not overlap: two different situations never share the same value.

What does the AGPL licence change for a company?

Twenty is mainly under the AGPL v3 licence. According to the project’s licence file, some files marked “Enterprise” fall under a commercial licence, and some packages, including the development kits, are under the MIT licence.

What this means for a company:

  • using Twenty as it is, even hosted by you and used by your teams, poses no difficulty;
  • modifying Twenty’s code and having that version used over a network obliges you to offer its source code to its users (section 13 of the AGPL v3 licence, reproduced in that licence file);
  • building an application that talks to Twenty through its published interfaces (REST and GraphQL API, webhooks, development kits) falls under an exception set out in the licence file: such an application is not subject to the AGPL for that reason alone.

Our rule follows from this:

Key takeaway

We take not one line of Twenty’s code

We configure Twenty and integrate it through its published interfaces, like our app in the store. It is also what keeps updates simple: there is nothing home-made to carry over onto each new version.

Who is Twenty for, and who is it not for?

Twenty suits:

  • a sales team of a few people to a few dozen, who want a clear pipeline and a tool salespeople actually open;
  • a company whose business does not fit the standard model (properties, contracts, projects, subscriptions), because custom objects remove the parallel spreadsheet;
  • anyone who wants to keep their data in-house and connect the CRM to the rest through the API, n8n or an AI assistant.

We do not recommend it in three cases:

  • If you need an ERP (quotes, invoices, stock, accounting in the same tool): Twenty is a CRM. Our comparison for choosing between Twenty, Dolibarr and Odoo starts from the size of the team and the processes to be covered.
  • If you are looking for a complete marketing suite (email campaigns, landing pages): that is not its territory.
  • If nobody can look after the server and you do not want an operator: the vendor’s cloud plan exists, but it is billed per user, and according to its pricing page some features (single sign-on, record-level permissions, audit logs) are reserved for its Organization plan.

Where to start

Start by checking that a pure CRM covers your processes: if invoicing or stock must live in the same tool, Twenty is not the right starting point. If it is, success then comes down to two things: a data model decided before the import, and operations organised from day one.

If you want a Twenty installed, with your data imported, and operated for you, it is the first level of our CRM offer: set-up in your vocabulary, data imported, deduplicated and checked, then backups, updates and monitoring on a subscription if you wish.

Frequently asked questions

Is Twenty CRM reliable for a business?

For CRM use, yes in our experience: we have run it in production since early 2025. Reliability depends above all on operations, not on the software alone: backups tested off the server, regular updates preceded by a backup, and monitoring of the server and the integrations. A Twenty that is installed and then forgotten accumulates risks, like any self-hosted software.

Do you need a developer to use Twenty?

Not for daily use or routine configuration: objects, fields and workflows are created from the interface, without code. Yes for installation, API integrations and running the server, or else a provider who takes care of it. That is the real question to ask before choosing self-hosting: who will do the backups and the updates in a year’s time?

Does Twenty connect to Gmail or Outlook?

Yes. According to its documentation, you connect a Google Workspace or Microsoft 365 mailbox: emails are automatically attached to the matching companies and people, with the full threads on the record, and calendar events appear there too. You can filter the import by period or by sender, so that a whole mailbox does not end up in the CRM.

Can you import your data from another CRM?

Yes, by CSV file import or through the API. Twenty’s migration documentation limits file import to 10,000 records: beyond that, you split the file or use the API. The order matters (companies, then people, then opportunities). Our guide to migrating from HubSpot to an open-source CRM details the method, history included.

Does Twenty handle duplicates?

Partly. According to its documentation, a person’s email and a company’s domain are unique: on import, a row whose email or domain already exists updates the record instead of creating a second one. Approximate duplicates (a name written differently, two addresses for one person) still have to be dealt with: see our guide to cleaning your CRM data.

Does Twenty have an MCP server?

Yes. Each workspace exposes an MCP server (the protocol that lets an AI assistant use a piece of software), at the workspace address followed by /mcp. We connected it to our CRM in October 2026: an AI assistant reads and updates records in plain language, with the rights of the connected account. That does not replace clear rules: with us, only a human marks a deal as won or lost, and automation only suggests it. We cover this use in our article on a CRM you can talk to.

How much does Twenty cost?

Self-hosted, the open-source core carries no licence fee: you pay for the server and the time spent operating it. The vendor’s cloud plan is billed per user per month, according to its pricing page, with some features reserved for its Organization plan. To compare over time, our article on the cost of a CRM over three years sets out the calculation.

Sources

  1. Pricing page (new tab)twenty.com
  2. Upgrade guide (new tab)docs.twenty.com
  3. Project’s licence file (new tab)github.com
Source 1

Pricing page

Read on twenty.com(new tab)
Source 3

Project’s licence file

Read on github.com(new tab)

Jim · founder of Brain Plus AI

CRM and customer data

Want the same thing running at your place?

We have run Twenty in production since early 2025, notably as the CRM of Palmora Property, a real estate portal in Thailand, and we have published a business application we built on the Twenty store.

Also in crm and customer data

  • Choose and price7 min

    Twenty, Dolibarr or Odoo: which one for your team?

    Twenty, Dolibarr and Odoo are not in the same category: a pure CRM, a light ERP, a full ERP. Rather than a feature table, here is a decision grid by team size and by process, with what moves you from one level to the next.

  • Practical guide9 min

    Migrating from HubSpot to an open source CRM in seven steps

    Leaving HubSpot for Twenty, Dolibarr or Odoo can be done without losing your customers, provided you deal with the model, export, cleaning, import and history in order. Here is our seven-step method, and the honest list of what does not come across by itself.

  • Practical guide9 min

    Twenty beyond the CRM: a back office for your business data

    Properties, projects, equipment, case files: Twenty can hold far more than your contacts. What it takes to make it the back office for your business data, connected to your site, and where this use stops.