Integrations - SAML, WordPress, Arlo, SCORM, Zapier, Open API
This article covers the integrations available in Coursebox: SAML single sign-on, the WordPress/WooCommerce plugin, Arlo sync, SCORM imports, the Open API, and Zapier automation.
Plan requirements: SAML SSO is available on Enterprise only, as a paid add-on — it cannot be added to a self-serve plan. The Open API is available on Pro + LMS and Enterprise, and because the Zapier and WooCommerce integrations both authenticate with your Open API key, they require the same plans. Compare plans.
On an earlier plan? Plan names and inclusions changed when we moved to Free, Creator, Pro, Pro + LMS and Enterprise. If you are on an earlier plan, your subscription continues unchanged and you keep everything it included — so you may still see features this article lists under a higher plan. Nothing has been removed from your account.
SAML single sign-on (SSO)
Coursebox supports SAML 2.0-based Single Sign-On (SSO), allowing users to authenticate using their existing organisation credentials. This provides a secure and seamless login experience for learners, admins, and facilitators — particularly within enterprise or institutional environments.
SSO is configured by the Coursebox team together with your IT department. To start, contact support@coursebox.ai and we will send you the Coursebox SP metadata and a sample of the SAML token claims we expect from your identity provider.
What your identity provider needs to supply
SAML IdP metadata in XML format
A sample SAML token containing all the user claims your IdP will generate
A test user for each group
WordPress plugin integration with WooCommerce
The Coursebox WooCommerce Plugin seamlessly connects your Coursebox account with your online store, making it easy to sell your existing courses directly through WooCommerce.
With this integration, your courses can be listed as products in your store, and customers are automatically enrolled in the correct course as soon as they complete their purchase. No more manual enrollments — saving you time and simplifying your workflow.
This integration lets you combine Coursebox’s powerful AI-driven course creation and management features with the flexibility of WooCommerce, giving you full control over sales, enrollments, and the customer experience.
Quick start guide – Coursebox WooCommerce plugin
Step 1: Install & Activate
Upload the plugin files to
/wp-content/plugins/course-boxor install it directly from the WordPress Plugins screen.Go to Plugins → Installed Plugins and click Activate.
Make sure WooCommerce is installed and active.
Step 2: Connect to Coursebox
Go to Course Box → Settings
Get your API URL and API Key.
Go to WordPress and enter the API URL and API Key to connect to your Coursebox account.
The API Base URL must be the root domain of your Coursebox portal (for example, marketplace users should enter
https://my.coursebox.ai). Once saved, the status will update to "Configured" and "Active."
Step 3: Import Your Courses
Navigate to Course Box → Import Courses. Here, you’ll see all your available Coursebox courses with images, descriptions, and import options. Simply click Import Course to bring a course into your WooCommerce store.
Step 4: Publish Your Courses
Once imported, each course is listed as a WooCommerce product. You can adjust pricing, categories, and tags directly in WooCommerce, just like any other product. Customers can then add courses to their cart and purchase as usual.
Sync Arlo
A Super Admin can sync an Arlo account with a Coursebox branded training platform by providing Arlo’s login URL and credentials.
This section assumes you are already familiar with Arlo and have a basic understanding of the integration.
Importing a SCORM file
Importing SCORM is useful for including simulations, branching scenarios, or assessments built in third-party tools while keeping everything accessible within your Coursebox course. Using SCORM you can create a highly interactive course which takes advantage of all the HTML5 features.
The steps are:
Prepare your SCORM package. Ensure your SCORM file is a zipped package (.zip) and compatible with SCORM 1.2 or SCORM 2004 standards.
Navigate to the course where you want to add the SCORM content.
Select SCORM from the menu.
Click Upload File, then select your SCORM .zip file from your computer.
To export a Coursebox course as SCORM rather than import one, see Share & Export a Course.
Coursebox Open API
The Coursebox API allows enterprise clients and training organisations to automate learner management, integrate course data into other platforms (like CRMs, HR systems, or ERPs), and build custom user experiences. It requires Pro + LMS or Enterprise and the API add-on.
Authentication
Login: Authenticate users with their email and password to receive an access token.
Endpoint:
POST /auth/login
Headers:
Content-Type: application/json
Request Body:
{ "email": "<email>", "password": "<password>" }
Response: Returns an access token for authenticated requests in
token:id parameter.
Register a new user
Create a new Coursebox user.
Endpoint:
POST /api/wineusers/createAccount
Headers:
X-Access-Token: <access_token>
Request Body:
{ "data": { "user": { "firstName": "<firstname>", "lastName": "<lastname>", "email": "<email>", "password": "<password>" }, "offerCode": "", "marketingEmails": true, "is18Plus": true } }
Retrieve user details
Fetch user information by their ID.
Endpoint:
GET /api/WineUsers/<userid>
Headers:
X-Access-Token: <access_token>
Edit user details
Edit a Coursebox user.
Endpoint:
POST /api/WineUsers/updateMainAttributes?id=<userid>
Headers:
X-Access-Token: <access_token>
Request Body:
{ "id": <userid>, "attributes": { "realm": <realm>, "email": <email>, "emailVerified": <emailVerified>, "fullName": <fullName>, "firstName": <firstName>, "lastName": <lastName>, "title": <title>, "contactNumber": <contactNumber>, "dateOfBirth": <dateOfBirth>, "headline": <headline>, "avatarUrl": <avatarUrl>, "profile": { "background": <background> }, "country": <country>, "city": <city>, "location": <location>, "region": <region>, "state": <state>, "zipCode": <zipCode>, "status": [<status>], "rate": <rate>, "rateAdditionalTax": <rateAdditionalTax>, "price": <price>, "currency": <currency>, "additionalTax": <additionalTax>, "isDiscountCodeUsed": <isDiscountCodeUsed>, "calendlyLink": <calendlyLink>, "personalSite": <personalSite>, "companySite": <companySite>, "linkedIn": <linkedIn>, "twitter": <twitter>, "facebookLink": <facebookLink>, "instagramLink": <instagramLink>, "facebookId": <facebookId>, "googleId": <googleId>, "linkedinId": <linkedinId>, "appleId": <appleId>, "customerId": <customerId>, "stripeId": <stripeId>, "isDeleted": <isDeleted>, "isPlatformUpdates": <isPlatformUpdates>, "isAdmin": <isAdmin>, "isExpertRequested": <isExpertRequested>, "isExpertApproved": <isExpertApproved>, "organisationCode": <organisationCode>, "isVIPRequested": <isVIPRequested>, "isVIPApproved": <isVIPApproved>, "isChannelPublished": <isChannelPublished>, "isCoursePublished": <isCoursePublished>, "newEmail": <newEmail>, "isSideBarVisible": <isSideBarVisible>, "isTopBarVisible": <isTopBarVisible>, "channelsPageTabs": <channelsPageTabs>, "peoplePageTabs": <peoplePageTabs>, "elibraryPageTabs": <elibraryPageTabs>, "resourcesPageTabs": <resourcesPageTabs>, "lastActiveAt": <lastActiveAt>, "isInActive": <isInActive>, "isTrial": <isTrial>, "inIframe": <inIframe>, "referer": <referer>, "username": <username>, "credentials": <credentials>, "challenges": <challenges>, "created": <created>, "lastUpdated": <lastUpdated>, "id": <id>, "createdAt": <createdAt>, "updatedAt": <updatedAt>, "isUserAdmin": <isUserAdmin>, "isVIP": <isVIP>, "isBoxer": <isBoxer>, "isPro": <isPro>, "isApprovedExpert": <isApprovedExpert>, "isExpert": <isExpert>, "isLearner": <isLearner>, "isFollowed": <isFollowed> } }
Invite a user to a course
Send an invitation for a user to join a course.
Endpoint:
POST /api/Courses/inviteUserForCourse
Headers:
X-Access-Token: <access_token>
Request Body:
{ "data": { "firstName": "<firstname>", "lastName": "<lastname>", "courseid": <courseid>, "email": "<email>" }, "courseId": <courseid>, "title": "", "body": "" }
Enrol a user in a course
Add a user to a specific course.
Endpoint:
POST /api/Courses/<courseid>/enrolUser
Headers:
X-Access-Token: <access_token>
Request Body:
{ "id": <courseid>, "userId": <userid> }
Remove a user from a course
Unenrol a user from a course.
Endpoint:
DELETE /api/Courses/<courseid>/users?userid=<userid>
Headers:
X-Access-Token: <access_token>
Retrieve available courses
Fetch a list of available courses.
Endpoint:
GET /api/Courses/findCourses?pageOptions={"my":true}
Headers:
X-Access-Token: <access_token>
Retrieve course details
Fetch details of a specific course.
Endpoint:
GET /api/Courses/findCourse?id=<courseid>
Headers:
X-Access-Token: <access_token>
Get course content
Retrieve content for a specific course page.
Endpoint:
GET /api/Activities/<activityId>
Headers:
X-Access-Token: <access_token>
Get course learners
Retrieve a list of learners enrolled in a course.
Endpoint:
GET /api/Courses/<courseid>/allLearners
Headers:
X-Access-Token: <access_token>
Get course administrators
Retrieve a list of course administrators.
Endpoint:
GET /api/WineUsers/getUserForMentio?params={"all":true,"ids":"<courseid>"}
Headers:
X-Access-Token: <access_token>
Error handling
The Coursebox API returns standard HTTP status codes:
200 OK – Request successful
400 Bad Request – Invalid request
401 Unauthorized – Invalid authentication token
404 Not Found – Resource not found
500 Internal Server Error – Issue on the server side
Best practices
Always use HTTPS and manage secrets securely.
Limit token lifespan for security.
Add rate limiting logic on your system if building public interfaces.
API FAQs
Can I use this API to push results or assessments?
Not in this version. Please contact your Coursebox rep for advanced LTI or webhook support.
Can I access this via Zapier?
Yes — see the Zapier section below, or the Coursebox LMS integrations page on Zapier.
For any questions or custom endpoint requests, contact Coursebox Support at support@coursebox.ai.
Zapier automation
Zapier allows you to connect Coursebox with hundreds of other applications to automate tasks such as enrolling users, updating profiles, and tracking completions — without writing any code.
Access your Open API key
To connect Coursebox with Zapier, you’ll need your API Key.
Log in as a Super Admin.
Go to Settings → Open API.
Copy the displayed API Key for use in Zapier.
If needed, click Reset API Key to generate a new one.
Open the Zapier integration
Open your course and click the Share button (top right of the course editor) to open the Share panel.
Select the Zapier icon located below the sharing options.
You’ll be directed to the Coursebox LMS Integrations page on Zapier.
Sign in or create a Zapier account using email or Google login.
Connect Coursebox to Zapier
When setting up a Zap with Coursebox, you’ll be prompted to connect your Coursebox account.
This connection allows Zapier to communicate securely with your learning platform and perform actions automatically.
In Zapier, select Coursebox LMS as your app.
When prompted, enter the following:
API Key – found in your Coursebox Settings → Open API section.
Coursebox Domain – your portal’s URL (e.g.,
https://my.coursebox.ai).
Click Continue to authorise the connection.
You can reset your API Key at any time to generate a new one.
This adds an extra layer of security and ensures your integrations remain private and protected.
Coursebox trigger options
These triggers start your Zaps when specific events occur in Coursebox:
Trigger | Description |
|---|---|
New Course | Fires when a new course is published. |
New Event | Fires when a new event is created. |
New Resource | Fires when a new resource is added. |
New User | Fires when a new user registers in Coursebox. |
New User Subscription | Fires when a user subscribes to a plan or feature. |
New User Status | Fires when a new status is assigned to a user. |
User Enrolled in Course | Fires when a user is enrolled in a course. |
User Enrolled in Event | Fires when a user joins an event. |
User Enrolled in Resource | Fires when a user gains access to a resource. |
Course Completed | Fires when a user completes a course. |
Course Completed needs an owner-level API key. The Course Completed trigger returns a 403 error unless the Open API key you connect to Zapier belongs to the course owner, a course admin, or a platform admin. If your Zap will not pull sample data, or fails with 403, check whose key you are using before anything else.
Coursebox action options
These are the actions Zapier can perform inside Coursebox after a trigger occurs:
Action | Description |
|---|---|
Enrol Into Course by Code | Enrols a user into a course using a unique course code. |
Enrol Into Event | Enrols a user into a specific event. |
Enrol Into Resource | Gives a user access to a resource. |
Enrol Into Resource Directory | Adds a user to a resource directory. |
Invite User | Creates a new user in Coursebox and sends them an invitation. |
Remove User Custom Field | Deletes a custom field value for a user. |
Remove User Status | Removes an assigned user status. |
Set User Custom Field | Adds or updates a user’s custom field value. |
Unenrol From Channel | Removes a user from a channel. |
Unenrol From Channel by Code | Removes a user from a channel using a code. |
Unenrol From Course | Removes a user from a course. |
Unenrol From Course by Code | Removes a user from a course using a code. |
Unenrol From Event | Removes a user’s event enrolment. |
Unenrol From Resource | Removes a user’s access to a resource. |
Unenrol From Resource Directory | Removes a user from a resource directory. |
Update Profile | Updates a user’s profile details in Coursebox. |
Popular Zapier use cases
These examples assume Coursebox is already connected in Zapier using your API Key (Settings → Open API) and your Coursebox Domain (e.g. https://yourportal.coursebox.ai).
# | Workflow | Trigger | Actions | Key Mapping / Notes |
|---|---|---|---|---|
1 | Stripe Payment → Invite User → Enrol Into Course | Stripe – New Payment | Invite User; Enrol Into Course by Code | Map Customer Email, First Name, Last Name; Course Code e.g. |
2 | Calendly Booking → Enrol Into Event | Calendly – Invitee Created | Invite User; Enrol Into Event | Map invitee email; map User ID from Invite step |
3 | Eventbrite Registration → Enrol Into Course | Eventbrite – New Attendee Registered | Invite User; Enrol Into Course by Code | Auto-enrol new event registrants |
4 | Facebook Lead Ad → Invite + Assign Status | Facebook Lead Ads – New Lead | Invite User; Set User Status | Status example: "Prospect" |
5 | Google Sheets Row Added → Invite + Enrol | Google Sheets – New Spreadsheet Row | Invite User; Enrol Into Course | Ideal for bulk onboarding from a spreadsheet |
6 | HubSpot Deal Won → Enrol Into Premium Course | HubSpot – Deal Stage Changed to Closed Won | Invite User; Enrol Into Course; Set Custom Field | For premium/paid course access |
7 | Shopify Order → Grant Resource Access | Shopify – New Paid Order | Invite User; Enrol Into Resource | For digital product/resource sales |
8 | Typeform Submission → Enrol Into Free Course | Typeform – New Entry | Invite User; Enrol Into Course | For free course lead magnets |
9 | Gmail Label Added → Add User Status | Gmail – New Label Added | Set User Status | Example label: "VIP Client" |
10 | Zoom Webinar Registration → Enrol Into Event | Zoom – New Webinar Registrant | Sync webinar attendees to live events | Invite User; Enrol Into Event |
11 | Course Completed → Send Slack Notification | Coursebox – Course Completed | Slack – Send Channel Message | Notify team of learner completions |
12 | New User Registered → Add to Mailchimp Audience | Coursebox – New User | Mailchimp – Add Subscriber | Sync learners to email marketing |
13 | User Enrolled in Course → Create Google Calendar Event | Coursebox – User Enrolled in Course | Google Calendar – Create Event | Auto-schedule learning blocks |
14 | Course Completed → Issue Certificate via Accredible | Coursebox – Course Completed | Accredible – Create Credential | Verifiable digital credentials |
15 | New Course Published → Post to LinkedIn | Coursebox – New Course | LinkedIn – Create Post | Auto-promote new courses |
16 | New User Subscription → Send Invoice in Xero | Coursebox – New User Subscription | Xero – Create Sales Invoice | Automated billing |
17 | New Event Created → Create Zoom Meeting | Coursebox – New Event | Zoom – Create Meeting | Auto-generate meeting links |
18 | Airtable Record Updated → Update Profile | Airtable – Updated Record | Coursebox – Update Profile | Map phone, organisation, job title |
19 | Cancelled Stripe Subscription → Unenrol From Course | Stripe – Subscription Cancelled | Unenrol From Course | Auto-revoke access on cancellation |
20 | SurveyMonkey Submission → Set Custom Field + Enrol | SurveyMonkey – New Response | Invite User; Set User Custom Field; Enrol Into Course | Capture survey data + auto-enrol |
Mapping the User field to a previous step
When enrolling someone into a course, event, channel or resource, the User field shows a list of existing names — that is a static selector. You almost always want it to map to the user created or invited earlier in the same workflow instead.
Do not choose a static name from the dropdown.
In Zapier: click the Custom tab (or "Insert data"), then choose the User ID output from your Invite User step.
In Make (Integromat): click the { } / Add variable icon next to the field and select the User ID from Invite User.
Leave the Course, Event or Channel field set to your chosen item.
Test the workflow with a sample record. It should create or invite the user (returning a User ID), then enrol that same user.
Which value to map:
user.id— best practice. Often labelled User ID or Coursebox User ID.Email — fallback option; the enrol action accepts email in most versions of the Coursebox app.
If Zapier or Make doesn’t show fresh outputs, re-run Test on the Invite User step to pull a new sample.
Allow expert access (optional)
If you’d like specific team members to access integrations, turn on Approved Experts under your settings.
Hide the user counter on the login page
On the login page, Coursebox displays the number of users in your community. If you prefer not to show this number, you can hide it.
Find the option Hide user counter.
Toggle to ON to hide the counter.
When enabled, the user count will no longer appear on the login page.
For the rest of the login page settings, see Edit Login Screen.