Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 22 additions & 9 deletions source/integrations-guide/zoom.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Connect Zoom to Mattermost
:start-after: :nosearch:


Reduce friction and time lost to coordinating meetings and switching between apps by integrating Zoom with Mattermost. Make it easy for your teams to start both spontaneous video calls directly from Mattermost channels.
Reduce friction and time lost to coordinating meetings and switching between apps by integrating Zoom with Mattermost. Make it easy for your teams to start both spontaneous video calls directly from Mattermost channels. Receive Zoom cloud recordings and transcripts directly in Mattermost once they're available.

Deploy
------
Expand Down Expand Up @@ -37,7 +37,7 @@ Zoom supports OAuth authentication, and there are 2 types of OAuth Zoom Apps you
5. Choose **Admin-managed app** as the app type.
6. Next you'll find your **Client ID** and **Client Secret**. Please copy this as these will be needed when you set up Mattermost to use the plugin.
7. Enter a valid **Redirect URL for OAuth** \(`https://SITEURL/plugins/zoom/oauth2/complete`\) and add the same URL under **Add Allow List**. Note that `SITEURL` should be your Mattermost server URL.
8. To add user scopes to the app, select **Scopes**, and add the following scopes: ``meeting:read:meeting:admin``, ``meeting:write:meeting:admin``,and ``user:read:user:admin``.
8. To add user scopes to the app, select **Scopes**, and add the following scopes: ``meeting:read:meeting``, ``meeting:write:meeting``, ``user:read:user``, ``cloud_recording:read:recording``, ``archiving:read:list_archived_files``.

.. tab:: User-Managed

Expand All @@ -50,18 +50,19 @@ Zoom supports OAuth authentication, and there are 2 types of OAuth Zoom Apps you
5. Choose **User-managed app** as the app type.
6. Next you'll find your **Client ID** and **Client Secret**. Please copy this as these will be needed when you set up Mattermost to use the plugin.
7. Enter a valid **Redirect URL for OAuth** \(`https://SITEURL/plugins/zoom/oauth2/complete`\) and add the same URL under **Add Allow List**. Note that `SITEURL` should be your Mattermost server URL.
8. To add user scopes to the app, select **Scopes**, and add the following scopes: ``meeting:read:meeting``, ``meeting:write:meeting``,and ``user:read:user``.
8. To add user scopes to the app, select **Scopes**, and add the following scopes: ``meeting:read:meeting``, ``meeting:write:meeting``, ``user:read:user``, ``cloud_recording:read:recording``, ``archiving:read:list_archived_files``.

Configure webhook events
~~~~~~~~~~~~~~~~~~~~~~~~

When a Zoom meeting ends, the original post shared in the channel can be automatically changed to indicate the meeting has ended and how long it lasted. To enable this functionality, create a webhook subscription in Zoom that tells the Mattermost server every time a meeting ends. The Mattermost server then updates the original Zoom message.

1. While editing the app in Zoom, select **Access** under the **Features** tab on the left.
2. Select **Add New Event Subscription**, and give it a name, such as ``Meeting Ended``.
3. Enter a valid **Event notification endpoint URL** ``https://SITEURL/plugins/zoom/webhook?secret=WEBHOOKSECRET``, replacing ``SITEURL`` with your Mattermost URL. ``WEBHOOKSECRET`` is generated during `Mattermost configuration <#mattermost-configuration>`__.
4. Select **Save** to save the webhook configuration.
5. Copy the **Secret Token** value at the top of the page for use in the next section.
2. Select **Add New Event Subscription**, and give it a name, such as ``Zoom for Mattermost``.
3. Select the **Add Events** button and add: **All Recordings have completed**, **Recording Transcript files have completed**, **Start Meeting**, and **End Meeting**.
4. Enter a valid **Event notification endpoint URL** ``https://SITEURL/plugins/zoom/webhook?secret=WEBHOOKSECRET``, replacing ``SITEURL`` with your Mattermost URL. ``WEBHOOKSECRET`` is generated during `Mattermost configuration <#mattermost-configuration>`__.
5. Select **Save** to save the webhook configuration.
6. Copy the **Secret Token** value at the top of the page for use in the next section.

Mattermost configuration
~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -93,7 +94,14 @@ Enable

Notify your teams that they can `connect their Zoom accounts to Mattermost <#usage>`__.

Use
To subscribe a channel to a recurring Zoom meeting, use the following slash command: ``/zoom subscription add [meeting ID]``. The channel will receive a notification when the meeting starts, along with an access link. If cloud recordings are enabled and the meeting was recorded, the recording and transcript are posted as replies to the initial message once they are available.

Upgrade
-------

We recommend updating this integration when new versions are released. Generally, updates are seamless and don't interrupt the user experience in Mattermost. Visit the `Releases page <https://github.com/mattermost/mattermost-plugin-zoom/releases>`__ for information on the latest release, previous releases, and compatibiilty considerations.
Comment on lines +100 to +102
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This message was present in the original PR so I've kept it as-is, not sure if we'd really like to keep it or not though


Usage
-----

You need a paid Zoom account to start a Zoom call within Mattermost. The first time you create a Zoom meeting, you may be prompted to connect your account. Follow the instructions to connect your Zoom account using your credentials.
Expand All @@ -104,7 +112,12 @@ Join the meeting by selecting the call invitation in the channel.

Run the ``/zoom settings`` slash command to set your preference for using your Zoom personal meeting ID as a meeting host. You can choose to always use your personal meeting ID, always use a new unique meeting id, or set Mattermost to prompt you for your preference each time you start a call.

Additional slash commands:
Subscribe a Mattermost channel to a recurring Zoom meeting with ``/zoom subscription add [meeting ID]``. Cloud recordings and transcripts must be enabled in your paid Zoom account in order to receive them in Mattermost. Once enabled, you'll receive a notification in Mattermost when the recording and transcript are available for recorded meetings.

If you create a new meeting using the Zoom button in the Mattermost RHS, then the recording and transcript are similarly posted as replies to the initial message once they are available, if cloud recordings are enabled and the meeting was recorded.

Get help
--------

- ``/zoom help`` - Display available commands
- ``/zoom channel-settings`` - Set whether meetings in the current channel use your personal meeting ID or unique meeting ID
Expand Down