Skip to content

PandaBacon21/anonymous-recording-download

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

anonymous-recording-download

Note:

The following sample application is a personal, open-source project shared by the app creator and not an officially supported Zoom Video Communications, Inc. sample application. Zoom Video Communications, Inc., its employees and affiliates are not responsible for the use and maintenance of this application. Please use this sample application for inspiration, exploration and experimentation at your own risk and enjoyment. You may reach out to the app creator and broader Zoom Developer community on https://devforum.zoom.us/ for technical discussion and assistance, but understand there is no service level agreement support for this application. Thank you and happy coding!

This is a sample application for a specific purpose around an emergency hotline. The need was to anonymously capture voicemails left on a specific hotline voicemail box so that they could be downloaded without retaining information of the caller or phone number.

Installation

Clone this project

git clone https://github.com/PandaBacon21/anonymous-recording-download.git

Change to project directory

cd anonymous-recording-download

It is recommended to use a virtual environment using which ever method you prefer.

Once your virtual environment is created and activated, install project dependencies

pip install -r requirements.txt

You will need to create a Zoom Server-to-Server OAuth app in order to gain credentials required and define scopes needed. Please see instructions here.

You will also need to create (if not done already) an Auto Receptionist in your Zoom Phone Admin Portal that sends all calls directly to voicemail on the current extention 24/7.

You will then need to give a specific user access to voicemails for that specific auto receptionist. Currently, Zoom does not allow for pulling voicemails for auto receptionists or call queues directly via API, so you will do so by retrieving voicemails for a specific users, and then parsing out only the voicemails for that particular auto receptionist.

The TARGET_EMAIL below will be the email address of the user with access to that particular auto receptionist. The TARGET_AUTO_RECEPTIONIST below will be the name of the particular auto receptionist you need to retrieve the voicemails for.

Create .env file to save sensitive variables

ACCOUNT_ID = 'YourZoomAccountId'
CLIENT_ID = 'YourZoomClientId'
CLIENT_SECRET = 'YourZoomClientSecret'
DB_LOCATION = 'PathToYourDataBase'
TARGET_EMAIL = 'EmailOfZoomUserWithVoicemailBoxAccess'
TARGET_AUTO_RECEPTIONIST = 'NameofAutoReceptionistToReceiveVoicemails'
VOICEMAIL_DOWNLOAD_LOCATION = 'LocationOfVoicemailStorageDirectory'

I just used a sqlite database to store the access token as to not have to continuely request a token every time this script runs, but you can choose to handle that however you'd like.

Lastly, you could go another step further and set up a specific Site for this Auto Receptionist and under the Site Policy Settings, you can chose to auto delete the call logs and voicemails after a set retention period. This can be set to delete after a single day for example, allowing you to schedule the retreival via the API prior to deletion to ensure no call history or voicemail remains within Zoom. By default, these retention periods are set to an unlimited time frame.

About

Sample Zoom Server-to-server App To Anonymously Download Zoom Phone Recordings

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages