An application to schedule a Webex Meeting and send an O365 calendar invite using a simple web form (watch demo).
Webex Meetings: In this application, a Webex Meeting is scheduled using a simple web form. If a logged in user has the permission to schedule a Webex Meeting for someone else, he/she can also do that (provided he/she also has editing permissions of that person's O365 calendar).
O365 Calendars: Using Microsoft O365 Outlook, a calendar event is created based on the information provided by the user in the simple web form. The O365 event includes the Webex Meetings information and is sent to the selected participants. If a logged in user has editing permissions of another person's O365 calendar, he/she can also create and send an O365 event on their behalf (provided he/she also has the permissions to schedule a Webex Meeting for that person).
Web Page: The user uses a simple web page to login to Webex Meetings and O365, and to provide the relevant information for the meeting. To schedule a meeting, the user has to provide the meeting host/owner, the title of the meeting, the date, and start and end times. Optionally, the user can provide an agenda, required and optional meeting participants based on groups, and whether the meeting is to be repeated.
Flask: The application is written in Python using the micro web framework Flask. The web server that is part of Flask should not be used in production.
Webex Meetings:
Webex Integration: Register a Webex OAuth 2 Integration following the steps outlined here, whereby
Microsoft 365: If you do not have access to a Microsoft 365 setup, you can sign up for free to their Developer Program, which will provide you with a Microsoft 365 developer instance to play with.
credentials.yml
file (see installation instructions).credentials.yml
file (see installation instructions)).O365 Shared Calendar/Webex Meetings Scheduling Permissions: For a user to be able to schedule an O365 event on behalf of another user and make the other user the host of the Webex Meeting, the user needs to have editing rights to the other user's O365 calendar and the other user must have provided the user with scheduling permissions in Webex. You can find information on how to set this up here: Microsoft / Mac.
Clone this repository with git clone <this repo>
and navigate to the directory with cd <directory/to/repo>
.
(Optional) Create a Python virtual environment and activate it (find instructions here).
Navigate to the root directory of the repository, and install the requirements with pip install -r requirements.txt
.
Open the credentials.yml
file, and fill in the required information. If unsure, the prerequisites chapter outlines where to find the specific values.
Set the following environment variable: set FLASK_APP=main.py
.
Start the Flask app with flask run -p 5000
.
In your web browser, navigate to http://localhost:5000/.
Provided under Cisco Sample Code License, for details see LICENSE.
Our code of conduct is available here.
See our contributing guidelines here.
Code Exchange Community
Get help, share code, and collaborate with other developers in the Code Exchange community.View Community