Autofill/configuring thousands of Zoom licenses
March 20, 2020 11:52 PM   Subscribe

I'm on a team that is configuring thousands of Zoom licenses this weekend to support our healthcare providers. For each one, we have to go in and fiddle some settings and create a reusable meeting link. Does any one know any way to make this slightly faster...is there a way to record a series of actions (e.g. fill in one box with 'virtual visit with Dr.,' then click that box, select that radio button, etc.) in Chrome? Any ideas that aren't "it's just 7000 minutes of work" would be much appreciated!
posted by OneSmartMonkey to Technology (7 answers total) 1 user marked this as a favorite
 
I don't know about the Zoom platform specifically, and I'm just an amateur nerd and not a programmer, but I've hacked together scripts to accomplish tasks like you describe (enter text, click box, select radio button, etc.) pretty easily. Using something like the Selenium library for Python.

So if you have some scripting ability, or can hire someone, seems like it would be easy to accomplish.
posted by bradbane at 12:16 AM on March 21, 2020 [1 favorite]


Will Zoom’s template feature do any of what you need?
posted by nat at 3:06 AM on March 21, 2020


I'm not completely clear on what you're trying to do, but depending on your level of technical experience, the Zoom API may be helpful.
posted by Cat Pie Hurts at 6:09 AM on March 21, 2020 [1 favorite]


The API is a good idea.

I'm a Zoom admin for a few hundred thousand users. We auto provision on the fly from our identity system using the SSO SAML configuration.

Could you use their personal rooms for a stable url? Those don't change. Then set your meeting configurations globally at the Account level and the personal rooms will inherit that. Either way, your account or group (if you use groups) settings will be inherited.
posted by idb at 7:02 AM on March 21, 2020


If you're on windows AutoHotKey is a scripting language that includes a recording a function. You can start the recording, make your changes one time and stop the recording and it will create a script with the commands it will use to do the same actions including typing and mouse movements/clicks.

https://www.autohotkey.com/
posted by Awfki at 7:09 AM on March 21, 2020 [1 favorite]


+1 for AHK. AutoIt would work as well.
posted by jmfitch at 9:38 AM on March 21, 2020


The Zoom API is not miserable to work with and it seems like more of what you want to deal with thousands of accounts. For bulk changes like you describe it’s going to be a slightly less painful experience to script than the browser scripting options above. Below is a small bit of Python code that works with a testing app I created on Zoom’s marketplace; if this is something that you or your team can run with. I imagine you’re looking to flip some of the personal meeting room switches related to join-before-host, audio preferences, etc.?

If you’re working on something COVID-19 related I would be willing to provide substantially more help this weekend. Memail me if interested!

import time, pprint, requests_oauthlib

client_key = '*****'
client_sec = '*****'

oauth = requests_oauthlib.OAuth2Session(client_id=client_key,
    redirect_uri='https://askmefi-testing.heroku.com/',
    scope=[#'user:write:admin', 'user:read:admin', 'zms:user:write', 'zms:user:read',
    'phone:write', 'chat_channel:write', 'recording:read',
    'pac:write', 'phone:read', 'chat_contact:read', 'user:write',
    'webinar:write', 'chat_message:read', 'tsp:read', 'pac:read',
    'user_profile', 'chat_message:write', 'user:read', 'webinar:read',
    'meeting:read', 'recording:write', 'chat_channel:read', 'meeting:write',
    'tsp:write',])

authorization_url, auth_code = oauth.authorization_url('https://zoom.us/oauth/authorize')

print(authorization_url)
print('Follow the link above and enter the redirected URL here')
authorization_response = input('> ').strip()

token = oauth.fetch_token('https://api.zoom.us/oauth/token',
    authorization_response=authorization_response, client_secret=client_sec)

pprint.pprint(token)

pprint.pprint(oauth.get('https://api.zoom.us/v2/users/me').json())

posted by migurski at 10:02 AM on March 21, 2020 [5 favorites]


« Older Shut up and keep your money! (Rent forgiveness in...   |   Where to look for fleas Newer »
This thread is closed to new comments.