GitHub Repos intermediate 3 min read May 25, 2026
Public Preview Sign in free for the full digest →

Twenty: opensource CRM - Salesforce alternative

“Salesforce's internal metadata-table trick — per-workspace schemas without DDL migrations — now open-source, free to self-host, extensible in TypeScript.”

Twenty: opensource CRM - Salesforce alternative
1 Views
0 Likes
0 Bookmarks
Source · github.com

“"The biggest mistake a competitor can make is thinking Salesforce is a CRM. They actually sell an ecosystem and a platform." — paxys, HN Launch thread (https://news.ycombinator.com/item?id=36791434)”

You know that feeling when every custom CRM field or workflow requires a consultant because it is built with a proprietary language almost no one outside Salesforce knows? You want per-workspace schema flexibility — add a 'deal stage' field or a custom object — without migrating your entire database. And when you look at open-source alternatives, they are PHP applications from 2008 with no TypeScript extension model, no path to AI agent integration, and no one maintaining them seriously.

crmopen-sourcetypescriptnestjspostgresqlself-hostedgraphql

Think of a spreadsheet that stores its own column structure as a separate list. Twenty keeps each workspace's schema — which record types exist, which fields they have — as rows in a metadata table rather than as actual database columns. When you add a custom field in the UI, Twenty writes a new metadata row and resolves that field through an application-layer translator, not through ALTER TABLE. This is the same pattern Salesforce uses internally (per the creator's HN post at news.ycombinator.com/item?id=36791434). You extend the platform by writing TypeScript packages that define new objects, server-side logic, or UI components — the same as any NestJS module. Four Docker containers run the full stack: server, worker, PostgreSQL 16, and Redis.

01
Metadata-driven custom objects — define new record types (e.g. 'Supplier', 'Event') through the UI or a TypeScript package without database migrations. You own the schema and can version it like code.
02
TypeScript extension packages — write custom server logic, UI components, and AI agents as typed NestJS modules. Your existing backend team extends the CRM on day one without learning a proprietary language.
03
MCP server integration with Claude, ChatGPT, and Cursor — AI agents read and write CRM records directly. Shipped in v2.3.0, May 14, 2026 (per release notes, verified 2026-05-25).
04
Free self-hosting with no feature restrictions — run the full stack via Docker Compose at your own infrastructure cost. The cloud tier adds managed hosting starting at $9/user/month.
05
REST and GraphQL dual APIs plus webhooks and OAuth — fetch nested relations in one GraphQL request or use REST for tooling that does not support GraphQL. Webhook subscriptions let automation tools react to record changes.
06
Row-level permissions and SAML/OIDC SSO at the Organization tier ($19/user/month) — control which users see which records with API rate limit increasing from 50 to 100 calls/minute.
07
Workflow automation backed by BullMQ over Redis — trigger record-based actions without code. The Pro tier includes 50 workflow credits annually. Jobs survive server restarts via the Redis queue.
Who it’s for

If you are a backend or full-stack engineer evaluating CRM platforms that need per-customer data customization, Twenty's TypeScript extension model removes the proprietary-language dependency. It is also the right evaluation target if your team is migrating off a paid CRM and needs to preserve per-workspace schema flexibility. Not the right fit yet if your team primarily works on mobile (issue #20874: rich-text editing is broken on mobile as of 2026-05-25) or if your OpenAI contract requires Zero Data Retention (issue #20877: this breaks Twenty's AI features).

Worth exploring

Worth running a two-day spike against your current CRM contract renewal. At 46,321 stars and 632 contributors it is the most actively developed open-source CRM in this category, and the live cloud product with published pricing confirms it is past prototype stage. If you self-host, track minor version upgrades closely — issue #20841 shows that skipping versions breaks database migrations, a real production risk for a tool that stores customer records.

Developer playbook
Tech stack, code snippet, sentiment, alternatives.
PM playbook
Adoption angles, user fit, positioning.
CEO playbook
Traction signals, ROI, build vs buy.
Deep-dive insight
Full long-form analysis, no fluff.
Easy mode
Core idea, fast — when you need the gist.
Pro mode
Technical nuance, edge cases, tradeoffs.
Read the full digest
Go beyond the preview

Deep-dive insight, Easy and Pro modes, plus action playbooks — the full breakdown is one tap away.

Underrated tools. Unfiltered takes.

Read the full digest in the Snaplyze app for deep-dive insight, Easy and Pro modes, and the playbooks you can actually use.

Install Snaplyze →