Twenty
Modern, open-source CRM platform and self-hosted alternative to Salesforce.
Why consider Twenty?
Twenty is an open-source CRM built with TypeScript and GraphQL. It features customizable objects, pipeline management, Kanban boards, and rich developer extensibility.
Learn Twenty by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide10 sections
What is Twenty?
Twenty is a modern, open-source Customer Relationship Management (CRM) platform built with TypeScript, React, Node.js, and GraphQL. Designed as a flexible, self-hosted alternative to legacy platforms like Salesforce and HubSpot, Twenty gives businesses complete control over customer records, sales pipelines, and database relations.
The platform provides a visual interface with spreadsheet-like data entry, customizable custom objects, Kanban deal pipelines, automated email thread tracking, and a powerful GraphQL API for custom integrations.
Who Is It For?
- Sales Teams & Account Executives: Tracking leads, contacts, opportunities, and deal stages across visual Kanban boards with notes and activity history.
- Fast-Growing Startups: Customizing internal customer data models without paying exorbitant per-seat monthly subscription tiers.
- Full-Stack Developers: Extending CRM capabilities via GraphQL APIs, webhooks, and custom database object schemas.
Key Features
- Fully customizable data model with user-defined custom objects, fields, and relational links.
- Interactive visual views: Dynamic spreadsheets with filtering, sorting, and Kanban stage pipelines.
- Integrated email synchronization tracking client correspondence and calendar interactions.
- Modern developer API powered by typed GraphQL and REST endpoints with automated documentation.
- Enterprise role-based access control (RBAC) with team workspace separation.
Deploying Twenty with Docker Compose
version: '3.8'services: server: image: twentycrm/twenty:latest container_name: twenty_server restart: unless-stopped ports: - "3000:3000" environment: - PORT=3000 - PG_DATABASE_URL=postgres://twenty:twenty_secret@db:5432/twenty - SERVER_URL=http://localhost:3000 - FRONTEND_URL=http://localhost:3000 - REDIS_URL=redis://redis:6379 - ACCESS_TOKEN_SECRET=generate_secure_random_access_token_secret_key - LOGIN_TOKEN_SECRET=generate_secure_random_login_token_secret_key - REFRESH_TOKEN_SECRET=generate_secure_random_refresh_token_secret_key - FILE_TOKEN_SECRET=generate_secure_random_file_token_secret_key depends_on: - db - redis db: image: postgres:16-alpine container_name: twenty_db restart: unless-stopped volumes: - ./twenty_postgres:/var/lib/postgresql/data environment: - POSTGRES_USER=twenty - POSTGRES_PASSWORD=twenty_secret - POSTGRES_DB=twenty redis: image: redis:7-alpine container_name: twenty_redis restart: unless-stoppedStart the containers:
docker compose up -dOpen http://localhost:3000 in your browser to complete administrator account setup and configure your workspace.
Practical Use Cases
1. B2B Sales Opportunity Pipeline
A sales team creates a multi-stage sales funnel (Discovery, Proposal Sent, Contract Negotiation, Closed Won) and drags customer deal cards across stages as sales calls progress.
2. Custom Business Object Modeling
A real estate agency creates custom CRM entities for "Properties", "Inspections", and "Offers", linking each property to buyers and sellers via relational fields.
3. Automated GraphQL Inbound Lead Ingestion
A developer connects web landing page forms to the Twenty GraphQL API to automatically create Contact and Company records whenever a lead requests a demo.
Troubleshooting and Limitations
- Secret Token Generation: Twenty requires four distinct 32-character secret keys in its environment variables; ensure all secrets are generated using
openssl rand -hex 32. - Database Migrations: On initial startup, Twenty executes automatic database schema migrations; wait 30 seconds for the database to seed before accessing the web interface.
Official Resources
- Official Website: https://twenty.com
- GitHub Repository: https://github.com/twentyhq/twenty
- Documentation: https://docs.twenty.com
Related tools
More options with a similar category or technology profile.
McFly
Fly through your shell history with an intelligent neural network search engine.
cheat
Interactive command-line cheatsheets for system administrators and software engineers.
Pipenv
Python development workflow for humans uniting Pipfile, pip, and virtualenv.
Rye
Comprehensive Python package and workspace management tool written in Rust.