twentyhq

twenty: Customize and Self-Host a CRM

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.

TypeScriptOther licenseCRMWeb AppSelf Hosted
Stars
57.9k
Forks
9.4k

Our take

Health score

71/100

How it is scored
Activity
88
Community
93
Issues
21
Pull requests
80
  • Releases more often than 91% of the projects we track
  • Merges more pull requests than 88% of the projects we track
  • More contributors than 77% of the projects we track

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.

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.
ProjectLanguageLicenseStarsStatus
twentyTypeScriptOther57.9kNot checked yet
atomic-crmTypeScriptMIT1.3kActive

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