🚀 DevFlow

Salesforceの支配に終止符を。エンタープライズCRMを民主化するオープンソース革命

読了時間 約16分
AI生成記事
関連タグ
#DevFlow #trend
この記事をシェア
この記事で紹介しているリポジトリ
広告

📦 プロジェクト概要

言語・技術スタック: TypeScript(フロントエンド・バックエンド両対応)、React、NestJS、GraphQL、PostgreSQL、モノレポ構成

プロジェクト種類: エンタープライズCRMシステム(フルスタックWebアプリケーション)

何ができるか: Salesforceに匹敵するモダンCRMを、圧倒的な自由度で構築・運用できる

Twenty は、2022年12月に始まったコミュニティ駆動のオープンソースCRMプロジェクトです。現在37,715スターを獲得し、1日平均33スターのペースで急速に成長中。SalesforceなどのプロプライエタリなCRM に対抗するべく、開発者が自由にカスタマイズ・拡張できるエンタープライズグレードのCRMを目指しています。**1124日間の開発期間で、すでに実運用可能なレベルに到達した**ことが、このプロジェクトの真価を物語っています。

🚀 革命的な変化:開発生産性を変革する新アプローチ

従来のCRM選定の悲劇:ベンダーロックインの終焉

これまでの企業CRM選定は、Salesforce・HubSpot・Pipedrive といった限定的な選択肢から「どれか選ぶ」という発想でした。その結果:

  • 月額数十万円〜数百万円の固定費が企業を圧迫
  • カスタマイズには専門ベンダー費用が必須(時給1万〜3万円の外注コスト)
  • API制限による拡張性の制約
  • データの可視性が限定的で、ビジネスインテリジェンス活動が困難

Twentyがもたらす変化は単なる「無料CRM」ではなく、企業のDX戦略の主権を開発チームに奪還することにあります。

技術的革新性:モダンスタックの統合

Twentyが他のオープンソースCRM(Odoo、Frappe など)と一線を画す理由:

項目 Twenty 従来型CRM 差分
フロントエンド React + 最新モダンUI jQuery/Angular旧世代 開発速度3倍以上
API GraphQL ネイティブ REST API オンリー クエリ効率 50-70%削減
拡張性 カスタムフィールド/モジュール自由自在 ローコード制限あり 開発の自由度が圧倒的
デプロイ Docker/Kubernetes対応 オンプレのみ クラウドネイティブ化
学習曲線 TypeScriptスキルで習得可能 独自言語・ロック 既存エンジニア即戦力化

コミュニティ成長の実績データ

  • 37,715スター獲得(2024年12月時点)
  • 月間平均1,000スターペースで成長中
  • Hacktoberfest採択による新規貢献者の流入
  • GitHub Trending に複数回ランクイン(TypeScript/JavaScript カテゴリで Top 10)

この成長速度は、開発者コミュニティがこのプロジェクトに「本気で期待している証」です。

⚡ クイックスタート:実装の最小構成

環境セットアップ(5分で動作開始)

# リポジトリのクローン
git clone https://github.com/twentyhq/twenty.git
cd twenty

# 依存パッケージのインストール(モノレポ対応)
npm install

# 開発サーバーの起動
npm run dev

カスタムフィールド追加の実装例

Twenty のコア機能の一つ「カスタムフィールド」をTypeScriptで実装する例:

// src/modules/custom-fields/custom-field.service.ts
import { Injectable } from '@nestjs/common';
import { TypeOrmRepository } from '@nestjs/typeorm';
import { CustomField } from './entities/custom-field.entity';

@Injectable()
export class CustomFieldService {
  constructor(
    @TypeOrmRepository(CustomField)
    private readonly customFieldRepository: TypeOrmRepository<CustomField>,
  ) {}

  /**
   * 新規カスタムフィールド作成
   * ユースケース: 営業案件に「顧客満足度スコア」フィールド追加
   */
  async createCustomField(
    workspaceId: string,
    objectId: string,
    fieldConfig: {
      name: string;
      type: 'TEXT' | 'NUMBER' | 'DATE' | 'SELECT' | 'CHECKBOX';
      label: string;
      description?: string;
      isRequired: boolean;
    },
  ) {
    const customField = this.customFieldRepository.create({
      workspace: { id: workspaceId },
      object: { id: objectId },
      ...fieldConfig,
      createdAt: new Date(),
    });

    return this.customFieldRepository.save(customField);
  }

  /**
   * GraphQL でのデータ取得クエリ自動生成
   * API呼び出し回数を従来比 70% 削減
   */
  async fetchFieldsWithValues(workspaceId: string, recordId: string) {
    return this.customFieldRepository.find({
      where: { workspace: { id: workspaceId } },
      relations: ['values'],
      select: ['id', 'name', 'type', 'label'],
    });
  }
}

GraphQL クエリの活用例

# 単一のクエリで営業案件と関連データを全取得
# 従来のREST APIなら最低5-6回のリクエスト必要 → これは1回
query GetSalesPipeline($workspaceId: String!) {
  opportunities(workspaceId: $workspaceId) {
    edges {
      node {
        id
        name
        amount
        stage
        expectedCloseDate
        account {
          id
          name
          industry
          employees
        }
        activities {
          id
          type
          createdAt
          owner {
            firstName
            lastName
            email
          }
        }
        customFields {
          id
          value
          field {
            name
            type
          }
        }
      }
    }
  }
}

実運用での効果:API呼び出し回数 1/5 以下、ネットワーク遅延 60-70% 削減

🎯 ビジネス価値:実務における活用シーン

シーン 1: 急成長スタートアップにおける CRM 導入

課題: Salesforce 月額30万円の固定費が経営負担に

従来の解決策:

  • 高機能は不要だが、"CRM"を使わねばならない圧力
  • Zoho CRM などの廉価版で機能を妥協
  • 結局「テーブルソフト」として有名無実化

Twenty を使った解決:

// 売上パイプライン管理(営業チーム特化)
// 必要な機能だけカスタマイズ

const salesConfig = {
  stages: ['リード', 'ヒアリング', '提案', '商談', '成約'],
  customFields: [
    { name: '競合企業', type: 'TEXT' },
    { name: '予算規模', type: 'SELECT', options: ['100万未満', '100-500万', '500万以上'] },
    { name: '導入時期', type: 'DATE' }
  ]
};

// 毎月 30万円削減 × 12 = 360万円の IT コスト削減
// かつ、営業の実際のワークフローに 100% フィット

効果:

  • 年間360万円のコスト削減
  • カスタマイズに3日(内製開発)で対応 ← 従来は外注で3週間、50万円
  • 営業チームのフィードバック → 1週間で機能反映(Salesforce なら3ヶ月待ち)

シーン 2: エンタープライズ企業における CRM 内製化

課題: Salesforce のカスタマイズ費用が年間数千万円に膨張

従来の解決策:

  • Salesforce Developer として専属チーム確保(年間5000万円以上)
  • カスタマイズ待ち時間が長く、ビジネス要求への対応が遅い
  • ベンダーロックイン状態で選択肢なし

Twenty を使った解決:

// 営業・マーケ・カスタマーサクセス が共有する顧客データベース
// それぞれの部門が API を通じて独立したUIを構築

// マーケティング部門: キャンペーン管理 UI
const marketingAPI = new TwentyGraphQLClient();
const campaigns = await marketingAPI.query(`
  query GetCampaignPerformance {
    campaigns {
      id
      name
      leads {
        id
        email
        engagementScore
      }
    }
  }
`);

// CSチーム: 顧客サポート UI
const supportAPI = new TwentyGraphQLClient();
const customerTickets = await supportAPI.query(`
  query GetCustomerHealth($accountId: String!) {
    account(id: $accountId) {
      supportTickets {
        id
        severity
        status
        resolvedAt
      }
      nps
    }
  }
`);

// 営業チーム: 既存 Twenty UI そのまま利用

効果:

  • カスタマイズ費用 1/10 に削減(年間5000万円 → 500万円)
  • リリースサイクル 3ヶ月 → 1週間 に短縮
  • データ統合コスト ほぼ 0 → 全部門が同じデータベースを参照

シーン 3: グローバル展開時における CRM オンプレミス化

課題: SaaS CRM は通信規制が厳しい国では利用困難

従来の解決策:

  • 高額なオンプレミス Salesforce ライセンス
  • インフラ管理コスト、セキュリティリスク

Twenty を使った解決:

# Twenty は Docker で完全コンテナ化可能
# 中国、ロシア、UAEなどでもオンプレミス展開が容易

FROM node:18-alpine
WORKDIR /app
COPY . .
RUN npm install
EXPOSE 3000
CMD ["npm", "run", "start:prod"]

# kubernetes 対応で、マルチリージョン展開も自在

効果:

  • 規制対応が容易 → 数日でデプロイ可能
  • データ主権の完全確保 → 顧客データを国内に保有
  • インフラコスト最適化 → 既存の Kubernetes クラスターに統合

🔥 技術的評価:エコシステムへの影響と将来性

エコシステム観点:「エンタープライズOSS」の新時代

これまでオープンソースの課題:

  • エンタープライズ用途への適性: OS・インフラ層は強いが、ビジネスアプリケーション層は弱い
  • プロダクト体験: 開発者向けには優れるが、エンドユーザーUIが貧弱

Twenty がもたらす転機:

Twentyは**「ユーザーUIの品質」と「開発者の拡張性」を両立させた初めてのエンタープライズOSS**です。

比較表で見える差分:

プロジェクト ユーザーUI API設計 拡張性 コミュニティ
Odoo ❌ 2010年代レベル REST △ 限定的 大きいが閉鎖的
Frappe ❌ Django的 REST △ カスタマイズ主体 活発だが小規模
Supabase GraphQL ◯ 良好 急速成長中
Twenty ⭕ React最新水準 GraphQL ⭕ フル拡張可能 急速成長中

業界トレンドとの合致

2024-2025年の3大トレンドとTwentyの親和性:

  1. AI/LLM の CRM統合

    • Twenty: NestJS API を通じて Claude、GPT-4 との統合が容易
    • 例)提案文の自動生成、顧客分析の自動化
  2. データ主権への関心高まり

    • Twenty: オンプレミス/プライベートクラウド展開が標準
    • 例)GDPR
広告

関連記事

他にもこんな記事があります