Case Study: Zoom and WordPress

Mastering API Integration: Building a Equestrian Coaching Platform with Zoom and WordPress

This case study outlines the development of a custom online platform for an equestrian coach who trains students in the sport of three-day eventing. With students competing at national and international levels, and some relocating or attending college, the coach wanted a robust, user-friendly system for delivering virtual lessons. The goal was to create a platform where students could view upcoming lessons, access past lesson recordings, and easily attend Zoom sessions—all while the coach could seamlessly manage users and lessons from her own website.

Requirements

  • Student Access: Each student needed to log in and view their upcoming lessons with a Zoom link, as well as access recordings and transcripts of previous lessons.
  • Coach Access: The coach required an intuitive system for managing student lessons, with easy access to all lesson recordings, scheduling, and user management.
  • Admin Dashboard: The coach needed a simple-to-use dashboard for creating, editing, and managing lessons, sorting by student or date, and filtering by lesson attributes.
  • Recording Management: A key feature was embedding Zoom recordings and transcripts directly into lesson pages for easy student review.
  • Minimal Technical Complexity: The platform needed to avoid unnecessary features to ensure simplicity and ease of use for both coach and students.

Why Not Just Use Zoom.us?
While the Zoom website provides many useful features, it is too complex for the coach’s specific needs. Zoom’s interface was geared toward business meetings, not lessons, and lacked a streamlined way for students to access their specific lessons or recordings. Additionally, we wanted to avoid vendor lock-in, allowing flexibility to potentially move to another platform while maintaining the same lesson structure and features. (For example, we are now working on a Pivo version of this app.)

The Solution
We built the system using the “Video Conferencing with Zoom” plugin for WordPress. Here’s how the solution was structured:

1. Creating Zoom Lessons via the Plugin

Using the free version of the “Video Conferencing with Zoom” plugin, we leveraged its built-in Custom Post Type feature, renamed from “Zoom Meetings” to “Zoom Lessons.” The coach could manage all Zoom lessons within the WordPress admin area without needing to access the Zoom website.

2. OAuth Integration with Zoom API
We created a Server-to-Server OAuth App on Zoom’s developer platform to securely manage lesson creation and recording access. The plugin tutorial guided the process, and we configured minimal scopes for the app, only allowing essential features like scheduling and accessing recordings.

3. Custom User Roles and Access
Using a custom WordPress plugin, we modified the user roles:

  • Admin retained full access.
  • Coach was assigned as an “Editor,” allowing them to manage lessons and users.
  • Students were assigned the “Author” role, ensuring no access to the admin interface, but easy access to their lesson pages.

We customized the role names for clarity, renaming “Editor” to “Coach” and “Author” to “Student” across the platform for a user-friendly experience.

4. Front-End Customization

  • Lesson Pages: Each lesson had its own page, showing the Zoom link for upcoming lessons and the video recordings and transcripts for past lessons. We allowed the coach and students to comment on lessons for additional feedback.
  • Dashboard: A simple dashboard allowed the coach to filter lessons by student or date, with options to edit, delete, or view detailed lesson info. Basically this is the WordPress dashboard, stripped of all unnecessary links.

5. Recording & Transcript Integration
Our custom plugin connected to the Zoom API to retrieve video recordings and transcripts of lessons. By embedding these directly into the lesson pages, students could review their sessions at any time, ensuring greater retention and skill improvement. Transcripts were cleaned for readability and displayed alongside the video.

6. Optimizing Zoom for Lesson Recording
To ensure the recording showed the student rather than the coach (who would often be the active speaker), we implemented a workaround. This allowed Zoom to record only the student’s actions during the lesson, a crucial requirement for effective learning.

7. Backend Simplification
We simplified the WordPress admin interface for the coach by hiding irrelevant menus and options using custom CSS. Where necessary, minor edits were made to the plugin to customize the user interface, such as adding missing IDs to elements for targeting with styles.

Future Considerations

  1. Scaling: While the system currently supports around 40-50 users, we’ve accounted for potential growth. Adding advanced filtering (e.g., showing all lessons for a student within the last three months) would help manage larger datasets.
  2. Platform Independence: Currently, recordings are stored on Zoom’s servers, but we plan to explore migrating recordings to a cloud service like Dropbox. This will ensure greater flexibility and independence from Zoom.
  3. Platform Flexibility: As the system is built on WordPress, it is possible to integrate another video conferencing platform like Pivo or Google Meet if desired, minimizing disruption to the coach’s workflow.

Conclusion
By developing this custom WordPress-based system, we created a streamlined, easy-to-use platform for both the coach and her students. With features tailored to the unique requirements of virtual equestrian coaching, the solution eliminated unnecessary complexity and provided a robust framework for managing lessons, tracking student progress, and enhancing overall learning outcomes. If you’d like to learn more contact us today!

Sample Zoom lesson screen capture. Shows video player, information box and comments section.