Integration Guide
Sanity

Getting Started

Connect your Sanity project to LMSMore and start transforming your content into engaging learning experiences. The entire setup takes about 10 minutes.

~10 min setup
No coding required

What You'll Need

1

Sanity Account

You'll need a Sanity account. Free tier includes everything you need to get started.

Sign up free
2

Sanity Project

A Sanity project with the LMS content schema installed. We'll help you set this up.

Manage projects
3

LMSMore Account

Sign up for LMSMore or log into your existing account to access the integration wizard.

Start free trial

Step-by-Step Setup

Follow these four steps to connect your Sanity project and start creating courses

1
3 minutes

Create a Sanity Project

Set up a new Sanity project or use an existing one.

What to do:

  • Go to sanity.io/manage and sign in
  • Click 'Create new project'
  • Enter a project name (e.g., 'My LMS Content')
  • Choose 'Create empty project'
  • Keep the default dataset name 'production'
Pro Tip

Your Project ID appears on the project dashboard after creation — you'll need this for the connection step.

2
2 minutes

Install Content Schema

Add the LMS content structure to your Sanity project.

What to do:

  • Contact your LMSMore administrator for schema installation
  • Or use our automated schema installer if you have developer access
  • Schema includes Course, Module, Lesson, and Assessment types
  • Learning Paths and Certificates are also created
Pro Tip

The schema creates all content types needed for courses — you don't need to configure anything manually.

3
2 minutes

Create an API Token

Generate a read-only token for secure content access.

What to do:

  • Go to your project in sanity.io/manage
  • Click 'API' in the left sidebar
  • Navigate to the 'Tokens' tab
  • Click 'Add API token'
  • Name it 'LMS Read Access' and select 'Viewer' permission
  • Copy the token immediately — it won't be shown again
Pro Tip

Viewer permission only allows reading content. Your content cannot be modified through this token, keeping your data safe.

4
2 minutes

Connect in LMSMore

Link your Sanity project to LMSMore and start creating courses.

What to do:

  • Log in to your LMSMore admin panel
  • Navigate to Settings → CMS or go to /admin/cms
  • Click 'Configure' on the Sanity card
  • Enter your Project ID, Dataset, and API Token
  • Click 'Test Connection' to verify
  • If successful, click 'Save & Activate'
Pro Tip

Your Studio URL is optional — add it if you've deployed a custom Sanity Studio for your team.

You're All Set!

Once connected, your Sanity content syncs in real-time with LMSMore. Start creating courses, assigning learners, and tracking progress immediately.

Content Types Created

The LMS schema adds these content types to your Sanity project

Course

Main courses with title, description, and cover image

Module

Sections within a course

Lesson

Individual learning content with text, images, and quizzes

Question

Quiz questions for assessments

Learning Path

Curated sequences of courses

Certificate

Completion certificates

Content Structure Overview

Course Structure

Course
├── Title, Description, Cover Image
├── Level (Beginner, Intermediate, Advanced)
├── Requirements & Learning Objectives
└── Modules
├── Module Title & Description
└── Lessons
├── Lesson Title & Content
└── Quiz Questions

Learning Path Structure

Learning Path
├── Name & Description
├── Courses (in order)
└── Certificate (on completion)

What You Get

Powerful features included with the Sanity integration

Real-Time Collaboration

Your team can edit content simultaneously. Changes appear instantly in LMSMore.

Multi-Language Support

Use Sanity's localization to deliver courses in any language your learners need.

Secure by Design

Read-only API tokens ensure your content stays protected. We never write to your project.

Instant Updates

Published changes appear immediately in your LMS — no caching delays.

Quick Reference

What You NeedWhere to Find It
Project IDsanity.io/manage → Your Project → Dashboard
DatasetUsually 'production' — check in Project Settings
API TokenAPI → Tokens → Add API token (Viewer permission)
Studio URLYour deployed studio subdomain (optional)

Troubleshooting

"Connection failed" error

  • Check your Project ID — copy it directly from your Sanity dashboard
  • Verify your API token — tokens can't be viewed after creation; create a new one if unsure
  • Check the dataset name — it's case-sensitive; usually 'production'

"Content not appearing" error

  • Make sure your content is published, not just saved as a draft
  • Check that you're using the correct dataset
  • Verify the content types match what LMSMore expects

"CORS errors" error

  • Go to your Sanity project settings
  • Navigate to API → CORS origins
  • Add your LMS domain (e.g., https://your-lms.com)

Frequently Asked Questions

Can I use an existing Sanity project?

Yes! You'll just need to install the LMS content schema. Contact your LMSMore administrator to get started.

What permissions does the API token need?

Only Viewer (read-only). LMSMore never writes to your Sanity project — all content editing happens in Sanity Studio.

Can I edit content directly in LMSMore?

No, content editing happens in Sanity Studio. LMSMore only displays and delivers your learning content to learners.

How quickly do content changes appear?

Instantly! Published changes appear immediately — LMSMore doesn't cache content, so updates are live right away.

Can I use both Contentful and Sanity?

Yes, but only one can be active at a time. You can switch between them anytime, and your configuration for both is saved.

Do I need to deploy Sanity Studio?

Not required, but recommended for the best editing experience. You can use the hosted Studio at sanity.io or deploy your own.

Need Help Getting Started?

Our team is here to help you set up your Sanity integration. Whether you have questions about the setup process or need help installing the schema, we've got you covered.

Ready to Get Started?

Connect your Sanity project today and see how easy it is to transform your content into engaging learning experiences.