All Docs
FeaturesCSI Teachable Replacement AppUpdated March 15, 2026

Course Slug Auto-Generation & Uniqueness Enforcement

Course Slug Auto-Generation & Uniqueness Enforcement

Available from: v1.0.67

Every course on the platform is identified by a human-readable, URL-safe slug — the short identifier that appears in course URLs. Starting in v1.0.67, slugs are generated automatically and kept unique within your organization without any manual effort.


How Slug Generation Works

When a new course is created, the platform:

  1. Takes the course title as the source string.
  2. Converts it to lowercase.
  3. Replaces spaces and special characters with hyphens (-).
  4. Strips any characters that are not alphanumeric or hyphens.

Example:

Course TitleGenerated Slug
Introduction to Pythonintroduction-to-python
AI & Machine Learning 101ai-machine-learning-101
Web Design: Basicsweb-design-basics

Uniqueness Enforcement

Slugs are unique within an organization. The same slug can exist in two different organizations without conflict, but no two courses within the same organization may share a slug.

Automatic Conflict Resolution

If a generated slug already exists in the organization, the platform appends an incrementing numeric suffix automatically:

introduction-to-python       ← first course
introduction-to-python-2     ← second course with same title
introduction-to-python-3     ← third course with same title

This happens transparently — instructors do not need to take any action.


Custom Slug Overrides

Instructors can override the auto-generated slug by specifying a custom value when creating or editing a course.

Rules for custom slugs

  • Must be URL-safe: lowercase letters, numbers, and hyphens only.
  • Must be unique within the organization. If the provided slug is already in use, the platform will reject the request with a conflict error.
  • Cannot be empty.

When to use a custom slug

  • You want a shorter or more memorable URL.
  • You are migrating content from an external platform and need to preserve existing URLs.
  • The auto-generated slug does not accurately reflect the course content.

Course URLs

Once a slug is set, it is used in all course-related URLs within your organization's tenant, for example:

https://<your-org>.example.com/courses/<slug>

Note: Changing a course slug after publication will break any previously shared links. Redirect existing URLs manually if you change a slug on a live course.


Summary

BehaviourDetail
Auto-generated fromCourse title
Scope of uniquenessPer organization
Conflict handlingNumeric suffix appended automatically
Custom overrideSupported; uniqueness still enforced
Available fromv1.0.67