BOS Lessons
BOS Lessons

BOS Lessons

0/5 (0 ratings) — active installs Updated Nov 11, 2026
Program grid ([bos_lessons_programs]) with the WooCommerce price and Buy Now. Shown with an example teacher.

Program grid ([bos_lessons_programs]) with the WooCommerce price and Buy Now. Shown with an example teacher.

BOS Lessons connects your WordPress site to your BOS account, a hosted service for teachers who sell video and audio lessons: yoga, Pilates, fitness, meditation, dance, music.

You upload lessons and group them into programs in the BOS dashboard. The plugin shows them on your site:

  • [bos_lessons_app] – the lesson library and player: sign-in, search, favourites, progress, audio and video playback. One page.
  • [bos_lessons_programs] – a grid of all your programs with price and a Buy Now button.
  • [bos_lessons_program id="12"] – one program page, built from the content you wrote in BOS. On a WooCommerce product linked to a program the id is not needed.

With WooCommerce installed:

  • Link a WooCommerce product to a program (product edit screen, “Program in the app”).
  • A paid order opens the program for the buyer’s email. BOS creates the student account if needed and emails a “set your password” link.
  • A refunded or cancelled order closes it again.
  • After checkout the buyer lands inside the player, signed in, with the program open.

The same student account works in the branded iOS and Android app BOS publishes for you (App plan).

Requirements

  • A BOS account and API key. Accounts are free and open as soon as you confirm your email: bos.work/apply.
  • WooCommerce, for program pages and selling. The lesson library ([bos_lessons_app]) works without it.

External services

This plugin connects to the BOS service operated by IQDesk. Without it the plugin shows nothing.

What is sent, and when:

  • Lesson and program data – when a visitor opens a page with [bos_lessons_app], [bos_lessons_programs] or [bos_lessons_program], your site calls the BOS API (api.bos.work, or the API URL set in Settings) to fetch programs, lessons and media URLs. Your API key and your site address are sent with each call.
  • Student actions – sign-in, sign-up, password reset, favourites and progress made in the player are relayed from the visitor’s browser through your site (/wp-json/bos-lessons/v1/proxy/…) to the BOS API. The student’s email, password and a session token pass through your server; they are not stored in WordPress.
  • Orders – when a WooCommerce order is paid, refunded or cancelled, your site sends the buyer’s email, name, the order number and the program ids to BOS so the purchase can be opened or closed. Calls are signed with your API key.

Terms of service: https://bos.work/terms
Privacy policy: https://bos.work/privacy

Video lessons are played in an embedded YouTube or Vimeo player, depending on where the teacher hosted the video. When a student opens a video lesson, their browser loads the player from youtube-nocookie.com or player.vimeo.com; that service receives the video id and the student’s IP address and browser details. Audio lessons do not use these services.

The player bundled in app/bos-lessons.js is built from the source in app-src/ (React + Vite). Source and build instructions: https://github.com/assafscialom/bos-lessons