Adds live-class session scheduling on lessons (join link, date/time, timezone) with automatic 24h and 1h reminder emails plus a calendar invite (.ics), a time-change notification with an updated invite, a teacher-authored welcome email and session invite on enrollment, and a "Notify students" quiz nudge. LMS gets an upcoming live-sessions card and Join buttons, plus a reusable live-session card component (3 states) in @cio/ui with a Storybook story. The sidebar content tree now reflects sequential progression locking like the content list, and the course-completion confetti regression is fixed. Org-based emails no longer reference ClassroomIO by name. Docs add live-class, welcome-email, and course-progression guides, expand the certificates guide (design, signatures, corrected labels), move plan-required callouts to the top, flatten how-to-guides to the docs root with redirects, and add screenshots. Includes an add-docs-image skill.
81 lines
3.4 KiB
Plaintext
81 lines
3.4 KiB
Plaintext
---
|
|
title: Set Up a Custom Domain
|
|
description: Connect and verify a custom domain for your ClassroomIO academy and learn which links use your org URL.
|
|
---
|
|
|
|
import { Callout } from 'fumadocs-ui/components/callout';
|
|
import { Step, Steps } from 'fumadocs-ui/components/steps';
|
|
|
|
Every organization gets a default site at `https://<siteName>.myclassroomio.com`. You can connect your own domain (for example `https://learn.yourcompany.com`) so students see your brand in the browser bar and in links.
|
|
|
|
## How ClassroomIO picks a base URL
|
|
|
|
When ClassroomIO builds a link for your organization, it resolves the host in this order:
|
|
|
|
1. **Verified custom domain** → `https://<your-domain>`
|
|
2. **Self-hosted override** (`DASHBOARD_ORIGIN` env var, if set)
|
|
3. **Development** → `http://localhost:5173`
|
|
4. **Academy URL** → `https://<siteName>.myclassroomio.com`
|
|
5. **Fallback** → `https://app.classroomio.com`
|
|
|
|
Most customer-facing course links use your org context and stop at step 1 or 4. The `app.classroomio.com` fallback applies when no academy URL is available.
|
|
|
|
## Set up your domain
|
|
|
|
<Steps>
|
|
<Step>
|
|
### Open domain settings
|
|
|
|
From the admin dashboard, go to **Settings → Organization**, then click **Edit domain** in the Custom Domain section.
|
|
</Step>
|
|
|
|
<Step>
|
|
### Enter your domain
|
|
|
|
Add the hostname you want (for example `learn.yourcompany.com`). Follow the DNS instructions ClassroomIO shows to verify ownership.
|
|
</Step>
|
|
|
|
<Step>
|
|
### Wait for verification
|
|
|
|
Verification can take time while DNS propagates. The domain must show as verified before links use it.
|
|
</Step>
|
|
|
|
<Step>
|
|
### Test on the live site
|
|
|
|
Open your custom domain in a browser. Sign in, open a course landing page, and confirm URLs stay on your domain.
|
|
</Step>
|
|
</Steps>
|
|
|
|
<Callout type="warn" title="Verification required">
|
|
An unverified custom domain is not used for generated links. Until verification succeeds, ClassroomIO keeps using `<siteName>.myclassroomio.com`.
|
|
</Callout>
|
|
|
|
## Which links use your org URL
|
|
|
|
| Link type | Uses org domain when verified? |
|
|
| --- | --- |
|
|
| Course enrollment (`/course/.../enroll`) | Yes |
|
|
| Course invite emails from **People** | Yes |
|
|
| Org site landing page and course catalog | Yes |
|
|
| Organization team invite (some flows) | May still use platform URL until fully aligned |
|
|
|
|
Course invites are documented in [How to Invite Students](/docs/invite-students). Those links should point at your academy, not `app.classroomio.com`, when your domain is verified.
|
|
|
|
## Email sender address
|
|
|
|
Invite and notification emails may still send from the ClassroomIO platform mail address. Your **organization name** appears in the message body; the sender inbox is not fully white-labeled today.
|
|
|
|
## Student login and redirects
|
|
|
|
Students should sign in on your academy so sessions and redirects stay on your academy URL. If login sends users to `app.classroomio.com` unexpectedly, check that the custom domain is verified and that you are sharing academy links (not the generic app URL).
|
|
|
|
## Related guides
|
|
|
|
- [Customize Your Organization](/docs/customize-organization) — org profile and default subdomain
|
|
- [Customize Your Academy Landing Page](/docs/org-landing-page) — public homepage on your domain
|
|
- [How to Invite Students](/docs/invite-students) — enrollment links on your academy
|
|
- [How Course Enrollment Works](/docs/course-enrollment) — enrollment paths and org signup
|
|
- [Organization](/docs/organization) — org settings overview
|