99 lines
2.9 KiB
Markdown
99 lines
2.9 KiB
Markdown
# Zoom Transcript Integration
|
||
|
||
Easily receive and automate Zoom meeting transcripts in Botpress for meetings hosted by specific Zoom users.
|
||
|
||
## How It Works
|
||
|
||
1. **Zoom meeting ends** → Zoom sends a webhook when transcript is ready.
|
||
2. **Integration filters `host_id`** → Only allows events from specified Zoom user(s).
|
||
3. **Transcript is fetched and cleaned** → Downloaded from Zoom and converted to plain text.
|
||
4. **Event emitted** → A `transcriptReceived` event with `meetingUUID` and `transcript` is available to your flows.
|
||
|
||
---
|
||
|
||
## Prerequisites
|
||
|
||
You must be:
|
||
|
||
- A Zoom **account owner**, **admin**, or have the **“Zoom for Developers” role** to be able to create the Zoom OAuth App
|
||
- On a **Zoom premium plan** (free tier doesn't support cloud recordings)
|
||
|
||
---
|
||
|
||
## Step-by-Step Setup
|
||
|
||
### 1. Create a Zoom OAuth App
|
||
|
||
- Visit: [https://marketplace.zoom.us/](https://marketplace.zoom.us/)
|
||
- Go to **Develop > Build App** → Choose **Server-to-Server OAuth** → Name your app
|
||
- On the **App Credentials** page, copy:
|
||
- **Account ID**
|
||
- **Client ID**
|
||
- **Client Secret**
|
||
|
||
You’ll use these in your Botpress integration configuration later.
|
||
|
||
- In **Information**, fill out the necessary information about yourself and the app.
|
||
- In **Features**, copy the **Secret Token**
|
||
- In **Scopes**, add:
|
||
cloud_recording:read:list_user_recordings:admin
|
||
cloud_recording:read:list_recording_files:admin
|
||
cloud_recording:read:recording:admin
|
||
|
||
- Activate the app under the **Activation** tab
|
||
|
||
### 2. Get Zoom `host_id`
|
||
|
||
You can find your Zoom `host_id` directly from the Zoom web portal.
|
||
|
||
#### Steps:
|
||
|
||
1. Log in to your Zoom account and navigate to:
|
||
**Zoom Admin Panel > User Management > Users**
|
||
|
||
2. Click on the name of the user you want to get the `host_id` for.
|
||
|
||
3. Look at the URL in your browser's address bar. It will be in this format:
|
||
https://yourdomain.zoom.us/user/xxxxxxxxxxxxx/profile you want to copy the xxxxxxxxxxxxx as that is your host_id
|
||
|
||
---
|
||
|
||
### 3. Configure the Botpress Integration
|
||
|
||
- Install this integration into your Bot
|
||
- Paste:
|
||
- `Zoom Client ID`
|
||
- `Zoom Client Secret`
|
||
- `Zoom Account ID`
|
||
- `Secret Token`
|
||
- `Allowed Zoom User IDs` → Paste your `host_id` (you can include multiple)
|
||
|
||
Click **Save Configuration**.
|
||
|
||
---
|
||
|
||
### 4. Set Webhook in Zoom
|
||
|
||
Back in your Zoom OAuth App:
|
||
|
||
- Go to **Features** → Enable **Event Subscriptions**
|
||
- Name: `Transcript Received` (Can choose a different name as well)
|
||
- Method: `Webhook`
|
||
- Endpoint URL: use the **Botpress integration URL**
|
||
- Add Event:
|
||
- Under **Recording**, select **only**:
|
||
- `Recording transcript files have completed` (`recording.transcript_completed`)
|
||
- Click **Done**
|
||
- Click **Validate** next to the endpoint URL (you should see Validated)
|
||
- Click **Save**
|
||
|
||
---
|
||
|
||
## Done!
|
||
|
||
Your Botpress bot will now receive transcripts for allowed Zoom users when cloud recordings complete. Make sure:
|
||
|
||
- You **record to the cloud**
|
||
- You’re on a **paid Zoom plan**
|
||
- You’ve correctly added all intended `host_id`s
|