← All Projects

GAS会員制サービス自動化(GAS Membership Automation)

GAS×Claude APIによる会員制サービス運営自動化。5業務フローDemo+異常処理対応。

GAS Claude API Stripe Slack Google Spreadsheet clasp
Category
業務自動化
Development Period
5日
Responsibilities
要件分析 / アーキテクチャ設計 / Service層設計 / 全Demo実装 / 異常処理設計 / テスト /ドキュメント作成

概要

Google Apps Script(GAS)を基盤に構築した会員制サービス運営の業務自動化システム。入会・決済・AI分析・イベント運営・KPI管理までを統合し、Google Workspace上で一元管理できる。

対象ユーザー

  • 会員制サービスを運営する中小企業・コミュニティ
  • 入会受付・決済管理・会員通知を手作業で行っている運営者
  • AIを活用して会員マッチングや月次レポートを自動化したい事業者

Demo / GitHub

🔗 コピーして試す | GitHub

スクリーンショット

START
START HERE — 操作手順・Demo一覧・API設定説明
会員マスタ
会員マスタ — 会員情報・ステージ・バッジ・業界タグ管理
実行ログ
実行ログ — 全操作の統一ログ(モジュール・アクション・ステータス)
ダッシュボード
ダッシュボード — 会員KPI・Stage分布・Chapter分布・Badge分布

開発背景

クラウドソーシングの案件で、会員制サービスの運営自動化(入会・決済・AI分析・イベント・KPI管理の23機能)が求められた。23機能を個別に見せるのではなく、5つの業務フローに整理してService層で統合する設計を提案し、Demoとして全フローが動作するプロトタイプを開発した。

解決した課題

  • 入会申込→DB登録→Slack通知→Welcomeメール送信を一連の処理として自動化
  • Claude APIによる会員マッチングレポートと月次レポートの自動生成
  • Stripe Webhook連携による決済ステータスの自動管理
  • イベント参加者のCSV取込からAI席割り提案・リマインド送信までを自動化
  • 全操作の実行ログとKPIダッシュボードで運営状況を可視化

主な機能

Demo01: 会員ライフサイクル

  • Google Form → 会員DB自動登録 → Slack通知 → Welcomeメール送信
  • 会員ステージ自動更新(入会日数ベース)/ バッジ自動付与(紹介数ベース)

Demo02: AI自動レポート

  • Claude APIによるAIマッチングレポート生成
  • 月次KPIレポート自動生成・全会員への一括配信

Demo03: 決済自動化

  • Stripe Webhook受信による決済状態の自動同期(checkout / invoice / subscription)
  • 決済ステータス自動更新 → Slack通知 → 領収メール送信
  • 解約処理・決済失敗時の自動対応

Demo04: イベント運営

  • Peatix CSV取込 → イベント・参加者DB登録
  • Claude APIによるAI席割り提案
  • リマインドメール・フォローアップメール送信

Demo05: 運営ダッシュボード

  • KPI自動集計(会員数推移・月次成約数・累計成約額)
  • スプレッドシート内グラフの自動生成・更新
  • システム全体の実行ログ一覧

共通機能

  • カスタムメニューUI(スプレッドシート上の管理者操作メニュー)
  • 異常処理デモ(5ケース:未入力・API認証エラー・不明ID・参加者0名・データ0件)
  • デモデータリセット機能

使用技術

  • バックエンド: Google Apps Script(GAS)
  • AI: Claude API (Anthropic)
  • 決済: Stripe API / Webhook
  • 通知: Slack API / GmailApp
  • データ管理: Google Spreadsheet(会員DB・ログ・レポート・KPI)
  • フォーム: Google Forms
  • デプロイ: clasp(GAS CLI)

設計上の工夫

  • Service層アーキテクチャ: 共通処理(会員管理・通知・AI・決済・イベント)をServiceとして分離し、各業務フローはServiceを組み合わせるだけで構築できる構成とした
  • 設定の2層構成: APIキーはPropertiesService(セキュリティ)、業務設定(ステージ進級日数・バッジ閾値等)はスプレッドシート(非エンジニアでも変更可能)に分離し、運用性とセキュリティを両立

AI活用の工夫

  • AIの役割を限定: AIは会員マッチングレポート生成・月次KPIレポート生成・イベント席割り提案の3つのみを担当。会員管理・決済処理・通知送信・ログ記録は通常のプログラムで実装
  • 構造化プロンプト: 会員情報(業界タグ・ステージ・Chapter)を構造化データとしてプロンプトへ渡し、マッチング精度を向上。レポートはMarkdown形式で出力し、メール本文にそのまま利用可能
  • エラーハンドリング: Claude API接続失敗時はSlack通知+ログ記録で異常を即座に把握。APIキー未設定時は明確なエラーメッセージを表示

アーキテクチャ

Google Form / Stripe Webhook / Peatix CSV
      │
      ▼
Google Apps Script(バックエンド)
      │
 ┌────┴────────────────────┐
 │     Service層            │
 │ ├─ MemberService         │
 │ ├─ NotificationService   │
 │ ├─ AIService             │
 │ ├─ PaymentService        │
 │ └─ EventService          │
 ├─────────────────────────┤
 │     外部サービス          │
 │ ├─ Claude API            │
 │ ├─ Stripe                │
 │ ├─ Slack                 │
 │ └─ Gmail                 │
 ├─────────────────────────┤
 │     共通基盤              │
 │ ├─ Config(設定管理)     │
 │ ├─ Logger(統一ログ)     │
 │ └─ Triggers(トリガー)   │
 └─────────────────────────┘
      │
      ▼
Google Spreadsheet
├─ 会員マスタ
├─ 決済履歴
├─ マッチングレポート
├─ イベント / 参加者
├─ KPI / ダッシュボード
├─ ログ
└─ 設定

開発周期

5日

担当範囲

要件分析 / アーキテクチャ設計 / Service層設計 / 全Demo実装 / 異常処理設計 / テスト / ドキュメント作成

成果・実現したこと

  • 23機能の業務要件を5つの業務フローに整理し、共通のService層で統合する設計を提案・実装した
  • 全5つのDemoと異常処理5ケースのテストを完了し、正常系・異常系ともに動作確認済み
  • Service層の再利用により、Demo01で作成したMemberService・NotificationServiceをDemo02〜05全てで共有。新機能追加時の実装コストを削減

想定導入効果

  • 入会受付業務の自動化
  • 会員レポートの自動生成・配信
  • 決済管理の自動化
  • イベント運営の効率化
  • KPIによる運営状況の可視化

開発で直面した課題と解決方法

  • 23機能の整理: クライアントの要件(23機能)を「会員」「AI」「決済」「イベント」「ダッシュボード」の5業務フローに再分類し、機能間の依存関係を整理。Service層で共通化することで、各Demoの実装を「Serviceの組み合わせ」に単純化した
  • Stripe Webhook検証: GASのdoPost()でStripe Webhookを受信する際、署名検証とイベント種別判定を実装し、不正リクエストを防止

このプロジェクトで学んだこと

  • クライアントの機能一覧をそのまま実装するのではなく、業務フローに再構成してから設計することで、共通化の余地が見え、実装量を大幅に削減できることを学んだ
  • Google Workspace(GAS・Spreadsheet・Forms・Gmail)を活用することで、小〜中規模の業務システムをサーバーレスかつ低コストで構築できることを実感した
  • 異常処理のデモを用意することで、正常系だけでなくエラー時の挙動まで提示でき、クライアントの信頼獲得に繋がることを実感した