
Webex-Virtual-Background-Logo
Use this script to 'insert' content into a virtual background:
- insert your customers logo in your virtual background
- insert text in your virtual background
- insert an event banner in your virtual background
Show me how!
Click the image below to see a video of this script in action.

Features


How does it work?

REQUIREMENTS
- A Cisco Webex Desk Pro video device with a local (user) account.
- Python 3.x or higher (tested with 3.7.x and 3.9.x)
- Python 'requests' library (api calls)
- Python 'pillow' library (image manipulation)
- Have the Python script run on the same network as your Webex Desk Pro
- A 'base' image that you want to use as a virtual background.
TESTED on a Webex Desk Pro: RoomOS 10.2.1, Personal Mode, cloud registered
TESTED on Mac: Python 3.9.1, requests 2.25.1, pillow 8.1.0
TESTED on Win 10: Python 3.7.2, requests 2.21.0, pillow 8.1.0
Start
- Install Python (instructions)
- Install Requests library (instructions)
short version: "python3 -m pip install requests"
- Install Pillow library (instructions)
short version: "python3 -m pip install pillow"
- Create a base64 login token for API access:
MAC: 'echo -n "myusername:mypassword" | base 64'
WIN: use an online service like base64encode.org if you trust them
WIN: put 'myusername:mypassword' in a file called 'xtoken.txt' and in a command prompt run:
certutil -encode xtoken.txt xtoken.b64 && type xtoken.b64 && del xtoken.*
- Create a configuration file by running the Python script. If it doesn't find webexlogo_settings.ini it will create one in the right format.
python webexlogo.py
- Edit webexlogo_config.ini and update parameters as described in the next paragraph.
Instructions are also in the generated .ini file itself.
Settings File


Define Logo Area

Good to know
- Error "no module named PIL"? Remove the "PIL" library before instaling the "Pillow" library. info (thanks José Rico!)
- The script caches all downloaded images in the script folder. If needed later it won’t have to download them again.
- If you update an active background, you need to switch to another mode (like ‘Blur’) and back in order to see the changes.
- When pulling a list of call participants, it will ignore users with a generic ‘email provider’ domain like hotmail.com, gmail.com, yahoo.com
- A DeskPro in a Webex Meeting cannot access email addresses of participants. Solution: run script with domain name, logo url, etc.
- Downloading company logos based on the domain name is done using the Clearbit Logo API.
- Long URLs with special characters in it ($,%,&) may need quotes:
python3 webexlogo.py “https://site.com/image?url=longurl”
- ISSUE: (on Mac): when text contains a questionmark, the Z-shell thinks it has to do something.
- TIP: if you want to make some notes for yourself in the .ini file, start the line with ';' (semicolon)
- NEXT release: will allow you to download an existing virtual background
Support?
Feel free to join this Webex Space that I actively monitor: https://eurl.io/#Tg9_W-C23
More like this?
Will be announced in the "Webex Developer" LinkedIn group at: http://cs.co/webexdevlink
Webex Developer Resource overview: http://cs.co/webexdevinfo