twenty: Customize and Self-Host a CRM

Summary
Twenty is a TypeScript CRM for teams that need customizable business workflows and data models. Use it as a cloud service, self-host it, or extend it with apps defined and versioned as code.
At a glance
- Language
- TypeScript
- License
- NOASSERTION
- Stars
- 57.9k
- Forks
- 9.4k
- Added to OSRepos
- November 22, 2025
- Last analyzed
- October 3, 2026
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Overview
Twenty is a CRM designed for technical teams that want to adapt customer and sales workflows to their business. It provides CRM building blocks such as objects, views, workflows, and agents, with support for extending the product through code.
It may suit teams that find a fixed CRM model too limiting and want to build and version customizations alongside their software. The project offers both a hosted service and self-hosting options.
Key Features
- CRM objects and fields for modeling business data.
- Views and layouts for working with and organizing CRM records.
- Workflows and agents as part of its CRM toolkit.
- Apps that define objects, fields, and views as code.
- App publishing for deploying customizations to a workspace.
- Cloud access and self-hosting through Docker Compose.
- TypeScript-based stack with React, NestJS, and PostgreSQL.
Use Cases
- Technical teams can model CRM records around their own sales or customer processes instead of relying on a fixed schema.
- Developers can keep CRM customizations in code and publish changes to a workspace.
- Organizations can self-host their CRM when they want to run it on their own infrastructure.
- Teams evaluating an alternative CRM can try the hosted service before managing deployment themselves.
Project Facts
- Language: TypeScript
- License: NOASSERTION
- Stars: 57.9k
- Forks: 9.4k
- Topics: crm, crm-system, customer, good-first-issue, graphql, hacktoberfest, javascript, marketing, monorepo, nestjs, open-source, postgresql, react, reactjs, sales, typescript, web
- Archived: false
Getting Started
For a hosted workspace, sign up at twenty.com. To scaffold an app, run:
npx create-twenty-app my-app
For self-hosting and local setup, see the README and documentation.
Alternatives
- atomic-crm: Atomic CRM is a React and Supabase CRM focused on contacts, follow-ups, notes, and deals, while Twenty supports customizable data models and workflows.
Considerations
- Self-hosting requires you to manage infrastructure. The README points to Docker Compose instructions for deployment.
- App development involves defining and publishing customizations as code, so it is oriented toward teams comfortable with developer workflows.
- The repository reports its license as
NOASSERTION, so check the repository for current licensing details before adopting it.
Found this useful?
Share it with someone who would like twenty.
Comparisons
Source repository
Open the original repository on GitHub.
25 counted GitHub visits
Related repositories
Similar repositories that may be relevant next.
