Connect your Sanity project to LMSMore and build courses where your team already writes. Hand this guide to a developer: the course types are added to your Studio in code, then the connection needs a project ID, a dataset name and a read-only token.
A Sanity project whose Studio schema defines the LMSMore content types.
Manage projectsSign up for LMSMore or log into your existing account to access the integration wizard.
Start free trialFollow these four steps to connect your Sanity project and start creating courses
Set up a new Sanity project or use an existing one.
Your Project ID appears on the project dashboard after creation; you'll need this for the connection step.
Define the LMSMore content types in your Sanity Studio schema.
Sanity schemas are code in your Studio, so this step needs someone who can edit and deploy it. We read content only through these types; there is no field mapping from other types.
Generate a read-only token for secure content access.
Viewer permission only allows reading content. Your content cannot be modified through this token, keeping your data safe.
Link your Sanity project to LMSMore and start creating courses.
The Studio URL is optional: enter the name from name.sanity.studio and LMSMore shows 'Edit in Sanity' links to your Studio.
Once connected, we read your Sanity project on every page view: your project is the only source of course content. Publish a course and your learners can enroll from the catalog straight away.
Define these content types in your Studio schema; LMSMore reads them from your project
Main courses with title, description, and cover image
Sections within a course
Individual learning content with text and quizzes
Quiz questions for assessments
Curated sequences of courses
Completion certificates
Define these object types inside a lesson's content field to use the LMSMore lesson blocks. Any other object type inside lesson content is not rendered.
Fields LMSMore reads: title, description, icon, accentColor
Fields LMSMore reads: title, teaser, insight
Fields LMSMore reads: takeaways
Fields LMSMore reads: heading, displayType, contentItems: an array of references to a document type carrying heading and text, which the query dereferences
One YouTube video. Fields LMSMore reads: url (a link to one video), title, caption, startTime (seconds, overriding any time in the link) and summary (shown to learners as a transcript and used by the AI tutor). An object of type youtube with a url field is read the same way
What the Sanity connector includes
We read your project on every page view, so learners see what you published. There is no sync job, nothing to wire up in your CMS, and no copy stored on our side.
Lessons show your content as it exists in your CMS; the LMSMore app around it is in English only.
A Viewer token is enough. We read your content; we do not write to your project.
Your team keeps editing in Sanity Studio. LMSMore only displays and delivers your published learning content.
| What You Need | Where to Find It |
|---|---|
| Project ID | sanity.io/manage → Your Project → Dashboard |
| Dataset | Usually 'production'; check in Project Settings |
| API Token | API → Tokens → Add API token (Viewer permission) |
| Studio URL | Your deployed studio subdomain (optional) |
Yes. Add the LMSMore content types to its Studio schema; LMSMore reads content only through those types.
Only Viewer (read-only). LMSMore does not write to your Sanity project; all content editing happens in Sanity Studio.
No, content editing happens in Sanity Studio. LMSMore only displays and delivers your learning content to learners.
We read your project on every page view, so learners see what you published: there is no sync job, nothing to wire up in your CMS, and no copy stored on our side. We read through Sanity's API CDN, which can briefly serve the previous version just after a publish.
Only one can be active at a time. Both configurations are saved, so a workspace can change source later, but courses do not move between sources, and learners enrolled in the old source's courses lose access to them.
Your team edits content in a Studio that has the LMSMore types in its schema, so you need one; deploy it to sanity.studio or host it yourself. LMSMore reads from your dataset, not from the Studio.
Our team is here to help you set up your Sanity integration. Whether you have questions about the setup process or the content types to define, get in touch.