Twenty:AI時代のためのオープンソースCRM、コードで構築

Published · AI Daily — AI-assisted deep research, methodology & disclosure

Twentyは、GitHubで5.9万以上のスターを集めるオープンソースCRMです。Salesforceのオープンな代替を掲げ、最初からAI向けに設計されています。オブジェクト、ビュー、ワークフロー、エージェントを拡張可能な基本モジュールとして提供し、技術チームは他のコードと同じようにCRMを構築、公開、バージョン管理できます。開発者はTwenty CLIとtwenty-sdkを使い、TypeScriptでオブジェクト、フィールド、ビューを定義し、1コマンドでワークスペースへ反映できます。クラウド版とDocker Composeによるセルフホストの両方があり、Claude Code、Codex、Cursorなどのコーディングエージェント向け公式スキルパックも用意されています。技術スタックはTypeScript、Nx、NestJS、PostgreSQL、Redis、Reactです。顧客管理フローを深くカスタマイズしたく、データの主導権とエンジニアリング重視の開発を求めるチームに向いています。

背景と概要

Twentyは、GitHubで5.9万以上のスターを集めるオープンソースCRMです。Salesforceのオープンな代替を掲げ、最初からAI向けに設計されたと説明されています。顧客管理ソフトは古くからある分野で、Salesforceのような商用ベンダーが長く市場を握ってきました。

従来型CRMの悩みは設定作業にあります。項目やプロセスを管理画面で一つずつ選んで作るため、設定がコードリポジトリに入らず、レビューもできず、元に戻すのも困難です。業務が変わるたびに、ブラックボックスの画面で試行錯誤を繰り返すことになります。

Twentyはこの問題に正面から取り組みます。プロジェクトの主張は明快です。技術チームが求めているのは完成品ではなく、組み立てられる部品だということです。公式の言い方では、Twentyは技術スタックの他の部分と同じように、構築し、公開し、バージョン管理するCRMです。データとコードの主導権を持ちたいが、CRMをゼロから作りたくはないエンジニアリングチームが主な対象です。

深掘り分析

CRMをコードとして構築するとは、具体的にどういうことでしょうか。Twentyの基本モジュールは、オブジェクト、ビュー、ワークフロー、エージェントです。オブジェクトは顧客や商談といった業務上の実体に対応します。ビューはデータの見せ方を決め、ワークフローは自動化を担い、エージェントはAIを業務の流れに直接組み込みます。 最大の特徴は、これらをコードで書く点です。READMEの例では、twenty-sdkのdefineObjectでdealオブジェクトを宣言します。単数形と複数形の名前、表示ラベル、名前、金額、予定成約日といったフィールドを指定し、型はテキスト、通貨、日時です。定義は通常のTypeScriptファイルなので、Gitに置き、コードレビューを通し、バージョンとともに育てられます。

公開も同じ考え方です。app:publishコマンド1つで、アプリをプライベートな形でワークスペースへ反映できます。画面で項目を一つずつ設定する方法と比べ、変更を追跡でき、再現でき、自動化できます。 コーディングエージェントへの対応も標準です。公式のTwenty app skillsが用意されており、Claude Code、Codex、Cursor、Piなど、skills CLIで対応する環境で使えます。技術スタックはTypeScriptとNxで、バックエンドはNestJS、BullMQ、PostgreSQL、Redis、フロントエンドはReactにJotai、Linaria、Lingui を組み合わせています。 始め方は3通りあります。最短はtwenty.comのクラウドワークスペースで、公式は1分足らずで始められ、インフラ管理は不要だとしています。開発したい場合は npx create-twenty-app my-app で雛形を作り、コードでオブジェクトやフィールドを定義して公開します。データの置き場所や規制に条件があるチームは、Docker Composeでセルフホストできます。想定される使い方は、営業向けにカスタム項目付きの商談パイプラインを作る、カスタマーサクセス向けの専用ビューを用意する、繰り返しの追客をワークフローやエージェントに任せる、といったものです。

業界への影響

Twentyの意味は、オープンソースのCRMが一つ増えたことにとどまりません。業務ソフトが、画面での設定からコードによる定義へ、さらにAIエージェントが構築と運用に加わる形へ動いていることを示しています。オブジェクトやビューがコードであれば、コーディングエージェントはそれを読んで変更できます。Claude CodeやCursor向けのスキルパックを公式に用意している理由はここにあります。

エンジニアリングチームにとっては、CRMを他のシステムと同じ配信パイプラインに載せられる利点があります。バージョン管理、レビュー、自動デプロイがそのまま使えます。小規模なチームにとっては、オープンソースとセルフホストにより、特定ベンダーへの依存リスクを下げられます。

一方で、見落とせない点もあります。コード中心のカスタマイズは、入口を開発者に寄せます。そのため、技術に詳しくない業務担当者だけでは保守しにくくなる可能性があります。セルフホストを選べば、運用、バックアップ、アップグレードも自分たちの責任になります。さらにREADMEには、agent-skillsブランチは最初の公開に成功した後で作られるとあります。周辺機能にはまだ発展途上の部分があるとみられ、本番で使う前に最新のドキュメントを確認すべきです。

今後の展望

Twentyがどこまで広がるかは、いくつかの問いにかかっています。第一に、アプリのエコシステムが再利用できるテンプレートの市場に育つかどうかです。アプリが素のTypeScriptである以上、共有や再利用は技術的に難しくありません。ただ、実際に豊かなライブラリが生まれるかは、まだ分かりません。

第二に、実際の営業業務でエージェントがどれだけ信頼できるかです。エージェントとコーディングエージェント向けスキルの仕組みは用意されていますが、READMEに実測結果の記載はありません。顧客への連絡を自動化に任せる前に、自社のデータで検証することが欠かせません。 第三に、大企業の要件にどこまで合うかです。元の資料が述べているのは、技術スタック、提供形態、開発者向けツールまでです。大規模なコンプライアンスやガバナンス機能の詳細は示されておらず、ドキュメントで確認する必要があります。 こうした点が成熟すれば、Twentyはエージェント時代のオープンソース業務ソフトを代表する事例になり得ます。当面は、顧客管理フローを深くカスタマイズしたく、データの主導権を重んじ、CRMをエンジニアリングの仕事として扱えるチームに最もよく合う選択肢といえます。

Sources

FAQ

Twentyとは何ですか?どんなCRMですか?

Twentyは、GitHubで5.9万以上のスターを集めるオープンソースCRMです。Salesforceのオープンな代替を掲げ、最初からAI向けに設計されています。オブジェクト、ビュー、ワークフロー、エージェントを拡張可能なモジュールとして提供し、他のコードと同じようにCRMを構築、公開、バージョン管理できます。

CRMをコードで構築することは、なぜ重要ですか?

従来のCRMは管理画面で項目や流れを設定するため、設定がコードリポジトリに入らず、レビューやロールバックが難しい状態でした。TwentyはTypeScriptでオブジェクト、フィールド、ビューを定義します。変更をGitで管理でき、追跡や自動化が可能で、コーディングエージェントも扱えます。

Twentyの導入前に何を確認し、次に何をすべきですか?

Twentyのコード化されたカスタマイズは開発者向けで、非技術者が単独で保守するのは難しい場合があります。セルフホストでは運用、バックアップ、更新も自分たちの責任です。記事によると一部の周辺機能は発展途上です。クラウド版を試すか、npx create-twenty-appで始め、最新の文書を確認してください。