> ## Documentation Index
> Fetch the complete documentation index at: https://docs.refold.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Setup

> Connect to your Zoom app for OAuth.

To setup your Zoom app in Refold for OAuth, you will need the following credentials from your [Zoom Developer account](https://marketplace.zoom.us/user/build):

* Client ID
* Client Secret
* Secret Token
* Scopes

### Pre-requisites

1. Zoom Developer account. You can create one [here](https://zoom.us/signup#/signup).

### Required Settings

* **Mandatory Scopes**

1. user:read

<Info>If you haven't already created an app in Zoom, you'd need to create one.</Info>

### Configuring Callback URL for Zoom App

To use your Zoom app in Production, it needs to go through a review process. This process requires you to provide a callback URL with your domain name and not Refold's.

To create Callback URL with your domain:

* Create a **Proxy API** as Callback URL to Zoom.
* Go to your [`Apps catalog`](https://app.gocobalt.io/apps) in **Refold** > Search for `Zoom` > `Settings` > `Use your credentials` > `Callback Url`.
* Pass the API Requests received on the **Proxy API** to Refold's `Callback URL` from your server.

### Creating an app in Zoom

To create a Zoom app and acquire the above mentioned credentials, please follow the steps mentioned below:

1. Log in to your [Zoom Developer account](https://marketplace.zoom.us/user/build).
2. Click on `Develop` in the top right and select `Build App` button.

<img height="200" src="https://mintcdn.com/cobalt-55/PicQQg0XJq1JrBVB/images/Zoom/zoom_navigation.png?fit=max&auto=format&n=PicQQg0XJq1JrBVB&q=85&s=3168f067570a84d366ccbf26401099ca" alt="Navigation for App setup" data-path="images/Zoom/zoom_navigation.png" />

3. In the App, go to `Basic Information` in the side menu, scroll down and paste the Callback Url created by you under `OAuth Redirect URL` field.
4. Select the **mandatory scopes** in the **Scopes** section by clicking on `+ Add Scopes`, as provided in your Refold Zoom settings page and click on the `Done`.

<img height="200" src="https://mintcdn.com/cobalt-55/PicQQg0XJq1JrBVB/images/Zoom/zoom_config.png?fit=max&auto=format&n=PicQQg0XJq1JrBVB&q=85&s=dd0ee0c6b4ecdd693ec3af4b2cdd7b7f" alt="Setting up Zoom Developer app" data-path="images/Zoom/zoom_config.png" />

5. Go to the **Basic Information** section and copy the **Client ID** and **Client Secret** from the **App Credentials** section.

<img height="200" src="https://mintcdn.com/cobalt-55/PicQQg0XJq1JrBVB/images/Zoom/zoom_credentials.png?fit=max&auto=format&n=PicQQg0XJq1JrBVB&q=85&s=d58d3f235c7d4daa518ac28ec2084f37" alt="Getting Credentials" data-path="images/Zoom/zoom_credentials.png" />

6. Now go to `Access` option in the side menu under `Features` and copy the `Secret Token` given there.

<img height="200" src="https://mintcdn.com/cobalt-55/PicQQg0XJq1JrBVB/images/Zoom/zoom_token.png?fit=max&auto=format&n=PicQQg0XJq1JrBVB&q=85&s=efe0e05d22c45576771e31cba42733d0" alt="Getting Secret Token" data-path="images/Zoom/zoom_token.png" />

#### Configuring credentials in Refold

App settings page lets you configure the authentication settings for an `OAuth 2.0` based application. For your customers to provide you authorization to access their data,
they would first need to install your application. This page lets you set up your application credentials.

<img height="200" src="https://mintcdn.com/cobalt-55/PicQQg0XJq1JrBVB/images/Zoom/zoom-cobalt.png?fit=max&auto=format&n=PicQQg0XJq1JrBVB&q=85&s=e7d03c0e9670e52b09fd7d3314504ecc" alt="Setting up application client credentials" data-path="images/Zoom/zoom-cobalt.png" />

Provide the acquired Client ID and Client Secret under Settings of the app and save it.

#### Configuring Scopes

Refold lets you configure what permissions to ask from your users while they install your application. The scopes can be added or removed from the App settings page, under `Permissions & Scopes`
section.

For some applications Refold sets **mandatory scopes** which cannot be removed. Additional scopes can be selected from the drop down. Refold also has the provision to add any
custom scopes supported by the respective platform.

<img height="200" src="https://mintcdn.com/cobalt-55/PicQQg0XJq1JrBVB/images/Zoom/zoom_scopes.png?fit=max&auto=format&n=PicQQg0XJq1JrBVB&q=85&s=b88251644db7996f7c7a878d54f775f9" alt="OAuth Scopes" data-path="images/Zoom/zoom_scopes.png" />

Once the scopes has been added to the application in Refold, go to your [Zoom Developer account](https://marketplace.zoom.us/user/build) and update the scopes as added on Refold.

Select the OAuth App created for Refold > Click on `Scopes` under App Settings > Add the scopes as added in Refold by clicking `+ Add Scopes` > Click on `Done`.

<Warning>
  If you are facing scopes missing or invalid scope error. Make sure you are not passing any custom scope not supported by the platform. And, the scopes selected here are
  identical to the ones selected in the platform.
</Warning>

#### Actions and triggers

Once the above setup is completed, you can create orchestrations of your use-cases using Zoom actions and triggers. Following are the set of Zoom actions and triggers
supported by Refold.

<Tabs>
  <Tab title="Actions">
    <AccordionGroup>
      <Accordion title="Meeting">
        1. **List Meetings** - List all meetings in Zoom.
        2. **Create Meeting** - Create new meeting in Zoom.
        3. **Update Meeting** - Update a meeting in Zoom.
      </Accordion>

      <Accordion title="Meeting Recording">
        4. **Get Recordings** - Get meeting recordings in Zoom.
      </Accordion>

      <Accordion title="Users">
        5. **List Users** - List users in Zoom.
        6. **Create User** - Create a user in Zoom.
        7. **Delete User** - Delete a user in Zoom.
      </Accordion>

      <Accordion title="Others">
        8. **HTTP Request** - Make HTTP API calls to any Zoom documented REST APIs.
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Triggers">
    1. **Meeting Created** - Triggers when a meeting is created on Zoom.
    2. **Meeting Updated** - Triggers when a meeting is updated on Zoom.
    3. **Recording Transcript Files completed** - Triggers when recording transcript files are completed on Zoom.
  </Tab>
</Tabs>
