はじめに
「CRM、高くないですか」
営業やカスタマーサクセスの仕事をしていると、顧客管理ツールの導入は避けて通れない話題ですよね。Salesforceは機能豊富だけど、正直なところ個人や小規模チームには価格がヘビー。かといって、スプレッドシートで管理し続けるのも限界がある。
そんなときに知っておきたいのがTwentyです。
「Building a modern alternative to Salesforce, powered by the community」を掲げるオープンソースのCRMで、GitHubスターは37,000を超えています。Notion、Airtableといったモダンなツールに影響を受けたUXで、Salesforceの代替として着実に存在感を増しているプロジェクトです。
Twentyとは
TwentyはオープンソースのCRM(Customer Relationship Management)ツールです。顧客情報の管理、商談の追跡、タスク管理といった、いわゆるCRMに必要な機能を一通り備えています。
特徴的なのは、その設計思想。開発チームは3つの理由でこのプロジェクトを始めたそうです:
- 既存CRMの価格とロックインへの対抗 - 高額なライセンス費用と、一度入ったら抜けにくいベンダーロックイン
- モダンなUX - Notion、Airtable、Linearといったツールから着想を得た使いやすさ
- オープンソースとコミュニティの価値 - 透明性があり、コミュニティで改善していける
コントリビューターは550名以上、コミット数は9,000以上と、開発も活発に進んでいます。
特徴・メリット
カスタマイズ可能なレイアウト
これ、意外と重要なんですよね。CRMって、会社や部署によって見たい情報が全然違う。Twentyはフィルター、ソート、グループ化といった基本機能に加えて、カンバンビューとテーブルビューを切り替えられます。
営業のパイプラインはカンバンで、顧客一覧はテーブルで、という使い分けが自然にできる。
オブジェクトとフィールドのカスタマイズ
「標準の項目じゃ足りない」という場面、CRMを使っていると必ずありますよね。Twentyはオブジェクト(データの種類)とフィールド(項目)を自分で定義できます。
業界特有の情報を管理したいときや、独自のワークフローに合わせたいときに、この柔軟性が効いてきます。
ワークフロー自動化
トリガーとアクションを組み合わせて、業務プロセスを自動化できます。「商談のステータスが変わったら担当者に通知」「新規リードが追加されたらSlackに投稿」といった定型作業を自動化すると、QOL上がりますよね。
統合機能
メール、カレンダー、ファイル管理との連携機能も備えています。顧客とのやり取りを一元管理できるので、「あのメールどこいったっけ」が減る。
セルフホスト対応
個人的にはここが一番のメリットかもしれません。自前のサーバーで動かせば、月額費用ゼロで使えます。顧客データという機密情報を外部に預けたくない、という要件にも応えられる。
カスタムロールによる権限管理
チームで使うときに必要になるアクセス制御。誰がどのデータを見られるか、編集できるか、といった権限をロールベースで管理できます。
技術スタック
エンジニア目線で見ても、モダンな構成になっています。
| レイヤー | 技術 |
|---|---|
| 言語 | TypeScript |
| ビルドシステム | Nx |
| バックエンド | NestJS、PostgreSQL、Redis、BullMQ |
| フロントエンド | React、Recoil、Emotion、Lingui |
NestJSとReactの組み合わせは、最近のWebアプリでは定番ですね。Nxでモノレポ構成にしているのも、大規模なプロジェクトを管理しやすくする工夫。
インストール方法
Twentyのインストールは、Docker Composeを使えば比較的簡単です。
Docker Composeでの起動
まず、docker-compose.ymlを作成します。
version: "3.9"
services:
twenty:
image: twentycrm/twenty:latest
ports:
- "3000:3000"
environment:
- SERVER_URL=http://localhost:3000
- FRONT_BASE_URL=http://localhost:3000
- PG_DATABASE_URL=postgres://postgres:postgres@db:5432/twenty
- REDIS_HOST=redis
- REDIS_PORT=6379
- STORAGE_TYPE=local
depends_on:
- db
- redis
volumes:
- twenty_data:/app/.local-storage
db:
image: postgres:15
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=twenty
volumes:
- pg_data:/var/lib/postgresql/data
redis:
image: redis:7
volumes:
- redis_data:/data
volumes:
twenty_data:
pg_data:
redis_data:
これで起動します。
docker compose up -d
ブラウザで http://localhost:3000 にアクセスすると、Twentyの画面が表示されます。
初期設定
初回アクセス時に、管理者アカウントの作成とワークスペースの設定を行います。ウィザード形式で進められるので、迷うことはないはず。
基本的な使い方
1. オブジェクトの理解
Twentyでは、データは「オブジェクト」という単位で管理されます。標準で用意されているオブジェクトは以下のようなもの:
- People - 連絡先(個人)
- Companies - 会社・組織
- Opportunities - 商談・案件
- Tasks - タスク・ToDo
- Notes - メモ
2. レコードの追加
画面右上の「+」ボタンから、新しいレコードを追加できます。必要な情報を入力して保存するだけ。
3. ビューの切り替え
テーブルビュー(一覧表示)とカンバンビュー(ボード表示)を切り替えられます。商談のステータス管理にはカンバンが便利ですね。
4. フィルターとソート
大量のデータがあっても、フィルターで絞り込んでソートすれば、目的の情報にすぐアクセスできます。「ステータスが"進行中"の商談」「今週作成されたリード」といった条件で絞り込めます。
5. カスタムフィールドの追加
標準の項目で足りない場合は、設定画面からカスタムフィールドを追加できます。テキスト、数値、日付、選択肢など、様々な型を選べます。
実践的なユースケース
スタートアップの営業管理
小規模なチームで営業活動を管理するのに向いています。高額なCRMを導入するほどでもないけど、スプレッドシートは限界という段階で、Twentyは良い選択肢。
フリーランスの顧客管理
フリーランスで複数のクライアントを抱えていると、案件の進捗や請求状況を把握するのが大変ですよね。Twentyで一元管理すると、抜け漏れが減ります。
社内プロジェクト管理
外部顧客だけでなく、社内のプロジェクトや依頼事項の管理にも使えます。カンバンビューでタスクの状態を可視化。
データ主権を重視する組織
顧客データを外部のSaaSに預けたくない、という方針の組織では、セルフホストできるTwentyは魅力的な選択肢です。
Salesforceとの比較
正直なところ、SalesforceとTwentyを単純比較するのは難しい面もあります。
| 観点 | Salesforce | Twenty |
|---|---|---|
| 機能の豊富さ | 圧倒的に多い | 必要十分 |
| 価格 | 高額 | 無料(セルフホスト) |
| カスタマイズ | 高度だが複雑 | シンプルで直感的 |
| エコシステム | 巨大 | 成長中 |
| 学習コスト | 高い | 低い |
Salesforceは大企業向けの機能が充実していますが、その分価格も学習コストも高い。Twentyは「必要な機能をシンプルに」という思想で、小〜中規模のチームに向いています。
注意点
いくつか気をつけるべき点もあります。
セルフホストの運用負荷
無料で使えるのは魅力ですが、サーバーの管理、アップデート、バックアップは自分でやる必要があります。エンジニアがいないチームだと、ここがハードルになることも。
機能は発展途上
GitHubスター37,000とはいえ、Salesforceと比べればまだ若いプロジェクト。欲しい機能がなかったり、日本語対応が不十分だったりする可能性はあります。
エコシステムの規模
Salesforceには膨大なサードパーティアプリやコンサルタントがいますが、Twentyはまだそこまでのエコシステムは形成されていません。
まとめ
Twentyは「Salesforceは大きすぎる、でもスプレッドシートは卒業したい」という層にぴったりのCRMです。
- オープンソースでセルフホスト可能
- モダンなUI/UXでNotionやAirtableユーザーにも馴染みやすい
- カスタマイズ性が高く、業務に合わせて柔軟に調整できる
- 550人以上のコントリビューターが活発に開発中
30代になって思うのは、ツール選びも「身の丈に合ったもの」が大事だということ。大企業向けの高機能ツールを無理に使うより、自分たちの規模に合ったツールで効率よく回すほうが、結果的にコスパがいい。
まずはDocker Composeで立ち上げて、触ってみてください。UIの作り込みは、実際に使ってみると「なるほど」と思う部分が多いです。
公式サイト: https://twenty.com GitHub: https://github.com/twentyhq/twenty ドキュメント: https://docs.twenty.com