Project: Student Onboarding Process Improvement
Background
Online Student Support
The scope of Online Student Support encompasses critical responsibilities such as student onboarding, enrollment management in Canvas, and ensuring the synchronization of student rosters between databases. Each task involves numerous intricate steps. However, it became evident that several processes, especially those related to new student onboarding, were burdened by repetitive and manual tasks. Joining the Student Support Specialist team, I identified significant room for improvement within these workflows.
Our Goals
More automated, less manual
The core objectives of this project revolve around optimizing the efficiency of Online Student Support processes. The aim is to streamline these operations, ensuring their seamless and accurate execution through the implementation of automated tools. The primary goal is to minimize human error and enhance the overall reliability and precision of the support procedures.

Previous Onboarding Process
Under the umbrella of the Student Onboarding Process lies various crucial tasks, including acquiring student IDs from the database, creating new academic email accounts, enrolling students into Canvas, sending welcome emails, and updating student data on shared spreadsheets. Previously, these tasks were conducted separately by different Student Support Specialists for different degree programs (BA and MA).

New Onboarding Process
Recognizing the potential for improvement, I envisioned automating this multifaceted process. The objective is to consolidate and automate these tasks, minimizing time constraints and heavy workloads while allowing each Student Support Specialist to efficiently oversee the entire process. This enhancement would enable the team to allocate more attention to other critical tasks.
The new Onboarding Process
Acquire Student ID
The former method for acquiring student IDs involved accessing the CAMS database through complex means, conducting manual searches due to limited database access. An IT-introduced web-based report manager revolutionized this process, enabling basic student information retrieval without direct database access. Leveraging this, I wrote a Python script to swiftly identify new students and input their IDs into a shared spreadsheet, markedly accelerating the task and ensuring accuracy.
Create new M365 account
The prior method for creating new student Microsoft 365 email accounts involved a time-consuming manual process, requiring individual account creation, and license assignment for each student. With the increasing student count, this became inefficient. After consulting the IT team, we discovered a method for batch creation through .csv file uploads. However, the assignment of group licenses remained a manual task. Lacking access to the M365 admin API key, I utilized Python to prepare .csv files and web automation to perform license assignments.
Enroll to Canvas
The previous canvas enrollment and user creation process, while utilizing Canvas SIS import, faced a bottleneck in the manual preparation of .csv files for upload. To address this, I employed Python automation to streamline the preparation of all necessary .csv files. Furthermore, I incorporated web automation to seamlessly navigate to the Canvas upload page, ensuring a more streamlined and time-effective Canvas enrollment process.
Enroll to Canvas
The previous canvas enrollment and user creation process, while utilizing Canvas SIS import, faced a bottleneck in the manual preparation of .csv files for upload. To address this, I employed Python automation to streamline the preparation of all necessary .csv files. Furthermore, I incorporated web automation to seamlessly navigate to the Canvas upload page, ensuring a more streamlined and time-effective Canvas enrollment process.
Send Welcome Email
The previous method for sending welcome emails involved laborious manual steps, including the creation of .csv files for upload to IContact and the subsequent assignment of contacts to specific groups. To enhance this process, I introduced API integration, automating contact creation and group assignments. However, to ensure accuracy and offer a review opportunity, I maintained the manual step for sending emails, allowing users to verify content before dispatch.
Update Student Data
The former process for updating student data involved tedious manual tasks, including copying and pasting information into a shared spreadsheet and the student database. To streamline this, I used Python Dataframe to replicate the shared spreadsheet with updated details, allowing users to select, copy, and paste preferred columns swiftly. Additionally, after collaborating with the IT team, I discovered the possibility of batch-uploading new student data to the database. Again with Python, I created .csv files for batch imports, eliminating the need for manual database updates altogether.
Version 1
RIDE Robot Framework

​In the beginning, I developed and evaluated the automation using RIDE robot framework, initially assuming it would solely cater to my responsibilities. While RIDE boasts a user-friendly interface and is excellent for testing purposes, it necessitates specific pre-requisite installations and can pose challenges for code maintenance. Some tasks, such as managing Excel dataframes, required Python scripting alongside RIDE, highlighting limitations for broader team use. While this version served my needs effectively, its scalability for team-wide implementation demanded a more comprehensive solution.
Version 2
(current)

Python Tkinter
I needed a user-friendly interface for my automation tool that didn't require any prior installations. Upon discovering Tkinter, a Python GUI toolkit, I found it offered ready-to-use tools and the ability to create .exe files, enabling usage without installations. Converting my robot code to Python and use Tkinter to create GUI also made code maintenance easier and improved accessibility. Now, with this .exe file, I can readily share the automation tool with my team. A simple set of guidelines allows them to start utilizing this streamlined solution.

Future Improvements
Integrated, web-based tool One-click automation
The current Tkinter automated tool still relies on web automation for tasks like creating new email accounts and assigning licenses, necessitating several steps to onboard students. Fortunately, with the help of the IT team, we can make this better. We are developing a web-based student account manager that directly connects with our student database. This tool will enable the creation of new student emails, license assignments, and database updates automatically. Additionally, it will automatically create Canvas user accounts and enroll them in the Orientation course. Once this system is operational, the welcome email will be automatically sent to new students upon completion of the process. This streamlined process will allow us to select the student accounts and create new emails with just one click. It's an integrated and linked system that's currently undergoing testing.


