Managed Twenty hosting

BusinessOn-prem or your region

An open-source CRM for contacts, companies and deals, with a data model you shape yourself, operated on your servers or dedicated machines in Switzerland and the EU. Pilae runs it on your own servers, or in Zurich, Switzerland, and eleven other Pilae Cloud regions.

Talk to us about Twenty

Licence
AGPL-3.0
Runs on
Your own hardware, or any of 10+ Pilae regions — six of them in Switzerland and the EU
Upgrades
Pinned, tested against your configuration, applied in your window
Upstream
twenty.com

Running Twenty in production: what it takes

  1. Deploy server and worker

    Twenty pinned to a version we have run, with the server and a separate worker on PostgreSQL and Redis, so imports and mailbox sync never slow the screen your sales team works in.

  2. Register the OAuth apps in your tenant

    Mailbox and calendar sync use an app registered in your Google Workspace or Microsoft 365 tenant. You can revoke it at any time without asking us.

  3. Back up and restore on a schedule

    The database and file storage go offsite daily, encrypted, to a location in your chosen country. Once a month we restore both into a scratch instance and open a record with its attachments. The result is recorded in the console.

  4. Upgrade in your window

    Twenty releases often and upgrades run database migrations. The Pilae Agent tests each version on a copy of your workspace, waits for your approval and applies it in your window, with the previous version ready to restore.

What Twenty is, and who runs it

Self-hosted Twenty CRM for sales teams

Twenty is a CRM built around a data model you edit in the interface: companies, people and opportunities out of the box, and any custom object your business needs, with its own fields, relations, views and API. It connects to your mailboxes and calendars, so the history of a deal builds itself instead of being typed in after each call.

We operate Twenty on dedicated machines in any of 10+ Pilae Cloud regions, six of them in Switzerland and the EU, or on your own hardware, reachable only on your private network. A CRM holds your customer list, your pipeline and years of correspondence. Keeping it in a jurisdiction you picked, on machines nobody else shares, gives you a short answer when a client’s procurement team asks where their data sits.

Twenty in production: workers, sync and backups

Twenty runs as a server and a worker on PostgreSQL and Redis. We keep them separate so imports, mailbox sync and workflows never compete with the people using the screen. Mailbox and calendar sync runs through an OAuth app registered in your own tenant. Upgrades go through the Pilae Agent: it tests each release on a copy of your workspace, waits for your approval, applies it in your window and records it.

The database and file storage go offsite daily, encrypted, to a location in your chosen country, and every month we restore both into a scratch instance. The result is recorded in the console. See backups for the detail.

Moving off Salesforce or HubSpot

Data comes across object by object, with the data model shaped first and totals reconciled before anyone switches. Automations are rebuilt in Twenty workflows or n8n. The move is a fixed-price migration, and for HubSpot specifically see the HubSpot alternative. Sign-in joins your other apps through SSO and identity.

Twenty licence and editions

The open edition has no per-seat fee. If you need the paid self-hosted plan, we operate it the same way. Our operation follows the published plans. Talk to us about the pipeline you want to bring home.

Twenty is AGPL-3.0, with some SDK and UI packages under MIT. Files marked as Enterprise are under Twenty's commercial licence and need a paid self-hosted subscription in production; SSO with SAML or OpenID Connect and row-level permissions sit there. We deploy the AGPL edition unless you need those features, and if you do, the subscription is held in your name.

Twenty system requirements

Before anything is deployed, this is what has to exist. We size it with you in the first session, and we say so when your own hardware is already enough.

CPU and memory
2 vCPU · 4 GBFor the server and one worker with a sales team of a few dozen. Mailbox sync and workflows add load on the worker, not the server.
Database
PostgreSQLTwenty keeps each workspace in its own PostgreSQL schema. We run it on its own volume with point-in-time recovery.
Queue
RedisBackground jobs such as mailbox sync, calendar sync, imports and workflows run through a queue on a separate worker container.
File storage
Local volume or S3-compatible bucketAttachments and avatars. Backed up with the database, because a restore without them leaves broken links on every record.
Mail and calendar
Google Workspace or Microsoft 365Optional. Syncing needs an OAuth app registered in your tenant, so the tokens are issued to you rather than to a vendor.
Access
Private network onlyTwenty answers on your private mesh, behind the Pilae gate on port 443.

Migrating from Salesforce to Twenty

Salesforce holds more than records. The objects and fields come across: accounts become companies, contacts become people, opportunities stay opportunities, and custom objects are recreated in Twenty's data model before the data is loaded. Owners, stages and relations are mapped on the way in. What does not convert is logic: Apex code, Flows, validation rules and page layouts are rebuilt as Twenty workflows, n8n automations or dropped, one by one, with whoever owns them. AppExchange packages each need a decision. Email history can be reloaded by syncing mailboxes rather than exporting activity records, which usually gives a cleaner timeline.

  1. Inventory objects, fields and automations

    Every object, field, Flow and report that was used in the last ninety days, with its owner. Fields nobody filled in stay behind.

  2. Shape the data model first

    Custom objects, fields and relations are created in a staging Twenty, so the import has somewhere to land and sales can review the layout before any data moves.

  3. Load and reconcile

    Records are exported, cleaned and imported object by object, with counts and pipeline totals compared against Salesforce reports before sign-off.

  4. Switch the team, keep the archive

    Mailboxes and calendars are connected, the team moves on a Monday, and the Salesforce export is kept read-only until the contract ends.

How Salesforce objects land in Twenty

AccountCompanyCSV import, domain used to de-duplicate
ContactPersonCSV import, linked to company by account ID
OpportunityOpportunityCSV import, stages mapped to the pipeline
Task, EventTask, calendar eventOpen tasks imported, events from calendar sync
Custom objectCustom objectCreated in the data model first, then imported
Flow, Apex triggerWorkflow or n8nRebuilt by hand, or retired
An example mapping from a migration plan. Standard objects map to Twenty's built-in ones; custom objects are recreated before the import rather than squeezed into existing fields.

What Pilae is responsible for

A pinned version

A version we have run, not whatever latest resolves to that day.

A runbook

What it depends on, how it fails, what to do about it. In your repository.

A restore drill

Backups restored on a schedule. A backup nobody has restored is a file.

A patch window

Security updates in a window you agreed, with a rollback ready.

Someone watching

Every endpoint probed on the minute. An alert reaches a person, not a dashboard nobody opens.

Where it runs
zur1, fra1, fal1, gra1, ams1, hel1, lon1, ash1, hil1, sin1, tok1, syd1, on-premZurich, Frankfurt, Falkenstein, Gravelines, Amsterdam, Helsinki, London, Ashburn, Hillsboro, Singapore, Tokyo, Sydney, Your own hardware
Who holds the credentials
You do. Ours are separate, named, logged and revocable with one command. We ask before anything changes outside an agreed window.
If you leave
The machine, the data, the compose files and the runbook are already yours. Nothing stops when our access does.

What running Twenty costs

On Starter, Twenty runs in Pilae Cloud for CHF 449EUR 479USD 559 a month, hosting and onboarding included. On Business, it is one of up to three apps for CHF 1,590EUR 1,690USD 1,990 a month, on your own servers or in Pilae Cloud. Enterprise is quoted. The plans set what each includes; these are the inputs that move the price around them.

Instance size
The CPU, memory and, where a model runs, the GPUs the app needs for your users and your data.
High availability
One machine with tested restores, or a replicated setup that keeps serving when a node fails.
Storage and backups
How much data it holds, how long backups are kept, and point-in-time recovery for its database.
Plan and support
Starter, Business or Enterprise: support hours, response times in the contract and how often we review the service with you.
Region
Your own hardware, where the infrastructure is already yours, or a Pilae Cloud region, where machines are priced per month. On Starter, Pilae chooses the site.
Sign-on and integrations
Single sign-on, directory sync, mail relays and the other systems the app has to reach.

Twenty: common questions

Is Twenty open source?

Twenty is AGPL-3.0, with some packages under MIT. A small set of files is under Twenty's commercial licence and needs a paid subscription in production, including SSO with SAML or OpenID Connect and row-level permissions.

Can Twenty replace Salesforce?

For teams that use Salesforce as a CRM (companies, people, opportunities, pipeline and email history) it covers the ground, with a data model you change in the interface rather than through a consultant. Heavy Apex customisation, CPQ and Service Cloud features need their own answer, which we scope rather than assume.

Does it sync our email and calendars?

Yes. Twenty syncs mailboxes and calendars from Google Workspace and Microsoft 365 and links messages and meetings to the people and companies in them. You choose which mailboxes connect and what is shared with the team.

Can other systems read and write CRM data?

Twenty exposes REST and GraphQL APIs generated from your data model, plus webhooks. Custom objects get endpoints as soon as they exist. We connect it to Odoo, your website forms or anything else through n8n.

Where does the customer data live?

On dedicated machines in the Pilae Cloud region you choose, from 10+ regions, six of them in Switzerland and the EU, in ISO 27001-certified datacentres or on your own hardware. Nothing is shared with other customers.

Also in business

Back to apps

Bring us your Twenty. We will tell you what it takes.

Thirty minutes on the deployment you already have, or the one you are about to start.