Skip to main content
ProductShare

Embed it in one line, or go fully headless.

Deliver learning as a signed-URL component, export it as SCORM, or drive the whole thing headless through the API, wherever people already are: your product, a portal, or Slack.

learn.acme.com · LMS
SCORM 1.2
Compliance 2026Imported from Coassemble
Any LMSExported as a SCORM package
acme.com/academy
<coassemble-player />
Card 3 / 8
Any websiteOne line of markup, live & tracked
acme.slack.com · #onboarding
Slack app
CoassembleAPP

Hey Sam, Security training is due Friday. 12 min, right here in Slack.

Start course
SlackDelivered as a DM, tracked like every surface
mail.acme.com
Shared link
Q3 Compliance refresherAssigned to you · due Fri
Open your course
EmailA signed link, one per person
app.acme.com/academy
<coassemble-catalog />
Onboarding collection · 4 courses
Welcome to Acme
Product basics
Security 101
Your first week
SaaS academyA full collection in your product
people.acme.com · HRIS
Builder
New course
From scratch
From a doc
From a template
HR tech platformThe builder, inside your platform
06 · one build · delivered any way your teams already work
01Ways to ship

Four ways out. You choose the surface.

One build ships everywhere, embed it, export it, send it, or drive the whole thing from your backend.

Embed · a component

One line of markup

The Player drops into any page or app with a signed URL per person, live, tracked and themed.

<coassemble-player />signedtracked
Export · SCORM

Portable and yours to keep

SCORM 1.2 and 2004, dynamic or standalone, hand it to any LMS with tracking intact.

any LMSdynamicoffline
Send · direct

Link, email or Slack

A signed link per person, an email assignment, or a Slack DM with the course running in-channel.

share linkemailSlack DM
NewHeadless · via API & MCP

Delivery as infrastructure

Fetch, assign and deliver programmatically from your own backend, or let your agents do it over MCP.

REST APIwebhooksMCP
02Delivery

Delivery, end to end.

From who can open it to where it lands, every channel in detail, and each one works two ways: the share dialog in the studio, or the API.

01 · Access control

You decide exactly who gets in.

Five access levels per course, from anyone with the link to a single approved domain, or off entirely. Change it any time; it applies immediately, even for people who already have the link.course links & access ↗

API{"access":"approved-domain"}
Share · Who can access this course?
Anyone with the link
anonymous · no email captured
Anyone who provides an email
identified in analytics
Only an approved domain
@driftwood.coffee
Only people invited
No one · disabled
applies immediately, even for people who already have the link
02 · Share links

One link. Paste it anywhere.

Copy the course link into Slack, Teams, email or a webpage, your access settings ride along with it, wherever it lands.publish & share ↗

APIPOST /v1/share → link
Share · Copy link
driftwood.coffee/c/cold-brew-101Copy
SlackTTeamsEmailAny webpage
access settings still apply, wherever it’s pasted
03 · Email invitations

A direct link, straight to their inbox.

Invite by email with your own message. Recipients click and go straight in, no account, no login, and they’re identified from the first screen.email invitations ↗

API{"emails":["sam@…"],"message":"…"}
Share · Invite people
sam@driftwood.coffee ×priya@driftwood.coffee ×Add more…
Before Friday’s tasting, it’s 3 minutes. ☕
no login, the link goes straight inSend invites
04 · Slack

Due Friday, delivered in Slack.

Share to channels or members and the course lands as a DM, taken right there, tracked like every other surface.share to slack ↗

API{"channel":"#baristas","due":"friday"}
driftwood.slack.com · #baristas
C
Coassemble APP
Hey Sam, Cold Brew 101 is due Friday. 3 min, right here in Slack.
Start course
channels or members · identity captured or discarded
05 · SCORM export

Yours to keep. Runs anywhere.

Export SCORM 1.2 or 2004 for any LMS, and Dynamic SCORM keeps the package updated when the course changes, with no re-upload.scorm export ↗

APIGET /v1/courses/:id/scorm?v=2004
Export · SCORM
SCORM 2004
SCORM 1.2
Dynamic, updates when the course does
cold-brew-101.zipDownload
06 · Embed in your product

One line, and it’s in your app.

The Player renders any course inside your product with a signed URL per person, learners never leave, and every attempt is tracked.embed in your product ↗

APIGET /v1/headless/url · signed per person
app.driftwood.coffee · onboarding
<coassemble-player
  course="cold-brew-101"
  signed-url="{per-person}" />
Cold Brew 101
rendered in your page · live & tracked
07 · Custom domain

Your address, the whole way through.

Embedded learning is served from your domain automatically, it runs inside your product, so there’s no Coassemble URL in front of learners and nothing to configure.custom domain ↗

Built inserved from your app’s domain
🔒 app.driftwood.coffee/academy
Learners stay on your address
Coassemble URL visibleNEVER
Domain setup requiredNONE
runs inside your product, so it ships on your domain by default
08 · Shareable templates

Share the course, or share the recipe.

Turn any course into a shareable template so other teams, or your customers, can start from your structure and make it their own.shareable templates ↗

API{"template":true}
Cold Brew 101 · as a template
Cold Brew 101
5 screens · quiz · template
Use template
your structure, their content
09 · Deploy via MCP

Training that finds the moment. · Soon

Expose your courses over MCP and any connected AI assistant can surface the right one in the flow of work, a new starter asks a question, the course arrives with the answer.deploy via mcp ↗

MCPcoassemble.deploy_course · soon
Any MCP-enabled assistant
Where do I learn our cold brew process?
Cold Brew 101 · 3 min
served in-chat · tracked as usual
an open standard, works across assistants that support MCP
Live demo

One course. Pick a surface.

The same Cold Brew 101 course, delivered four ways, click a surface and watch the delivery (and the code) change. Same tracking on every one.

Cold Brew 101 · delivery · via Coassemble embeddables
Your website Slack Email Your LMS · SCORM
Case study

Aureus Financial embeds its courses directly into its own community.

Aureus Financial delivers financial education and wanted learners to stay in one place, so its courses live inside its own community instead of a separate platform.

Challenge

Aureus Financial wanted learners to stay in one place and actually finish what they start, rather than bouncing out to a separate platform to take a course.

Solution

They embed their Coassemble courses directly into their community, so learning happens where their learners already are, closing the gap between great content and great delivery.

Read the story
AureusFinancial
“Coassemble has helped us close the gap between great content and great delivery. We embed our courses directly into our community, which means learners stay in one place and actually complete what they start.”
Mary Lanado · Instructional Designer, Aureus Financial
EmbeddedCourses inside their own community
One placeLearners stay put
CompletedThey finish what they start

Deliver it your way.

Embed a course, export SCORM, or go headless. Try all three in a sandbox.