twenty: Customize and Self-Host a CRM

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
View on GitHub

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

View on GitHub

Related repositories

Similar repositories that may be relevant next.

OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️