SaaS

ZoomのレコーディングをBoxに保管させる

こんにちは、俊介です!

Workato触ってますか?

今回も需要ありそうなシステムをWorkatoで実装しましたので書いていきます。

今回作ったものは?

はい、今回はZoomのレコーディングが出来たら、Boxにアップロードする動きです。

このシステムって結構需要あると思うんです。

「Zoomのレコーディングを1週間以上保管したいなあ」と。

  • 手動でクラウドストレージに移動すればいいやん
  • lambdaでコード書いて自動化させたらいいやん

やり方はそのほかにもあると思います。でも手動だと大変だし、コード書くのも、得意な人以外はこれも大変。

じゃあどうするか、iPaaSに任せましょう。ということでWorkatoで実装します。

動きの流れ

  1. Zoomにてレコーディングが出来たらトリガーが発火
  2. レコーディングの詳細を取得
  3. レコーディングをWoraktoに一時的保管
  4. Boxにレコーディングをアップロード
  5. アップロード後、Zoom側に残ってるデータは削除

動作イメージ

  • カレンダーの予定

まずは、zoomを使っての打ち合わせをカレンダーに登録します。トリガー発火するための前準備ですね。

  • Zoomの管理画面

ここは打ち合わせが終わって、レコーディングファイルを生成中の画面です。

ファイルが出来ると、Woraktoが動き出します。(動作イメージの1番が動きます)

  • Boxの画面

これはレコーディングファイルがBoxに上がった後の画面です。動作イメージでいうと4番のところですね。

レシピの作り方

作る前に…

これ、すでにレシピ出来てるんです!!!

なので、すでに完成されてるレシピをインストールすれば8割できた状態で始めれます。

実装まで一瞬でできちゃいますね。

なぜかを簡単に説明するとWorkatoには、完成済のレシピを自由に選択してDLできるCommunity libraryなるものがあり、本件のレシピもそちらに共有されてます。Workato版Githubみたいなもんっすね。

レシピもたくさんあり、導入したらここを見てみるのもいい勉強になると思います。

注意点として使う際は、もちろん自社の環境に合わせて設定し直しててくださいね。レシピをインストールしたからと言ってそのままは使えません。

本ブログではここまでにしとき、本題にいきます。

レシピの全体像

全体はこんな感じです。

トリガー設定

Step1:レコーディングが出来たらトリガー発火するように設定する

  • Action:「New event」
  • Setup:
    • Event category:「Cloud recording」
    • Event:「Cloud recording completed」

アクション設定

Step2:レコーディングファイルをループ処理

  • Step1のRecording filesを設定
    • 複数ある場合を考慮して設定しています

Step3:エラーハンドリングの設定

Step4:Meeting IDからレコーディングの詳細を取得

  • Acrion:Get object by ID
  • Setup:
    • Event:Cloud recording
    • Meeting ID:Step2のループ処理してるMeeting IDを設定

Step5:レコーディングファイルをWoraktoにDL

  • Action:「Download cloud recording」
  • Setup:
    • Download URL:Step2のループ処理してるDownload URLを設定
    • Download token:Step1のDownload tokenを設定

Step6:Boxにファイルをアップロード

  • Action:Upload file using file contents
  • Setup:
    • File contents:Step5のFile contentsを設定
    • File size:Step5のFile sizeを設定
    • Destination folder:どこに保管するか指定
    • File name:なんでもいいので、ここではZoomのタイトルとしてStep5のTopicとMeeting IDを設定

Step7:エラーハンドリングの監視終了の場所

  • Step4 – Step6までのアクションを監視します

Step8:エラーが起きた時のアクションを設定

  • Action:Accumulate items to list
  • Setup:
    • List name:適当に名前を設定
    • List item fields:
      • Error:Step7のError typeを設定
      • Details:Step7のError messageを設定
      • Recording:Step2のIDを設定

Step9:特定のチャンネルにエラーメッセージを通知させる

  • Action:Post message
  • Setup:
    • Reply channel:飛ばしたいチャンネルを選択
    • Notification text:飛ばしたい内容を設定

Step10:Zoom内のレコーディングを削除

  • Action:Delete object
  • Setup:
    • Event:Cloud meeting recording
    • Meeting ID:Step2のループ処理してるMeeting IDを設定
    • Action:trash

最後に

今回はZoomのレコーディングをBoxに保管させる動きを作ってみました。

Community libraryにもすでにありますので、実装まで1日かからないと思います!

※置いてあるレシピはこちらから飛べます。

もちろん下記の運用に変更も可能です。

  • Box→Google DriveやAWS S3に変える
  • アップロードしたら、Slackに通知させる

例えば弊社の環境で言うと、お客様との打ち合わせレコーディングは別の特定フォルダに保管させて、Slackにてお客さんにURLと一緒に通知させたりとかも需要ありそうですね。

ぜひ、Workatoをお持ちの方でZoomをご利用の方はやってみてください!

以上、ここまで読んでいただきありがとうございました。

俊介

初めまして!新米エンジニアの丸林です!将来はスペシャリストと言えるように頑張ります!!少しでも皆様に良い情報をお届け出来るように心がけて行きますのでよろしくお願い致します!!