OSSスケジューリングツール比較:Cal.com vs Rallly vs Formbricks で会議予約を自動化
オープンソースラボ編集部 ・ 2026年6月14日
OSSスケジューリングツール比較:Cal.com vs Rallly vs Formbricks で会議予約を自動化
Calendlyは月$10/ユーザー(Teams $16/ユーザー)・Acuity Schedulingは月$16〜。Cal.com(Calendly代替の最有力OSSスケジューラー)・Rallly(シンプルな日程調整ポーリング)・Formbricks(フォームベースの予約・フィードバック収集)はセルフホスト可能なOSSの予約・スケジューリングツールです。
OSSスケジューリングの活用場面
- 商談予約: 営業担当者のカレンダーに自動で商談枠を予約
- 採用面接: 候補者に面接枠を選んでもらう
- コンサルタント予約: 1on1セッションの予約受付
- 日程調整: 複数人の都合を集めてミーティング日時を決定
- イベント登録: ウェビナーやワークショップの参加受付
主要ツールの概要
Cal.com
2021年に設立されたCal.comが開発するオープンソースのCalendly代替です。GitHubスター35k+。Next.js + tRPC + Prismaで実装され、Google Calendar・Outlook・Apple Calendar・Zoom・Google Meet・Microsoft Teamsとの統合が充実しています。マルチユーザー・チームスケジューリング・ラウンドロビン(チームメンバーに均等に割り当て)・集合型(全員参加必須)のスケジューリングをサポートします。
# Cal.comをDockerでセルフホスト
git clone https://github.com/calcom/cal.com.git
cd cal.com
# 環境変数を設定(.env.exampleをコピー)
cp .env.example .env
# 最低限の設定(.envを編集)
# DATABASE_URL=postgresql://user:pass@localhost:5432/calcom
# NEXTAUTH_SECRET=your-random-secret-32chars
# NEXTAUTH_URL=https://cal.yourcompany.com
# NEXT_PUBLIC_WEBAPP_URL=https://cal.yourcompany.com
# GOOGLE_CLIENT_ID=your-google-oauth-client-id
# GOOGLE_CLIENT_SECRET=your-google-oauth-secret
# Docker Composeで起動
docker compose -f docker/docker-compose.yml up -d
# または開発環境(Node.js直接)
yarn install
npx prisma migrate deploy
yarn dev
# WebUI: http://localhost:3000
// Cal.com APIで予約スロットを取得
const CAL_API_URL = "https://cal.yourcompany.com/api/v1";
const API_KEY = "cal_live_your_api_key"; // Settings > API Keys
// 利用可能なスロットを取得
const response = await fetch(
`${CAL_API_URL}/slots?eventTypeId=1&startTime=2026-06-15T09:00:00Z&endTime=2026-06-15T18:00:00Z`,
{ headers: { "Authorization": `Bearer ${API_KEY}` } }
);
const { slots } = await response.json();
console.log("Available slots:", slots);
// 予約を作成
const booking = await fetch(`${CAL_API_URL}/bookings`, {
method: "POST",
headers: {
"Authorization": `Bearer ${API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
eventTypeId: 1,
start: "2026-06-15T10:00:00Z",
end: "2026-06-15T10:30:00Z",
name: "山田太郎",
email: "yamada@example.com",
notes: "初回商談です",
timeZone: "Asia/Tokyo",
}),
});
const bookingData = await booking.json();
console.log("Booking created:", bookingData.id);
// Cal.com WebhookでSlack通知(予約完了時)
// Next.jsのAPIルート: src/app/api/webhooks/cal/route.ts
import { NextRequest, NextResponse } from "next/server";
export async function POST(req: NextRequest) {
const body = await req.json();
if (body.triggerEvent === "BOOKING_CREATED") {
const { title, startTime, attendees } = body.payload;
const attendee = attendees[0];
await fetch(process.env.SLACK_WEBHOOK_URL!, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
text: `新しい予約が入りました!
*${title}*
日時: ${new Date(startTime).toLocaleString("ja-JP")}
予約者: ${attendee.name} (${attendee.email})`,
}),
});
}
return NextResponse.json({ ok: true });
}
Rallly
シンプルな日程調整ポーリングツールです。GitHubスター4k+。Doodleの代替として、複数の候補日時を提示して参加者に投票してもらう仕組みです。サインアップ不要で使え、会議・イベントの日程調整に特化しています。Next.js製でセルフホストが容易です。
# RalllyをDockerで起動
docker run -d \
--name rallly \
--restart unless-stopped \
-p 3000:3000 \
-e DATABASE_URL=postgresql://user:pass@db:5432/rallly \
-e SECRET_PASSWORD=your-secret-32chars \
-e NEXT_PUBLIC_BASE_URL=http://localhost:3000 \
lukevella/rallly:latest
# 環境変数(Eメール送信設定)
# SMTP_HOST=smtp.sendgrid.net
# SMTP_PORT=587
# SMTP_USER=apikey
# SMTP_PWD=SG.your-key
# SUPPORT_EMAIL=support@yourcompany.com
Formbricks
オープンソースのアンケート・フォーム・ユーザーフィードバック収集プラットフォームです。GitHubスター11k+。Typeform代替として、条件分岐ロジック・NPS調査・インターセプトサーベイ(アプリ内での特定行動後にポップアップ表示)・フォームビルダーを提供します。Next.jsアプリへのSDK埋め込みでユーザー行動に基づいたサーベイのトリガーが可能です。
// FormbricksをNext.jsアプリに統合
// 特定ページ訪問時にNPSサーベイを表示
import formbricks from "@formbricks/js/website";
// _app.tsx または layout.tsx で初期化
formbricks.init({
environmentId: "your-environment-id",
apiHost: "https://formbricks.yourcompany.com",
});
// ユーザーの属性を設定(セグメンテーション用)
formbricks.setUserId("user-123");
formbricks.setAttribute("plan", "pro");
formbricks.setAttribute("company", "Acme Corp");
// カスタムアクションをトリガー(Formbricksのアクションフィルターと連携)
formbricks.track("purchase_completed");
// → Formbricksの設定で「purchase_completedをトリガーとして購入後NPS調査を表示」を設定
機能比較表
| 比較項目 | Cal.com | Rallly | Formbricks |
|---|---|---|---|
| 主な用途 | 1on1・チーム予約 | 日程調整投票 | アンケート・フォーム |
| Calendly代替 | ✅(最有力) | 部分的 | ❌ |
| Google Calendar連携 | ✅ | ❌ | ❌ |
| Zoom/Meet連携 | ✅ | ❌ | ❌ |
| チームスケジューリング | ✅ | ❌ | ❌ |
| アンケート機能 | ❌ | ❌ | ✅ |
| サインアップ不要 | ❌ | ✅ | ❌ |
| GitHub Stars | 35k+ | 4k+ | 11k+ |
スケジューリングと組み合わせて使えるビデオ会議ツールはCommunicationカテゴリ/categories/communicationにまとめています。採用スケジューリングにはHRカテゴリ/categories/hrの採用管理ツールも参照してください。
FAQ
Q. Cal.comとCalendlyの機能差はありますか?
A. Cal.comはCalendlyとほぼ同等の機能を提供します。Cal.comが優れている点: ①完全OSSでセルフホスト可能②APIが公開されており自動化・CRM連携が容易③ホワイトラベル(ブランドカスタマイズ)が標準④セルフホスト版は無制限のユーザー・イベントタイプ。Calendlyが優れている点: ①SaaSなのでインフラ管理不要②エンタープライズ向けの高度なアナリティクス③Salesforce統合が成熟④非テクニカルユーザーの初期設定が若干簡単。年間100回以上の商談予約があるチームにはCal.comのセルフホストがコスト面で圧倒的に有利です。
Q. Cal.comのGoogle Calendar連携の設定方法は?
A. Google Cloud ConsoleでOAuth 2.0クライアントIDを作成する必要があります。設定手順: ①Google Cloud Console > APIs & Services > Credentials > Create Credentials > OAuth client ID②アプリケーションタイプ: Web application③承認済みリダイレクトURI: https://cal.yourcompany.com/api/integrations/google-calendar/callbackを追加④クライアントIDとシークレットを.envのGOOGLE_CLIENT_IDとGOOGLE_CLIENT_SECRETに設定。設定後、Cal.comのSettings > Integrationsから「Google Calendar」を接続できます。
Q. Ralllyで日程調整リンクを作成する方法は?
A. Ralllyはサインアップ不要で使えます。①http://rallly.yourcompany.comにアクセス②「Create New Poll」をクリック③ポールのタイトルと説明を入力④候補日時を追加(カレンダーUIで選択)⑤作成後に共有URLを発行⑥参加者はURLにアクセスして名前を入力し参加可能な日時に○×を選択⑦主催者はダッシュボードで集計を確認。Googleフォームとの違いは日時選択UIが最適化されていて視覚的にわかりやすい点です。
Q. Formbricksのインターセプトサーベイはどのように実装しますか?
A. フロントエンドSDKを使って特定のユーザー行動後に自動でサーベイを表示できます。実装例(購入完了後にNPS調査):
// 購入完了ページのコンポーネント
"use client";
import { useEffect } from "react";
import formbricks from "@formbricks/js/website";
export function PurchaseSuccess({ orderId }: { orderId: string }) {
useEffect(() => {
// 購入完了イベントをトリガー
formbricks.track("purchase_completed", { order_id: orderId });
}, [orderId]);
return <div>ご購入ありがとうございます!</div>;
}
// Formbricksのダッシュボードで「purchase_completedイベント後にNPS表示」ルールを設定
まとめ
| ユースケース | 推奨ツール |
|---|---|
| Calendly代替・商談予約 | Cal.com |
| 複数人の日程調整 | Rallly |
| アンケート・NPS調査 | Formbricks |