---
title: Twenty
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, crm, sales, typescript, app-marathon3-rattrapage-a]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=CRM, https://twenty.com/]
---

# 🪙 Twenty CRM

> **CRM moderne en TypeScript** : alternative open source à Salesforce, avec interface Notion-like, data model customizable et API GraphQL.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [twenty.com](https://twenty.com) |
| **GitHub** | [twentyhq/twenty](https://github.com/twentyhq/twenty) |
| **License** | AGPL-3.0 |
| **Langage** | TypeScript |
| **Étoiles GitHub** | 24k ⭐ |
| **Catégorie** | [[cat-crm|CRM]] |

## 📝 Description

**Twenty** est un projet né en 2023 qui a explosé sur Product Hunt et Hacker News. Sa mission : **construire le "Salesforce de l'open source"** avec une UX moderne, des performances excellentes et un data model flexible.

Fonctionnalités :
- ✅ **Data model customizable** : ajouter champs, objets, relations sans code
- ✅ **Vues filtrables/triables** façon Notion/Airtable
- ✅ **Pipeline Kanban** : drag-drop deals
- ✅ **Workflows visuels** : automatisation des étapes
- ✅ **API GraphQL + REST** complète
- ✅ **Intégrations** : mail, calendrier, contacts
- ✅ **Multi-workspace** : séparer ventes/marketing
- ✅ **Authentification** : email/password, SSO
- ✅ **Webhooks** : réagir aux événements
- ✅ **Audit log**

**Différence vs EspoCRM/SuiteCRM** : Twenty = stack moderne (NestJS + React + GraphQL), data model pensé pour l'extensibilité, UX plus proche des outils SaaS 2024.

**Pour qui** : startups tech, scale-ups, équipes commerciales qui veulent un CRM extensible et moderne sans payer Salesforce.

## 🚀 Installation

### Docker Compose (recommandé)

```yaml
version: '3.8'
services:
  twenty:
    image: twentyhq/twenty:latest
    container_name: twenty
    restart: unless-stopped
    environment:
      - PG_DATABASE_URL=postgres://twenty:***@db:5432/twenty
      - SERVER_URL=https://crm.example.com
      - REDIS_URL=redis://redis:6379
      - APP_SECRET=change...sl
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.twenty.rule=Host(`crm.example.com`)"
      - "traefik.http.routers.twenty.tls.certresolver=letsencrypt"
    depends_on:
      - db
      - redis

  db:
    image: postgres:15-alpine
    container_name: twenty-db
    restart: unless-stopped
    environment:
      - POSTGRES_USER=twenty
      - POSTGRES_PASSWORD=***      - POSTGRES_DB=twenty
    volumes:
      - twenty_db:/var/lib/postgresql/data

  redis:
    image: redis:7-alpine
    container_name: twenty-redis
    restart: unless-stopped

volumes:
  twenty_db:
```

## 🔄 Alternatives

### Open Source
- [[app-espocrm]] — CRM PHP mature
- [[app-atomic-crm]] — CRM type Notion
- [[app-meerkat-crm]] — CRM simple
- **SuiteCRM** — fork Salesforce
- **Odoo CRM** — module CRM de l'ERP

### Propriétaires
- **Salesforce** — leader, complexe
- **HubSpot** — freemium limité
- **Pipedrive** — orienté PME
- **Attio** — CRM nouvelle génération

## 🔐 Sécurité
- **SSO** : supporté (Google, Microsoft)
- **API tokens** : gestion fine
- **Row-level security** : filtrage par workspace
- **Mises à jour rapides** : release hebdomadaire
- **HTTPS obligatoire** : via reverse proxy

## 📚 Ressources
- [Documentation](https://twenty.com/docs)
- [GitHub](https://github.com/twentyhq/twenty)
- [Site officiel](https://twenty.com)

## Pages Liées
- [[cat-crm]] — Catégorie CRM
- [[app-espocrm]] — CRM mature PHP
- [[recettes-docker-compose]] — Templates Docker
