💻 システム開発

SCALE_CRM_アポ音声自動保存_設定手順

最終更新 2026年08月12日 / 31_システム開発部/_SCALE_CRM_アポ音声自動保存_設定手順.md

SCALE CRM アポ音声の自動保存 — 設定手順

これが終わると:アポが取れた通話の録音が、Zoom から自動でドライブの
支援企業 / <案件名> / アポ取得音声 / <企業名> / に入り、
SCALE CRM のアポ獲得リスト「音声」列にリンクが自動で入る。
今の「Zoomphoneで探す → Driveに入れる → リンクを貼る」が全部なくなる。

所要 約15分(Zoom 5分 / Google 7分 / 案件登録 3分)。


使うもの

受け口のURL https://scale-lead-voice.y-ogushi.workers.dev/zoom/webhook
状態の確認 https://scale-lead-voice.y-ogushi.workers.dev/health

① Zoom の設定(約5分)

録音が終わったことを SCALE CRM に知らせるための設定。

  1. Zoom App Marketplace を開く(大串のアカウントでログイン)
  2. 右上 「Develop」→「Build App」
  3. 「Server-to-Server OAuth」 を選ぶ → Create
  4. アプリ名に SCALE CRM 音声連携 と入れて Create
  5. App Credentials の画面が出る。ここの3つを控える(あとで使う)
    - Account ID
    - Client ID
    - Client Secret
  6. 左メニュー 「Scopes」→「Add Scopes」 で次を追加
    - phone:read:admin(通話と録音を読む)
  7. 左メニュー 「Feature」→ Event Subscriptionsオン
    - Add Event Subscription →「Event notification endpoint URL」に
    https://scale-lead-voice.y-ogushi.workers.dev/zoom/webhook
    - Add EventsPhone → Recording Completedrecording_completed)にチェック
    - 同じ画面の Secret ●●●●●● を控える(あとで使う)
    -
    Validate** を押す → 緑のチェックが出れば成功
  8. 左メニュー 「Activation」→ Activate

Validate で失敗する場合 … Secret ●●●●●● をこちらに登録する前だと失敗する。
先に下の「④ 合鍵の登録」の1行目だけ実行してから、もう一度 Validate を押す。


② Google の設定(約7分)

ドライブへ音声を入れるための鍵を作る。

  1. Google Cloud Console を開く
  2. 上部のプロジェクト選択 → 「新しいプロジェクト」(名前は scale-crm-voice など)
  3. 左メニュー 「APIとサービス」→「ライブラリ」Google Drive API を検索して 有効にする
  4. 左メニュー 「APIとサービス」→「認証情報」 → 上部 「認証情報を作成」→「サービス アカウント」
    - 名前:scale-crm-voice
    - 作成して続行 → 権限はスキップ → 完了
  5. 作成したサービスアカウントをクリック → 「キー」タブ → 「鍵を追加」→「新しい鍵を作成」→ JSON
    - JSONファイルがダウンロードされる(この中身をあとで使う
  6. 同じ画面の メールアドレス〜@〜.iam.gserviceaccount.com)を控える

いちばん大事な手順(これを忘れると動かない)

ドライブ側で、このサービスアカウントに書き込み権限を渡す。

  1. ドライブで 支援企業 フォルダを開く
  2. 右クリック → 「共有」
  3. 上で控えた 〜@〜.iam.gserviceaccount.com を貼り付け
  4. 権限を 「編集者」 にして 送信

これで配下の案件フォルダ全部に書き込めるようになる。


③ 案件ごとのフォルダ登録(1案件30秒)

  1. SCALE CRM → 案件管理 → 対象案件の 編集
  2. 「アポ取得音声フォルダ(Google ドライブ)」 に、その案件の アポ取得音声 フォルダのURLを貼る
    - ドライブでそのフォルダを開いて、アドレスバーのURLをそのままコピペでOK
  3. 保存

登録済みにしたい案件(2026-08-12 時点):

案件 ドライブのフォルダ
RYS 支援企業 / RYS / アポ取得音声
チャネルワークス 支援企業 / チャネルワークス / アポ取得音声
結グループ_エアコン 支援企業 / 結グループ(エアコン)/ アポ取得音声
結グループ ドライブ側にフォルダが見当たらない → 作ってから登録
株式会社カロンジ 同上
TERASU 登録しない(自社案件のため対象外)

④ 合鍵の登録(こちらの作業・大串は値を渡すだけ)

①②で控えた値を Cloudflare の Secret に登録する。大串は値を伝えるだけでOK。

cd ~/dev/scale-lead/workers/voice
npx wrangler secret put ZOOM_SECRET●●●●●●      # ①-7 の Secret ●●●●●●
npx wrangler secret put ZOOM_ACCOUNT_ID        # ①-5 の Account ID
npx wrangler secret put ZOOM_CLIENT_ID         # ①-5 の Client ID
npx wrangler secret put ZOOM_CLIENT_SECRET     # ①-5 の Client Secret
npx wrangler secret put GOOGLE_SA_EMAIL        # ②-6 のメールアドレス
npx wrangler secret put GOOGLE_SA_KEY          # ②-5 のJSON内 private_key

⑤ 動作確認

  1. https://scale-lead-voice.y-ogushi.workers.dev/health を開く → 4項目が true になっていること
  2. テストで1本架電し、アポ獲得ステータスにする
  3. 通話終了の数分後、ドライブの該当フォルダに音声が入る
  4. SCALE CRM のアポ獲得リストの「音声」列に🎧が出る

最初は空撃ちで動くENABLE_UPLOAD=false)。
「どこへ・何という名前で入れるはずだったか」だけ記録され、ドライブには書き込まない。
1本流して紐づけが正しいことを確認してから、ENABLE_UPLOAD=true にして本稼働にする。


つまずきやすい所

症状 原因と対処
Zoom の Validate が通らない Secret ●●●●●● をこちらに登録する前。④の1行目を実行してから再度 Validate
ドライブに入らない サービスアカウントを 支援企業 フォルダに「編集者」で共有していない(②の最後の手順)
音声列が埋まらない その通話の相手番号が、アポ獲得の行の電話番号と一致していない(表記ゆれは吸収するが、番号自体が違うと結べない)
一部の通話だけ入らない アポが取れた通話だけを保存する設計(全通話を入れるとドライブが溢れるため)

関連

  • 受け口の実装: ~/dev/scale-lead/workers/voice/src/index.ts
  • 案件設定の欄: 案件編集 →「アポ取得音声フォルダ」(driveFolderId
  • 音声列: アポ獲得リスト(audioUrl
  • スタートカード: ~/dev/scale-lead/CLAUDE.md