SDK - Recordings, encryption and storage

Hey, I have a general question about the capabilities of the different SDKs.
My ideal use case would be a button on my website that:

  1. Starts a zoom meeting
  2. Automatically starts recording the meeting
  3. When the meeting is over the recording is submitted to my website
  4. After the upload the recording is either encrypted with a custom key or deleted.

Can all of this be achieved using the Web SDK, or do I need to use the Client SDK, or is this not at all possible?

Hey @raichev,

Thank you for reaching out to the Zoom Developer Forum. If you want users to join your meeting from the standard Zoom Client, this can all be done with just the APIs. However, if you’re looking to have the Zoom Meeting embedded on your website, this is where the Web SDK would come into play. You would use the API to make actions for the meeting/users/recordings but the Web SDK would allow you to embed the meeting itself on your website. It’s important to note that there are limitations and varied browser support with the Web SDK to consider when determining where the meetings should be accessed.

Let me know if you plan to embed Zoom in your website. I’ll advise on the features you want assuming that you will just be using the APIs.

  1. Starts a zoom meeting

To start a Zoom Meeting, you would use the start_url returned from the Create a Meeting API. Your button would link to that meeting using the aforementioned URL which would allow it to be opened in the Zoom client by a host of the meeting.

image

  1. Automatically starts recording the meeting

If you want to automatically record a meeting, you can either set this up in the Zoom UI or by using the auto_recording field when calling the Create a Meeting API

  1. When the meeting is over the recording is submitted to my website

For this, you would want to subscribe to the recording.completed webhook event. When your endpoint encounters this event, you can use the download_url as the source to upload the file to your website.

image

  1. After the upload the recording is either encrypted with a custom key or deleted.

While we don’t have a method to apply custom encryption while the recording is on our servers, once you download the recording you would be able to encrypt your copy as needed. However, if you just want to delete the copy of the recording from Zoom, you can use the Delete Meeting Recordings API

I hope that helps! Let me know if you have any questions or need more information on using the Web SDK.

Thanks,
Max

Hello @MaxM,
I mostly wanted to know if the things I want to achieve are doable with the provided SDK & API, and since they are I do plan to embed the meetings in my website, sorry for not making that clear from the start.
Thank you for the detailed explanation and for linking the appropriate resources.

Hey @raichev ,

Yes, this is possible! :slight_smile:

You can record automatically based on your Zoom recording settings on the Web Portal, or the record function in the Web SDK.

Then, with the Recording Completed Webhook, you can programmatically receive the download_url and play_url, and send it to your system respectively.

Thanks,
Tommy