# Zoom Schedulerの解説

<div data-with-frame="true"><img src="https://content.gitbook.com/content/ctBXUMeBy4rtLMmMkKRG/blobs/NbWLNJpZ4FY0FWhVblbI/Unknown%20image" alt="Zoom Workplaceアプリ内でのスケジューラーのワンオフミーティングの管理。"></div>

### Zoomスケジューラーの概要

このドキュメントは、Zoomスケジューラーの技術的な概要を提供し、そのアーキテクチャ、データ取り扱いの慣行、および統合機能を網羅します。本エクスプレイナーは、組織内でスケジューラーを評価または導入するIT管理者、セキュリティチーム、および技術的意思決定者を対象としています。

#### <mark style="color:青;">**Zoomスケジューラーは、予約可能な時間枠を提供する必要があるプロフェッショナル向けに設計された予定管理製品です**</mark>

Zoomスケジューラーは、組織外の人と空き状況を共有できるようにすることで、予約体験を簡素化する予定管理製品です。営業チーム、採用担当者、コンサルタント、カスタマーサクセスマネージャーなど、予約可能な時間枠を提供する必要があるプロフェッショナル向けに設計されています。Zoomスケジューラーは、相互に都合の良い時間を見つけるためのやり取りを防ぎます。

スケジューラーは互換性のあるカレンダーサービスと連携して空き状況を表示し、予約が入った際にイベントを作成します。1対1のミーティング、チームスケジュール、外部参加者が都合のよい時間を選べる可用性ポーリングなど、いくつかのミーティング形式をサポートします。

次の図はZoomスケジューラーの動作概要を示しています：

<div data-with-frame="true"><img src="https://content.gitbook.com/content/ctBXUMeBy4rtLMmMkKRG/blobs/2wMHYMc5aNIgMdpL6Yi0/Unknown%20image" alt="Zoomスケジューザーサービスの概要。"></div>

#### <mark style="color:青;">ZoomスケジューラーとZoomのカレンダー連携は、用語が置き換え可能に使われる場合でも目的が異なります</mark>

スケジューラーとカレンダー連携は目的が異なり、顧客が両者を同義で混同することがあります。

**Zoomのカレンダー連携** はZoomのエンドポイント間でカレンダーデータを同期します。カレンダーサービスをZoomと統合する方法は、組織のニーズに応じて簡単にも複雑にもなり得ます。以下の場合、 [エンタープライズカレンダーサービスをZoom Workplaceと統合すること](https://library.zoom.com/admin-corner/third-party-integrations/zoom-calendaring-integration-explainer)には特別なアクセス権と許可が必要です。しかしZoomスケジューラーでは、アクセスのレベルは限定されています。

**Zoomスケジューラー** は、組織内外の他者と公開表示および予約可能なスケジュールを作成できるようにします。カレンダーと統合して予約済みの予定を同期したり、カレンダーの競合を確認したりできます。カレンダーの空き/埋まりのステータスをオンデマンドで参照し、予約が入ると新しいイベントを書き込みます。既存のカレンダーを置き換えるのではなく、その上に重ねる別のレイヤーです。

スケジューラーを動作させるためにZoomのカレンダー連携を有効にする必要はありません。スケジューラーは独自のOAuth認可を通じてカレンダープロバイダーに直接接続します。

#### <mark style="color:青;">ZoomスケジューラーはZoom Workplace Businessでライセンスされていますが、アドオンとして購入することもできます</mark>

Zoomスケジューラーはライセンス製品です。Zoom WorkplaceのBusiness以上の階層に含まれるか、他のプラン向けにスタンドアロンのアドオンとして利用可能です。

#### <mark style="color:青;">Zoomスケジューラーを有効化する利点は何ですか？</mark>

* **外部へ空き状況を共有** カレンダーの詳細を公開せずに：招待者にはイベントのタイトルや説明ではなく、空き時間枠が表示されます
* **スケジュール調整の摩擦を低減** ミーティング時間を見つけるためのメールのやり取りを排除することで
* **自動競合検出** 二重予約を防ぐのに役立ちます
* **カレンダーイベントが自動作成される** 誰かが時間を予約すると、Zoom、Microsoft Teams、Google Meet、および現地（オンサイト／対面）を含むプラットフォームや場所を横断してミーティングの詳細が含まれるイベントが作成されます
* **複数の予約タイプをサポート** チーム間での調整スケジューリングのための「全ホスト空き」や「任意のホスト空き」などを含みます
* **ノーショーを減らし顧客との関与を高めるのに役立つ** リマインダーやフォローアップメールなどのメールやSMSの自動化機能により

#### <mark style="color:青;">どのカレンダープロバイダーがサポートされていますか？</mark>

Zoomスケジューラーは次のカレンダーサービスと互換性があります\*：

* **Microsoft 365**：クラウドホストされたExchange Onlineのカレンダー
* \*\*Google Workspace：\*\*Googleカレンダー
* **Zoomメール＆カレンダー**
* ZoomスケジューラーのiCloudカレンダー対応は現在ベータであり、本記事の範囲外です

#### <mark style="color:青;">ZoomスケジューラーにはWeb、Zoom Workplace、およびZoomモバイルアプリからアクセスできます</mark>

<div data-with-frame="true"><img src="https://content.gitbook.com/content/ctBXUMeBy4rtLMmMkKRG/blobs/iE64U242VneFkjbeCOgY/Unknown%20image" alt="Zoomスケジューラーで予定を予約しているユーザー。"></div>

ユーザーは次の方法でZoomスケジューラーにアクセスできます：

* **Webブラウザ** ZoomのWebポータル経由で
* **Zoom Workplaceアプリケーション** デスクトップ上で
* **Zoomモバイルアプリ** iOSおよびAndroidで（現在は限定的な読み取り機能のみサポート）

**モバイルのセキュリティ：**

モバイル版はデスクトップアプリと同じデータフローを使用します。モバイルアプリは認証済みのWebViewにスケジューラーページを読み込みます。WebViewはすべてのリクエストをHTTPS経由でZoomサーバーに送信します。WebViewがネイティブのデバイス機能を呼び出す必要がある場合はpostMessageを使用し、ネイティブ層は任意のアクションを実行する前にメッセージの発信元を検証します。

**外部参加者のアクセス：**

外部参加者はホストが共有した予約ページリンクを通じてスケジューラーにアクセスします。これらのリンクはWebブラウザで開き、参加者がZoomアカウントやZoom Workplaceアプリを持っている必要はありません。

### データの取り扱いとセキュリティ

#### <mark style="color:青;">ZoomスケジューラーはOAuth 2.0とバックエンドAPIを使用してカレンダーデータにアクセスします</mark>

ZoomスケジューラーはOAuth 2.0認可を通じてカレンダーデータにアクセスします：

1. ユーザーはWebポータルまたはZoomアプリを通じてZoomスケジューラーにアクセスします。
2. Zoomの内部サービスはホストのカレンダープロバイダーからアクセストークンを取得します。
3. 許可が与えられると、スケジューラーはホストのカレンダーの空き状況を表示し、イベントを作成または変更できます。
4. スケジューリング操作が発生すると、スケジューラーはカレンダープロバイダーからライブの空き状況を更新するためにAPIリクエストを行います。

Zoomスケジューラーアプリケーションはカレンダーサービスに直接接続しません。すべてのカレンダーリクエストはAPI経由でZoomのバックエンドサービスを通って流れます。

#### <mark style="color:青;">OAuthトークンは保存時に暗号化され、1時間後に期限切れとなり、ユーザーによって取り消すことができます</mark>

スケジューラーはMicrosoftおよびGoogleとのカレンダー統合に標準的なOAuth 2.0を使用します。

**トークンの保存：**

* アクセストークンはRedisキャッシュに保存されます
* リフレッシュトークンは暗号化されMongoDBに保存されます
* トークンは256ビットAES-GCM暗号化を使用して保存されます

**トークンのリフレッシュ：**

アクセストークンは約1時間で期限切れになります。トークンが期限切れになり、ユーザーがカレンダーアクセスを必要とする操作を行った場合、Zoomは保存されたリフレッシュトークンを使用してアクセストークンを自動的に更新します。このプロセスは自動であり、ユーザーの介入は不要です。

**トークンの取り消し：**

ユーザーはZoomのWebポータルを通じていつでもスケジューラーからカレンダーの接続を切断でき、これによりスケジューラーのアクセスは取り消されます。カレンダープロバイダーの管理者も、それぞれの管理コンソール（Microsoftの場合はEntra ID、Googleの場合はGoogle Workspace管理）を通じてアクセスを取り消すことができます。

#### <mark style="color:青;">Zoomスケジューラーはどのようなカレンダー情報にアクセスしますか？</mark>

Zoomスケジューラーはあなたのカレンダーの **空き/埋まりステータス** を取得して可用性を判断します。この情報を使用して参加者に予約可能な時間枠を表示します。

スケジューラーが作成していないカレンダーイベントについて、スケジューラーは以下をアクセスまたは読み取りしません：

* イベントのタイトル
* イベントの説明や本文の内容
* 参加者リスト
* 添付ファイル

参加者が時間を予約すると、スケジューラーは新しいカレンダーイベントを作成します。参加者が予約を変更すると、スケジューラーは自分が作成したイベントを更新します。スケジューラーは自分が作成したイベントのみを管理し、他のカレンダーイベントを変更することはありません。

#### <mark style="color:青;">Zoomスケジューラーはどのデータを保存しますか？</mark>

スケジューラーのデータ保存は限定的で特定のものに限られます。

* 予約ページ名、リンク、説明、場所、リマインダー、カレンダー招待、キャンセルポリシー、参加者、および参加者への質問。
* 参加者からの予約回答。
* 可用性ポールとその説明。
* スケジューラールーティングフォームの名前、説明、およびフォームの質問。
* スケジューラーユーザープロファイル画像、アップロードされたブランディングロゴ、および通知コンテンツ。
* スケジューラーの代理管理情報。
* スケジューラーの決済統合情報。

#### <mark style="color:青;">現在、Zoomスケジューラーはカスタマーマネージドキー（CMK）をサポートしていません</mark>

スケジューラーは現在、保存データの暗号化にZoomカスタマーマネージドキーをサポートしていません。CMK要件のある組織は、導入判断にこれを考慮する必要があります。

#### <mark style="color:青;">Zoomスケジューラーはどのようにユーザーのプライバシーを保護しますか？</mark>

スケジューラーはホストがOAuth認可を介して接続されたカレンダーへのアクセスをスケジューラーに付与した場合にのみ機能します。

例えば、CEOが自分のカレンダーをスケジューラーに接続していない場合、チームのスケジューリングシナリオでその人の空き状況は表示されません。各ユーザーは個別にスケジューラーにカレンダーへのアクセスを許可する必要があります。

これは以下を意味します：

* ユーザーは自分の空き状況をスケジューラー経由で表示するかどうかを制御できます
* 既存のカレンダーの権限管理は変更されません
* ユーザーが明示的にカレンダーを接続するまで、カレンダーデータにはアクセスできません

**予約ページの可視性：**

予約ページは固有のURLを介して公開アクセス可能です。ユーザーはプライバシーを高めるために予約ページの可視性を変更できます。たとえば、アクティブまたは非アクティブにすることができます。さらに、各予約ページには「公開予約ページから非表示にする」という追加オプションがあり、どのページを外部に表示するかを細かく制御できます。

**カレンダーの可用性（空き/埋まりステータス）は、以下の場合にのみリアルタイムで取得されます：**:

* ユーザーがワンオフのミーティングまたは可用性ポールを作成する時
* 参加者が予約リンクを開いて利用可能な時間を表示する時
* 参加者が時間を予約または変更する時

#### <mark style="color:青;">データは移送中にどのように保護されますか？</mark>

Zoomサービスとカレンダープロバイダー間のすべての通信はTLS 1.2を使用して暗号化されます。

Zoomスケジューラーは標準のZoomポート443接続を使用し、他に特別なネットワーク要件はありません

スケジューラーは標準的なZoomアクセス以外に特別なファイアウォールやネットワーク要件はありません。すべての接続はポート443のHTTPSを使用します。基本要件についてはZoomの一般的な [ネットワークおよびファイアウォールのドキュメント](https://support.zoom.us/hc/en-us/articles/201362683-Network-firewall-or-proxy-server-settings-for-Zoom) を参照してください。

### プロバイダ固有の詳細

Zoomスケジューラーは次のカレンダーサービスおよび統合と互換性があります。

#### <mark style="color:青;">Zoomスケジューラーはさまざまな一般的なカレンダープロバイダーで動作します</mark>

<div data-with-frame="true"><img src="https://content.gitbook.com/content/ctBXUMeBy4rtLMmMkKRG/blobs/AjUzJH4jfapNbEq4RL9Q/Unknown%20image" alt="ZoomスケジューラーはZoomメール＆カレンダーを含むいくつかのカレンダーアプリケーションに接続します。"></div>

前述のとおり、Zoomスケジューラーは可用性の読み取りとイベントの作成のために次のサービスに接続できます：

* **Microsoft 365**：OutlookカレンダーのようなクラウドホストされたExchange Onlineのカレンダー
* **Google Workspace**：Googleカレンダー
* **Zoomメール＆カレンダー**

{% hint style="warning" %}
ZoomスケジューラーのiCloudカレンダー対応は現在ベータであり、本記事の範囲外です。
{% endhint %}

{% hint style="info" %}
オンプレミスのExchange Serverはサポートされていません。
{% endhint %}

#### <mark style="color:青;">ZoomスケジューラーはMicrosoft 365とMicrosoft Graphアプリを使用して統合します</mark>

スケジューラーはZOOM-GRAPHと呼ばれるMicrosoft Graphアプリケーションを使用してユーザーのカレンダーに接続します。これは委任された権限を持つOAuth 2.0によるユーザーレベルの統合であり、各ユーザーが個別に自分のカレンダーへのアクセスを許可します。

スケジューラーはアプリケーション権限やサービスアカウントモデルを使用しません。ユーザーに代わってカレンダーアクセスを付与する管理者レベルの展開はありません。

**スケジューラーはどのような権限を必要としますか？**

その `ZOOM-GRAPH` アプリケーションは次のMicrosoft Graph API権限を要求します：

| スコープ                  | Microsoftの説明                                        | Zoomでの用途                                             |
| --------------------- | --------------------------------------------------- | ---------------------------------------------------- |
| `offline_access`      | アプリがアクセスを許可されたデータへのアクセスを、ユーザーが現在アプリを使用していない場合でも維持する | ユーザーがアクティブにスケジューラーを使用していない時にもリフレッシュトークンへのアクセスを可能にします |
| `openid`              | ユーザーのサインイン                                          | ユーザーを認証しアクセストークンを発行する（サインインのみ、リアルタイムアクセスではない）        |
| `Calendars.ReadWrite` | ユーザーのカレンダーへのフルアクセス                                  | カレンダーイベントの作成、読み取り、更新、および削除                           |
| `Calendars.Read`      | ユーザーがアクセスできるすべてのカレンダーのイベントを読み取る、代理および共有カレンダーを含む     | 共有カレンダーの可用性を同期する                                     |

**ZOOM-GRAPHアプリケーションはどのように識別できますか？**

その `ZOOM-GRAPH` ユーザーがスケジューラーを承認した後、アプリケーションはEntra IDのエンタープライズアプリケーションディレクトリに表示されます。エンタープライズアプリケーション一覧で「ZOOM-GRAPH」を検索して見つけることができます。

#### <mark style="color:青;">ZoomスケジューラーはOAuth 2.0を使用してGoogleカレンダーと統合します</mark>

スケジューラーはユーザーレベルの認可でOAuth 2.0を使用してGoogleカレンダーに接続します。

Google Workspaceカレンダーユーザーには、次の権限が必要です：

| スコープ                  | Googleの説明                             | Zoomでの用途                                                        |
| --------------------- | ------------------------------------- | --------------------------------------------------------------- |
| `Calendars.Read`      | 一連のカレンダーの空き/埋まり情報を返します。               | <ul><li>空き/埋まりステータスを確認する</li><li>ユーザーの埋まっているイベントを表示する</li></ul> |
| `Calendars.Read`      | 指定されたカレンダーのイベントを返します。                 | 現在予定されているイベントが他のカレンダーイベントと重複しているかを確認する                          |
| `Calendars.Read`      | カレンダーのメタデータを返します。                     | <ul><li>統合設定</li><li>認可を確認する</li></ul>                          |
| `Calendars.Read`      | ユーザーのカレンダーリストにあるカレンダーを返します。           | 統合設定                                                            |
| `Calendars.Read`      | Eventsリソースの変更を監視します。                  | カレンダー上のイベントキャンセルをスケジューラーに同期開始する                                 |
| `Calendars.Read`      | このチャネルを通じてリソースの監視を停止します。              | カレンダー上のイベントキャンセルの同期を停止する                                        |
| `Calendars.ReadWrite` | イベントを作成します。                           | 特定のカレンダーにイベントを追加する                                              |
| `Calendars.ReadWrite` | イベントを更新します。このメソッドはパッチセマンティクスをサポートします。 | 特定のカレンダーのイベントを変更する                                              |
| `Calendars.ReadWrite` | イベントを削除します。                           | 特定のカレンダー上の予約済みイベントを削除する                                         |

#### <mark style="color:青;">Zoomスケジューラーはさまざまなミーティングプラットフォーム用にミーティングを作成できます</mark>

予定が予約されると、スケジューラーは次のプラットフォームでミーティングを作成できます：

* **Zoomミーティング**
* **Google Meet**
* **Microsoft Teams**

#### <mark style="color:青;">サードパーティの統合は追加のスケジューリング機能を提供します</mark>

スケジューラーは拡張機能のために次のサービスと接続できます：

* **Stripe**：予約の決済収集
* **Zapier**：ワークフローの自動化
* **Salesforce**：スケジュールされたイベントをSalesforceと同期

### 付録

#### <mark style="color:青;">ZoomスケジューラーはTwilio経由で組み込みのコンテンツ保護を備えたSMS通知を送信します</mark>

ZoomスケジューラーはTwilioというサードパーティのクラウドコミュニケーションプラットフォームを使用して参加者にSMS通知を配信します。メッセージはZoomが管理する電話番号のプールから送信されます。

**メッセージ処理と保護対策**

配信前に、ZoomはすべてのSMS通知を内部の安全性、スパム、およびフィッシングフィルタを通して処理します。さらに、ZoomはSMS通知テンプレートに機密情報が追加されるのを防ぐためにAIベースの検出を使用します。Twilioは追加のフィルタリングを適用し、スパムと見なしたメッセージをブロックする場合があります。Zoomは、検出されたスパムやポリシー違反の割合が高いアカウントについてSMS機能を無効にする場合があります。

**参加者の同意と管理**

参加者は予約時にSMS通知の受信にオプトインする必要があります。参加者は任意のスケジューラーSMSメッセージに返信してSMSの設定を管理できます：

* **STOP** — テキストメッセージの受信をオプトアウト
* **START** — テキストメッセージの受信を再度オプトイン
* **HELP** — ヘルプ情報を受け取る

返信は参加者がメッセージを受信したのと同じ番号に送信する必要があります。

#### <mark style="color:青;">Zoomスケジューラーの通知はメールまたはZoomモバイルアプリのプッシュで提供されます</mark>

<div data-with-frame="true"><img src="https://content.gitbook.com/content/ctBXUMeBy4rtLMmMkKRG/blobs/jT70B7UnIZgIGjt66AGX/Unknown%20image" alt="管理者が利用できるZoomスケジューラーの通知オプション。"></div>

スケジューラーは予約確認とリマインダーを次の方法で配信します：

* **メール**：ホストと参加者の両方への確認およびリマインダーメール
* **プッシュ通知**：Zoomモバイルアプリをインストールしているホストへのモバイルアプリ通知
* **SMS** Twilio経由で。

#### <mark style="color:青;">Zoomスケジューラーは米国およびEUのクラスターで利用可能です</mark>

Zoomスケジューラーは現在、Zoomの米国ベースのクラスターにホストされる顧客およびZoomの欧州ベースのクラスター内で地域的に一般提供されています。

他のクラスターでホストされている組織は、Zoomのアカウントチームに利用可否を確認する必要があります。

#### <mark style="color:青;">現在の制限事項</mark>

次の機能は現在サポートされていません：

* **予約ページのSSOまたはパスワード保護**：予約ページは固有のURLを介して公開アクセス可能です
* **予約招待の添付ファイル**：予約ページの招待に添付ファイルを追加する方法はありません
* **カスタマーマネージドキー（CMK）**：スケジューラーは保存データの暗号化にCMKをサポートしていません
* **管理者レベルのカレンダー展開**：各ユーザーは個別にカレンダーを接続する必要があります。管理者はユーザーに代わってアクセスを付与できません
* **オンプレミスのExchange Serverサポート**：クラウドホストされたカレンダープロバイダーのみがサポートされています
* **SMSメッセージの長さ：** テキストメッセージは180文字に制限されています
* **SMSにURLは不可：** リンクを含むメッセージはブロックされ、配信されません
* **大規模イベントではSMSが無効：** 登録参加者が100名を超えるイベントにはSMSワークフローは送信されません
* **国際SMS配信：** 一部の国の電話事業者は厳しいフィルタを持ち、メッセージをブロックする場合があります

#### <mark style="color:青;">関連リソース</mark>

* [Zoomスケジューラープロダクトページ](https://www.zoom.com/en/products/appointment-scheduler/)
* [Zoomスケジューラーサポートドキュメント](https://support.zoom.com/hc/en/category?id=kb_category\&kb_category=9a27b21a8720391089a37408dabb35c5)
* [Zoomカレンダー連携エクスプレイナー](https://library.zoom.com/admin-corner/third-party-integrations/zoom-calendaring-integration-explainer)
* [Zoomのネットワークおよびファイアウォール要件](https://support.zoom.us/hc/en-us/articles/201362683-Network-firewall-or-proxy-server-settings-for-Zoom)
