Docs
arrow_back Embeddables

Course Agent Scale and above

The Course Agent embeds Coassemble's agent as a chat editor for an existing course. Your users ask it to add screens, rewrite content, generate quizzes, and more — and it edits the course for them. It's chat only: there's no builder canvas, so live-builder tools (selecting a screen, capturing the screen) are unavailable.

Edits are persisted server-side as the agent works. Because this embed has no canvas of its own, it emits a course-updated event after each change so you can refresh a course player or builder you're showing alongside it.

API Endpoint

POST/v1/headless/embed/agent

Body parameters

FieldTypeExampleDescriptionDemo Value
modestringcoach——
courseIdnumber123The course the agent edits (required).
identifierstringyour-user-id——
clientIdentifierstringyour-tenant-id——
namestringJane DoeDisplay name for presence avatars and comment authors. Optional. An empty or blank name is treated as not given. When not given, a colour-and-animal name such as Green Turtle is generated from identifier and stays the same for that identifier. Max 512 characters; longer values return HTTP 400 (`name max=512, asked for N`).
avatarstringhttps://example.com/avatar.jpgImage URL for presence avatars and comment authors. Optional. An empty or blank avatar is treated as not given: no avatar is shown, and it does not generate a name. Otherwise it must be an http(s) URL. Max 2048 characters; longer values return HTTP 400 (`avatar max=2048, asked for N`). Other schemes also return 400.
themeIdnumberCustom theme ID to render with.
options.aibooleantrueSame flag as course and builder embeds. Does not disable the coach chat itself.
options.languagestringenLanguage for the conversation and edits.
options.brandVoicebooleanfalseApply the workspace brand voice during edits.
options.expiresInstring3hLink opening lifetime, "30s" to "3h" (e.g. "5m"). Invalid values return 400. A builder link handed over from this agent gets the same lifetime.
TypeEventDescriptionNotes
agentcourse-updatedFires after the agent edits the course. Payload includes { courseId }.
sessionerrorFires when an error occurs.
sessionexpiredFires when the session expires.

Live Demo