[{"data":1,"prerenderedAt":15453},["ShallowReactive",2],{"doc-\u002Fdocs\u002Faccount\u002Fmcp":3,"doc-surround-\u002Fdocs\u002Faccount\u002Fmcp":662,"docs-nav":667},{"id":4,"title":5,"body":6,"description":652,"extension":653,"icon":654,"meta":655,"navigation":656,"order":657,"path":658,"seo":659,"stem":660,"__hash__":661},"docs\u002Fdocs\u002F5.account\u002F7.mcp.md","MCP (AI assistant access)",{"type":7,"value":8,"toc":637},"minimark",[9,23,28,31,36,117,121,243,247,276,285,289,310,314,318,349,353,364,368,373,409,413,416,426,437,440,457,561,564,568,591,595,598,630,633],[10,11,12,13,17,18,22],"p",{},"LearnBuilder exposes its API over the ",[14,15,16],"strong",{},"Model Context Protocol (MCP)"," — an open standard for letting AI assistants call tools on external systems. Once you connect an MCP client (Claude.ai, Claude Code, or anything that speaks Streamable HTTP MCP), the assistant can answer questions like ",[19,20,21],"em",{},"\"How many learners completed the Phishing 101 course this month?\""," by calling LearnBuilder tools directly, without you having to copy\u002Fpaste data.",[24,25,27],"h2",{"id":26},"what-the-assistant-can-do-today","What the assistant can do today",[10,29,30],{},"The MCP server ships with tools across reads, writes, and AI generation. Every tool is scoped to the account that owns the API key — an assistant can never see or touch data from other accounts.",[32,33,35],"h3",{"id":34},"read","Read",[37,38,39,52],"table",{},[40,41,42],"thead",{},[43,44,45,49],"tr",{},[46,47,48],"th",{},"Tool",[46,50,51],{},"What it does",[53,54,55,67,77,87,97,107],"tbody",{},[43,56,57,64],{},[58,59,60],"td",{},[61,62,63],"code",{},"list_courses",[58,65,66],{},"List courses in your account, filterable by status (draft \u002F published \u002F archived)",[43,68,69,74],{},[58,70,71],{},[61,72,73],{},"get_course",[58,75,76],{},"Fetch a single course with its lesson list",[43,78,79,84],{},[58,80,81],{},[61,82,83],{},"list_lessons",[58,85,86],{},"List the lessons inside one course",[43,88,89,94],{},[58,90,91],{},[61,92,93],{},"get_lesson",[58,95,96],{},"Fetch a lesson with its full block content (text, video, quiz, interactive, etc.)",[43,98,99,104],{},[58,100,101],{},[61,102,103],{},"list_enrollments",[58,105,106],{},"List learner enrollments, filterable by course, user, or status",[43,108,109,114],{},[58,110,111],{},[61,112,113],{},"get_learner_progress",[58,115,116],{},"Fetch a learner's progress, optionally scoped to one course",[32,118,120],{"id":119},"write","Write",[37,122,123,131],{},[40,124,125],{},[43,126,127,129],{},[46,128,48],{},[46,130,51],{},[53,132,133,143,153,163,173,183,193,203,213,223,233],{},[43,134,135,140],{},[58,136,137],{},[61,138,139],{},"create_course",[58,141,142],{},"Create a new draft course",[43,144,145,150],{},[58,146,147],{},[61,148,149],{},"update_course",[58,151,152],{},"Patch a course's title, description, status, visibility, or tags",[43,154,155,160],{},[58,156,157],{},[61,158,159],{},"delete_course",[58,161,162],{},"Permanently delete a course",[43,164,165,170],{},[58,166,167],{},[61,168,169],{},"add_lesson",[58,171,172],{},"Append an empty lesson to a course",[43,174,175,180],{},[58,176,177],{},[61,178,179],{},"update_lesson",[58,181,182],{},"Patch a lesson's title, performance outcome, or order",[43,184,185,190],{},[58,186,187],{},[61,188,189],{},"delete_lesson",[58,191,192],{},"Permanently delete a lesson",[43,194,195,200],{},[58,196,197],{},[61,198,199],{},"add_block",[58,201,202],{},"Append a content block to a lesson (text \u002F video \u002F quiz \u002F interactive \u002F etc.)",[43,204,205,210],{},[58,206,207],{},[61,208,209],{},"update_block",[58,211,212],{},"Patch one block in a lesson",[43,214,215,220],{},[58,216,217],{},[61,218,219],{},"remove_block",[58,221,222],{},"Remove one block from a lesson",[43,224,225,230],{},[58,226,227],{},[61,228,229],{},"enroll_learner",[58,231,232],{},"Enroll a user in a course (idempotent — returns existing enrollment if already enrolled)",[43,234,235,240],{},[58,236,237],{},[61,238,239],{},"unenroll_learner",[58,241,242],{},"Delete an enrollment",[32,244,246],{"id":245},"generation","Generation",[37,248,249,257],{},[40,250,251],{},[43,252,253,255],{},[46,254,48],{},[46,256,51],{},[53,258,259],{},[43,260,261,266],{},[58,262,263],{},[61,264,265],{},"generate_course_from_prompt",[58,267,268,269,272,273,275],{},"Calls the AI prefill pipeline (course title, description, tags, objectives, optional story + character) and creates a draft course record with the result. Synchronous, 60 s cap. Returns the new ",[61,270,271],{},"courseId"," so you can iterate with ",[61,274,169],{},".",[277,278,279],"blockquote",{},[10,280,281,284],{},[61,282,283],{},"generate_lesson_from_prompt"," (full lesson generation including blocks + images) is the most-requested follow-up. It runs as an SSE stream today and needs a careful wrapper to fit a synchronous MCP call — coming soon.",[24,286,288],{"id":287},"requirements","Requirements",[290,291,292,299],"ul",{},[293,294,295,298],"li",{},[14,296,297],{},"Business plan"," — MCP reuses the existing REST API key infrastructure, which requires Business or higher.",[293,300,301,302,305,306,309],{},"An MCP-aware AI client that speaks ",[14,303,304],{},"Streamable HTTP"," — Claude.ai, Claude Code (remote), and most modern MCP clients support this. Claude Desktop currently requires a stdio proxy (see ",[19,307,308],{},"Claude Desktop"," below).",[24,311,313],{"id":312},"connect-a-client","Connect a client",[32,315,317],{"id":316},"_1-generate-an-api-key","1. Generate an API key",[319,320,321,331,342],"ol",{},[293,322,323,324,327,328,275],{},"Open ",[14,325,326],{},"Account settings"," → ",[14,329,330],{},"REST API & SCIM",[293,332,333,334,337,338,341],{},"Click ",[14,335,336],{},"Create Key",", give it a memorable name (e.g. ",[19,339,340],{},"\"My Claude.ai assistant\"",").",[293,343,344,345,348],{},"Copy the key shown once on the next screen — it starts with ",[61,346,347],{},"lb_ak_"," and will not be displayed again.",[32,350,352],{"id":351},"_2-grab-the-mcp-url","2. Grab the MCP URL",[10,354,355,356,359,360,363],{},"Just above the keys list you'll see your ",[14,357,358],{},"MCP endpoint URL"," — something like ",[61,361,362],{},"https:\u002F\u002Fapp.learnbuilder.com\u002Fapi\u002Fmcp",". Copy it.",[32,365,367],{"id":366},"_3-add-the-connection-to-your-ai-client","3. Add the connection to your AI client",[369,370,372],"h4",{"id":371},"claudeai-web","Claude.ai (web)",[319,374,375,386,392,395,406],{},[293,376,323,377,327,380,327,383,275],{},[14,378,379],{},"Settings",[14,381,382],{},"Connectors",[14,384,385],{},"Add custom connector",[293,387,388,389,275],{},"Name: ",[61,390,391],{},"LearnBuilder",[293,393,394],{},"Server URL: paste the MCP endpoint URL.",[293,396,397,398,401,402,405],{},"Authentication: ",[14,399,400],{},"Bearer token"," — paste your ",[61,403,404],{},"lb_ak_…"," key.",[293,407,408],{},"Save. Start a new conversation; the LearnBuilder tools should appear in the tools panel.",[369,410,412],{"id":411},"claude-code-remote","Claude Code (remote)",[10,414,415],{},"In a Claude Code session, run:",[417,418,423],"pre",{"className":419,"code":421,"language":422},[420],"language-text","\u002Fmcp add learnbuilder \u003Cyour-mcp-url> --header \"Authorization: Bearer \u003Cyour-api-key>\"\n","text",[61,424,421],{"__ignoreMap":425},"",[10,427,428,429,432,433,436],{},"Verify with ",[61,430,431],{},"\u002Fmcp list"," — ",[61,434,435],{},"learnbuilder"," should show up with the read tools listed.",[369,438,308],{"id":439},"claude-desktop",[10,441,442,443,446,447,456],{},"Claude Desktop currently speaks ",[14,444,445],{},"stdio MCP",", not Streamable HTTP. Use a generic HTTP→stdio bridge such as ",[448,449,453],"a",{"href":450,"rel":451},"https:\u002F\u002Fgithub.com\u002Fgeelen\u002Fmcp-remote",[452],"nofollow",[61,454,455],{},"mcp-remote",":",[417,458,462],{"className":459,"code":460,"language":461,"meta":425,"style":425},"language-json shiki shiki-themes github-dark","{\n  \"mcpServers\": {\n    \"learnbuilder\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-remote\", \"\u003Cyour-mcp-url>\", \"--header\", \"Authorization: Bearer \u003Cyour-api-key>\"]\n    }\n  }\n}\n","json",[61,463,464,473,483,491,507,543,549,555],{"__ignoreMap":425},[465,466,469],"span",{"class":467,"line":468},"line",1,[465,470,472],{"class":471},"s95oV","{\n",[465,474,476,480],{"class":467,"line":475},2,[465,477,479],{"class":478},"sDLfK","  \"mcpServers\"",[465,481,482],{"class":471},": {\n",[465,484,486,489],{"class":467,"line":485},3,[465,487,488],{"class":478},"    \"learnbuilder\"",[465,490,482],{"class":471},[465,492,494,497,500,504],{"class":467,"line":493},4,[465,495,496],{"class":478},"      \"command\"",[465,498,499],{"class":471},": ",[465,501,503],{"class":502},"sU2Wk","\"npx\"",[465,505,506],{"class":471},",\n",[465,508,510,513,516,519,522,525,527,530,532,535,537,540],{"class":467,"line":509},5,[465,511,512],{"class":478},"      \"args\"",[465,514,515],{"class":471},": [",[465,517,518],{"class":502},"\"-y\"",[465,520,521],{"class":471},", ",[465,523,524],{"class":502},"\"mcp-remote\"",[465,526,521],{"class":471},[465,528,529],{"class":502},"\"\u003Cyour-mcp-url>\"",[465,531,521],{"class":471},[465,533,534],{"class":502},"\"--header\"",[465,536,521],{"class":471},[465,538,539],{"class":502},"\"Authorization: Bearer \u003Cyour-api-key>\"",[465,541,542],{"class":471},"]\n",[465,544,546],{"class":467,"line":545},6,[465,547,548],{"class":471},"    }\n",[465,550,552],{"class":467,"line":551},7,[465,553,554],{"class":471},"  }\n",[465,556,558],{"class":467,"line":557},8,[465,559,560],{"class":471},"}\n",[10,562,563],{},"Restart Claude Desktop and the tools will appear in the conversation's tools picker.",[24,565,567],{"id":566},"security-notes","Security notes",[290,569,570,573,581,584],{},[293,571,572],{},"API keys are stored hashed at rest — LearnBuilder never persists the raw key.",[293,574,575,576,327,578,580],{},"Revoke a key at any time from ",[14,577,326],{},[14,579,330],{},". Revocation is immediate.",[293,582,583],{},"Every tool call is scoped to the account that owns the key. There is no way for a tool to read or modify another account's data.",[293,585,586,587,590],{},"The assistant's tool calls are logged via ",[61,588,589],{},"last_used_at"," on the key — handy for spotting unfamiliar activity.",[24,592,594],{"id":593},"what-to-ask-the-assistant","What to ask the assistant",[10,596,597],{},"A few prompt starters to try once you're connected:",[290,599,600,605,610,615,620,625],{},[293,601,602],{},[19,603,604],{},"\"List the published courses in my LearnBuilder account, sorted by most recently updated.\"",[293,606,607],{},[19,608,609],{},"\"Show me the lesson structure of the course called 'Phishing 101'.\"",[293,611,612],{},[19,613,614],{},"\"How many learners are enrolled in 'Compliance Training' and what's the average progress?\"",[293,616,617],{},[19,618,619],{},"\"For learner X, summarise their completion across all the courses they're enrolled in.\"",[293,621,622],{},[19,623,624],{},"\"Generate a draft course titled 'GDPR Essentials for support teams', then add four lessons covering scope, lawful bases, data subject rights, and breach handling.\"",[293,626,627],{},[19,628,629],{},"\"Archive every course that's been in draft for more than 90 days and hasn't had any enrollments.\"",[10,631,632],{},"Because the assistant gets the live data back, the answers reflect your account exactly as it is now — no stale export, no copy-paste step.",[634,635,636],"style",{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":425,"searchDepth":475,"depth":475,"links":638},[639,644,645,650,651],{"id":26,"depth":475,"text":27,"children":640},[641,642,643],{"id":34,"depth":485,"text":35},{"id":119,"depth":485,"text":120},{"id":245,"depth":485,"text":246},{"id":287,"depth":475,"text":288},{"id":312,"depth":475,"text":313,"children":646},[647,648,649],{"id":316,"depth":485,"text":317},{"id":351,"depth":485,"text":352},{"id":366,"depth":485,"text":367},{"id":566,"depth":475,"text":567},{"id":593,"depth":475,"text":594},"Connect Claude.ai, Claude Code, or any MCP-aware AI client to your LearnBuilder account so it can browse courses, lessons, and learner data on your behalf.","md","i-lucide-sparkles",{},true,null,"\u002Fdocs\u002Faccount\u002Fmcp",{"title":5,"description":652},"docs\u002F5.account\u002F7.mcp","6_4V1e22SvvDG9PYpAysZI3LQTH4mrJvo9crQC5ju4I",[663,657],{"title":664,"path":665,"stem":666,"children":-1},"Email Templates","\u002Fdocs\u002Faccount\u002Femail-templates","docs\u002F5.account\u002F6.email-templates",[668,979,1553,2010,2916,3512,3827,6595,7629,8320,8494,8748,9051,9473,9732,9909,10150,10415,10868,11022,11370,11681,12056,12509,14560,15007],{"id":669,"title":670,"body":671,"description":972,"extension":653,"icon":973,"meta":974,"navigation":656,"order":657,"path":975,"seo":976,"stem":977,"__hash__":978},"docs\u002Fdocs\u002F1.getting-started\u002F1.introduction.md","Introduction to LearnBuilder",{"type":7,"value":672,"toc":964},[673,680,683,687,725,729,793,797,803,807,931,939,943,946,950],[10,674,675],{},[676,677],"img",{"alt":678,"src":679},"LearnBuilder Dashboard","\u002Fscreenshots\u002Fdocs\u002F01-dashboard-dark.png",[10,681,682],{},"LearnBuilder is an AI-powered e-learning platform that lets you create, publish, and sell online courses — without needing instructional design experience. From short skill modules to full certification programs, you can build it here.",[24,684,686],{"id":685},"what-you-can-do","What you can do",[290,688,689,695,701,707,713,719],{},[293,690,691,694],{},[14,692,693],{},"Create courses"," with text, video, quizzes, interactive activities, and more",[293,696,697,700],{},[14,698,699],{},"Use AI to draft"," course outlines, lessons, and content blocks from a simple objective",[293,702,703,706],{},[14,704,705],{},"Engage learners"," with an AI Tutor, progress tracking, and certificates",[293,708,709,712],{},[14,710,711],{},"Publish anywhere"," — host on LearnBuilder, use a custom domain, or export as SCORM",[293,714,715,718],{},[14,716,717],{},"Sell courses"," by connecting Stripe and setting a price",[293,720,721,724],{},[14,722,723],{},"Manage a team"," with shared access to your account",[24,726,728],{"id":727},"key-concepts","Key concepts",[37,730,731,741],{},[40,732,733],{},[43,734,735,738],{},[46,736,737],{},"Concept",[46,739,740],{},"What it means",[53,742,743,753,763,773,783],{},[43,744,745,750],{},[58,746,747],{},[14,748,749],{},"Course",[58,751,752],{},"The top-level container — title, cover image, settings, and all lessons",[43,754,755,760],{},[58,756,757],{},[14,758,759],{},"Lesson",[58,761,762],{},"A single learning unit inside a course",[43,764,765,770],{},[58,766,767],{},[14,768,769],{},"Block",[58,771,772],{},"A content piece inside a lesson (text, video, quiz, etc.)",[43,774,775,780],{},[58,776,777],{},[14,778,779],{},"Learner",[58,781,782],{},"Someone enrolled in a course",[43,784,785,790],{},[58,786,787],{},[14,788,789],{},"Knowledge Files",[58,791,792],{},"Reference documents the AI uses to answer learner questions",[24,794,796],{"id":795},"how-courses-are-structured","How courses are structured",[417,798,801],{"className":799,"code":800,"language":422},[420],"Course\n└── Lesson 1\n│   ├── Text block\n│   ├── Video block\n│   └── Quiz block\n└── Lesson 2\n    ├── AI Dialogue block\n    └── Flashcard block\n",[61,802,800],{"__ignoreMap":425},[24,804,806],{"id":805},"pricing-plans","Pricing plans",[37,808,809,834],{},[40,810,811],{},[43,812,813,816,819,822,825,828,831],{},[46,814,815],{},"Plan",[46,817,818],{},"Price",[46,820,821],{},"Courses",[46,823,824],{},"Learners",[46,826,827],{},"Team",[46,829,830],{},"Storage",[46,832,833],{},"AI Credits",[53,835,836,861,885,909],{},[43,837,838,843,846,849,852,855,858],{},[58,839,840],{},[14,841,842],{},"Free",[58,844,845],{},"€0\u002Fmo",[58,847,848],{},"3",[58,850,851],{},"25",[58,853,854],{},"1",[58,856,857],{},"500 MB",[58,859,860],{},"Pay-as-you-go",[43,862,863,868,871,874,877,879,882],{},[58,864,865],{},[14,866,867],{},"Starter",[58,869,870],{},"€29\u002Fmo",[58,872,873],{},"10",[58,875,876],{},"100",[58,878,848],{},[58,880,881],{},"5 GB",[58,883,884],{},"€5 included",[43,886,887,892,895,898,901,903,906],{},[58,888,889],{},[14,890,891],{},"Professional",[58,893,894],{},"€79\u002Fmo",[58,896,897],{},"Unlimited",[58,899,900],{},"500",[58,902,873],{},[58,904,905],{},"25 GB",[58,907,908],{},"€15 included",[43,910,911,916,919,921,923,925,928],{},[58,912,913],{},[14,914,915],{},"Business",[58,917,918],{},"€199\u002Fmo",[58,920,897],{},[58,922,897],{},[58,924,897],{},[58,926,927],{},"100 GB",[58,929,930],{},"€50 included",[277,932,933],{},[10,934,935,938],{},[14,936,937],{},"Note:"," White-label branding, SSO, and API access are available on the Business plan.",[24,940,942],{"id":941},"sign-in-options","Sign in options",[10,944,945],{},"LearnBuilder supports sign-in with email\u002Fpassword, Google, or Microsoft. Learners use the same options via the learner portal.",[24,947,949],{"id":948},"next-steps","Next steps",[290,951,952,958],{},[293,953,954],{},[448,955,957],{"href":956},"\u002Fdocs\u002Fgetting-started\u002Fcreating-courses","Create your first course",[293,959,960],{},[448,961,963],{"href":962},"\u002Fdocs\u002Fgetting-started\u002Fai-generation","Learn how AI generation works",{"title":425,"searchDepth":475,"depth":475,"links":965},[966,967,968,969,970,971],{"id":685,"depth":475,"text":686},{"id":727,"depth":475,"text":728},{"id":795,"depth":475,"text":796},{"id":805,"depth":475,"text":806},{"id":941,"depth":475,"text":942},{"id":948,"depth":475,"text":949},"An overview of LearnBuilder — what it is, what you can build, and how to get started.","i-lucide-graduation-cap",{},"\u002Fdocs\u002Fgetting-started\u002Fintroduction",{"title":670,"description":972},"docs\u002F1.getting-started\u002F1.introduction","lLqFYTDskeLPKemWvpSmF5O2AN5M8UiI4KFT-OOmAt8",{"id":980,"title":981,"body":982,"description":1547,"extension":653,"icon":1548,"meta":1549,"navigation":656,"order":657,"path":956,"seo":1550,"stem":1551,"__hash__":1552},"docs\u002Fdocs\u002F1.getting-started\u002F2.creating-courses.md","Creating Your First Course",{"type":7,"value":983,"toc":1529},[984,990,993,997,1008,1012,1015,1126,1132,1136,1142,1160,1166,1170,1192,1195,1234,1237,1280,1283,1329,1332,1335,1355,1368,1371,1398,1409,1413,1430,1434,1441,1452,1460,1464,1471,1474,1478,1485,1502,1508,1510],[10,985,986],{},[676,987],{"alt":988,"src":989},"Course Overview","\u002Fscreenshots\u002Fdocs\u002F02-course-overview-dark.jpg",[10,991,992],{},"This guide walks you through creating a course from scratch — from the settings page to your first published lesson.",[24,994,996],{"id":995},"step-1-create-a-new-course","Step 1: Create a new course",[10,998,999,1000,1003,1004,1007],{},"From your dashboard, click ",[14,1001,1002],{},"New Course",". You can either start blank and fill everything in by hand, or use the ",[14,1005,1006],{},"AI flow"," — a multi-step wizard that prefills title, description, objectives, optional story, lessons, and a cover image from a short brief.",[32,1009,1011],{"id":1010},"ai-flow-recommended","AI flow (recommended)",[10,1013,1014],{},"The wizard is organised into labelled sections so you can scan and edit only what matters:",[290,1016,1017,1031,1045,1051,1057],{},[293,1018,1019,1022,1023,1026,1027,1030],{},[14,1020,1021],{},"Source material"," — a free-text ",[14,1024,1025],{},"Topic"," describing what the course is about, plus optional ",[14,1028,1029],{},"Knowledge files"," (PDFs, Word, PowerPoint, EPUB, images) the AI uses as the source of truth",[293,1032,1033,1036,1037,1040,1041,1044],{},[14,1034,1035],{},"Audience"," — pick an ",[14,1038,1039],{},"Experience level"," (New, Some experience, Experienced, Mixed), a ",[14,1042,1043],{},"Learning context"," (Onboarding, Compliance, Skills, Enablement, Certification, Other), and optionally add a free-text \"anything specific?\" note",[293,1046,1047,1050],{},[14,1048,1049],{},"Language & visuals"," — pick a content language (60+ supported, including regional variants like English UK \u002F US \u002F AU and Spanish ES \u002F MX) and an image style (photorealistic, illustration, flat design, etc.)",[293,1052,1053,1056],{},[14,1054,1055],{},"Storytelling"," — toggle in the section header. When on, you can name a main character; the AI will weave a short story or case study through the course",[293,1058,1059,1036,1062,1065,1066,1069,1070],{},[14,1060,1061],{},"Lesson generation",[14,1063,1064],{},"Instructional design approach",", a ",[14,1067,1068],{},"Content density",", and which block types the AI should use:",[37,1071,1072,1082],{},[40,1073,1074],{},[43,1075,1076,1079],{},[46,1077,1078],{},"Approach",[46,1080,1081],{},"What the AI optimises for",[53,1083,1084,1094,1105,1116],{},[43,1085,1086,1091],{},[58,1087,1088],{},[14,1089,1090],{},"Standard",[58,1092,1093],{},"A balanced overview-then-detail structure — good general-purpose default",[43,1095,1096,1102],{},[58,1097,1098,1101],{},[14,1099,1100],{},"Action-first"," (Cathy Moore)",[58,1103,1104],{},"Lessons centred on real on-the-job decisions and actions, not concepts",[43,1106,1107,1113],{},[58,1108,1109,1112],{},[14,1110,1111],{},"Objective-first"," (Mager \u002F Backward Design)",[58,1114,1115],{},"Each lesson tied to a measurable objective with aligned practice",[43,1117,1118,1123],{},[58,1119,1120],{},[14,1121,1122],{},"Story-driven",[58,1124,1125],{},"Branching scenarios and dialogues sequenced as a narrative",[10,1127,1128,1129,275],{},"You can change any prefilled value before clicking ",[14,1130,1131],{},"Create",[32,1133,1135],{"id":1134},"manual-flow","Manual flow",[10,1137,1138,1139,1141],{},"If you prefer to start from scratch, just enter a title and click ",[14,1140,1131],{}," — you'll land on an empty course you can fill in yourself.",[10,1143,1144,1145,521,1148,521,1150,1152,1153,1156,1157,1159],{},"After creation you'll land on the course page, which has four tabs: ",[14,1146,1147],{},"Lessons",[14,1149,824],{},[14,1151,379],{},", and ",[14,1154,1155],{},"Analytics",". The ",[14,1158,1147],{}," tab is open by default.",[10,1161,1162],{},[676,1163],{"alt":1164,"src":1165},"Course Settings","\u002Fscreenshots\u002Fdocs\u002F04-course-settings-dark.jpg",[24,1167,1169],{"id":1168},"step-2-configure-course-settings","Step 2: Configure course settings",[10,1171,1172,1173,521,1176,521,1179,521,1182,1152,1185,1188,1189,1191],{},"Course settings are organized into five sections: ",[14,1174,1175],{},"Basics",[14,1177,1178],{},"AI Content",[14,1180,1181],{},"Experience",[14,1183,1184],{},"Emails",[14,1186,1187],{},"Pricing",". Access settings by clicking the ",[14,1190,379],{}," tab on the course overview page. On wider screens a side navigation lets you jump directly to each section.",[32,1193,1175],{"id":1194},"basics",[290,1196,1197,1203,1212,1218,1228],{},[293,1198,1199,1202],{},[14,1200,1201],{},"Title"," — clear and descriptive",[293,1204,1205,1208,1209],{},[14,1206,1207],{},"URL Slug"," — the short identifier used in the course URL (auto-generated from the title; editable). The course link is ",[61,1210,1211],{},"\u002Flearn\u002F{yourAccountSlug}\u002F{courseSlug}",[293,1213,1214,1217],{},[14,1215,1216],{},"Description"," — what learners will achieve",[293,1219,1220,1223,1224,1227],{},[14,1221,1222],{},"Cover image"," — upload, pick from the media library, choose a ",[14,1225,1226],{},"Stock Photo"," (Freepik), or generate with AI",[293,1229,1230,1233],{},[14,1231,1232],{},"Tags"," — help learners find your course",[32,1235,1178],{"id":1236},"ai-content",[290,1238,1239,1245,1251,1257,1263,1269,1275],{},[293,1240,1241,1244],{},[14,1242,1243],{},"Target audience"," — who this course is for",[293,1246,1247,1250],{},[14,1248,1249],{},"Learning objectives"," — what learners will be able to do",[293,1252,1253,1256],{},[14,1254,1255],{},"Story \u002F case study framing"," — optional narrative context",[293,1258,1259,1262],{},[14,1260,1261],{},"Language"," — 60+ content languages supported, including regional variants (e.g. English UK \u002F US \u002F AU \u002F CA, Spanish ES \u002F MX \u002F AR, Portuguese BR \u002F PT)",[293,1264,1265,1268],{},[14,1266,1267],{},"Image style"," — photorealistic, illustration, flat design, and more",[293,1270,1271,1274],{},[14,1272,1273],{},"Main character"," — name, photo, and description for visual consistency across AI-generated images",[293,1276,1277,1279],{},[14,1278,789],{}," — reference documents the AI uses to generate content and answer learner questions",[32,1281,1181],{"id":1282},"experience",[290,1284,1285,1291,1297,1303,1309],{},[293,1286,1287,1290],{},[14,1288,1289],{},"AI Tutor"," — enable or disable the chat assistant for learners",[293,1292,1293,1296],{},[14,1294,1295],{},"Sequential Progress"," — require learners to complete lessons in order",[293,1298,1299,1302],{},[14,1300,1301],{},"Passing Score"," — minimum assessment score to pass the course",[293,1304,1305,1308],{},[14,1306,1307],{},"Certificate"," — issue a certificate when learners finish",[293,1310,1311,1314,1315],{},[14,1312,1313],{},"Visibility \u002F Enrollment"," — controls who can access and enroll in the course:\n",[290,1316,1317,1323],{},[293,1318,1319,1322],{},[14,1320,1321],{},"Open"," — anyone with the link can enroll; optionally require a password to enroll",[293,1324,1325,1328],{},[14,1326,1327],{},"Invitation Only"," — only learners you explicitly invite can access the course",[32,1330,1184],{"id":1331},"emails",[10,1333,1334],{},"Configure automated emails sent to learners:",[290,1336,1337,1343,1349],{},[293,1338,1339,1342],{},[14,1340,1341],{},"Enrollment Confirmation"," — sent when a learner enrolls; customizable subject and body",[293,1344,1345,1348],{},[14,1346,1347],{},"Completion Notification"," — sent when a learner finishes the course",[293,1350,1351,1354],{},[14,1352,1353],{},"Reminder Emails"," — sent N days after enrollment to nudge learners who haven't finished; add multiple reminders at different intervals",[10,1356,1357,1358,521,1361,1364,1365,275],{},"Email content supports template variables: ",[61,1359,1360],{},"{{course_title}}",[61,1362,1363],{},"{{learner_name}}",", and (for reminders) ",[61,1366,1367],{},"{{days_since_start}}",[32,1369,1187],{"id":1370},"pricing",[290,1372,1373,1380,1391],{},[293,1374,1375,1376,1379],{},"Toggle ",[14,1377,1378],{},"This is a paid course"," to require payment before enrollment",[293,1381,1382,1383,1386,1387,1390],{},"Set a ",[14,1384,1385],{},"price"," and ",[14,1388,1389],{},"currency"," (EUR, USD, GBP, CHF, CAD, AUD)",[293,1392,1393,1394],{},"Requires a connected Stripe account — see ",[448,1395,1397],{"href":1396},"\u002Fdocs\u002Faccount\u002Fintegrations","Integrations",[277,1399,1400],{},[10,1401,1402,1405,1406,275],{},[14,1403,1404],{},"Tip:"," Use AI generation to draft a full course outline from your objectives — see ",[448,1407,1408],{"href":962},"AI Generation",[24,1410,1412],{"id":1411},"step-3-add-lessons","Step 3: Add lessons",[319,1414,1415,1424,1427],{},[293,1416,1417,1418,1420,1421],{},"In the ",[14,1419,1147],{}," panel, click ",[14,1422,1423],{},"Add Lesson",[293,1425,1426],{},"Give the lesson a title",[293,1428,1429],{},"Click into the lesson to open the lesson editor",[24,1431,1433],{"id":1432},"step-4-add-content-blocks","Step 4: Add content blocks",[10,1435,1436,1437,1440],{},"Inside a lesson, click ",[14,1438,1439],{},"Add Block"," to insert content. Block types include:",[290,1442,1443,1446,1449],{},[293,1444,1445],{},"Text, Video, Slideshow (for content delivery)",[293,1447,1448],{},"Quiz, Flashcard, Drag & Drop (for practice and assessment)",[293,1450,1451],{},"AI Dialogue, Hotspot Image, Process Flow (for interactive learning)",[10,1453,1454,1455,1459],{},"See ",[448,1456,1458],{"href":1457},"\u002Fdocs\u002Fcourse-builder\u002Fblocks","Blocks Overview"," for the full list.",[24,1461,1463],{"id":1462},"step-5-publish","Step 5: Publish",[10,1465,1466,1467,1470],{},"When ready, click ",[14,1468,1469],{},"Publish"," on the course overview page.",[10,1472,1473],{},"Your course is now live. Share the course link or your learner portal URL with your audience.",[24,1475,1477],{"id":1476},"updating-a-published-course","Updating a published course",[10,1479,1480,1481,1484],{},"Once a course is published, any edits you make to lessons are saved as ",[14,1482,1483],{},"drafts"," — they don't go live immediately. When you're ready to push changes to learners:",[319,1486,1487,1494,1497],{},[293,1488,1489,1490,1493],{},"On the course page, click ",[14,1491,1492],{},"Publish Changes (N)"," (appears when there are pending drafts)",[293,1495,1496],{},"Review the summary of what changed in each lesson",[293,1498,333,1499],{},[14,1500,1501],{},"Publish All Changes",[10,1503,1504,1505,275],{},"To discard pending edits without publishing, click ",[14,1506,1507],{},"Discard Changes",[24,1509,949],{"id":948},[290,1511,1512,1518,1523],{},[293,1513,1514],{},[448,1515,1517],{"href":1516},"\u002Fdocs\u002Fcourse-builder\u002Flessons","Manage lessons",[293,1519,1520],{},[448,1521,1522],{"href":1457},"Explore block types",[293,1524,1525],{},[448,1526,1528],{"href":1527},"\u002Fdocs\u002Flearners\u002Fenrolling","Set up enrollment",{"title":425,"searchDepth":475,"depth":475,"links":1530},[1531,1535,1542,1543,1544,1545,1546],{"id":995,"depth":475,"text":996,"children":1532},[1533,1534],{"id":1010,"depth":485,"text":1011},{"id":1134,"depth":485,"text":1135},{"id":1168,"depth":475,"text":1169,"children":1536},[1537,1538,1539,1540,1541],{"id":1194,"depth":485,"text":1175},{"id":1236,"depth":485,"text":1178},{"id":1282,"depth":485,"text":1181},{"id":1331,"depth":485,"text":1184},{"id":1370,"depth":485,"text":1187},{"id":1411,"depth":475,"text":1412},{"id":1432,"depth":475,"text":1433},{"id":1462,"depth":475,"text":1463},{"id":1476,"depth":475,"text":1477},{"id":948,"depth":475,"text":949},"A step-by-step guide to building and publishing a course on LearnBuilder.","i-lucide-plus-circle",{},{"title":981,"description":1547},"docs\u002F1.getting-started\u002F2.creating-courses","BuE3clhkUiI-zf-UQW0p13kRfBAqxcZb1SYczbHoeKw",{"id":1554,"title":1555,"body":1556,"description":2005,"extension":653,"icon":654,"meta":2006,"navigation":656,"order":657,"path":962,"seo":2007,"stem":2008,"__hash__":2009},"docs\u002Fdocs\u002F1.getting-started\u002F3.ai-generation.md","AI Content Generation",{"type":7,"value":1557,"toc":1991},[1558,1565,1569,1572,1578,1582,1585,1627,1630,1634,1637,1648,1655,1659,1662,1676,1680,1683,1703,1706,1716,1720,1727,1791,1794,1798,1805,1810,1822,1827,1841,1847,1851,1858,1861,1875,1882,1886,1889,1907,1911,1914,1925,1929,1932,1984],[10,1559,1560,1561,1564],{},"LearnBuilder's ",[14,1562,1563],{},"Creator Agent"," can generate an entire course structure — outlines, lesson content, and individual blocks — from a short description of your learning objectives. You review and refine; the AI does the heavy lifting.",[24,1566,1568],{"id":1567},"how-it-works","How it works",[10,1570,1571],{},"AI generation follows a multi-stage pipeline:",[417,1573,1576],{"className":1574,"code":1575,"language":422},[420],"1. Describe -> 2. Generate outline -> 3. Generate content -> 4. Generate media\n",[61,1577,1575],{"__ignoreMap":425},[32,1579,1581],{"id":1580},"stage-1-describe-your-course","Stage 1: Describe your course",[10,1583,1584],{},"The new-course wizard groups inputs into labelled sections so you only see what you need:",[290,1586,1587,1597,1607,1612,1617],{},[293,1588,1589,1022,1591,1593,1594,1596],{},[14,1590,1021],{},[14,1592,1025],{}," (what the course is about) and optional ",[14,1595,1029],{}," the AI uses as the source of truth",[293,1598,1599,432,1601,1603,1604,1606],{},[14,1600,1035],{},[14,1602,1039],{}," (New \u002F Some experience \u002F Experienced \u002F Mixed) and ",[14,1605,1043],{}," (Onboarding, Compliance, Skills, Enablement, Certification, Other), plus an optional free-text \"anything specific?\" note",[293,1608,1609,1611],{},[14,1610,1049],{}," — content language (60+ supported, including regional variants) and image style",[293,1613,1614,1616],{},[14,1615,1055],{}," — toggle on to weave a story or case study through the course; optionally name a main character",[293,1618,1619,1036,1621,1623,1624,1626],{},[14,1620,1061],{},[14,1622,1064],{}," (Standard, Action-first, Objective-first, Story-driven), a ",[14,1625,1068],{},", and which block types the AI may use",[10,1628,1629],{},"The selected approach is injected into the prompt as an explicit blueprint — Action-first lessons centre on real on-the-job decisions; Objective-first ties each lesson to a measurable objective; Story-driven sequences the course as a narrative.",[32,1631,1633],{"id":1632},"stage-2-generate-an-outline","Stage 2: Generate an outline",[10,1635,1636],{},"The Creator Agent produces a structured outline:",[290,1638,1639,1642,1645],{},[293,1640,1641],{},"Course title and description",[293,1643,1644],{},"Suggested lessons with titles and learning goals",[293,1646,1647],{},"Recommended block types per lesson",[10,1649,1650,1651,1654],{},"Review the proposed lessons and structure. You can accept it as-is, edit lesson titles or descriptions, or regenerate with different parameters. Click ",[14,1652,1653],{},"Create Lessons"," to turn the outline into actual lessons in your course.",[32,1656,1658],{"id":1657},"stage-3-generate-lesson-content","Stage 3: Generate lesson content",[10,1660,1661],{},"Once the outline is approved, you can generate content for individual lessons or the entire course:",[290,1663,1664,1667,1670],{},[293,1665,1666],{},"The agent creates appropriate blocks (text, video scripts, quizzes, dialogues)",[293,1668,1669],{},"Content is scoped to the lesson's learning goal",[293,1671,1672,1673,1675],{},"If you've uploaded ",[14,1674,789],{},", the agent uses them as source material",[32,1677,1679],{"id":1678},"stage-4-generate-media","Stage 4: Generate media",[10,1681,1682],{},"After content is generated, the pipeline continues with media generation:",[290,1684,1685,1691,1697],{},[293,1686,1687,1690],{},[14,1688,1689],{},"Illustrative images"," — AI generates images for content cells marked with image prompts",[293,1692,1693,1696],{},[14,1694,1695],{},"Talking videos"," — lip-synced character videos are generated from script blocks (requires a main character photo)",[293,1698,1699,1702],{},[14,1700,1701],{},"Interactive slideshows"," — AI builds full interactive simulations from suggestions embedded in the content",[10,1704,1705],{},"Each stage runs automatically in sequence. You can monitor progress and review results as they complete.",[277,1707,1708],{},[10,1709,1710,1712,1713,275],{},[14,1711,1404],{}," Knowledge Files dramatically improve generation quality. Upload PDFs, Word docs, or PowerPoints related to your topic before generating. See ",[448,1714,789],{"href":1715},"\u002Fdocs\u002Fai-features\u002Fknowledge-files",[24,1717,1719],{"id":1718},"block-type-presets","Block type presets",[10,1721,1722,1723,1726],{},"Before generating, configure ",[14,1724,1725],{},"block type presets"," in course settings to control the mix of content the AI creates:",[37,1728,1729,1739],{},[40,1730,1731],{},[43,1732,1733,1736],{},[46,1734,1735],{},"Preset",[46,1737,1738],{},"What it generates",[53,1740,1741,1751,1761,1771,1781],{},[43,1742,1743,1748],{},[58,1744,1745],{},[14,1746,1747],{},"Balanced",[58,1749,1750],{},"Mix of text, quizzes, video, and interactive blocks",[43,1752,1753,1758],{},[58,1754,1755],{},[14,1756,1757],{},"Quiz-heavy",[58,1759,1760],{},"More quiz and assessment blocks per lesson",[43,1762,1763,1768],{},[58,1764,1765],{},[14,1766,1767],{},"Scenario-based",[58,1769,1770],{},"Emphasis on AI Dialogues and interactive simulations",[43,1772,1773,1778],{},[58,1774,1775],{},[14,1776,1777],{},"Minimal",[58,1779,1780],{},"Mostly text and images — lighter, faster courses",[43,1782,1783,1788],{},[58,1784,1785],{},[14,1786,1787],{},"Custom",[58,1789,1790],{},"You define exactly which block types to include",[10,1792,1793],{},"The AI enforces content variety regardless of preset — it will never generate more than 2 text blocks in a row.",[24,1795,1797],{"id":1796},"talking-video-generation","Talking video generation",[10,1799,1800,1801,1804],{},"When the Creator Agent generates video blocks, it can create ",[14,1802,1803],{},"talking-head videos"," — lip-synced videos of a character speaking a script.",[10,1806,1807],{},[14,1808,1809],{},"Requirements:",[290,1811,1812,1819],{},[293,1813,1814,1815,1818],{},"A ",[14,1816,1817],{},"main character photo"," must be set in course settings (or provided per video block)",[293,1820,1821],{},"A voice must be selected for the character",[10,1823,1824],{},[14,1825,1826],{},"How it works:",[319,1828,1829,1832,1835,1838],{},[293,1830,1831],{},"The AI writes a script based on the lesson content",[293,1833,1834],{},"ElevenLabs text-to-speech generates the audio",[293,1836,1837],{},"Freepik lip sync animates the character portrait",[293,1839,1840],{},"VTT subtitles are auto-generated from the script",[10,1842,1843,1846],{},[14,1844,1845],{},"Scene variation:"," Each talking video can include a scene variation prompt that changes the character's background, clothing, or setting. This prevents visual repetition when a course has multiple talking videos.",[24,1848,1850],{"id":1849},"interactive-slideshow-generation","Interactive slideshow generation",[10,1852,1853,1854,1857],{},"The Creator Agent can auto-generate ",[14,1855,1856],{},"Interactive Slides"," blocks — full simulations with slides, elements, triggers, actions, and scoring.",[10,1859,1860],{},"During content generation, the AI may suggest interactive simulations based on the lesson topic. These suggestions are then built out automatically:",[319,1862,1863,1866,1869,1872],{},[293,1864,1865],{},"The AI designs the simulation structure (slides, elements, layout)",[293,1867,1868],{},"Triggers and actions are wired up for interactivity",[293,1870,1871],{},"Scoring is configured with score, maxScore, and passingScore",[293,1873,1874],{},"The result is a fully functional interactive slideshow ready for review",[10,1876,1877,1878,1881],{},"You can also generate interactive slideshows manually using the ",[14,1879,1880],{},"Generate with AI"," wizard on any Interactive Slides block.",[24,1883,1885],{"id":1884},"generating-individual-blocks","Generating individual blocks",[10,1887,1888],{},"You can trigger generation at the block level inside any lesson:",[319,1890,1891,1895,1898,1904],{},[293,1892,333,1893],{},[14,1894,1439],{},[293,1896,1897],{},"Select a block type",[293,1899,1900,1901,1903],{},"Click the ",[14,1902,1880],{}," option",[293,1905,1906],{},"Describe what you want, then confirm",[24,1908,1910],{"id":1909},"refining-generated-content","Refining generated content",[10,1912,1913],{},"AI-generated content is editable — treat it as a first draft:",[290,1915,1916,1919,1922],{},[293,1917,1918],{},"Click any block to edit text, questions, or settings",[293,1920,1921],{},"Regenerate a single block without affecting others",[293,1923,1924],{},"Adjust tone, length, or focus as needed",[24,1926,1928],{"id":1927},"ai-credits","AI credits",[10,1930,1931],{},"AI generation consumes credits from your plan's monthly allowance. Pay-as-you-go is available on the Free plan.",[37,1933,1934,1944],{},[40,1935,1936],{},[43,1937,1938,1941],{},[46,1939,1940],{},"Action",[46,1942,1943],{},"Approximate cost",[53,1945,1946,1954,1962,1969,1977],{},[43,1947,1948,1951],{},[58,1949,1950],{},"Generate course outline",[58,1952,1953],{},"Low",[43,1955,1956,1959],{},[58,1957,1958],{},"Generate full lesson",[58,1960,1961],{},"Medium",[43,1963,1964,1967],{},[58,1965,1966],{},"Generate image",[58,1968,1961],{},[43,1970,1971,1974],{},[58,1972,1973],{},"Generate talking video",[58,1975,1976],{},"High",[43,1978,1979,1982],{},[58,1980,1981],{},"Generate interactive slideshow",[58,1983,1976],{},[277,1985,1986],{},[10,1987,1988,1990],{},[14,1989,937],{}," Exact credit costs are shown before you confirm generation.",{"title":425,"searchDepth":475,"depth":475,"links":1992},[1993,1999,2000,2001,2002,2003,2004],{"id":1567,"depth":475,"text":1568,"children":1994},[1995,1996,1997,1998],{"id":1580,"depth":485,"text":1581},{"id":1632,"depth":485,"text":1633},{"id":1657,"depth":485,"text":1658},{"id":1678,"depth":485,"text":1679},{"id":1718,"depth":475,"text":1719},{"id":1796,"depth":475,"text":1797},{"id":1849,"depth":475,"text":1850},{"id":1884,"depth":475,"text":1885},{"id":1909,"depth":475,"text":1910},{"id":1927,"depth":475,"text":1928},"How to use LearnBuilder's Creator Agent to generate course outlines, lessons, and content blocks.",{},{"title":1555,"description":2005},"docs\u002F1.getting-started\u002F3.ai-generation","ctxeCd7l2-xawK2pcVp6HU5PY2ofFMB-62MyjS2pX8w",{"id":2011,"title":1147,"body":2012,"description":2910,"extension":653,"icon":2911,"meta":2912,"navigation":656,"order":657,"path":1516,"seo":2913,"stem":2914,"__hash__":2915},"docs\u002Fdocs\u002F2.course-builder\u002F1.lessons.md",{"type":7,"value":2013,"toc":2875},[2014,2020,2023,2027,2045,2049,2052,2066,2072,2076,2079,2105,2108,2112,2115,2129,2132,2136,2139,2143,2149,2153,2156,2172,2179,2183,2186,2215,2222,2226,2229,2233,2252,2256,2279,2283,2286,2298,2302,2376,2383,2390,2394,2397,2409,2413,2426,2433,2437,2440,2444,2450,2452,2469,2473,2523,2527,2530,2539,2546,2550,2553,2557,2629,2633,2636,2770,2777,2781,2788,2791,2805,2809,2838,2842,2868],[10,2015,2016],{},[676,2017],{"alt":2018,"src":2019},"Lesson Editor","\u002Fscreenshots\u002Fdocs\u002F03-lesson-editor-dark.jpg",[10,2021,2022],{},"Lessons are the building blocks of a course. Each lesson contains an ordered sequence of content blocks and represents a single learning unit.",[24,2024,2026],{"id":2025},"creating-a-lesson","Creating a lesson",[319,2028,2029,2035,2039,2042],{},[293,2030,2031,2032,2034],{},"Open a course and go to the ",[14,2033,1147],{}," tab",[293,2036,333,2037],{},[14,2038,1423],{},[293,2040,2041],{},"Enter a lesson title",[293,2043,2044],{},"Click the lesson to open the lesson editor",[24,2046,2048],{"id":2047},"lesson-editor","Lesson editor",[10,2050,2051],{},"The lesson editor has two panels:",[290,2053,2054,2060],{},[293,2055,2056,2059],{},[14,2057,2058],{},"Left panel"," — list of blocks in this lesson",[293,2061,2062,2065],{},[14,2063,2064],{},"Main area"," — the selected block's editor",[10,2067,2068,2069,2071],{},"Use the ",[14,2070,1439],{}," button to insert new content. Blocks appear in the order you add them and can be reordered by dragging.",[32,2073,2075],{"id":2074},"undo-and-redo","Undo and redo",[10,2077,2078],{},"The lesson editor supports full undo\u002Fredo for block changes:",[290,2080,2081,2094],{},[293,2082,2083,432,2086,2089,2090,2093],{},[14,2084,2085],{},"Undo",[61,2087,2088],{},"Cmd+Z"," (Mac) \u002F ",[61,2091,2092],{},"Ctrl+Z"," (Windows)",[293,2095,2096,432,2099,2089,2102,2093],{},[14,2097,2098],{},"Redo",[61,2100,2101],{},"Cmd+Shift+Z",[61,2103,2104],{},"Ctrl+Shift+Z",[10,2106,2107],{},"Undo\u002Fredo buttons are also available in the editor toolbar.",[24,2109,2111],{"id":2110},"estimated-lesson-time","Estimated lesson time",[10,2113,2114],{},"LearnBuilder automatically calculates an estimated completion time for each lesson based on the content — word count in text blocks, video duration, number of quiz questions, slideshow slides, and so on. The estimate is shown:",[290,2116,2117,2123],{},[293,2118,1417,2119,2122],{},[14,2120,2121],{},"editor preview"," (top of the lesson when in preview mode)",[293,2124,1417,2125,2128],{},[14,2126,2127],{},"learner view"," alongside each lesson on the course page",[10,2130,2131],{},"No configuration is needed — the estimate updates automatically as you add and edit content.",[24,2133,2135],{"id":2134},"reordering-lessons","Reordering lessons",[10,2137,2138],{},"Drag and drop lessons in the lessons panel to change their order. The order is reflected in the learner view.",[24,2140,2142],{"id":2141},"sequential-progress","Sequential progress",[10,2144,2145,2146,2148],{},"If ",[14,2147,1295],{}," is enabled in course settings, learners must complete each lesson before accessing the next. This setting is configured at the course level, not per lesson.",[24,2150,2152],{"id":2151},"ai-lesson-generation","AI lesson generation",[10,2154,2155],{},"To generate a lesson with AI:",[319,2157,2158,2163,2166,2169],{},[293,2159,1900,2160,2162],{},[14,2161,1880],{}," button in the lesson editor (or when adding a lesson)",[293,2164,2165],{},"Enter a topic or learning objective for the lesson",[293,2167,2168],{},"Review the generated outline — block types and content will be suggested",[293,2170,2171],{},"Confirm to generate the full lesson content",[277,2173,2174],{},[10,2175,2176,2178],{},[14,2177,1404],{}," The better your learning objective, the better the output. Be specific: \"Explain the difference between gross and net profit with a worked example\" beats \"Explain profit.\"",[24,2180,2182],{"id":2181},"regenerating-individual-blocks","Regenerating individual blocks",[10,2184,2185],{},"Any block in the lesson editor can be individually regenerated with AI — useful when a specific block's content is off-topic, needs a different angle, or was manually edited and you want a fresh AI-generated version.",[319,2187,2188,2194,2200,2203],{},[293,2189,2190,2191],{},"In the lesson editor, hover over a block and open the ",[14,2192,2193],{},"⋯ menu",[293,2195,2196,2197],{},"Select ",[14,2198,2199],{},"(Re)create with AI",[293,2201,2202],{},"The block's existing content is replaced with a new AI-generated version based on the lesson topic and surrounding context",[293,2204,2205,2206,2208,2209,2211,2212,2214],{},"If you don't like the result, use ",[14,2207,2085],{}," (",[61,2210,2088],{}," \u002F ",[61,2213,2092],{},") to restore the previous content",[277,2216,2217],{},[10,2218,2219,2221],{},[14,2220,937],{}," Block regeneration replaces only the selected block — all other blocks in the lesson are unchanged.",[24,2223,2225],{"id":2224},"lesson-export-and-import","Lesson export and import",[10,2227,2228],{},"You can export any lesson to a file and re-import it into another course — useful for reusing content across multiple courses or sharing lessons between accounts.",[32,2230,2232],{"id":2231},"exporting-a-lesson","Exporting a lesson",[319,2234,2235,2241,2246],{},[293,2236,2237,2238,2240],{},"In the lesson editor, open the ",[14,2239,2193],{}," in the top-right toolbar",[293,2242,2196,2243],{},[14,2244,2245],{},"Export Lesson",[293,2247,1814,2248,2251],{},[61,2249,2250],{},".json"," file downloads to your computer containing all lesson blocks and media",[32,2253,2255],{"id":2254},"importing-a-lesson","Importing a lesson",[319,2257,2258,2261,2270,2276],{},[293,2259,2260],{},"Open the course where you want to add the lesson",[293,2262,2263,2264,2266,2267],{},"On the course ",[14,2265,1147],{}," tab, click ",[14,2268,2269],{},"Import Lesson",[293,2271,2272,2273,2275],{},"Select the exported ",[61,2274,2250],{}," file",[293,2277,2278],{},"The lesson is created as a new lesson in the course, with all blocks and media restored",[24,2280,2282],{"id":2281},"importing-from-scorm","Importing from SCORM",[10,2284,2285],{},"If you have existing content packaged as SCORM (1.2 or 2004), you can convert it to native LearnBuilder blocks using the AI-assisted SCORM import wizard. The wizard walks you through the SCORM lesson interactively, captures screenshots of each screen, and uses AI to analyze the content and propose an equivalent block structure.",[277,2287,2288],{},[10,2289,2290,2293,2294,275],{},[14,2291,2292],{},"Articulate Rise 360?"," Use the dedicated Rise importer instead — it converts the course directly from the SCORM package without a manual walkthrough. See ",[448,2295,2297],{"href":2296},"\u002Fdocs\u002Faccount\u002Fintegrations#course-import-learnbuilder-rise-360-scorm","Integrations → Course import",[32,2299,2301],{"id":2300},"running-the-scorm-import-wizard","Running the SCORM import wizard",[319,2303,2304,2308,2313,2319,2346,2373],{},[293,2305,2031,2306,2034],{},[14,2307,1147],{},[293,2309,333,2310],{},[14,2311,2312],{},"Import from SCORM",[293,2314,2315,2318],{},[14,2316,2317],{},"Step 1 — Upload:"," Select a SCORM ZIP file from your computer and upload it",[293,2320,2321,2324,2325],{},[14,2322,2323],{},"Step 2 — Walkthrough:"," The SCORM lesson loads in a preview panel\n",[290,2326,2327,2330,2336,2339],{},[293,2328,2329],{},"Navigate through the lesson as a learner would (clicking Next, completing interactions)",[293,2331,333,2332,2335],{},[14,2333,2334],{},"Capture Screen"," after each meaningful screen to record it — a thumbnail strip builds up on the right",[293,2337,2338],{},"Optionally add a note to any capture to give the AI extra context",[293,2340,2341,2342,2345],{},"When you have captured all screens, click ",[14,2343,2344],{},"Analyze"," to proceed",[293,2347,2348,2351,2352],{},[14,2349,2350],{},"Step 3 — AI Analysis:"," The AI studies your captures and proposes a lesson structure\n",[290,2353,2354,2361,2364,2367],{},[293,2355,2356,2357,2360],{},"Review the ",[14,2358,2359],{},"Proposed Lesson Structure"," — a list of block types and summaries",[293,2362,2363],{},"If the AI has clarifying questions, answer them in the chat input",[293,2365,2366],{},"Request changes or adjustments via the chat (e.g. \"convert the quiz to a Matching block instead\")",[293,2368,2369,2370],{},"When satisfied, click ",[14,2371,2372],{},"Generate Lesson",[293,2374,2375],{},"The new lesson opens in the editor with all generated blocks ready to review and edit",[277,2377,2378],{},[10,2379,2380,2382],{},[14,2381,1404],{}," Capture every distinct screen or interaction — the more captures you provide, the more accurately the AI can reconstruct the content. Add notes to captures where the visual alone does not tell the full story.",[277,2384,2385],{},[10,2386,2387,2389],{},[14,2388,937],{}," SCORM import creates a new native LearnBuilder lesson. The original SCORM package is not used for delivery — learners experience the converted blocks, not the SCORM player. Review the generated lesson before publishing.",[24,2391,2393],{"id":2392},"lesson-settings","Lesson settings",[10,2395,2396],{},"Each lesson can have:",[290,2398,2399,2404],{},[293,2400,2401,2403],{},[14,2402,1201],{}," — shown in the learner's progress view",[293,2405,2406,2408],{},[14,2407,1216],{}," — optional context for learners",[24,2410,2412],{"id":2411},"deleting-a-lesson","Deleting a lesson",[319,2414,2415,2418,2423],{},[293,2416,2417],{},"In the lessons panel, open the lesson menu (⋯)",[293,2419,2196,2420],{},[14,2421,2422],{},"Delete",[293,2424,2425],{},"Confirm deletion",[277,2427,2428],{},[10,2429,2430,2432],{},[14,2431,937],{}," Deleting a lesson permanently removes it and all its blocks. This cannot be undone.",[24,2434,2436],{"id":2435},"learner-view","Learner view",[10,2438,2439],{},"Learners see lessons listed in order on the course page. Completed lessons are marked with a checkmark. If sequential progress is on, locked lessons appear grayed out until prerequisites are met. Each lesson shows an estimated reading\u002Fcompletion time.",[24,2441,2443],{"id":2442},"draft-changes-published-courses","Draft changes (published courses)",[10,2445,2446,2447,2449],{},"When a course has been published, the lesson editor saves your changes as ",[14,2448,1483],{}," rather than immediately updating the live content. This lets you prepare updates without affecting learners mid-session.",[32,2451,1568],{"id":1567},[290,2453,2454,2457,2464],{},[293,2455,2456],{},"Edit any lesson in a published course as normal — changes are saved automatically as a draft",[293,2458,2459,2460,2463],{},"Lessons with unpublished edits show a ",[14,2461,2462],{},"draft changes"," badge on the course page",[293,2465,1814,2466,2468],{},[14,2467,1492],{}," button appears at the top of the course page when drafts are pending",[32,2470,2472],{"id":2471},"publishing-drafts","Publishing drafts",[319,2474,2475,2479,2493,2518],{},[293,2476,1489,2477],{},[14,2478,1492],{},[293,2480,2481,2482],{},"A summary modal shows each changed lesson with what's been modified:\n",[290,2483,2484,2487,2490],{},[293,2485,2486],{},"Title changed",[293,2488,2489],{},"Outcome changed",[293,2491,2492],{},"Blocks added, removed, or modified",[293,2494,2495,2496,2499,2500],{},"Optionally toggle ",[14,2497,2498],{},"Notify enrolled learners"," to send an email about the update:\n",[290,2501,2502,2515],{},[293,2503,2504,2505,1386,2508,2511,2512,2514],{},"Enter a ",[14,2506,2507],{},"Subject",[14,2509,2510],{},"Message"," — or click ",[14,2513,1880],{}," to draft one automatically based on what changed",[293,2516,2517],{},"The notification is sent to all currently enrolled learners when you publish",[293,2519,333,2520,2522],{},[14,2521,1501],{}," to make the updates live for learners",[32,2524,2526],{"id":2525},"discarding-drafts","Discarding drafts",[10,2528,2529],{},"If you want to revert unpublished changes:",[319,2531,2532,2536],{},[293,2533,1489,2534],{},[14,2535,1507],{},[293,2537,2538],{},"Confirm — all draft edits across all lessons are discarded and the live content is restored",[277,2540,2541],{},[10,2542,2543,2545],{},[14,2544,1404],{}," Use drafts to batch up multiple lesson edits before pushing them live at once, minimising disruption for learners who are currently working through the course.",[24,2547,2549],{"id":2548},"block-audio","Block audio",[10,2551,2552],{},"Any block in the lesson editor can have audio attached — either an uploaded audio file or AI-generated text-to-speech.",[32,2554,2556],{"id":2555},"adding-audio-to-a-block","Adding audio to a block",[319,2558,2559,2564,2574,2591,2608,2624],{},[293,2560,2237,2561,2563],{},[14,2562,2193],{}," on any block",[293,2565,2196,2566,2569,2570,2573],{},[14,2567,2568],{},"Add Audio"," (or ",[14,2571,2572],{},"Edit Audio"," if audio already exists)",[293,2575,2576,2577],{},"Choose a source:\n",[290,2578,2579,2585],{},[293,2580,2581,2584],{},[14,2582,2583],{},"Upload"," — upload an MP3, WAV, or other audio file",[293,2586,2587,2590],{},[14,2588,2589],{},"AI Text-to-Speech"," — type or paste text and choose a voice; audio is generated instantly",[293,2592,2593,2594],{},"Set playback behaviour:\n",[290,2595,2596,2602],{},[293,2597,2598,2601],{},[14,2599,2600],{},"Manual"," — a play button appears on the block; learners click to play",[293,2603,2604,2607],{},[14,2605,2606],{},"Auto-play when visible"," — audio starts when the block scrolls into view",[293,2609,2610,2611],{},"Optionally enable:\n",[290,2612,2613,2619],{},[293,2614,2615,2618],{},[14,2616,2617],{},"Stop when block scrolls out of view"," (auto-play mode only)",[293,2620,2621],{},[14,2622,2623],{},"Loop audio",[293,2625,333,2626],{},[14,2627,2628],{},"Save Audio",[32,2630,2632],{"id":2631},"ai-text-to-speech-voices","AI Text-to-Speech voices",[10,2634,2635],{},"12 ElevenLabs voices are available, covering a range of styles and genders:",[37,2637,2638,2648],{},[40,2639,2640],{},[43,2641,2642,2645],{},[46,2643,2644],{},"Voice",[46,2646,2647],{},"Style",[53,2649,2650,2660,2670,2680,2690,2700,2710,2720,2730,2740,2750,2760],{},[43,2651,2652,2657],{},[58,2653,2654],{},[14,2655,2656],{},"Sarah",[58,2658,2659],{},"Reassuring (female)",[43,2661,2662,2667],{},[58,2663,2664],{},[14,2665,2666],{},"Roger",[58,2668,2669],{},"Laid-back (male)",[43,2671,2672,2677],{},[58,2673,2674],{},[14,2675,2676],{},"Laura",[58,2678,2679],{},"Enthusiastic (female)",[43,2681,2682,2687],{},[58,2683,2684],{},[14,2685,2686],{},"Charlie",[58,2688,2689],{},"Confident (male)",[43,2691,2692,2697],{},[58,2693,2694],{},[14,2695,2696],{},"George",[58,2698,2699],{},"Warm storyteller (male)",[43,2701,2702,2707],{},[58,2703,2704],{},[14,2705,2706],{},"Alice",[58,2708,2709],{},"Clear educator (female)",[43,2711,2712,2717],{},[58,2713,2714],{},[14,2715,2716],{},"Matilda",[58,2718,2719],{},"Professional (female)",[43,2721,2722,2727],{},[58,2723,2724],{},[14,2725,2726],{},"Liam",[58,2728,2729],{},"Energetic (male)",[43,2731,2732,2737],{},[58,2733,2734],{},[14,2735,2736],{},"Eric",[58,2738,2739],{},"Smooth (male)",[43,2741,2742,2747],{},[58,2743,2744],{},[14,2745,2746],{},"Brian",[58,2748,2749],{},"Deep, comforting (male)",[43,2751,2752,2757],{},[58,2753,2754],{},[14,2755,2756],{},"Daniel",[58,2758,2759],{},"Broadcaster (male)",[43,2761,2762,2767],{},[58,2763,2764],{},[14,2765,2766],{},"Lily",[58,2768,2769],{},"Narrator (female)",[277,2771,2772],{},[10,2773,2774,2776],{},[14,2775,1404],{}," Audio is great for pronunciation guides in language courses, narration alongside visual content, or accessibility — learners who prefer listening over reading can play the audio for any block.",[24,2778,2780],{"id":2779},"block-comments","Block comments",[10,2782,2783,2784,2787],{},"Every block in the lesson editor has a ",[14,2785,2786],{},"comment"," button that opens a threaded discussion panel. This is designed for team collaboration and course review.",[32,2789,1568],{"id":2790},"how-it-works-1",[319,2792,2793,2799,2802],{},[293,2794,2795,2796,2563],{},"In the lesson editor, click the ",[14,2797,2798],{},"comment icon",[293,2800,2801],{},"A side panel opens showing existing comment threads for that block",[293,2803,2804],{},"Type a comment and submit",[32,2806,2808],{"id":2807},"comment-threads","Comment threads",[290,2810,2811,2818,2821,2827,2833],{},[293,2812,2813,2814,2817],{},"Comments are organized as ",[14,2815,2816],{},"threads"," — each top-level comment can have replies",[293,2819,2820],{},"Team members see each other's comments with author name, avatar, and timestamp",[293,2822,2823,2826],{},[14,2824,2825],{},"Resolve"," a thread when the issue is addressed — resolved threads appear dimmed",[293,2828,2829,2832],{},[14,2830,2831],{},"Reopen"," a resolved thread if the issue needs further attention",[293,2834,2835,2837],{},[14,2836,2422],{}," your own comments when no longer needed",[32,2839,2841],{"id":2840},"use-cases","Use cases",[290,2843,2844,2850,2856,2862],{},[293,2845,2846,2849],{},[14,2847,2848],{},"Peer review",": Ask a subject matter expert to review specific blocks and leave feedback",[293,2851,2852,2855],{},[14,2853,2854],{},"Revision tracking",": Note what needs to change before publishing",[293,2857,2858,2861],{},[14,2859,2860],{},"Team collaboration",": Discuss content decisions directly on the relevant block",[293,2863,2864,2867],{},[14,2865,2866],{},"QA checklist",": Flag blocks that need fact-checking, proofreading, or media updates",[277,2869,2870],{},[10,2871,2872,2874],{},[14,2873,1404],{}," Use block comments instead of external tools (email, Slack) to keep feedback directly attached to the content it references. This makes it easy to find and act on.",{"title":425,"searchDepth":475,"depth":475,"links":2876},[2877,2878,2881,2882,2883,2884,2885,2886,2890,2893,2894,2895,2896,2901,2905],{"id":2025,"depth":475,"text":2026},{"id":2047,"depth":475,"text":2048,"children":2879},[2880],{"id":2074,"depth":485,"text":2075},{"id":2110,"depth":475,"text":2111},{"id":2134,"depth":475,"text":2135},{"id":2141,"depth":475,"text":2142},{"id":2151,"depth":475,"text":2152},{"id":2181,"depth":475,"text":2182},{"id":2224,"depth":475,"text":2225,"children":2887},[2888,2889],{"id":2231,"depth":485,"text":2232},{"id":2254,"depth":485,"text":2255},{"id":2281,"depth":475,"text":2282,"children":2891},[2892],{"id":2300,"depth":485,"text":2301},{"id":2392,"depth":475,"text":2393},{"id":2411,"depth":475,"text":2412},{"id":2435,"depth":475,"text":2436},{"id":2442,"depth":475,"text":2443,"children":2897},[2898,2899,2900],{"id":1567,"depth":485,"text":1568},{"id":2471,"depth":485,"text":2472},{"id":2525,"depth":485,"text":2526},{"id":2548,"depth":475,"text":2549,"children":2902},[2903,2904],{"id":2555,"depth":485,"text":2556},{"id":2631,"depth":485,"text":2632},{"id":2779,"depth":475,"text":2780,"children":2906},[2907,2908,2909],{"id":2790,"depth":485,"text":1568},{"id":2807,"depth":485,"text":2808},{"id":2840,"depth":485,"text":2841},"How to create, organize, and manage lessons within a course.","i-lucide-layout-list",{},{"title":1147,"description":2910},"docs\u002F2.course-builder\u002F1.lessons","wA_LO-PbdK6dz1wGH5yg7l5FKYxRpQDvt1nyIIWMMtc",{"id":2917,"title":1458,"body":2918,"description":3506,"extension":653,"icon":3507,"meta":3508,"navigation":656,"order":657,"path":1457,"seo":3509,"stem":3510,"__hash__":3511},"docs\u002Fdocs\u002F2.course-builder\u002F2.blocks.md",{"type":7,"value":2919,"toc":3487},[2920,2923,2927,2942,2945,2949,2953,3046,3050,3102,3106,3167,3171,3193,3197,3208,3238,3245,3249,3252,3256,3340,3344,3350,3354,3357,3361,3368,3380,3384,3447,3451,3474,3476,3479],[10,2921,2922],{},"Blocks are the individual content pieces inside a lesson. Each block serves a specific purpose — delivering content, testing knowledge, or creating an interactive experience.",[24,2924,2926],{"id":2925},"adding-a-block","Adding a block",[319,2928,2929,2932,2936,2939],{},[293,2930,2931],{},"Open a lesson in the editor",[293,2933,333,2934],{},[14,2935,1439],{},[293,2937,2938],{},"Choose a block type from the picker",[293,2940,2941],{},"Configure the block in the editor panel",[10,2943,2944],{},"Blocks can be reordered by dragging within the lesson.",[24,2946,2948],{"id":2947},"block-types-at-a-glance","Block types at a glance",[32,2950,2952],{"id":2951},"content-delivery","Content delivery",[37,2954,2955,2964],{},[40,2956,2957],{},[43,2958,2959,2961],{},[46,2960,769],{},[46,2962,2963],{},"Purpose",[53,2965,2966,2976,2986,2996,3006,3016,3026,3036],{},[43,2967,2968,2973],{},[58,2969,2970],{},[14,2971,2972],{},"Text",[58,2974,2975],{},"Rich text with formatting, images, and links",[43,2977,2978,2983],{},[58,2979,2980],{},[14,2981,2982],{},"Video",[58,2984,2985],{},"Embed YouTube\u002FVimeo or upload a video file",[43,2987,2988,2993],{},[58,2989,2990],{},[14,2991,2992],{},"Audio",[58,2994,2995],{},"A standalone audio player — upload a file, pick from the media library, or generate speech from text with AI",[43,2997,2998,3003],{},[58,2999,3000],{},[14,3001,3002],{},"Slideshow",[58,3004,3005],{},"Standard slide presentation",[43,3007,3008,3013],{},[58,3009,3010],{},[14,3011,3012],{},"Document",[58,3014,3015],{},"Embed a document for learners to view",[43,3017,3018,3023],{},[58,3019,3020],{},[14,3021,3022],{},"Custom Embed",[58,3024,3025],{},"Build custom interactive content with HTML\u002FCSS\u002FJS — write code or let AI generate it",[43,3027,3028,3033],{},[58,3029,3030],{},[14,3031,3032],{},"Graph",[58,3034,3035],{},"Display data as a chart or visualization — type values in or import a CSV",[43,3037,3038,3043],{},[58,3039,3040],{},[14,3041,3042],{},"Accordion \u002F Tabs",[58,3044,3045],{},"Three layouts in one block — collapsible accordion, classic tabs, or image-rich Strips — with per-section background image or colour",[32,3047,3049],{"id":3048},"assessment-practice","Assessment & practice",[37,3051,3052,3060],{},[40,3053,3054],{},[43,3055,3056,3058],{},[46,3057,769],{},[46,3059,2963],{},[53,3061,3062,3072,3082,3092],{},[43,3063,3064,3069],{},[58,3065,3066],{},[14,3067,3068],{},"Quiz",[58,3070,3071],{},"Questions with multiple types — MC, essay, fill-in-the-blank, and more",[43,3073,3074,3079],{},[58,3075,3076],{},[14,3077,3078],{},"Flipcard",[58,3080,3081],{},"Flip cards for memorization and recall",[43,3083,3084,3089],{},[58,3085,3086],{},[14,3087,3088],{},"Drag & Drop",[58,3090,3091],{},"Matching or sorting activities",[43,3093,3094,3099],{},[58,3095,3096],{},[14,3097,3098],{},"Feedback",[58,3100,3101],{},"Survey-style feedback form with ratings, scales, and open-ended questions",[32,3103,3105],{"id":3104},"interactive-scenario-based","Interactive & scenario-based",[37,3107,3108,3116],{},[40,3109,3110],{},[43,3111,3112,3114],{},[46,3113,769],{},[46,3115,2963],{},[53,3117,3118,3128,3138,3147,3157],{},[43,3119,3120,3125],{},[58,3121,3122],{},[14,3123,3124],{},"AI Dialogue",[58,3126,3127],{},"Branching conversational scenario powered by AI",[43,3129,3130,3135],{},[58,3131,3132],{},[14,3133,3134],{},"Hotspot Image",[58,3136,3137],{},"Clickable areas on an image with reveal content",[43,3139,3140,3144],{},[58,3141,3142],{},[14,3143,1856],{},[58,3145,3146],{},"Visual slide authoring with a canvas editor, element library, and trigger-action interaction system",[43,3148,3149,3154],{},[58,3150,3151],{},[14,3152,3153],{},"Process Flow",[58,3155,3156],{},"Visual step-by-step process diagram",[43,3158,3159,3164],{},[58,3160,3161],{},[14,3162,3163],{},"Live Session",[58,3165,3166],{},"Instructor-led training block — schedule a session, manage registrations, and track attendance",[32,3168,3170],{"id":3169},"external-content","External content",[37,3172,3173,3181],{},[40,3174,3175],{},[43,3176,3177,3179],{},[46,3178,769],{},[46,3180,2963],{},[53,3182,3183],{},[43,3184,3185,3190],{},[58,3186,3187],{},[14,3188,3189],{},"SCORM \u002F xAPI",[58,3191,3192],{},"Import a SCORM or xAPI package from an external tool",[24,3194,3196],{"id":3195},"per-block-layout-background","Per-block layout & background",[10,3198,3199,3200,3203,3204,3207],{},"Every block has a ",[14,3201,3202],{},"Layout & Background"," modal (open from the block's ",[61,3205,3206],{},"…"," menu) with three sets of controls:",[290,3209,3210,3222,3228],{},[293,3211,3212,432,3215,3217,3218,3221],{},[14,3213,3214],{},"Width",[19,3216,1090],{}," (sits inside the lesson column) or ",[19,3219,3220],{},"Full width"," (background spans edge-to-edge; text content stays at a readable max-width inside).",[293,3223,3224,3227],{},[14,3225,3226],{},"Background"," — colour, gradient, image, or any combination. Image opacity is independently adjustable so a faded photo can sit over a brand colour.",[293,3229,3230,3233,3234,3237],{},[14,3231,3232],{},"Padding & margin"," — four sides each, in pixels. Padding is space inside the block's background; margin is space outside it. Sensible defaults are pre-loaded so a fresh block looks right; the ",[19,3235,3236],{},"Reset"," button restores them.",[10,3239,3240,3241,3244],{},"Live preview is on by default — every slider drag updates the actual block in the editor. ",[19,3242,3243],{},"Cancel"," restores a snapshot taken when the modal opened.",[24,3246,3248],{"id":3247},"conditional-visibility-show-conditions","Conditional visibility (Show conditions)",[10,3250,3251],{},"Any block can be shown only when one or more earlier blocks reach a specific state. Use this for branching lessons — for example, hide an \"advanced\" block until a quiz is passed, or show a remedial explainer only when an assessment is failed.",[32,3253,3255],{"id":3254},"setting-conditions","Setting conditions",[319,3257,3258,3270,3277,3337],{},[293,3259,3260,3261,327,3266,3269],{},"Open the block's ",[14,3262,3263,3265],{},[61,3264,3206],{}," menu",[14,3267,3268],{},"Conditions"," (the option is disabled for the very first block in the lesson, since there's nothing before it to react to).",[293,3271,3272,3273,3276],{},"The Conditions modal lists every existing condition for that block. Click ",[14,3274,3275],{},"Add Condition"," to add a new one.",[293,3278,3279,3280],{},"Each condition row has two pickers:\n",[290,3281,3282,3289],{},[293,3283,3284,3285,3288],{},"The ",[14,3286,3287],{},"previous block"," to watch. The dropdown only lists blocks that appear above the current block in the lesson, so you can never reference a block the learner hasn't seen yet.",[293,3290,3284,3291,3294,3295],{},[14,3292,3293],{},"state"," that block must be in. Options depend on the chosen block type:\n",[290,3296,3297,3303,3312],{},[293,3298,3299,3302],{},[19,3300,3301],{},"is completed"," — the learner has finished interacting with the block (every block supports this)",[293,3304,3305,2211,3308,3311],{},[19,3306,3307],{},"is passed",[19,3309,3310],{},"is failed"," — for graded blocks (quizzes, drag-and-drop activities, interactive slides with scoring), reads the outcome",[293,3313,3314,3317,3318,3320,3321,521,3324,521,3327,521,3330,521,3333,3336],{},[19,3315,3316],{},"rating is …"," — for ",[14,3319,3098],{}," blocks with rating questions, you pick the question and compare the learner's rating using ",[61,3322,3323],{},">",[61,3325,3326],{},"\u003C",[61,3328,3329],{},"=",[61,3331,3332],{},">=",[61,3334,3335],{},"\u003C="," against a numeric value",[293,3338,3339],{},"Add as many condition rows as you need. Click the trash icon next to a row to remove it.",[32,3341,3343],{"id":3342},"how-multiple-conditions-combine","How multiple conditions combine",[10,3345,3346,3349],{},[14,3347,3348],{},"All conditions must be met for the block to be shown"," — they combine with logical AND. For OR-style branching, create two separate blocks: one for each branch with its own condition.",[32,3351,3353],{"id":3352},"what-learners-see","What learners see",[10,3355,3356],{},"Blocks with unmet conditions are completely hidden from the lesson — the learner doesn't see a placeholder, they just see the next block that does qualify. As the learner progresses and completes \u002F passes \u002F fails earlier blocks, hidden blocks reveal themselves automatically.",[32,3358,3360],{"id":3359},"how-it-shows-in-the-editor","How it shows in the editor",[10,3362,3363,3364,3367],{},"Blocks with one or more conditions display a small ",[14,3365,3366],{},"branch icon badge"," in the block header so you can see at a glance which blocks have conditional visibility configured.",[277,3369,3370],{},[10,3371,3372,3374,3375,1386,3377,3379],{},[14,3373,1404],{}," Combine conditional blocks with the ",[14,3376,3068],{},[14,3378,3098],{}," outcomes to build branching paths — pass the quiz to reveal the next module, fail it to reveal a \"Review the basics\" block, give a low rating to surface a \"Tell us more\" follow-up.",[24,3381,3383],{"id":3382},"choosing-the-right-block","Choosing the right block",[290,3385,3386,3392,3397,3402,3407,3412,3417,3422,3427,3432,3437,3442],{},[293,3387,3388,3389,3391],{},"Use ",[14,3390,2972],{}," for explanations and theory",[293,3393,3388,3394,3396],{},[14,3395,2982],{}," for demonstrations and walkthroughs",[293,3398,3388,3399,3401],{},[14,3400,3068],{}," to check comprehension after a concept",[293,3403,3388,3404,3406],{},[14,3405,3124],{}," for roleplay, customer scenarios, or soft-skills practice",[293,3408,3388,3409,3411],{},[14,3410,3078],{}," for vocabulary, definitions, or memorization",[293,3413,3388,3414,3416],{},[14,3415,3098],{}," to collect learner reactions, satisfaction ratings, or course evaluations",[293,3418,3388,3419,3421],{},[14,3420,3153],{}," for step-by-step procedures",[293,3423,3388,3424,3426],{},[14,3425,3134],{}," for diagrams where learners explore by clicking",[293,3428,3388,3429,3431],{},[14,3430,3022],{}," for anything else — AI can generate custom HTML\u002FCSS\u002FJS interactions from a description",[293,3433,3388,3434,3436],{},[14,3435,3042],{}," to organise longer content into collapsible sections or a tabbed view, reducing visual clutter",[293,3438,3388,3439,3441],{},[14,3440,3163],{}," for instructor-led training that complements self-paced content — schedule virtual or hybrid sessions alongside your online lessons",[293,3443,3388,3444,3446],{},[14,3445,2992],{}," for narration, pronunciation guides, podcasts, or any standalone listening exercise",[24,3448,3450],{"id":3449},"detailed-block-docs","Detailed block docs",[290,3452,3453,3460,3467],{},[293,3454,3455,3459],{},[448,3456,3458],{"href":3457},"\u002Fdocs\u002Fcourse-builder\u002Fquiz-blocks","Quiz blocks"," — all question types and AI grading",[293,3461,3462,3466],{},[448,3463,3465],{"href":3464},"\u002Fdocs\u002Fcourse-builder\u002Finteractive-blocks","Interactive blocks"," — AI Dialogue, Accordion\u002FTabs, Hotspots, Drag & Drop, Interactive Slides, Process Flow, Feedback, Live Session",[293,3468,3469,3473],{},[448,3470,3472],{"href":3471},"\u002Fdocs\u002Fcourse-builder\u002Fmedia-blocks","Media blocks"," — Text, Video, Audio, Slideshow, Document, Embed, Graph, SCORM\u002FxAPI",[24,3475,2549],{"id":2548},[10,3477,3478],{},"Any block — regardless of type — can have audio attached. You can upload an audio file or generate speech from text using AI.",[10,3480,3481,3482,3486],{},"Audio can auto-play when the block enters view, or require the learner to click play manually. See ",[448,3483,3485],{"href":3484},"\u002Fdocs\u002Fcourse-builder\u002Flessons#block-audio","Lessons → Block audio"," for setup instructions.",{"title":425,"searchDepth":475,"depth":475,"links":3488},[3489,3490,3496,3497,3503,3504,3505],{"id":2925,"depth":475,"text":2926},{"id":2947,"depth":475,"text":2948,"children":3491},[3492,3493,3494,3495],{"id":2951,"depth":485,"text":2952},{"id":3048,"depth":485,"text":3049},{"id":3104,"depth":485,"text":3105},{"id":3169,"depth":485,"text":3170},{"id":3195,"depth":475,"text":3196},{"id":3247,"depth":475,"text":3248,"children":3498},[3499,3500,3501,3502],{"id":3254,"depth":485,"text":3255},{"id":3342,"depth":485,"text":3343},{"id":3352,"depth":485,"text":3353},{"id":3359,"depth":485,"text":3360},{"id":3382,"depth":475,"text":3383},{"id":3449,"depth":475,"text":3450},{"id":2548,"depth":475,"text":2549},"All content block types available in the LearnBuilder lesson editor.","i-lucide-blocks",{},{"title":1458,"description":3506},"docs\u002F2.course-builder\u002F2.blocks","wn9RUnmQxIbUrAVaPBv1DP7fX9x1T8clEogzRF7ZzBg",{"id":3513,"title":3514,"body":3515,"description":3821,"extension":653,"icon":3822,"meta":3823,"navigation":656,"order":657,"path":3457,"seo":3824,"stem":3825,"__hash__":3826},"docs\u002Fdocs\u002F2.course-builder\u002F3.quiz-blocks.md","Quiz Blocks",{"type":7,"value":3516,"toc":3807},[3517,3522,3526,3546,3550,3554,3557,3568,3575,3579,3582,3615,3619,3622,3645,3649,3652,3667,3672,3680,3684,3687,3698,3702,3705,3716,3720,3783,3787,3797,3801],[10,3518,3284,3519,3521],{},[14,3520,3068],{}," block supports multiple question types — from straightforward multiple choice to open-ended essays graded by AI. A single Quiz block can contain one or more questions of mixed types.",[24,3523,3525],{"id":3524},"adding-a-quiz","Adding a quiz",[319,3527,3528,3534,3540,3543],{},[293,3529,3530,3531],{},"In the lesson editor, click ",[14,3532,3533],{},"Add Block → Quiz",[293,3535,333,3536,3539],{},[14,3537,3538],{},"Add Question"," to insert the first question",[293,3541,3542],{},"Select a question type",[293,3544,3545],{},"Enter the question text and configure options",[24,3547,3549],{"id":3548},"question-types","Question types",[32,3551,3553],{"id":3552},"multiple-choice","Multiple Choice",[10,3555,3556],{},"Learners select one correct answer from a list of options.",[290,3558,3559,3562,3565],{},[293,3560,3561],{},"Add as many options as needed",[293,3563,3564],{},"Mark one option as correct",[293,3566,3567],{},"Optional: add explanations for correct\u002Fincorrect answers",[277,3569,3570],{},[10,3571,3572,3574],{},[14,3573,1404],{}," Add explanatory feedback to reinforce learning, not just flag the right answer.",[32,3576,3578],{"id":3577},"short-answer","Short Answer",[10,3580,3581],{},"Learners type a brief response. The AI Assessment Agent evaluates the answer against a model answer you provide.",[290,3583,3584,3591,3597,3608],{},[293,3585,3586,3587,3590],{},"Enter your ",[14,3588,3589],{},"model answer"," — this guides the AI grader",[293,3592,1382,3593,3596],{},[14,3594,3595],{},"score weight"," for this question",[293,3598,3599,3600,3603,3604,3607],{},"Set ",[14,3601,3602],{},"AI Help Hints"," — the number of hints learners can request while answering (0 = disabled). When a learner clicks ",[14,3605,3606],{},"Get a Hint",", the AI provides a guiding clue based on the question and what they've typed so far, without giving away the answer",[293,3609,1454,3610,3614],{},[448,3611,3613],{"href":3612},"\u002Fdocs\u002Fai-features\u002Fai-assessment","AI Assessment"," for how grading works",[32,3616,3618],{"id":3617},"essay","Essay",[10,3620,3621],{},"Learners write an extended response. AI grading evaluates against a rubric or model answer.",[290,3623,3624,3631,3637,3642],{},[293,3625,3626,3627,3630],{},"Define a ",[14,3628,3629],{},"grading rubric"," or model answer",[293,3632,1382,3633,3636],{},[14,3634,3635],{},"minimum word count"," (optional)",[293,3638,3599,3639,3641],{},[14,3640,3602],{}," — learners can request up to this many AI-generated hints while writing. Each hint acknowledges what the learner has written so far and guides them to the next idea, without revealing the answer",[293,3643,3644],{},"AI grading provides a score and written feedback to the learner",[32,3646,3648],{"id":3647},"fill-in-the-blank","Fill in the Blank",[10,3650,3651],{},"Learners complete a sentence with missing word(s).",[290,3653,3654,3661,3664],{},[293,3655,3656,3657,3660],{},"Write the sentence with ",[61,3658,3659],{},"[blank]"," placeholders where words should be removed",[293,3662,3663],{},"Specify accepted answers for each blank (exact match or synonyms)",[293,3665,3666],{},"Case sensitivity is configurable",[10,3668,3669],{},[14,3670,3671],{},"Example:",[277,3673,3674],{},[10,3675,3676,3677,3679],{},"The capital of France is ",[61,3678,3659],{},".\nAccepted: Paris",[32,3681,3683],{"id":3682},"matching","Matching",[10,3685,3686],{},"Learners drag items from one column to match items in another.",[290,3688,3689,3692,3695],{},[293,3690,3691],{},"Create pairs — a prompt and its correct match",[293,3693,3694],{},"Add as many pairs as needed",[293,3696,3697],{},"Order is randomized for learners",[32,3699,3701],{"id":3700},"sorting","Sorting",[10,3703,3704],{},"Learners drag items into the correct order.",[290,3706,3707,3710,3713],{},[293,3708,3709],{},"List the items in the correct sequence",[293,3711,3712],{},"Learners see them shuffled and must sort them",[293,3714,3715],{},"Partial credit is configurable",[24,3717,3719],{"id":3718},"quiz-settings","Quiz settings",[37,3721,3722,3731],{},[40,3723,3724],{},[43,3725,3726,3729],{},[46,3727,3728],{},"Setting",[46,3730,1216],{},[53,3732,3733,3743,3753,3763,3773],{},[43,3734,3735,3740],{},[58,3736,3737],{},[14,3738,3739],{},"Passing score",[58,3741,3742],{},"Minimum percentage to pass this quiz",[43,3744,3745,3750],{},[58,3746,3747],{},[14,3748,3749],{},"Attempts allowed",[58,3751,3752],{},"How many times a learner can retake",[43,3754,3755,3760],{},[58,3756,3757],{},[14,3758,3759],{},"Show correct answers",[58,3761,3762],{},"Whether to reveal answers after submission",[43,3764,3765,3770],{},[58,3766,3767],{},[14,3768,3769],{},"Randomize questions",[58,3771,3772],{},"Shuffle question order per attempt",[43,3774,3775,3780],{},[58,3776,3777],{},[14,3778,3779],{},"Randomize options",[58,3781,3782],{},"Shuffle answer options for MC questions",[24,3784,3786],{"id":3785},"ai-grading","AI grading",[10,3788,3789,3790,3793,3794,3796],{},"Short Answer, Essay, and AI Dialogue scoring use the ",[14,3791,3792],{},"Assessment Agent",". See ",[448,3795,3613],{"href":3612}," for full details.",[24,3798,3800],{"id":3799},"viewing-results","Viewing results",[10,3802,3803,3804,3806],{},"Quiz scores are recorded per learner and visible in the ",[14,3805,824],{}," dashboard. Scores contribute to overall course progress and, if configured, the passing threshold for certification.",{"title":425,"searchDepth":475,"depth":475,"links":3808},[3809,3810,3818,3819,3820],{"id":3524,"depth":475,"text":3525},{"id":3548,"depth":475,"text":3549,"children":3811},[3812,3813,3814,3815,3816,3817],{"id":3552,"depth":485,"text":3553},{"id":3577,"depth":485,"text":3578},{"id":3617,"depth":485,"text":3618},{"id":3647,"depth":485,"text":3648},{"id":3682,"depth":485,"text":3683},{"id":3700,"depth":485,"text":3701},{"id":3718,"depth":475,"text":3719},{"id":3785,"depth":475,"text":3786},{"id":3799,"depth":475,"text":3800},"All quiz question types, configuration options, and AI-assisted grading.","i-lucide-circle-check",{},{"title":3514,"description":3821},"docs\u002F2.course-builder\u002F3.quiz-blocks","yGjCZeJzqdj34XCNXgf35DqLarOE2Slj34TO0wW_ZmE",{"id":3828,"title":3829,"body":3830,"description":6589,"extension":653,"icon":6590,"meta":6591,"navigation":656,"order":657,"path":3464,"seo":6592,"stem":6593,"__hash__":6594},"docs\u002Fdocs\u002F2.course-builder\u002F4.interactive-blocks.md","Interactive Blocks",{"type":7,"value":3831,"toc":6529},[3832,3835,3838,3841,3846,3860,3864,3924,3930,3937,3947,3951,3954,3987,3994,3998,4009,4013,4020,4023,4041,4045,4056,4060,4067,4071,4074,4077,4080,4083,4087,4101,4105,4168,4184,4186,4189,4192,4196,4207,4211,4253,4256,4260,4263,4277,4280,4283,4305,4307,4310,4313,4318,4332,4336,4355,4357,4360,4363,4370,4374,4380,4406,4409,4413,4416,4436,4442,4446,4449,4453,4464,4467,4481,4484,4500,4503,4507,4698,4702,4705,4717,4720,4724,4735,4746,4750,4765,4771,4946,4952,5121,5132,5135,5138,5144,5158,5161,5167,5323,5334,5338,5348,5353,5359,5369,5375,5384,5388,5395,5409,5420,5424,5439,5443,5457,5461,5472,5565,5572,5576,5639,5643,5674,5678,5685,5689,5692,5696,5706,5711,5770,5779,5786,5790,5797,5800,5850,5855,5878,5882,5926,5928,5931,5938,5942,5956,5960,6011,6015,6018,6067,6085,6089,6120,6123,6125,6128,6131,6135,6149,6153,6176,6178,6250,6254,6286,6292,6312,6319,6323,6326,6328,6331,6338,6342,6356,6360,6443,6446,6449,6478,6481,6485,6492,6516,6522],[10,3833,3834],{},"Interactive blocks engage learners through exploration, conversation, and hands-on activities — going beyond passive reading or watching.",[24,3836,3124],{"id":3837},"ai-dialogue",[10,3839,3840],{},"An AI-powered conversational scenario where learners interact with a character or situation in free-form dialogue.",[10,3842,3843],{},[14,3844,3845],{},"Use cases:",[290,3847,3848,3851,3854,3857],{},[293,3849,3850],{},"Customer service roleplay",[293,3852,3853],{},"Negotiation practice",[293,3855,3856],{},"Interview simulation",[293,3858,3859],{},"Decision-making scenarios",[32,3861,3863],{"id":3862},"setting-up-an-ai-dialogue","Setting up an AI Dialogue",[319,3865,3866,3872,3879,3886,3892,3898,3904,3911,3918],{},[293,3867,3868,3869,3871],{},"Add an ",[14,3870,3124],{}," block to your lesson",[293,3873,3874,3875,3878],{},"Write the ",[14,3876,3877],{},"Setting \u002F Scenario"," — describe the context, situation, and what the learner's role is",[293,3880,3881,3882,3885],{},"Add ",[14,3883,3884],{},"Characters"," — each character has a name, role description, and optional avatar image",[293,3887,3881,3888,3891],{},[14,3889,3890],{},"Learning Outcomes"," — what the learner should demonstrate during the dialogue (add multiple outcomes as a list)",[293,3893,1382,3894,3897],{},[14,3895,3896],{},"Maximum Turns"," limit (3-30 exchanges) — the dialogue ends after this many back-and-forth exchanges",[293,3899,1382,3900,3903],{},[14,3901,3902],{},"Passing Threshold"," — the minimum score (%) required to mark the activity as complete",[293,3905,3906,3907,3910],{},"Optionally add an ",[14,3908,3909],{},"Initial Message"," to set the scene before the learner responds",[293,3912,3913,3914,3917],{},"Optionally enable ",[14,3915,3916],{},"Text-to-Speech"," to give character messages a voice — configure a voice for each character in their settings",[293,3919,3913,3920,3923],{},[14,3921,3922],{},"Audio Input (Microphone)"," — learners can speak their responses using their microphone instead of typing",[10,3925,3926,3927,3929],{},"Learners type freely. The AI plays the characters and steers the conversation based on the scenario. The ",[14,3928,3792],{}," evaluates the conversation against your Learning Outcomes and provides a score and feedback when the dialogue ends.",[277,3931,3932],{},[10,3933,3934,3936],{},[14,3935,1404],{}," Be specific in the scenario description. The more context the AI has, the more realistic and useful the interaction.",[277,3938,3939],{},[10,3940,3941,3943,3944,3946],{},[14,3942,1404],{}," Enable ",[14,3945,3922],{}," for spoken-language practice scenarios — learners can record their response and the AI transcribes it automatically. This works well for language learning, pronunciation practice, and presentation coaching.",[32,3948,3950],{"id":3949},"character-poses","Character poses",[10,3952,3953],{},"AI Dialogue supports two character pose modes:",[37,3955,3956,3965],{},[40,3957,3958],{},[43,3959,3960,3963],{},[46,3961,3962],{},"Mode",[46,3964,1568],{},[53,3966,3967,3977],{},[43,3968,3969,3974],{},[58,3970,3971],{},[14,3972,3973],{},"Standing",[58,3975,3976],{},"Character is rendered as a cutout placed on top of a background image. Good for full-body characters in open scenes.",[43,3978,3979,3984],{},[58,3980,3981],{},[14,3982,3983],{},"Sitting",[58,3985,3986],{},"Character is composited into the scene by the system — the character appears naturally seated at a desk, table, or workspace. Good for office, interview, and meeting scenarios.",[10,3988,3989,3990,3993],{},"For sitting dialogues, you can ",[14,3991,3992],{},"regenerate individual emotions"," — if a particular emotion variant doesn't look right, regenerate just that one without affecting the others.",[32,3995,3997],{"id":3996},"character-speech-bubbles","Character speech bubbles",[10,3999,4000,4001,4004,4005,4008],{},"When characters have avatar images, the editor displays draggable ",[14,4002,4003],{},"speech bubble"," placeholders and ",[14,4006,4007],{},"tail point"," handles in the scenario preview. Drag the speech bubble to position it relative to the character, and drag the tail handle to point it at the character. These positions are saved and shown in the learner-facing dialogue view.",[32,4010,4012],{"id":4011},"observer-mode","Observer mode",[10,4014,4015,4016,4019],{},"AI Dialogue supports an ",[14,4017,4018],{},"Observer"," mode where the learner watches a conversation unfold between AI-played characters, rather than participating themselves. This is useful for demonstrating how a scenario should (or shouldn't) play out.",[10,4021,4022],{},"When Observer mode is enabled, two additional settings appear:",[290,4024,4025,4035],{},[293,4026,4027,4030,4031,4034],{},[14,4028,4029],{},"First Speaker"," — choose which character starts the conversation, or leave it on ",[14,4032,4033],{},"Auto"," to let the AI decide",[293,4036,4037,4040],{},[14,4038,4039],{},"Opening Statement"," — optionally write the very first line of dialogue; leave empty to let the AI generate it",[32,4042,4044],{"id":4043},"linked-dialogues","Linked dialogues",[10,4046,4047,4048,4051,4052,4055],{},"Dialogues can be ",[14,4049,4050],{},"linked"," to create multi-part conversation sequences. Set a ",[61,4053,4054],{},"linkedDialogueBlockId"," to chain one dialogue into the next — when the learner finishes the first dialogue, the linked dialogue continues the scenario with the same context.",[32,4057,4059],{"id":4058},"guest-mode","Guest mode",[10,4061,4062,4063,4066],{},"Courses with ",[14,4064,4065],{},"guest mode"," enabled allow anonymous users to interact with AI Dialogue blocks without logging in. AI credits for guest dialogue sessions are deducted from the course owner's account.",[32,4068,4070],{"id":4069},"assessment","Assessment",[10,4072,4073],{},"The AI evaluates conversations against your Learning Outcomes. Feedback is shown to the learner after the dialogue ends. Scores are recorded in the learner dashboard.",[4075,4076],"hr",{},[24,4078,3042],{"id":4079},"accordion-tabs",[10,4081,4082],{},"A structured content block that presents information in one of three layouts: collapsible accordion sections, classic tabs, or full-height image strips. Use it to organise longer or multi-topic content without overwhelming learners with a wall of text.",[10,4084,4085],{},[14,4086,3845],{},[290,4088,4089,4092,4095,4098],{},[293,4090,4091],{},"Step-by-step reference material with expandable detail",[293,4093,4094],{},"Content with distinct subtopics that learners switch between",[293,4096,4097],{},"FAQs or glossaries",[293,4099,4100],{},"A row of visually-rich sections that open like pills, magazine-style",[32,4102,4104],{"id":4103},"setting-up-an-accordion-tabs-block","Setting up an Accordion \u002F Tabs block",[319,4106,4107,4111,4138,4144,4147,4150,4157],{},[293,4108,3868,4109,3871],{},[14,4110,3042],{},[293,4112,4113,4114],{},"Choose a display mode:\n",[290,4115,4116,4126,4132],{},[293,4117,4118,4121,4122,4125],{},[14,4119,4120],{},"Accordion"," — sections stack vertically and expand\u002Fcollapse on click. The selected section's background image or colour fills the entire card (header ",[19,4123,4124],{},"and"," body) and the expansion animates smoothly to its natural height.",[293,4127,4128,4131],{},[14,4129,4130],{},"Tabs"," — classic horizontal tab row above a content panel. When a tab has a background image or colour set, it carries through to the panel below so the active tab visually fuses with its content.",[293,4133,4134,4137],{},[14,4135,4136],{},"Strips"," — tall pills laid out in a row. Inactive pills display the section title rotated vertically; clicking a pill expands it to fill the remaining width and renders its content directly on top of the background. Good for visually-rich navigation between sections.",[293,4139,3906,4140,4143],{},[14,4141,4142],{},"Introduction"," paragraph above the sections",[293,4145,4146],{},"Double-click a section's title to edit it in a rich-text modal",[293,4148,4149],{},"Click a section to expand it and edit the body content (rich text, including images)",[293,4151,4152,4153,4156],{},"Add more sections with the ",[14,4154,4155],{},"+"," button between items",[293,4158,4159,4160,4163,4164,4167],{},"Open the inspector to set a per-section ",[14,4161,4162],{},"background image"," (upload, library, stock, or AI) or ",[14,4165,4166],{},"background colour",", plus a corner-radius setting (Strips mode)",[277,4169,4170],{},[10,4171,4172,4174,4175,4177,4178,4180,4181,4183],{},[14,4173,1404],{}," Use ",[14,4176,4130],{}," for short, parallel sections (e.g. \"Before \u002F During \u002F After\"), ",[14,4179,4120],{}," for longer reference content where learners want to jump to a specific topic, and ",[14,4182,4136],{}," when each section deserves its own image.",[4075,4185],{},[24,4187,3134],{"id":4188},"hotspot-image",[10,4190,4191],{},"A clickable image where learners tap or click on defined areas to reveal information. You can also add overlay elements — shapes, text boxes, and images — on top of the base image to annotate or decorate it.",[10,4193,4194],{},[14,4195,3845],{},[290,4197,4198,4201,4204],{},[293,4199,4200],{},"Labeling anatomy or mechanical diagrams",[293,4202,4203],{},"Exploring maps or floor plans",[293,4205,4206],{},"Product feature identification",[32,4208,4210],{"id":4209},"setting-up-a-hotspot-image","Setting up a Hotspot Image",[319,4212,4213,4219,4222,4228,4234,4250],{},[293,4214,4215,4216,4218],{},"Add a ",[14,4217,3134],{}," block",[293,4220,4221],{},"Upload or select an image",[293,4223,3906,4224,4227],{},[14,4225,4226],{},"Alt text"," description for the base image (improves screen reader accessibility)",[293,4229,333,4230,4233],{},[14,4231,4232],{},"Add Hotspot"," and drag the hotspot to the correct position on the image",[293,4235,4236,4237],{},"For each hotspot, enter:\n",[290,4238,4239,4245],{},[293,4240,4241,4244],{},[14,4242,4243],{},"Label"," — shown when the learner clicks",[293,4246,4247,4249],{},[14,4248,1216],{}," — detailed content revealed on click",[293,4251,4252],{},"Repeat for all hotspots",[10,4254,4255],{},"Learners can explore hotspots in any order. You can optionally require all hotspots to be opened before the block is marked complete.",[32,4257,4259],{"id":4258},"overlay-elements","Overlay elements",[10,4261,4262],{},"In addition to hotspots, you can place static overlay elements on the image:",[290,4264,4265,4271],{},[293,4266,4267,4270],{},[14,4268,4269],{},"Shape & Text"," — a rectangle or other shape with optional text, background color, and border",[293,4272,4273,4276],{},[14,4274,4275],{},"Image"," — an image placed at any position on the canvas",[10,4278,4279],{},"Overlays are decorative or annotative — they appear on top of the base image but do not trigger click reveal behavior like hotspots do. Use them to add labels, callout boxes, arrows (as shapes), or supplementary images to your diagram.",[10,4281,4282],{},"To add an overlay:",[319,4284,4285,4291,4299,4302],{},[293,4286,1900,4287,4290],{},[14,4288,4289],{},"Add Overlay"," button (or the dropdown arrow next to it)",[293,4292,4293,4294,4296,4297],{},"Choose ",[14,4295,4269],{}," or ",[14,4298,4275],{},[293,4300,4301],{},"Drag to position and resize on the canvas",[293,4303,4304],{},"Double-click to edit the text or replace the image",[4075,4306],{},[24,4308,3088],{"id":4309},"drag-drop",[10,4311,4312],{},"Learners drag items to match or sort them. Similar to the Matching and Sorting quiz question types but presented as a standalone activity block.",[10,4314,4315],{},[14,4316,4317],{},"Modes:",[290,4319,4320,4326],{},[293,4321,4322,4325],{},[14,4323,4324],{},"Match"," — drag items from a source list to correct targets",[293,4327,4328,4331],{},[14,4329,4330],{},"Sort"," — place items in the correct sequence",[32,4333,4335],{"id":4334},"setting-up-drag-drop","Setting up Drag & Drop",[319,4337,4338,4342,4349,4352],{},[293,4339,4215,4340,4218],{},[14,4341,3088],{},[293,4343,2196,4344,4296,4346,4348],{},[14,4345,4324],{},[14,4347,4330],{}," mode",[293,4350,4351],{},"Add your items and define correct placements or order",[293,4353,4354],{},"Set whether partial credit is allowed",[4075,4356],{},[24,4358,1856],{"id":4359},"interactive-slides",[10,4361,4362],{},"A full-featured slide authoring tool with a visual canvas editor, rich element library, and a trigger-action interaction system. Think of it as a presentation builder crossed with an interaction designer — you place elements on slides, then wire up behaviors so learners can click, drag, type, and explore.",[10,4364,4365,4366,4369],{},"This is ",[14,4367,4368],{},"not"," a simple click-through slideshow. It's closer to what tools like Articulate Storyline or Adobe Captivate offer, but built into LearnBuilder with AI assistance.",[32,4371,4373],{"id":4372},"ai-generation-wizard","AI Generation wizard",[10,4375,4376,4377,4379],{},"The fastest way to create an interactive slideshow is with the ",[14,4378,1880],{}," button. This opens a wizard modal where you describe the simulation you want, and the AI builds the entire thing.",[319,4381,4382,4387,4396,4403],{},[293,4383,333,4384,4386],{},[14,4385,1880],{}," on an Interactive Slides block",[293,4388,4389,4392,4393],{},[14,4390,4391],{},"Describe the simulation"," — for example, ",[19,4394,4395],{},"\"A phishing email checker where the learner reviews emails and identifies which ones are phishing attempts\"",[293,4397,4398,4399,4402],{},"Optionally click ",[14,4400,4401],{},"Help Me Plan"," — the AI asks clarifying questions to refine the scope, target audience, and interaction style before generating",[293,4404,4405],{},"Confirm and generate",[10,4407,4408],{},"The AI creates the full slideshow: slides, elements, triggers, actions, and scoring. You can then edit any part of it in the canvas editor.",[32,4410,4412],{"id":4411},"scoring-system","Scoring system",[10,4414,4415],{},"Interactive Slides have a built-in scoring system for graded activities:",[290,4417,4418,4424,4430],{},[293,4419,4420,4423],{},[14,4421,4422],{},"score"," — a variable that tracks the learner's current score",[293,4425,4426,4429],{},[14,4427,4428],{},"maxScore"," — the maximum possible score",[293,4431,4432,4435],{},[14,4433,4434],{},"passingScore"," — the minimum score required to pass",[10,4437,4438,4439,4441],{},"When you use AI generation, scoring is configured automatically — correct actions increment the score, and a results slide shows the outcome. You can adjust scoring in the ",[14,4440,379],{}," tab of the slideshow editor.",[32,4443,4445],{"id":4444},"the-canvas-editor","The canvas editor",[10,4447,4448],{},"Each slide is a visual canvas where you place and arrange elements freely. Elements are positioned by dragging and can be resized, rotated, layered, locked, and styled.",[32,4450,4452],{"id":4451},"multi-select-and-batch-editing","Multi-select and batch editing",[10,4454,4455,4456,4459,4460,4463],{},"Select multiple elements at once (Shift+click or drag-select) to edit them as a group. The Properties panel shows a \"",[19,4457,4458],{},"N"," selected\" header chip with a quick type breakdown (e.g. ",[19,4461,4462],{},"\"3 selected — 2 text + 1 shape\"",") so you can tell at a glance which sections are about to appear.",[10,4465,4466],{},"What batches across the whole selection:",[290,4468,4469,4475],{},[293,4470,4471,4474],{},[14,4472,4473],{},"Universal properties"," — X \u002F Y position, width, height, and rotation always batch, no matter what mix of element types you have selected. Great for aligning or resizing a group consistently.",[293,4476,4477,4480],{},[14,4478,4479],{},"Type-specific properties"," when every selected element shares the same type — the matching section appears (Text, Shape, etc.) and edits apply to all of them. Text fills (colour, font size, weight, style, alignment) and shape fills\u002Fstrokes\u002Ftext styles batch fully today.",[10,4482,4483],{},"What stays single-element:",[290,4485,4486,4497],{},[293,4487,4488,4489,4492,4493,4496],{},"Element ",[14,4490,4491],{},"name"," and rich-text ",[14,4494,4495],{},"content"," are not batched — collapsing N distinct labels or paragraphs to the same string is almost never what you want, so those fields hide in multi-select.",[293,4498,4499],{},"Some type-specific panels (image, video, audio, button, icon, lottie, svg, text-input, textarea, checkbox, timer, slider, variable, scroll-container) currently show in multi-select but edit only the first selected element. Universal fields still batch even on those.",[10,4501,4502],{},"The selection-bounding outline and resize handles render at a constant visual size regardless of the canvas zoom level — they stay readable whether you're zoomed in for pixel-level tweaks or out to see the whole stage.",[32,4504,4506],{"id":4505},"element-types","Element types",[37,4508,4509,4518],{},[40,4510,4511],{},[43,4512,4513,4516],{},[46,4514,4515],{},"Element",[46,4517,1216],{},[53,4519,4520,4529,4538,4547,4556,4570,4580,4590,4612,4622,4632,4642,4652,4662,4672,4682],{},[43,4521,4522,4526],{},[58,4523,4524],{},[14,4525,2972],{},[58,4527,4528],{},"Formatted text with font, size, color, alignment controls",[43,4530,4531,4535],{},[58,4532,4533],{},[14,4534,4275],{},[58,4536,4537],{},"Upload, pick from media library, use stock photos, or AI-generate",[43,4539,4540,4544],{},[58,4541,4542],{},[14,4543,2982],{},[58,4545,4546],{},"Embed YouTube, Vimeo, or upload a video file",[43,4548,4549,4553],{},[58,4550,4551],{},[14,4552,2992],{},[58,4554,4555],{},"Upload or select an audio file that plays on the slide",[43,4557,4558,4563],{},[58,4559,4560],{},[14,4561,4562],{},"Shape",[58,4564,4565,4566,4569],{},"Rectangles, rounded rectangles, circles, lines — with fill, border, opacity controls. Shapes support a ",[14,4567,4568],{},"fontSize"," property for text displayed on the shape.",[43,4571,4572,4577],{},[58,4573,4574],{},[14,4575,4576],{},"Icon",[58,4578,4579],{},"Icon picker for visual indicators and decorative elements",[43,4581,4582,4587],{},[58,4583,4584],{},[14,4585,4586],{},"Button",[58,4588,4589],{},"Styled clickable button — primary trigger for interactions",[43,4591,4592,4597],{},[58,4593,4594],{},[14,4595,4596],{},"Text Input",[58,4598,4599,4600,4603,4604,4607,4608,4611],{},"Single-line text field for learner input. Optional ",[14,4601,4602],{},"Hide as password"," property in the inspector renders the field as ",[61,4605,4606],{},"\u003Cinput type=\"password\">"," (masked dots). The stored value is unchanged — conditions and actions see the raw text — only the visual presentation changes. Useful for password-style drills; not real authentication. Pair with the ",[14,4609,4610],{},"Submit"," trigger to validate on Enter.",[43,4613,4614,4619],{},[58,4615,4616],{},[14,4617,4618],{},"Textarea",[58,4620,4621],{},"Multi-line text area for longer responses",[43,4623,4624,4629],{},[58,4625,4626],{},[14,4627,4628],{},"Checkbox",[58,4630,4631],{},"Toggleable checkbox element",[43,4633,4634,4639],{},[58,4635,4636],{},[14,4637,4638],{},"Drop Zone",[58,4640,4641],{},"Target area for drag-and-drop interactions",[43,4643,4644,4649],{},[58,4645,4646],{},[14,4647,4648],{},"Drag Item",[58,4650,4651],{},"Draggable element that can be dropped onto drop zones",[43,4653,4654,4659],{},[58,4655,4656],{},[14,4657,4658],{},"Timer",[58,4660,4661],{},"Countdown or count-up timer with multiple display styles",[43,4663,4664,4669],{},[58,4665,4666],{},[14,4667,4668],{},"Variable",[58,4670,4671],{},"Hidden data element (number, string, boolean, or list) for tracking state",[43,4673,4674,4679],{},[58,4675,4676],{},[14,4677,4678],{},"Scroll Container",[58,4680,4681],{},"Scrollable area that can hold child elements — useful for email inboxes, document lists, alert feeds, or any content that needs to scroll within a fixed area",[43,4683,4684,4689],{},[58,4685,4686],{},[14,4687,4688],{},"Lottie Animation",[58,4690,4691,4692,4296,4695,4697],{},"Vector animation from a ",[61,4693,4694],{},".lottie",[61,4696,2250],{}," file, with full playback control",[32,4699,4701],{"id":4700},"element-rotation","Element rotation",[10,4703,4704],{},"Any element on the canvas can be rotated freely:",[290,4706,4707,4714],{},[293,4708,4709,4710,4713],{},"Drag the ",[14,4711,4712],{},"rotation handle"," that appears above a selected element",[293,4715,4716],{},"Or enter an exact angle in degrees in the element's properties panel",[10,4718,4719],{},"Rotation is useful for angled labels, decorative shapes, and creating dynamic layouts.",[32,4721,4723],{"id":4722},"element-tags","Element tags",[10,4725,4726,4727,4730,4731,4734],{},"Elements can be assigned ",[14,4728,4729],{},"tags"," — custom labels that let you target multiple elements at once in trigger actions. For example, tag several answer buttons as ",[61,4732,4733],{},"\"option\""," and then use a single action to show\u002Fhide all of them together.",[10,4736,4737,4738,4741,4742,4745],{},"To tag an element, select it and add one or more tags in the ",[14,4739,4740],{},"Properties"," panel. In trigger actions, choose ",[14,4743,4744],{},"Tag"," as the target type instead of a specific element, then select your tag.",[32,4747,4749],{"id":4748},"triggers-and-actions","Triggers and actions",[10,4751,4752,4753,4756,4757,4760,4761,4764],{},"This is the interaction engine. Every element can have ",[14,4754,4755],{},"interactions"," — rules that say \"when ",[19,4758,4759],{},"this"," happens, do ",[19,4762,4763],{},"that",".\"",[10,4766,4767,4770],{},[14,4768,4769],{},"Triggers"," (what the learner does):",[37,4772,4773,4783],{},[40,4774,4775],{},[43,4776,4777,4780],{},[46,4778,4779],{},"Trigger",[46,4781,4782],{},"Fires when...",[53,4784,4785,4793,4801,4809,4817,4825,4833,4848,4874,4882,4890,4898,4906,4914,4922,4930,4938],{},[43,4786,4787,4790],{},[58,4788,4789],{},"Click",[58,4791,4792],{},"Learner clicks the element",[43,4794,4795,4798],{},[58,4796,4797],{},"Hover",[58,4799,4800],{},"Mouse enters the element",[43,4802,4803,4806],{},[58,4804,4805],{},"Hover Out",[58,4807,4808],{},"Mouse leaves the element",[43,4810,4811,4814],{},[58,4812,4813],{},"Double Click",[58,4815,4816],{},"Learner double-clicks",[43,4818,4819,4822],{},[58,4820,4821],{},"Right Click",[58,4823,4824],{},"Learner right-clicks",[43,4826,4827,4830],{},[58,4828,4829],{},"Change",[58,4831,4832],{},"Value changes (for inputs, checkboxes)",[43,4834,4835,4837],{},[58,4836,4610],{},[58,4838,4839,4840,4843,4844,4847],{},"Learner presses ",[14,4841,4842],{},"Enter"," in a text input (single-line ",[61,4845,4846],{},"text-input"," only — textareas use Enter for newlines)",[43,4849,4850,4853],{},[58,4851,4852],{},"Key Press",[58,4854,4855,4856,4859,4860,521,4862,521,4865,521,4867,521,4870,4873],{},"Learner presses a specific key or chord. Focus the ",[14,4857,4858],{},"Key"," field and press the key to capture it (",[61,4861,4842],{},[61,4863,4864],{},"Space",[61,4866,854],{},[61,4868,4869],{},"ArrowRight",[61,4871,4872],{},"Ctrl+Enter",", …); comma-separate to listen for several keys. Available per element and at the slide level. Only fires while the slideshow is hovered, focused, or in theater mode — and never while the learner is typing in an input",[43,4875,4876,4879],{},[58,4877,4878],{},"Video Play \u002F Pause \u002F Ended",[58,4880,4881],{},"Video playback events",[43,4883,4884,4887],{},[58,4885,4886],{},"Video Time",[58,4888,4889],{},"Video reaches a specific timestamp",[43,4891,4892,4895],{},[58,4893,4894],{},"Audio Play \u002F Pause \u002F Ended",[58,4896,4897],{},"Audio playback events",[43,4899,4900,4903],{},[58,4901,4902],{},"Audio Time",[58,4904,4905],{},"Audio reaches a specific timestamp",[43,4907,4908,4911],{},[58,4909,4910],{},"Drag Start",[58,4912,4913],{},"Learner starts dragging a drag item",[43,4915,4916,4919],{},[58,4917,4918],{},"Drop \u002F Correct Drop \u002F Incorrect Drop",[58,4920,4921],{},"Item is dropped on a zone",[43,4923,4924,4927],{},[58,4925,4926],{},"Timer Complete",[58,4928,4929],{},"A timer reaches zero",[43,4931,4932,4935],{},[58,4933,4934],{},"Scroll Position",[58,4936,4937],{},"Scroll Container scrolled past a specified percentage",[43,4939,4940,4943],{},[58,4941,4942],{},"Animation Complete",[58,4944,4945],{},"A Lottie animation element finishes playing",[10,4947,4948,4951],{},[14,4949,4950],{},"Actions"," (what happens in response):",[37,4953,4954,4963],{},[40,4955,4956],{},[43,4957,4958,4960],{},[46,4959,1940],{},[46,4961,4962],{},"Effect",[53,4964,4965,4973,4981,4989,5001,5009,5017,5025,5033,5041,5049,5057,5065,5073,5085,5093,5101,5113],{},[43,4966,4967,4970],{},[58,4968,4969],{},"Go to Slide",[58,4971,4972],{},"Navigate to a specific slide",[43,4974,4975,4978],{},[58,4976,4977],{},"Show \u002F Hide \u002F Toggle Element",[58,4979,4980],{},"Control element visibility (target by element or tag)",[43,4982,4983,4986],{},[58,4984,4985],{},"Enable \u002F Disable \u002F Toggle Disabled",[58,4987,4988],{},"Lock or unlock an element — disabled buttons, text inputs, textareas, checkboxes, and sliders dim and ignore interaction. Useful for \"unlock the Submit button after the learner picks an option\"",[43,4990,4991,4994],{},[58,4992,4993],{},"Set Text",[58,4995,4996,4997,5000],{},"Replace the rendered text of a text \u002F button \u002F shape element. Supports ",[61,4998,4999],{},"{{varName}}"," interpolation in the new value",[43,5002,5003,5006],{},[58,5004,5005],{},"Check Answer",[58,5007,5008],{},"Validate a text input or drop zone",[43,5010,5011,5014],{},[58,5012,5013],{},"Check All Drop Zones",[58,5015,5016],{},"Validate all drag-and-drop placements at once",[43,5018,5019,5022],{},[58,5020,5021],{},"Set Value",[58,5023,5024],{},"Set an input or variable to a specific value",[43,5026,5027,5030],{},[58,5028,5029],{},"Complete Slideshow",[58,5031,5032],{},"Mark the block as done",[43,5034,5035,5038],{},[58,5036,5037],{},"Play \u002F Pause \u002F Restart Video",[58,5039,5040],{},"Control video playback",[43,5042,5043,5046],{},[58,5044,5045],{},"Play \u002F Pause \u002F Restart Audio",[58,5047,5048],{},"Control audio playback",[43,5050,5051,5054],{},[58,5052,5053],{},"Reset Drag Item",[58,5055,5056],{},"Return a drag item to its starting position",[43,5058,5059,5062],{},[58,5060,5061],{},"Start \u002F Stop \u002F Pause \u002F Reset \u002F Set Timer",[58,5063,5064],{},"Control timers",[43,5066,5067,5070],{},[58,5068,5069],{},"Increment \u002F Decrement \u002F Toggle \u002F Reset Variable",[58,5071,5072],{},"Modify variable values",[43,5074,5075,5078],{},[58,5076,5077],{},"Add to List \u002F Add to List (unique) \u002F Remove from List",[58,5079,5080,5081,5084],{},"Manage list-type variables. ",[19,5082,5083],{},"Add to List (unique)"," skips the append if the value is already in the list — useful for multi-pick selections where the same button can be tapped twice",[43,5086,5087,5090],{},[58,5088,5089],{},"Scroll To",[58,5091,5092],{},"Scroll a Scroll Container to a target position (%) with optional smooth scrolling",[43,5094,5095,5098],{},[58,5096,5097],{},"Play \u002F Pause \u002F Stop \u002F Toggle Lottie",[58,5099,5100],{},"Control a Lottie animation element; Play accepts an optional speed override; Toggle plays if paused, pauses if playing",[43,5102,5103,5106],{},[58,5104,5105],{},"Move \u002F Move to Element \u002F Move Along Path \u002F Rotate",[58,5107,5108,5109,5112],{},"Animate an element to a position, toward another element's anchor point, along a Line or Polygon shape's path, or to a rotation — with a duration and easing. ",[19,5110,5111],{},"Move Along Path"," targets a Line or Polygon element you've placed on the slide; the animated element follows that path point-to-point (handy for motion guides, arrows tracing a route, etc.)",[43,5114,5115,5118],{},[58,5116,5117],{},"Wait",[58,5119,5120],{},"Pause the action queue for a number of seconds before the next action runs — for sequencing reveals (show A → wait 1.5s → show B)",[10,5122,5123,5124,5127,5128,5131],{},"Each trigger can fire ",[14,5125,5126],{},"multiple actions",", so a single button click can navigate to a slide, show a hidden element, start a timer, and increment a score variable all at once. Actions run in order top to bottom; ",[14,5129,5130],{},"drag the grip handle"," on an action card to reorder them within the Edit Interaction modal.",[10,5133,5134],{},"The target of an element-based action (Show\u002FHide\u002FToggle, Enable\u002FDisable) is picked from a single dropdown that lists both individual elements (with a type icon) and tags — choose a tag to affect every element carrying it at once.",[32,5136,3268],{"id":5137},"conditions",[10,5139,5140,5141,5143],{},"Triggers and actions can both be gated by ",[14,5142,5137],{}," — so an interaction only fires (or a specific action only runs) when the slide's state matches. Two scopes:",[290,5145,5146,5152],{},[293,5147,5148,5151],{},[14,5149,5150],{},"Interaction-level condition"," — \"Run only when…\" at the top of the Edit Interaction modal. Gates the whole interaction; if false, none of its actions run.",[293,5153,5154,5157],{},[14,5155,5156],{},"Per-action condition"," — same toggle inside each action's settings. Gates just that one action; other actions in the list still run.",[10,5159,5160],{},"Both compose: the interaction-level condition runs first, then each action checks its own condition.",[10,5162,5163,5164,456],{},"Each condition row has three ",[14,5165,5166],{},"sources",[319,5168,5169,5174,5243],{},[293,5170,5171,5173],{},[14,5172,4668],{}," — read a variable element's current value. Standard operators (Equals, Greater than, Contains, Is empty…) depending on the variable's type.",[293,5175,5176,5178,5179,5232,5235,5236,5238,5239,5242],{},[14,5177,4515],{}," — read a runtime state field of a regular element on the slide. The \"Condition\" picker shows presets curated to the element type:",[290,5180,5181,5186,5192,5198,5203,5209,5215,5220,5226],{},[293,5182,5183,5185],{},[14,5184,4628],{}," — Is checked \u002F Is unchecked",[293,5187,5188,5191],{},[14,5189,5190],{},"Text input \u002F Textarea"," — Is empty \u002F Is not empty \u002F Equals… \u002F Doesn't equal… \u002F Contains… \u002F Doesn't contain… \u002F Length equals… \u002F Length greater than… \u002F Length less than…",[293,5193,5194,5197],{},[14,5195,5196],{},"Slider"," — Equals… \u002F Greater than… \u002F Less than… \u002F At least… \u002F At most…",[293,5199,5200,5202],{},[14,5201,4586],{}," — Is enabled \u002F Is disabled \u002F Is visible \u002F Is hidden",[293,5204,5205,5208],{},[14,5206,5207],{},"Drag item"," — Reached zone \u002F Is visible \u002F Is hidden",[293,5210,5211,5214],{},[14,5212,5213],{},"Drop zone"," — Is filled correctly \u002F Is empty \u002F Is visible \u002F Is hidden",[293,5216,5217,5219],{},[14,5218,4658],{}," — Has finished \u002F value comparisons in seconds \u002F Is visible \u002F Is hidden",[293,5221,5222,5225],{},[14,5223,5224],{},"Video \u002F Audio \u002F Lottie"," — Played to end \u002F Is visible \u002F Is hidden",[293,5227,5228,5231],{},[14,5229,5230],{},"Everything else"," (image, shape, icon, svg, plain text, scroll container) — Is visible \u002F Is hidden",[5233,5234],"br",{},"\"Was clicked\" is intentionally ",[14,5237,4368],{}," in the preset list — if you want something to react to a click, use the ",[14,5240,5241],{},"Click trigger"," on that element instead. That's the same outcome with cleaner authoring.",[293,5244,5245,5248,5249,5281,5283,5286,5287,5290,5291,5294,5295,5298,5299,5302,5303,521,5306,5309,5310,5312,5313,275,5316,5318,5319,5322],{},[14,5246,5247],{},"JS"," — a custom JavaScript expression for cases the presets don't cover (mixed AND\u002FOR logic, cross-element references, computed checks). Return a boolean. Available helpers:",[290,5250,5251,5257,5263,5269,5275],{},[293,5252,5253,5256],{},[61,5254,5255],{},"ctx.value(id)"," — the element's current value (string \u002F number \u002F boolean \u002F list)",[293,5258,5259,5262],{},[61,5260,5261],{},"ctx.visible(id)"," — true when the element is currently rendered",[293,5264,5265,5268],{},[61,5266,5267],{},"ctx.enabled(id)"," — true when the element isn't disabled",[293,5270,5271,5274],{},[61,5272,5273],{},"ctx.completed(id)"," — true after a quiz \u002F drop-zone \u002F etc. marks it done",[293,5276,5277,5280],{},[61,5278,5279],{},"ctx.clicked(id)"," — true once the learner has clicked the element",[5233,5282],{},[14,5284,5285],{},"Important:"," these helpers take the stable element ",[14,5288,5289],{},"ID",", not the author-set name. The JS row shows an ",[14,5292,5293],{},"Available elements"," reference list below the textarea — click an entry to copy its ",[61,5296,5297],{},"ctx.value('id')"," snippet to the clipboard. Replace ",[61,5300,5301],{},"value"," with ",[61,5304,5305],{},"visible",[61,5307,5308],{},"completed",", etc. as needed.",[5233,5311],{},"Example: ",[61,5314,5315],{},"ctx.value('input_2_id') === 'yes' && ctx.visible('hint_id')",[5233,5317],{},"Errors in the expression are caught and treated as ",[61,5320,5321],{},"false"," — a malformed expression silently fails the condition rather than crashing the player.",[10,5324,5325,5326,5329,5330,5333],{},"When a row has multiple conditions, the ",[14,5327,5328],{},"ALL \u002F ANY"," toggle at the top of the list controls whether they're combined with AND or OR. For more complex nested logic (e.g. ",[61,5331,5332],{},"(A AND B) OR C","), use a single JS row.",[32,5335,5337],{"id":5336},"variable-interpolation-in-text","Variable interpolation in text",[10,5339,5340,5341,5343,5344,5347],{},"Any text-bearing element (text, button label, shape) can reference variable values using ",[61,5342,4999],{}," placeholders. Both the editor canvas (using each variable's ",[61,5345,5346],{},"defaultValue",") and the player (using live values) resolve them in real time.",[10,5349,5350,456],{},[14,5351,5352],{},"Plain reference",[417,5354,5357],{"className":5355,"code":5356,"language":422},[420],"Score: {{score}}\u002F10\nYou picked: {{selectedItem}}\n",[61,5358,5356],{"__ignoreMap":425},[10,5360,5361,5364,5365,5368],{},[14,5362,5363],{},"Expressions"," — anything inside ",[61,5366,5367],{},"{{…}}"," is evaluated as JavaScript with all variables in scope, so you can compute on the fly:",[417,5370,5373],{"className":5371,"code":5372,"language":422},[420],"{{score >= 7 ? '✓ Passed' : '✕ Try again'}}\n{{selectedItems.join(', ')}}\n{{Math.round(progress * 100)}}%\n",[61,5374,5372],{"__ignoreMap":425},[10,5376,5377,5378,5380,5381,5383],{},"References resolve by the variable's ",[14,5379,4491],{},", not its element id, so authors don't need to track UUIDs. Failed expressions leave the literal ",[61,5382,5367],{}," visible so a typo is obvious.",[32,5385,5387],{"id":5386},"sharing-variables-across-blocks","Sharing variables across blocks",[10,5389,5390,5391,5394],{},"By default a variable lives inside its own slideshow. Two toggles on a ",[14,5392,5393],{},"variable element"," let a value travel further:",[290,5396,5397,5403],{},[293,5398,5399,5402],{},[14,5400,5401],{},"Export"," — makes the variable's value available to other blocks in the course (keyed by the variable's name).",[293,5404,5405,5408],{},[14,5406,5407],{},"Import from another block"," — turns the variable into a read-only mirror of an exported variable elsewhere in the course. The local default value is used as a fallback until the source block has been visited.",[10,5410,5411,5412,5415,5416,5419],{},"Exported values are also usable as ",[61,5413,5414],{},"{{variableName}}"," placeholders in ",[14,5417,5418],{},"text and content blocks"," elsewhere in the lesson — so a learner's answer or score from one slideshow can be echoed back in plain text further down the page. Cross-block sharing is scoped to a single enrollment.",[32,5421,5423],{"id":5422},"style-presets","Style presets",[10,5425,5426,5427,5430,5431,5434,5435,5438],{},"Save the look of an element — fill, stroke, radius, padding, font, etc. — as a named ",[14,5428,5429],{},"style preset",", then apply it to other elements of the same type. Presets are ",[14,5432,5433],{},"account-wide",", so a preset created in one course is available in every course in the account. Use the ",[14,5436,5437],{},"Save \u002F Apply Style"," menu at the top of the element inspector.",[32,5440,5442],{"id":5441},"copy-and-paste-elements","Copy and paste elements",[10,5444,5445,5446,5449,5450,2569,5453,5456],{},"Select one or more elements and use ",[14,5447,5448],{},"Ctrl\u002FCmd+C"," then ",[14,5451,5452],{},"Ctrl\u002FCmd+V",[14,5454,5455],{},"Ctrl\u002FCmd+D"," to duplicate in place). Multi-element copy preserves the relative layout of the whole group.",[32,5458,5460],{"id":5459},"element-animations","Element animations",[10,5462,5463,5464,5467,5468,5471],{},"Elements can have ",[14,5465,5466],{},"animations"," applied — looping visual effects that play independently of trigger interactions. Select an element, open the ",[14,5469,5470],{},"Animations"," tab, and add one or more animations.",[37,5473,5474,5483],{},[40,5475,5476],{},[43,5477,5478,5481],{},[46,5479,5480],{},"Animation",[46,5482,4962],{},[53,5484,5485,5495,5505,5515,5525,5535,5545,5555],{},[43,5486,5487,5492],{},[58,5488,5489],{},[14,5490,5491],{},"Pulse",[58,5493,5494],{},"Gentle scale pulse",[43,5496,5497,5502],{},[58,5498,5499],{},[14,5500,5501],{},"Bounce",[58,5503,5504],{},"Vertical bounce",[43,5506,5507,5512],{},[58,5508,5509],{},[14,5510,5511],{},"Float",[58,5513,5514],{},"Gentle up-and-down float",[43,5516,5517,5522],{},[58,5518,5519],{},[14,5520,5521],{},"Shake",[58,5523,5524],{},"Horizontal shake",[43,5526,5527,5532],{},[58,5528,5529],{},[14,5530,5531],{},"Wiggle",[58,5533,5534],{},"Rotation wiggle",[43,5536,5537,5542],{},[58,5538,5539],{},[14,5540,5541],{},"Spin",[58,5543,5544],{},"Continuous rotation",[43,5546,5547,5552],{},[58,5548,5549],{},[14,5550,5551],{},"Fade",[58,5553,5554],{},"Opacity fade in\u002Fout",[43,5556,5557,5562],{},[58,5558,5559],{},[14,5560,5561],{},"Glow",[58,5563,5564],{},"Glow\u002Fbrightness pulse",[10,5566,5567,5568,5571],{},"Each animation has a ",[14,5569,5570],{},"speed"," setting: Slow, Normal, or Fast. Animations can be enabled or disabled individually.",[32,5573,5575],{"id":5574},"slide-settings","Slide settings",[37,5577,5578,5587],{},[40,5579,5580],{},[43,5581,5582,5584],{},[46,5583,3728],{},[46,5585,5586],{},"Options",[53,5588,5589,5599,5609,5619,5629],{},[43,5590,5591,5596],{},[58,5592,5593],{},[14,5594,5595],{},"Navigation mode",[58,5597,5598],{},"Guided (next\u002Fback buttons) or Free (learner can jump to any slide)",[43,5600,5601,5606],{},[58,5602,5603],{},[14,5604,5605],{},"Transition",[58,5607,5608],{},"Fade, slide, or other transition effects between slides",[43,5610,5611,5616],{},[58,5612,5613],{},[14,5614,5615],{},"Show navigation",[58,5617,5618],{},"Toggle next\u002Fback buttons",[43,5620,5621,5626],{},[58,5622,5623],{},[14,5624,5625],{},"Show slide indicator",[58,5627,5628],{},"Toggle slide counter",[43,5630,5631,5636],{},[58,5632,5633],{},[14,5634,5635],{},"Canvas size",[58,5637,5638],{},"Custom width and height",[32,5640,5642],{"id":5641},"building-an-interactive-slideshow","Building an interactive slideshow",[319,5644,5645,5649,5652,5655,5658,5665,5671],{},[293,5646,3868,5647,4218],{},[14,5648,1856],{},[293,5650,5651],{},"Add slides using the slide panel at the bottom",[293,5653,5654],{},"Place elements on each slide — drag to position, resize handles to scale",[293,5656,5657],{},"Style elements using the properties panel (colors, fonts, borders, effects)",[293,5659,5660,5661,5664],{},"Select an element, open the ",[14,5662,5663],{},"Interactions"," tab, and add triggers with actions",[293,5666,3388,5667,5670],{},[14,5668,5669],{},"Variables"," to track scores, choices, or state across slides",[293,5672,5673],{},"Preview the slideshow to test interactions",[32,5675,5677],{"id":5676},"background-images","Background images",[10,5679,5680,5681,5684],{},"Each slide can have a background image — upload, pick from the media library, use a stock photo, or generate one with AI. You can also crop the background image directly in the editor. Use the ",[14,5682,5683],{},"Remove Background"," button to strip the background from any uploaded image using AI.",[32,5686,5688],{"id":5687},"element-effects","Element effects",[10,5690,5691],{},"Elements support visual effects like opacity, blur, brightness, contrast, and saturation. Combined with show\u002Fhide actions, this enables sophisticated reveal animations and transitions.",[32,5693,5695],{"id":5694},"lottie-animations","Lottie animations",[10,5697,3284,5698,5700,5701,4296,5703,5705],{},[14,5699,4688],{}," element plays vector animations exported in the ",[61,5702,4694],{},[61,5704,2250],{}," format (from tools like LottieFiles or Adobe After Effects with Bodymovin).",[10,5707,5708],{},[14,5709,5710],{},"Adding a Lottie animation:",[319,5712,5713,5718,5726,5767],{},[293,5714,4215,5715,5717],{},[14,5716,4688],{}," element to the slide",[293,5719,5720,5721,4296,5723,5725],{},"In the properties panel, upload a ",[61,5722,4694],{},[61,5724,2250],{}," file, or paste a URL",[293,5727,5728,5729],{},"Configure playback options:\n",[290,5730,5731,5737,5743,5749,5755,5761],{},[293,5732,5733,5736],{},[14,5734,5735],{},"Autoplay"," — start playing when the slide loads",[293,5738,5739,5742],{},[14,5740,5741],{},"Loop"," — repeat continuously",[293,5744,5745,5748],{},[14,5746,5747],{},"Speed"," — playback speed multiplier",[293,5750,5751,5754],{},[14,5752,5753],{},"Direction"," — forward or reverse",[293,5756,5757,5760],{},[14,5758,5759],{},"Bounce mode"," — ping-pong between forward and reverse",[293,5762,5763,5766],{},[14,5764,5765],{},"Segments"," — restrict playback to a specific frame range",[293,5768,5769],{},"Optionally set a background color",[10,5771,5772,5773,5775,5776,5778],{},"Lottie elements can be controlled via interactions: use the ",[14,5774,4942],{}," trigger to fire actions when an animation finishes, and use ",[14,5777,5097],{}," actions to control specific animations from buttons or other triggers. When adding a Lottie action, select the target Lottie element from the dropdown.",[277,5780,5781],{},[10,5782,5783,5785],{},[14,5784,1404],{}," Lottie animations respect the user's system preference for reduced motion (WCAG 2.3.3). When reduced motion is preferred, animations show their first frame without playing.",[32,5787,5789],{"id":5788},"accessibility-checker","Accessibility checker",[10,5791,5792,5793,5796],{},"The lesson editor includes a built-in ",[14,5794,5795],{},"accessibility checker"," to help you identify and fix common issues before publishing.",[10,5798,5799],{},"To run a check:",[319,5801,5802,5805,5811,5821,5844,5847],{},[293,5803,5804],{},"Open the lesson editor",[293,5806,1900,5807,5810],{},[14,5808,5809],{},"..."," (three-dot) menu in the editor toolbar",[293,5812,2196,5813,5816,5817,5820],{},[14,5814,5815],{},"Check Accessibility"," — the label shows the number of issues found (e.g., ",[19,5818,5819],{},"Check Accessibility (3)",")",[293,5822,5823,5824],{},"A panel expands listing all issues by severity:\n",[290,5825,5826,5832,5838],{},[293,5827,5828,5831],{},[14,5829,5830],{},"Error"," — likely to prevent some learners from accessing content (e.g., missing video captions)",[293,5833,5834,5837],{},[14,5835,5836],{},"Warning"," — best practice violations that should be addressed",[293,5839,5840,5843],{},[14,5841,5842],{},"Info"," — suggestions for improvement",[293,5845,5846],{},"Click any issue to scroll the editor to the affected block",[293,5848,5849],{},"Each issue includes the relevant WCAG rule reference",[10,5851,5852],{},[14,5853,5854],{},"Common checks include:",[290,5856,5857,5860,5863,5866,5869,5872,5875],{},[293,5858,5859],{},"Missing captions\u002Fsubtitles on video blocks",[293,5861,5862],{},"Missing alt text on images",[293,5864,5865],{},"Hover-only interactions that are inaccessible to keyboard and touch users",[293,5867,5868],{},"Hotspot image blocks without a background image alt text",[293,5870,5871],{},"Images inside text blocks without alt text",[293,5873,5874],{},"Low-contrast hints",[293,5876,5877],{},"Keyboard accessibility warnings for Hotspot and Drag & Drop blocks",[32,5879,5881],{"id":5880},"example-use-cases","Example use cases",[290,5883,5884,5890,5896,5902,5908,5914,5920],{},[293,5885,5886,5889],{},[14,5887,5888],{},"Software simulation",": Screenshot backgrounds with clickable hotspot buttons that reveal tooltips or navigate to the next step",[293,5891,5892,5895],{},[14,5893,5894],{},"Branching scenario",": Button choices on each slide that navigate to different outcome slides",[293,5897,5898,5901],{},[14,5899,5900],{},"Timed quiz",": Timer element + text inputs + check answer action, with a \"time's up\" slide triggered on timer complete",[293,5903,5904,5907],{},[14,5905,5906],{},"Interactive diagram",": Shape and text elements that show\u002Fhide on click to progressively reveal a process",[293,5909,5910,5913],{},[14,5911,5912],{},"Drag-and-drop labeling",": Drag items onto drop zones placed on an image background, with correct\u002Fincorrect feedback",[293,5915,5916,5919],{},[14,5917,5918],{},"Scored activity",": Variable elements tracking a score, incremented on correct answers, displayed on a results slide",[293,5921,5922,5925],{},[14,5923,5924],{},"Phishing simulation",": Scroll Container with an email inbox, where the learner clicks emails and identifies threats",[4075,5927],{},[24,5929,3153],{"id":5930},"process-flow",[10,5932,5933,5934,5937],{},"A free-form ",[14,5935,5936],{},"node and connector"," canvas for diagrams — workflows, decision trees, org charts, mind maps, or any \"boxes and arrows\" visual. You place shapes and draw connections between them; the shapes are purely visual primitives, so the meaning of the diagram comes from how you arrange and label them rather than from fixed step types.",[10,5939,5940],{},[14,5941,3845],{},[290,5943,5944,5947,5950,5953],{},[293,5945,5946],{},"Onboarding workflows",[293,5948,5949],{},"Compliance procedures",[293,5951,5952],{},"Decision-making frameworks",[293,5954,5955],{},"Technical processes",[32,5957,5959],{"id":5958},"setting-up-a-process-flow","Setting up a Process Flow",[319,5961,5962,5966,5986,5993,5999],{},[293,5963,4215,5964,4218],{},[14,5965,3153],{},[293,5967,5968,5969,521,5972,521,5975,521,5978,521,5981,5983,5984],{},"From the toolbar, add nodes — ",[14,5970,5971],{},"Rectangle",[14,5973,5974],{},"Rounded",[14,5976,5977],{},"Circle",[14,5979,5980],{},"Diamond",[14,5982,4576],{},", or ",[14,5985,4275],{},[293,5987,5988,5989,5992],{},"Hover a node to reveal connection handles on its four sides; ",[14,5990,5991],{},"drag from one handle to another"," to draw a connector between two nodes",[293,5994,5995,5998],{},[14,5996,5997],{},"Double-click"," a node or connector to open its editor",[293,6000,6001,6002,521,6005,5983,6008],{},"Choose a canvas background pattern — ",[14,6003,6004],{},"Dots",[14,6006,6007],{},"Lines",[14,6009,6010],{},"Plain",[32,6012,6014],{"id":6013},"editing-nodes-and-connectors","Editing nodes and connectors",[10,6016,6017],{},"Double-clicking a node opens a modal with all its settings:",[290,6019,6020,6028,6033,6046,6060],{},[293,6021,6022,1386,6024,6027],{},[14,6023,4243],{},[14,6025,6026],{},"label position"," (inside \u002F above \u002F below)",[293,6029,6030,6032],{},[14,6031,1216],{}," — shown as a tooltip on hover",[293,6034,6035,521,6037,521,6040,1152,6043],{},[14,6036,4562],{},[14,6038,6039],{},"width",[14,6041,6042],{},"height",[14,6044,6045],{},"stroke width",[293,6047,6048,521,6051,1152,6054,6056,6057],{},[14,6049,6050],{},"Fill",[14,6052,6053],{},"stroke",[14,6055,422],{}," colours, plus ",[14,6058,6059],{},"font size",[293,6061,6062,6063,6066],{},"For icon nodes — an ",[14,6064,6065],{},"icon picker","; for image nodes — Upload \u002F Media Library \u002F Stock \u002F AI image sources",[10,6068,6069,6070,6073,6074,6076,6077,6080,6081,6084],{},"Connectors can be given a ",[14,6071,6072],{},"label"," (e.g. \"Yes\" \u002F \"No\"), a line ",[14,6075,634],{}," (smooth elbow, bezier curve, or straight), a ",[14,6078,6079],{},"colour",", and an ",[14,6082,6083],{},"animated"," flow effect.",[32,6086,6088],{"id":6087},"working-on-the-canvas","Working on the canvas",[290,6090,6091,6105,6111,6117],{},[293,6092,6093,6096,6097,6100,6101,6104],{},[14,6094,6095],{},"Drag"," a node to reposition it; ",[14,6098,6099],{},"arrow keys"," nudge a selected node; selection handles ",[14,6102,6103],{},"resize"," it",[293,6106,6107,6110],{},[14,6108,6109],{},"Select multiple"," nodes with shift-click or a box selection",[293,6112,6113,6116],{},[14,6114,6115],{},"Copy \u002F paste \u002F duplicate"," with Ctrl\u002FCmd+C, V, D — edges between copied nodes are copied too",[293,6118,6119],{},"New nodes drop into the centre of the visible area, so they're never placed off-screen",[10,6121,6122],{},"Learners see the finished diagram as a pan- and zoom-able canvas; node descriptions appear as tooltips on hover.",[4075,6124],{},[24,6126,3098],{"id":6127},"feedback",[10,6129,6130],{},"A survey-style block for collecting learner reactions, satisfaction scores, and qualitative input. Unlike the Quiz block (which is graded), the Feedback block is ungraded — it is for gathering input, not assessing knowledge.",[10,6132,6133],{},[14,6134,3845],{},[290,6136,6137,6140,6143,6146],{},[293,6138,6139],{},"Course satisfaction surveys",[293,6141,6142],{},"Post-lesson reflection questions",[293,6144,6145],{},"NPS-style ratings",[293,6147,6148],{},"Open-ended feedback on topics",[32,6150,6152],{"id":6151},"setting-up-a-feedback-block","Setting up a Feedback block",[319,6154,6155,6159,6165,6170,6173],{},[293,6156,4215,6157,3871],{},[14,6158,3098],{},[293,6160,6161,6162,6164],{},"Optionally write an ",[14,6163,4142],{}," above the questions",[293,6166,333,6167,6169],{},[14,6168,3538],{}," and choose a question type",[293,6171,6172],{},"Configure each question",[293,6174,6175],{},"Set display mode and AI feedback preferences",[32,6177,3549],{"id":3548},[37,6179,6180,6189],{},[40,6181,6182],{},[43,6183,6184,6187],{},[46,6185,6186],{},"Type",[46,6188,1216],{},[53,6190,6191,6201,6211,6221,6231,6240],{},[43,6192,6193,6198],{},[58,6194,6195],{},[14,6196,6197],{},"Star Rating",[58,6199,6200],{},"1-5 star rating",[43,6202,6203,6208],{},[58,6204,6205],{},[14,6206,6207],{},"Emoji Rating",[58,6209,6210],{},"Emoji-based scale (from unhappy to happy)",[43,6212,6213,6218],{},[58,6214,6215],{},[14,6216,6217],{},"Scale",[58,6219,6220],{},"Numeric scale (e.g., 1-10) with low\u002Fhigh labels",[43,6222,6223,6228],{},[58,6224,6225],{},[14,6226,6227],{},"Free Text",[58,6229,6230],{},"Open-ended text response",[43,6232,6233,6237],{},[58,6234,6235],{},[14,6236,3553],{},[58,6238,6239],{},"Select one option from a list",[43,6241,6242,6247],{},[58,6243,6244],{},[14,6245,6246],{},"Yes \u002F No",[58,6248,6249],{},"Binary choice",[32,6251,6253],{"id":6252},"display-and-feedback-settings","Display and feedback settings",[37,6255,6256,6264],{},[40,6257,6258],{},[43,6259,6260,6262],{},[46,6261,3728],{},[46,6263,5586],{},[53,6265,6266,6276],{},[43,6267,6268,6273],{},[58,6269,6270],{},[14,6271,6272],{},"Display mode",[58,6274,6275],{},"All questions at once, or One question at a time (sequential)",[43,6277,6278,6283],{},[58,6279,6280],{},[14,6281,6282],{},"AI feedback timing",[58,6284,6285],{},"After all questions, or After each question",[10,6287,6288,6289,456],{},"Each question can have its own ",[14,6290,6291],{},"feedback type",[290,6293,6294,6300,6306],{},[293,6295,6296,6299],{},[14,6297,6298],{},"None"," — no feedback shown after the learner responds",[293,6301,6302,6305],{},[14,6303,6304],{},"Text feedback"," — a fixed message shown after the response",[293,6307,6308,6311],{},[14,6309,6310],{},"AI feedback"," — the AI generates personalized feedback based on the learner's response",[277,6313,6314],{},[10,6315,6316,6318],{},[14,6317,1404],{}," Use AI feedback on Free Text questions to give learners meaningful, individualized reactions to their open-ended responses.",[32,6320,6322],{"id":6321},"learner-experience","Learner experience",[10,6324,6325],{},"Learners fill in the form inline within the lesson. Responses are recorded and visible in the learner analytics dashboard.",[4075,6327],{},[24,6329,3163],{"id":6330},"live-session",[10,6332,6333,6334,6337],{},"A block for scheduling and managing ",[14,6335,6336],{},"instructor-led training"," sessions — virtual, in-person, or hybrid. Learners register for the session from within the course, and instructors mark attendance afterward. The block is automatically marked complete for learners who attended.",[10,6339,6340],{},[14,6341,3845],{},[290,6343,6344,6347,6350,6353],{},[293,6345,6346],{},"Virtual classroom sessions (Zoom, Teams, Google Meet, etc.)",[293,6348,6349],{},"In-person workshops or seminars",[293,6351,6352],{},"Hybrid training with both on-site and remote participants",[293,6354,6355],{},"Guest speaker sessions embedded in a self-paced course",[32,6357,6359],{"id":6358},"setting-up-a-live-session","Setting up a Live Session",[319,6361,6362,6366,6434,6440],{},[293,6363,4215,6364,3871],{},[14,6365,3163],{},[293,6367,6368,6369,6371,6372],{},"Go to the ",[14,6370,379],{}," tab and fill in:\n",[290,6373,6374,6380,6386,6392,6398,6404,6410,6416,6422,6428],{},[293,6375,6376,6379],{},[14,6377,6378],{},"Session Title"," — displayed on the block",[293,6381,6382,6385],{},[14,6383,6384],{},"Date & Time"," — when the session takes place",[293,6387,6388,6391],{},[14,6389,6390],{},"Duration"," — estimated length in minutes",[293,6393,6394,6397],{},[14,6395,6396],{},"Timezone"," — defaults to your browser timezone",[293,6399,6400,6403],{},[14,6401,6402],{},"Call link"," — the meeting URL (Zoom, Teams, etc.) shown to learners shortly before the session",[293,6405,6406,6409],{},[14,6407,6408],{},"Location for hybrid sessions"," — physical location for in-person attendees (optional)",[293,6411,6412,6415],{},[14,6413,6414],{},"Max Capacity"," — maximum number of registrations; set to 0 for unlimited",[293,6417,6418,6421],{},[14,6419,6420],{},"Enable waitlist"," — if capacity is reached, further registrants join a waitlist",[293,6423,6424,6427],{},[14,6425,6426],{},"Description \u002F Agenda"," — rich text agenda shown on the block",[293,6429,6430,6433],{},[14,6431,6432],{},"Session Notes \u002F Materials"," — notes, pre-reading links, or materials for learners",[293,6435,6368,6436,6439],{},[14,6437,6438],{},"Instructors"," tab and add one or more instructors (name and optional email)",[293,6441,6442],{},"Save the lesson",[32,6444,6322],{"id":6445},"learner-experience-1",[10,6447,6448],{},"Learners see the session details — date, time, duration, instructor(s), location — inline within the lesson. They can:",[290,6450,6451,6461,6467,6472],{},[293,6452,6453,6456,6457,6460],{},[14,6454,6455],{},"Register"," — click ",[19,6458,6459],{},"Register for Session"," to confirm their place",[293,6462,6463,6466],{},[14,6464,6465],{},"Join"," — the meeting link appears 15 minutes before the session starts",[293,6468,6469,6471],{},[14,6470,3243],{}," — cancel their registration before the session",[293,6473,6474,6477],{},[14,6475,6476],{},"Waitlist"," — if the session is full, learners join the waitlist and are promoted automatically when a spot opens",[10,6479,6480],{},"After the session, a learner's attendance status (Attended \u002F Absent) is shown on the block.",[32,6482,6484],{"id":6483},"managing-registrations-and-attendance","Managing registrations and attendance",[10,6486,6487,6488,6491],{},"Registrations are managed from the ",[14,6489,6490],{},"Registrations"," tab inside the lesson editor (save the lesson first to see this tab):",[319,6493,6494,6500,6510],{},[293,6495,333,6496,6499],{},[14,6497,6498],{},"Refresh"," to see the current registration list",[293,6501,6502,6503,4296,6506,6509],{},"For each registered learner, click ",[14,6504,6505],{},"Attended",[14,6507,6508],{},"Absent"," to record their attendance",[293,6511,333,6512,6515],{},[14,6513,6514],{},"Mark All Attended"," to mark all registered learners as attended at once",[10,6517,6518,6519,6521],{},"Marking a learner as ",[14,6520,6505],{}," automatically completes the block for them in the course progress tracker.",[277,6523,6524],{},[10,6525,6526,6528],{},[14,6527,1404],{}," The meeting link is hidden from learners until 15 minutes before the session — this prevents early joiners from entering an unmanned meeting room.",{"title":425,"searchDepth":475,"depth":475,"links":6530},[6531,6540,6543,6547,6550,6573,6578,6584],{"id":3837,"depth":475,"text":3124,"children":6532},[6533,6534,6535,6536,6537,6538,6539],{"id":3862,"depth":485,"text":3863},{"id":3949,"depth":485,"text":3950},{"id":3996,"depth":485,"text":3997},{"id":4011,"depth":485,"text":4012},{"id":4043,"depth":485,"text":4044},{"id":4058,"depth":485,"text":4059},{"id":4069,"depth":485,"text":4070},{"id":4079,"depth":475,"text":3042,"children":6541},[6542],{"id":4103,"depth":485,"text":4104},{"id":4188,"depth":475,"text":3134,"children":6544},[6545,6546],{"id":4209,"depth":485,"text":4210},{"id":4258,"depth":485,"text":4259},{"id":4309,"depth":475,"text":3088,"children":6548},[6549],{"id":4334,"depth":485,"text":4335},{"id":4359,"depth":475,"text":1856,"children":6551},[6552,6553,6554,6555,6556,6557,6558,6559,6560,6561,6562,6563,6564,6565,6566,6567,6568,6569,6570,6571,6572],{"id":4372,"depth":485,"text":4373},{"id":4411,"depth":485,"text":4412},{"id":4444,"depth":485,"text":4445},{"id":4451,"depth":485,"text":4452},{"id":4505,"depth":485,"text":4506},{"id":4700,"depth":485,"text":4701},{"id":4722,"depth":485,"text":4723},{"id":4748,"depth":485,"text":4749},{"id":5137,"depth":485,"text":3268},{"id":5336,"depth":485,"text":5337},{"id":5386,"depth":485,"text":5387},{"id":5422,"depth":485,"text":5423},{"id":5441,"depth":485,"text":5442},{"id":5459,"depth":485,"text":5460},{"id":5574,"depth":485,"text":5575},{"id":5641,"depth":485,"text":5642},{"id":5676,"depth":485,"text":5677},{"id":5687,"depth":485,"text":5688},{"id":5694,"depth":485,"text":5695},{"id":5788,"depth":485,"text":5789},{"id":5880,"depth":485,"text":5881},{"id":5930,"depth":475,"text":3153,"children":6574},[6575,6576,6577],{"id":5958,"depth":485,"text":5959},{"id":6013,"depth":485,"text":6014},{"id":6087,"depth":485,"text":6088},{"id":6127,"depth":475,"text":3098,"children":6579},[6580,6581,6582,6583],{"id":6151,"depth":485,"text":6152},{"id":3548,"depth":485,"text":3549},{"id":6252,"depth":485,"text":6253},{"id":6321,"depth":485,"text":6322},{"id":6330,"depth":475,"text":3163,"children":6585},[6586,6587,6588],{"id":6358,"depth":485,"text":6359},{"id":6445,"depth":485,"text":6322},{"id":6483,"depth":485,"text":6484},"AI Dialogue, Accordion\u002FTabs, Hotspot Image, Drag & Drop, Interactive Slides, Process Flow, and Feedback blocks.","i-lucide-mouse-pointer-click",{},{"title":3829,"description":6589},"docs\u002F2.course-builder\u002F4.interactive-blocks","Op3215c6VmwTnvOU5xD0XGEQWDpxUJS54_FbQf7DjEA",{"id":6596,"title":6597,"body":6598,"description":7623,"extension":653,"icon":7624,"meta":7625,"navigation":656,"order":657,"path":3471,"seo":7626,"stem":7627,"__hash__":7628},"docs\u002Fdocs\u002F2.course-builder\u002F5.media-blocks.md","Media Blocks",{"type":7,"value":6599,"toc":7588},[6600,6603,6605,6608,6612,6619,6623,6634,6637,6643,6685,6688,6692,6699,6753,6756,6760,6766,6770,6777,6783,6785,6788,6791,6794,6824,6827,6830,6833,6870,6877,6884,6888,6898,6901,6951,6954,6961,6965,6968,6971,7001,7004,7032,7045,7049,7055,7069,7072,7088,7090,7093,7096,7099,7117,7120,7173,7195,7200,7202,7205,7208,7219,7225,7227,7230,7233,7239,7242,7249,7251,7254,7257,7260,7262,7265,7308,7315,7319,7322,7359,7369,7373,7380,7398,7402,7409,7411,7449,7451,7454,7457,7462,7476,7479,7483,7486,7503,7518,7524,7531,7533,7536,7539,7543,7564,7567,7574],[10,6601,6602],{},"Media blocks deliver content to learners — text, video, presentations, documents, charts, and externally-hosted material.",[24,6604,2972],{"id":422},[10,6606,6607],{},"Rich text editor for written content with a flexible grid layout system.",[32,6609,6611],{"id":6610},"grid-layout","Grid layout",[10,6613,6614,6615,6618],{},"Text blocks use a ",[14,6616,6617],{},"row and cell"," layout. Each row contains one or more cells, and each cell holds either text or an image. This lets you create side-by-side layouts — for example, a paragraph next to an illustration, or two columns of text.",[32,6620,6622],{"id":6621},"ai-generated-illustrative-images","AI-generated illustrative images",[10,6624,6625,6626,6629,6630,6633],{},"When generating content with AI, the Creator Agent can insert ",[14,6627,6628],{},"illustrative images"," into content cells. These are marked with ",[61,6631,6632],{},"IMAGE_PROMPT"," in the cell data and are generated automatically during the content pipeline. The images match your course's image style settings.",[32,6635,1068],{"id":6636},"content-density",[10,6638,3284,6639,6642],{},[14,6640,6641],{},"content density"," setting controls how much text the AI generates per block:",[37,6644,6645,6654],{},[40,6646,6647],{},[43,6648,6649,6651],{},[46,6650,3728],{},[46,6652,6653],{},"Behavior",[53,6655,6656,6666,6675],{},[43,6657,6658,6663],{},[58,6659,6660],{},[14,6661,6662],{},"Concise",[58,6664,6665],{},"Short, to-the-point content — bullet points and brief paragraphs",[43,6667,6668,6672],{},[58,6669,6670],{},[14,6671,1747],{},[58,6673,6674],{},"Standard depth — clear explanations without excess",[43,6676,6677,6682],{},[58,6678,6679],{},[14,6680,6681],{},"Detailed",[58,6683,6684],{},"Thorough coverage — longer explanations, more examples",[10,6686,6687],{},"Content density is configured in course settings and applies to all AI-generated text blocks.",[32,6689,6691],{"id":6690},"font-family","Font family",[10,6693,6694,6695,6698],{},"The text editor includes a ",[14,6696,6697],{},"font family"," picker with a curated selection of Google Fonts grouped by style:",[37,6700,6701,6711],{},[40,6702,6703],{},[43,6704,6705,6708],{},[46,6706,6707],{},"Category",[46,6709,6710],{},"Fonts available",[53,6712,6713,6723,6733,6743],{},[43,6714,6715,6720],{},[58,6716,6717],{},[14,6718,6719],{},"Sans-serif",[58,6721,6722],{},"Inter, Open Sans, Poppins, Montserrat, Raleway",[43,6724,6725,6730],{},[58,6726,6727],{},[14,6728,6729],{},"Serif",[58,6731,6732],{},"Playfair Display, Merriweather, Lora, EB Garamond",[43,6734,6735,6740],{},[58,6736,6737],{},[14,6738,6739],{},"Monospace",[58,6741,6742],{},"JetBrains Mono, Fira Code, Source Code Pro",[43,6744,6745,6750],{},[58,6746,6747],{},[14,6748,6749],{},"Handwritten",[58,6751,6752],{},"Caveat, Dancing Script, Pacifico, Permanent Marker",[10,6754,6755],{},"Font family is applied inline to selected text — you can mix fonts within a single text block. The chosen fonts render consistently in the editor, learner view, and HTML exports.",[32,6757,6759],{"id":6758},"font-size","Font size",[10,6761,6762,6763,6765],{},"In addition to heading levels, you can set a precise ",[14,6764,6059],{}," using the size picker in the toolbar. Sizes range from small (XS) through to extra-large (4XL), giving you fine control over text hierarchy within a block.",[32,6767,6769],{"id":6768},"adding-images-to-text","Adding images to text",[10,6771,6772,6773,6776],{},"Within the text editor, click the ",[14,6774,6775],{},"Insert Image"," button to upload or select from the media library. You can also generate an image with AI directly from the editor.",[10,6778,6779,6782],{},[14,6780,6781],{},"Best for:"," Explanations, instructions, reference material, summaries.",[4075,6784],{},[24,6786,2982],{"id":6787},"video",[10,6789,6790],{},"Embed, upload, or generate video content.",[32,6792,6793],{"id":5166},"Sources",[290,6795,6796,6802,6807,6812,6818],{},[293,6797,6798,6801],{},[14,6799,6800],{},"YouTube"," — paste the video URL",[293,6803,6804,6801],{},[14,6805,6806],{},"Vimeo",[293,6808,6809,6811],{},[14,6810,2583],{}," — upload an MP4 or other video file directly",[293,6813,6814,6817],{},[14,6815,6816],{},"AI Generate"," — generate a short video clip using AI",[293,6819,6820,6823],{},[14,6821,6822],{},"Talking Video"," — generate a talking-head video from a character portrait and text script",[32,6825,6822],{"id":6826},"talking-video",[10,6828,6829],{},"Talking Video creates a lip-synced video of a character speaking a script you provide. It combines ElevenLabs text-to-speech for the audio with Freepik lip sync for the video animation.",[10,6831,6832],{},"To create a Talking Video:",[319,6834,6835,6840,6847,6853,6860,6867],{},[293,6836,6837,6838],{},"Open a video block and click ",[14,6839,6822],{},[293,6841,6842,6843,6846],{},"Choose a ",[14,6844,6845],{},"portrait image"," — upload a photo, pick from stock images, select from the media library, generate one with AI, or use a course character",[293,6848,3874,6849,6852],{},[14,6850,6851],{},"script"," — the text the character will speak",[293,6854,6855,6856,6859],{},"Select a ",[14,6857,6858],{},"voice"," — browse available voices and use the preview button to hear each one before choosing",[293,6861,6862,6863,6866],{},"Optionally add a ",[14,6864,6865],{},"scene variation prompt"," — describe changes to the background, clothing, or setting to create visual variety across videos",[293,6868,6869],{},"Click generate",[10,6871,6872,6873,6876],{},"The system automatically creates ",[14,6874,6875],{},"VTT subtitles"," from the script, so the video is accessible out of the box.",[277,6878,6879],{},[10,6880,6881,6883],{},[14,6882,1404],{}," Talking Videos work well for instructor-style presentations, character introductions, and scenario setups. Use scene variation prompts to avoid visual repetition across multiple videos in a course.",[32,6885,6887],{"id":6886},"subtitles-and-captions","Subtitles and captions",[10,6889,6890,6891,4296,6894,6897],{},"Uploaded and generated video blocks support subtitle tracks in ",[14,6892,6893],{},"VTT",[14,6895,6896],{},"SRT"," format.",[10,6899,6900],{},"To add subtitles:",[319,6902,6903,6906,6912,6937,6945],{},[293,6904,6905],{},"Open the video block editor",[293,6907,6368,6908,6911],{},[14,6909,6910],{},"Subtitles"," panel",[293,6913,333,6914,6917,6918,4296,6921,6924,6925],{},[14,6915,6916],{},"Add Subtitle Track"," and upload a ",[61,6919,6920],{},".vtt",[61,6922,6923],{},".srt"," file\n",[290,6926,6927,6930],{},[293,6928,6929],{},"SRT files are automatically converted to VTT on upload",[293,6931,6932,6933,6936],{},"Language is auto-detected from the filename (e.g., ",[61,6934,6935],{},"subtitles.en.vtt"," -> English)",[293,6938,6939,6940,1386,6942,6944],{},"Optionally edit the ",[14,6941,4243],{},[14,6943,1261],{}," for each track",[293,6946,1375,6947,6950],{},[14,6948,6949],{},"Default"," on the track you want selected by default for learners",[10,6952,6953],{},"Subtitles render using the browser's native caption system and are available to learners in the video player. The first track uploaded is set as default automatically.",[277,6955,6956],{},[10,6957,6958,6960],{},[14,6959,1404],{}," Adding captions is a key accessibility requirement (WCAG 1.2.2). The built-in accessibility checker will flag video blocks that have no subtitle tracks.",[369,6962,6964],{"id":6963},"translate-subtitles-into-other-languages-with-ai","Translate subtitles into other languages with AI",[10,6966,6967],{},"Each existing subtitle track can be translated into one or more languages with one click — useful when you have an English VTT and need French, Spanish, German, etc. for the same video.",[10,6969,6970],{},"To translate a track:",[319,6972,6973,6983,6986,6997],{},[293,6974,6975,6976,6978,6979,6982],{},"In the video block editor's ",[14,6977,6910],{}," panel, click the ",[14,6980,6981],{},"Translate"," button next to the track you want to translate",[293,6984,6985],{},"Select one or more target languages",[293,6987,6988,6989,6992,6993,6996],{},"(Optional) Add a ",[14,6990,6991],{},"glossary"," — one mapping per line, e.g. ",[61,6994,6995],{},"Active Directory = Active Directory"," — for terms that should never be translated or have a fixed translation",[293,6998,333,6999],{},[14,7000,6981],{},[10,7002,7003],{},"Each chosen language becomes a new subtitle track on the same video. Timestamps are preserved exactly — only the cue text is translated. Original tracks stay untouched, so the source remains available alongside the translations.",[277,7005,7006],{},[10,7007,7008,7011,7012,521,7015,521,7018,521,7021,7024,7025,521,7028,7031],{},[14,7009,7010],{},"What's translated:"," every cue's text, with inline VTT markup (",[61,7013,7014],{},"\u003Ci>",[61,7016,7017],{},"\u003Cb>",[61,7019,7020],{},"\u003Cc.classname>",[61,7022,7023],{},"{\\an8}"," positioning, etc.) preserved. Cue identifiers, timestamps, and cue settings (",[61,7026,7027],{},"align:start",[61,7029,7030],{},"position:50%",", etc.) are kept verbatim — translators only fill in the cue text.",[277,7033,7034],{},[10,7035,7036,7039,7040,7044],{},[14,7037,7038],{},"At-scale alternative:"," when translating an entire course, the ",[448,7041,7043],{"href":7042},"\u002Fdocs\u002Fai-features\u002Foverview#course-translation","course translation flow"," automatically translates every subtitle on every video block in the course, end to end.",[32,7046,7048],{"id":7047},"cuepoints","Cuepoints",[10,7050,7051,7052,7054],{},"Video blocks support ",[14,7053,7047],{}," — moments in the video where additional content appears:",[290,7056,7057,7063],{},[293,7058,7059,7062],{},[14,7060,7061],{},"Text cuepoint"," — overlay text or a callout at a specific timestamp",[293,7064,7065,7068],{},[14,7066,7067],{},"Quiz cuepoint"," — pause the video and present a question; the video resumes after the learner answers",[10,7070,7071],{},"To add a cuepoint:",[319,7073,7074,7077,7082,7085],{},[293,7075,7076],{},"Play or scrub to the desired timestamp",[293,7078,333,7079],{},[14,7080,7081],{},"Add Cuepoint",[293,7083,7084],{},"Choose Text or Quiz",[293,7086,7087],{},"Enter the content",[4075,7089],{},[24,7091,2992],{"id":7092},"audio",[10,7094,7095],{},"A standalone audio player block — for narration, pronunciation guides, podcast-style segments, or any listening exercise that should stand on its own rather than being attached to another block.",[32,7097,6793],{"id":7098},"sources-1",[290,7100,7101,7106,7112],{},[293,7102,7103,7105],{},[14,7104,2583],{}," — upload an MP3, WAV, or OGG file",[293,7107,7108,7111],{},[14,7109,7110],{},"Media Library"," — pick an existing audio file (AI-generated audio lands here too)",[293,7113,7114,7116],{},[14,7115,6816],{}," — turn text into speech. Type the script, pick a voice (use the preview button to audition voices before generating), and the generated track is saved to the block",[32,7118,5586],{"id":7119},"options",[37,7121,7122,7132],{},[40,7123,7124],{},[43,7125,7126,7129],{},[46,7127,7128],{},"Option",[46,7130,7131],{},"Behaviour",[53,7133,7134,7144,7154,7163],{},[43,7135,7136,7141],{},[58,7137,7138],{},[14,7139,7140],{},"Caption",[58,7142,7143],{},"Optional text label shown above the player",[43,7145,7146,7151],{},[58,7147,7148],{},[14,7149,7150],{},"Autoplay when visible",[58,7152,7153],{},"Starts playing once the block scrolls into view (browsers may require a prior interaction)",[43,7155,7156,7160],{},[58,7157,7158],{},[14,7159,5741],{},[58,7161,7162],{},"Repeats the track when it ends",[43,7164,7165,7170],{},[58,7166,7167],{},[14,7168,7169],{},"Show controls",[58,7171,7172],{},"Shows the standard play \u002F scrub \u002F time controls (on by default)",[277,7174,7175],{},[10,7176,7177,7180,7181,7184,7185,7187,7188,7190,7191,7194],{},[14,7178,7179],{},"Audio block vs. block audio:"," the ",[14,7182,7183],{},"Audio block"," is a visible, standalone player a learner interacts with. ",[19,7186,2549],{}," (see ",[448,7189,3485],{"href":3484},") is background narration attached to any other block. Use the Audio block when the audio ",[19,7192,7193],{},"is"," the content; use block audio to narrate something else.",[10,7196,7197,7199],{},[14,7198,6781],{}," Narration, pronunciation practice, language listening exercises, audio briefings.",[4075,7201],{},[24,7203,3002],{"id":7204},"slideshow",[10,7206,7207],{},"A standard click-through slide presentation.",[290,7209,7210,7213,7216],{},[293,7211,7212],{},"Add slides with text, images, and media",[293,7214,7215],{},"Learners advance manually through slides",[293,7217,7218],{},"Supports speaker notes (not shown to learners)",[10,7220,7221,7222,7224],{},"For interactive slides with embedded questions, use the ",[14,7223,1856],{}," block instead.",[4075,7226],{},[24,7228,3012],{"id":7229},"document",[10,7231,7232],{},"Embed a document for learners to view inline.",[10,7234,7235,7238],{},[14,7236,7237],{},"Supported formats:"," PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx)",[10,7240,7241],{},"Upload the document or select it from the media library. Learners can scroll through it within the lesson without downloading.",[277,7243,7244],{},[10,7245,7246,7248],{},[14,7247,937],{}," Documents are rendered read-only in the learner view.",[4075,7250],{},[24,7252,3022],{"id":7253},"custom-embed",[10,7255,7256],{},"Build fully custom interactive content using HTML, CSS, and JavaScript — either by writing code yourself or by using AI to generate it from a description.",[10,7258,7259],{},"This is one of LearnBuilder's most powerful blocks. It lets you create anything that can run in a browser: custom simulations, calculators, data visualizations, mini-games, branded interactive infographics, or any learning activity that doesn't fit a standard block type.",[32,7261,1568],{"id":1567},[10,7263,7264],{},"Each custom embed block has three code tabs:",[37,7266,7267,7276],{},[40,7268,7269],{},[43,7270,7271,7274],{},[46,7272,7273],{},"Tab",[46,7275,2963],{},[53,7277,7278,7288,7298],{},[43,7279,7280,7285],{},[58,7281,7282],{},[14,7283,7284],{},"HTML",[58,7286,7287],{},"Structure and content",[43,7289,7290,7295],{},[58,7291,7292],{},[14,7293,7294],{},"CSS",[58,7296,7297],{},"Styling and layout",[43,7299,7300,7305],{},[58,7301,7302],{},[14,7303,7304],{},"JavaScript",[58,7306,7307],{},"Interactivity and logic",[10,7309,7310,7311,7314],{},"The code runs in a ",[14,7312,7313],{},"sandboxed iframe",", so it's isolated from the rest of the page. Learners interact with it inline within the lesson.",[32,7316,7318],{"id":7317},"ai-assisted-code-generation","AI-assisted code generation",[10,7320,7321],{},"You don't need to be a developer. The AI can generate the entire embed for you:",[319,7323,7324,7328,7333,7353,7356],{},[293,7325,4215,7326,4218],{},[14,7327,3022],{},[293,7329,1900,7330,7332],{},[14,7331,6816],{}," button",[293,7334,7335,7336],{},"Describe what you want in plain language — for example:\n",[290,7337,7338,7343,7348],{},[293,7339,7340],{},[19,7341,7342],{},"\"A drag-and-drop timeline where learners place historical events in order\"",[293,7344,7345],{},[19,7346,7347],{},"\"An interactive budget calculator with sliders and a pie chart\"",[293,7349,7350],{},[19,7351,7352],{},"\"A clickable world map that highlights countries when selected\"",[293,7354,7355],{},"AI generates the HTML, CSS, and JavaScript",[293,7357,7358],{},"Preview the result and refine with follow-up prompts",[277,7360,7361],{},[10,7362,7363,7365,7366],{},[14,7364,1404],{}," You can iterate — describe a modification and the AI will update the existing code rather than starting over. For example: ",[19,7367,7368],{},"\"Make the buttons larger and add a score counter.\"",[32,7370,7372],{"id":7371},"uploading-files","Uploading files",[10,7374,7375,7376,7379],{},"Custom embeds support ",[14,7377,7378],{},"file attachments"," (images, data files, etc.) that your code can reference:",[290,7381,7382,7385,7391],{},[293,7383,7384],{},"Upload files in the embed editor",[293,7386,7387,7388],{},"Access them in JavaScript with ",[61,7389,7390],{},"EmbedFiles.get('filename')",[293,7392,7393,7394,7397],{},"Or in HTML with ",[61,7395,7396],{},"\u003Cimg src=\"\" data-embed-file=\"filename\">"," — files are auto-populated on load",[32,7399,7401],{"id":7400},"adding-an-introduction","Adding an introduction",[10,7403,7404,7405,7408],{},"Each custom embed can include an ",[14,7406,7407],{},"introduction text"," above the interactive area. Use this to explain what the activity is, give instructions, or set context.",[32,7410,2841],{"id":2840},[290,7412,7413,7419,7425,7431,7437,7443],{},[293,7414,7415,7418],{},[14,7416,7417],{},"Custom simulations"," — model real-world scenarios with interactive controls",[293,7420,7421,7424],{},[14,7422,7423],{},"Calculators and tools"," — ROI calculators, unit converters, scoring rubrics",[293,7426,7427,7430],{},[14,7428,7429],{},"Data visualizations"," — interactive charts beyond what the Graph block offers",[293,7432,7433,7436],{},[14,7434,7435],{},"Mini-games"," — simple games for gamified learning (matching, memory, trivia)",[293,7438,7439,7442],{},[14,7440,7441],{},"Branded content"," — pixel-perfect interactive assets matching your organization's design",[293,7444,7445,7448],{},[14,7446,7447],{},"Prototypes"," — mock interfaces for software training",[4075,7450],{},[24,7452,3032],{"id":7453},"graph",[10,7455,7456],{},"Display data as a chart or visualization.",[10,7458,7459],{},[14,7460,7461],{},"Chart types available:",[290,7463,7464,7467,7470,7473],{},[293,7465,7466],{},"Bar chart",[293,7468,7469],{},"Line chart",[293,7471,7472],{},"Pie \u002F donut chart",[293,7474,7475],{},"Other standard chart types",[10,7477,7478],{},"Enter your data in the table editor and choose a chart type. The graph renders live as you enter values.",[32,7480,7482],{"id":7481},"importing-data-from-a-csv","Importing data from a CSV",[10,7484,7485],{},"Instead of typing values cell by cell, you can bring data straight in from a spreadsheet:",[290,7487,7488,7497],{},[293,7489,7490,7493,7494,2275],{},[14,7491,7492],{},"Upload CSV"," — choose a ",[61,7495,7496],{},".csv",[293,7498,7499,7502],{},[14,7500,7501],{},"Paste CSV"," — paste CSV text (e.g. copied from Excel or Google Sheets) into a modal",[10,7504,7505,7506,7509,7510,7513,7514,7517],{},"Expected format: the ",[14,7507,7508],{},"first row"," is the column labels, the ",[14,7511,7512],{},"first column"," is the row labels, and the remaining cells are the numbers. The top-left corner cell can be left blank. Quoted cells, thousands separators, and a trailing ",[61,7515,7516],{},"%"," are handled automatically.",[417,7519,7522],{"className":7520,"code":7521,"language":422},[420],",Series 1,Series 2\nItem 1,10,20\nItem 2,15,25\n",[61,7523,7521],{"__ignoreMap":425},[10,7525,7526,7527,7530],{},"Importing replaces the current table data. You can keep editing in the table afterwards, or transpose rows and columns with the ",[14,7528,7529],{},"Transpose"," button.",[4075,7532],{},[24,7534,3189],{"id":7535},"scorm-xapi",[10,7537,7538],{},"Import a SCORM 1.2, SCORM 2004, or xAPI package created in a third-party authoring tool (Articulate Storyline, Rise, iSpring, etc.).",[32,7540,7542],{"id":7541},"importing-a-scormxapi-package","Importing a SCORM\u002FxAPI package",[319,7544,7545,7549,7558,7561],{},[293,7546,4215,7547,4218],{},[14,7548,3189],{},[293,7550,333,7551,7554,7555,2275],{},[14,7552,7553],{},"Upload Package"," and select your ",[61,7556,7557],{},".zip",[293,7559,7560],{},"LearnBuilder extracts and hosts the package",[293,7562,7563],{},"Learners launch it inline within the lesson",[10,7565,7566],{},"Completion status and scores reported by the package are recorded in the learner dashboard.",[277,7568,7569],{},[10,7570,7571,7573],{},[14,7572,937],{}," SCORM\u002FxAPI packages must be valid — exported directly from an authoring tool with the correct manifest file. Re-zipping a folder won't work.",[277,7575,7576],{},[10,7577,7578,7580,7581,7584,7585,7587],{},[14,7579,1404],{}," If you have a course built in ",[14,7582,7583],{},"Articulate Rise 360",", you can import the whole course as native LearnBuilder lessons rather than embedding it as an external SCORM package — see ",[448,7586,2297],{"href":2296},". That gives you editable text, quizzes, and media instead of a sealed SCORM player.",{"title":425,"searchDepth":475,"depth":475,"links":7589},[7590,7598,7604,7608,7609,7610,7617,7620],{"id":422,"depth":475,"text":2972,"children":7591},[7592,7593,7594,7595,7596,7597],{"id":6610,"depth":485,"text":6611},{"id":6621,"depth":485,"text":6622},{"id":6636,"depth":485,"text":1068},{"id":6690,"depth":485,"text":6691},{"id":6758,"depth":485,"text":6759},{"id":6768,"depth":485,"text":6769},{"id":6787,"depth":475,"text":2982,"children":7599},[7600,7601,7602,7603],{"id":5166,"depth":485,"text":6793},{"id":6826,"depth":485,"text":6822},{"id":6886,"depth":485,"text":6887},{"id":7047,"depth":485,"text":7048},{"id":7092,"depth":475,"text":2992,"children":7605},[7606,7607],{"id":7098,"depth":485,"text":6793},{"id":7119,"depth":485,"text":5586},{"id":7204,"depth":475,"text":3002},{"id":7229,"depth":475,"text":3012},{"id":7253,"depth":475,"text":3022,"children":7611},[7612,7613,7614,7615,7616],{"id":1567,"depth":485,"text":1568},{"id":7317,"depth":485,"text":7318},{"id":7371,"depth":485,"text":7372},{"id":7400,"depth":485,"text":7401},{"id":2840,"depth":485,"text":2841},{"id":7453,"depth":475,"text":3032,"children":7618},[7619],{"id":7481,"depth":485,"text":7482},{"id":7535,"depth":475,"text":3189,"children":7621},[7622],{"id":7541,"depth":485,"text":7542},"Text, Video, Audio, Slideshow, Document, Embed, Graph, and SCORM\u002FxAPI blocks.","i-lucide-file-video",{},{"title":6597,"description":7623},"docs\u002F2.course-builder\u002F5.media-blocks","m1iJUaJHQWKzSSeFy-phy0DdGbFBBVXHKJvRx8WAB1E",{"id":7630,"title":7631,"body":7632,"description":8313,"extension":653,"icon":8314,"meta":8315,"navigation":656,"order":657,"path":8316,"seo":8317,"stem":8318,"__hash__":8319},"docs\u002Fdocs\u002F3.ai-features\u002F1.overview.md","AI Features Overview",{"type":7,"value":7633,"toc":8298},[7634,7637,7641,7644,7651,7656,7676,7678,7684,7736,7740,7743,7768,7773,7775,7779,7786,7790,7804,7810,7812,7815,7822,7826,7840,7845,7847,7849,7852,7892,7895,7905,7909,7916,7990,7993,8000,8004,8015,8018,8025,8029,8060,8063,8067,8086,8089,8092,8098,8104,8108,8111,8113,8162,8166,8169,8175,8182,8197,8201,8211,8218,8229,8233,8236,8265,8268,8272],[10,7635,7636],{},"LearnBuilder has three AI agents, each with a distinct role. They work together to help you create better courses and give learners a richer experience.",[24,7638,7640],{"id":7639},"the-three-agents","The three agents",[32,7642,1563],{"id":7643},"creator-agent",[10,7645,7646,7647,7650],{},"The Creator Agent helps you ",[14,7648,7649],{},"build courses",". It works at authoring time — generating outlines, lessons, and content blocks from your learning objectives.",[10,7652,7653],{},[14,7654,7655],{},"What it does:",[290,7657,7658,7661,7664,7667,7670,7673],{},[293,7659,7660],{},"Generates course outlines and lesson plans",[293,7662,7663],{},"Writes lesson content (text, scripts, questions) from a topic",[293,7665,7666],{},"Creates images in your chosen style, with optional character consistency",[293,7668,7669],{},"Generates talking-head videos with lip-synced speech and scene variation",[293,7671,7672],{},"Builds interactive simulations from a short description",[293,7674,7675],{},"Drafts quiz questions, dialogues, and other block types",[369,7677,1719],{"id":1718},[10,7679,7680,7681,7683],{},"The Creator Agent uses ",[14,7682,1725],{}," to decide which types of blocks to generate in each lesson. Presets are configured in course settings:",[37,7685,7686,7694],{},[40,7687,7688],{},[43,7689,7690,7692],{},[46,7691,1735],{},[46,7693,6653],{},[53,7695,7696,7704,7712,7720,7728],{},[43,7697,7698,7702],{},[58,7699,7700],{},[14,7701,1747],{},[58,7703,1750],{},[43,7705,7706,7710],{},[58,7707,7708],{},[14,7709,1757],{},[58,7711,1760],{},[43,7713,7714,7718],{},[58,7715,7716],{},[14,7717,1767],{},[58,7719,1770],{},[43,7721,7722,7726],{},[58,7723,7724],{},[14,7725,1777],{},[58,7727,1780],{},[43,7729,7730,7734],{},[58,7731,7732],{},[14,7733,1787],{},[58,7735,1790],{},[369,7737,7739],{"id":7738},"content-generation-rules","Content generation rules",[10,7741,7742],{},"The Creator Agent follows several rules to keep content varied and engaging:",[290,7744,7745,7751,7756,7762],{},[293,7746,7747,7750],{},[14,7748,7749],{},"Maximum 2 text blocks in a row"," — it enforces variety by inserting interactive or media blocks between text sections",[293,7752,7753,7755],{},[14,7754,1689],{}," — when enabled, generates 2-4 AI images per lesson to break up text and reinforce concepts",[293,7757,7758,7761],{},[14,7759,7760],{},"Talking-head videos"," — generates lip-synced videos of a character speaking, with optional scene variation to change the background or clothing between videos",[293,7763,7764,7767],{},[14,7765,7766],{},"Interactive simulations"," — auto-generates Interactive Slides from a description, complete with elements, triggers, scoring, and actions",[10,7769,7770],{},[448,7771,7772],{"href":962},"Learn more about AI generation ->",[4075,7774],{},[32,7776,7778],{"id":7777},"tutor-agent","Tutor Agent",[10,7780,7781,7782,7785],{},"The Tutor Agent is a ",[14,7783,7784],{},"per-course AI assistant for learners",". It appears as a chat widget inside the course and can answer questions about the course material.",[10,7787,7788],{},[14,7789,7655],{},[290,7791,7792,7795,7798,7801],{},[293,7793,7794],{},"Answers learner questions about the course content",[293,7796,7797],{},"Uses your Knowledge Files as reference material",[293,7799,7800],{},"Stays scoped to the course — won't wander off-topic",[293,7802,7803],{},"Available inside each lesson via the chat widget",[10,7805,7806],{},[448,7807,7809],{"href":7808},"\u002Fdocs\u002Fai-features\u002Fai-tutor","Learn more about the AI Tutor ->",[4075,7811],{},[32,7813,3792],{"id":7814},"assessment-agent",[10,7816,7817,7818,7821],{},"The Assessment Agent ",[14,7819,7820],{},"grades open-ended responses",". It evaluates short answers, essays, and AI Dialogue conversations against your criteria.",[10,7823,7824],{},[14,7825,7655],{},[290,7827,7828,7831,7834,7837],{},[293,7829,7830],{},"Grades short answer questions against a model answer",[293,7832,7833],{},"Grades essays against a rubric or criteria",[293,7835,7836],{},"Evaluates AI Dialogue conversations for success criteria",[293,7838,7839],{},"Provides written feedback to learners",[10,7841,7842],{},[448,7843,7844],{"href":3612},"Learn more about AI Assessment ->",[4075,7846],{},[24,7848,1928],{"id":1927},[10,7850,7851],{},"All three agents consume AI credits. Credits are included monthly with paid plans; Free plan users pay per use.",[37,7853,7854,7863],{},[40,7855,7856],{},[43,7857,7858,7860],{},[46,7859,815],{},[46,7861,7862],{},"Monthly AI credits",[53,7864,7865,7871,7878,7885],{},[43,7866,7867,7869],{},[58,7868,842],{},[58,7870,860],{},[43,7872,7873,7875],{},[58,7874,867],{},[58,7876,7877],{},"EUR 5",[43,7879,7880,7882],{},[58,7881,891],{},[58,7883,7884],{},"EUR 15",[43,7886,7887,7889],{},[58,7888,915],{},[58,7890,7891],{},"EUR 50",[10,7893,7894],{},"Unused credits do not roll over. Additional credits can be purchased at any time.",[277,7896,7897],{},[10,7898,7899,7901,7902,275],{},[14,7900,937],{}," Credit costs depend on the operation — generating video costs more than generating a text block. You can track your credit usage under ",[14,7903,7904],{},"User Menu -> Billing",[24,7906,7908],{"id":7907},"choosing-ai-models","Choosing AI models",[10,7910,7911,7912,7915],{},"LearnBuilder lets you select different AI models for each type of task. This is configured in ",[14,7913,7914],{},"User Menu -> Account -> AI"," tab and applies to all courses in your account.",[37,7917,7918,7928],{},[40,7919,7920],{},[43,7921,7922,7925],{},[46,7923,7924],{},"Task",[46,7926,7927],{},"What it's used for",[53,7929,7930,7940,7950,7960,7970,7980],{},[43,7931,7932,7937],{},[58,7933,7934],{},[14,7935,7936],{},"Content Generation",[58,7938,7939],{},"Generating lesson content, quizzes, course outlines",[43,7941,7942,7947],{},[58,7943,7944],{},[14,7945,7946],{},"Image Generation",[58,7948,7949],{},"Creating images for lessons and cover images",[43,7951,7952,7957],{},[58,7953,7954],{},[14,7955,7956],{},"Video Generation",[58,7958,7959],{},"Generating video content",[43,7961,7962,7967],{},[58,7963,7964],{},[14,7965,7966],{},"Grading",[58,7968,7969],{},"Evaluating learner responses (essays, short answers, dialogues)",[43,7971,7972,7977],{},[58,7973,7974],{},[14,7975,7976],{},"Programming",[58,7978,7979],{},"Generating code for Custom Embed blocks",[43,7981,7982,7987],{},[58,7983,7984],{},[14,7985,7986],{},"Translation",[58,7988,7989],{},"Translating course content into other languages",[10,7991,7992],{},"Each category offers a selection of models from different providers. More capable models generally cost more credits but produce higher-quality output.",[277,7994,7995],{},[10,7996,7997,7999],{},[14,7998,1404],{}," You can mix and match — for example, use a powerful model for content generation where quality matters most, and a faster, cheaper model for translation. This lets you balance quality and budget based on your needs.",[24,8001,8003],{"id":8002},"course-translation","Course translation",[10,8005,8006,8007,8010,8011,8014],{},"LearnBuilder offers two complementary ways to translate a course: ",[14,8008,8009],{},"AI translation"," (one click, the AI does everything) and ",[14,8012,8013],{},"manual translation"," (export the strings, send to a translator or reviewer, re-import the filled file).",[32,8016,8009],{"id":8017},"ai-translation",[10,8019,8020,8021,8024],{},"AI translation creates a ",[14,8022,8023],{},"new copy"," of the course in the target language — the original remains unchanged.",[369,8026,8028],{"id":8027},"how-to-translate-a-course","How to translate a course",[319,8030,8031,8034,8043,8046,8055],{},[293,8032,8033],{},"Open the course you want to translate",[293,8035,8036,8037,8040,8041],{},"Open the ",[14,8038,8039],{},"... menu"," in Course Details and select ",[14,8042,6981],{},[293,8044,8045],{},"Select the target language from the dropdown",[293,8047,6988,8048,8050,8051,8054],{},[14,8049,6991],{}," — one mapping per line in the form ",[61,8052,8053],{},"source term = required translation",". The AI applies these literally, including for terms you want to leave untranslated.",[293,8056,333,8057],{},[14,8058,8059],{},"Translate Course",[10,8061,8062],{},"A progress bar shows the translation status as each lesson and block is processed. Once complete, the new translated course appears on your dashboard as a separate course.",[369,8064,8066],{"id":8065},"what-gets-translated","What gets translated",[290,8068,8069,8071,8074,8077,8083],{},[293,8070,1641],{},[293,8072,8073],{},"All lesson titles and outcomes",[293,8075,8076],{},"All block content (text, quiz questions and answers, flashcard fronts and backs, dialogue scenarios, character names and roles, hotspot labels, drag-and-drop content, slideshow text, simulation content, document titles, feedback questions and options, accordion tabs, and more)",[293,8078,8079,8082],{},[14,8080,8081],{},"Video subtitle tracks"," — every VTT track on every video block is translated cue-by-cue and uploaded as a new track on the new course (timestamps are preserved exactly). The original tracks stay on the source course.",[293,8084,8085],{},"AI Tutor and Assessment settings are carried over",[369,8087,8088],{"id":6991},"Glossary",[10,8090,8091],{},"Useful for product names, acronyms, technical terms, or anything that should never be translated. Examples:",[417,8093,8096],{"className":8094,"code":8095,"language":422},[420],"Active Directory = Active Directory\nLearnBuilder = LearnBuilder\nteam = équipe\ncompliance = compliance (do not translate)\n",[61,8097,8095],{"__ignoreMap":425},[10,8099,8100,8101,8103],{},"The glossary applies to every text translation in the course ",[14,8102,4124],{}," to every video subtitle track — terms behave consistently across the whole course.",[32,8105,8107],{"id":8106},"manual-translation-csv-xliff-export-and-import","Manual translation (CSV \u002F XLIFF export and import)",[10,8109,8110],{},"For workflows where AI alone isn't enough — professional translation, legal review, in-house revision — you can export every translatable string in the course as a single file, send it out, and re-import the filled file.",[369,8112,1568],{"id":1567},[319,8114,8115,8121,8138,8141],{},[293,8116,8117,8118],{},"Open the course → language menu → ",[14,8119,8120],{},"Translate or review (export \u002F import)…",[293,8122,8123,8126,8127,8130,8131,8134,8135,275],{},[14,8124,8125],{},"Export tab",": pick a target language (or keep the current language for a review pass), choose ",[14,8128,8129],{},"CSV"," (opens in Excel \u002F Google Sheets) or ",[14,8132,8133],{},"XLIFF 1.2"," (for professional CAT tools like Trados, MemoQ, Smartcat), click ",[14,8136,8137],{},"Download",[293,8139,8140],{},"Send the file to your translator or reviewer.",[293,8142,8143,8144,8147,8148],{},"When they return it, open the same modal → ",[14,8145,8146],{},"Import tab",", upload the file, choose:\n",[290,8149,8150,8156],{},[293,8151,8152,8155],{},[14,8153,8154],{},"Create a new course"," — forks a draft with translations applied (default, safe).",[293,8157,8158,8161],{},[14,8159,8160],{},"Update this course in place"," — applies changes directly to the source course.",[369,8163,8165],{"id":8164},"csv-format","CSV format",[10,8167,8168],{},"A simple 4-column file with metadata at the top:",[417,8170,8173],{"className":8171,"code":8172,"language":422},[420],"#sourceLanguage,en\n#targetLanguage,de\nid,context,source,target\ncourse.title,course title,e-Learning 101,\nlesson.\u003Cid>.title,lesson title,From Stage to Screen,\n...\n",[61,8174,8172],{"__ignoreMap":425},[10,8176,8177,8178,8181],{},"Translators fill in the ",[14,8179,8180],{},"target"," column. The importer is robust to:",[290,8183,8184,8187,8194],{},[293,8185,8186],{},"UTF-8 BOMs (Excel adds them on save)",[293,8188,8189,8190,8193],{},"Comma, semicolon, or tab delimiters (Excel uses ",[61,8191,8192],{},";"," in many European locales)",[293,8195,8196],{},"LF or CRLF line endings",[369,8198,8200],{"id":8199},"review-pass-same-language-export","Review pass (same-language export)",[10,8202,8203,8204,8207,8208,8210],{},"When source language and target language match, the export is treated as a ",[14,8205,8206],{},"monolingual review"," — the ",[61,8209,8180],{}," column ships pre-filled with the source text so reviewers see something to edit in the right column. They edit the target column directly; on import, the new values replace the old.",[10,8212,8213,8214,8217],{},"If a reviewer instead edits the ",[14,8215,8216],{},"source"," column and leaves target empty, the importer still picks up their edits — only in same-language review mode, never for cross-language translations.",[277,8219,8220],{},[10,8221,8222,8225,8226,8228],{},[14,8223,8224],{},"What's excluded from manual export",": video subtitle VTT files. Each subtitle track has its own per-track translation flow inside the Video block editor (see ",[448,8227,3472],{"href":3471},") — bundling 200+ cue rows per video into a translator's CSV would dominate the file.",[32,8230,8232],{"id":8231},"supported-languages","Supported languages",[10,8234,8235],{},"Translation supports all 60+ languages available in LearnBuilder's language settings, including regional variants:",[290,8237,8238,8244,8250,8256,8262],{},[293,8239,8240,8243],{},[14,8241,8242],{},"English"," — UK, US, Australian, Canadian",[293,8245,8246,8249],{},[14,8247,8248],{},"Spanish"," — Spain, Mexican, Argentinian",[293,8251,8252,8255],{},[14,8253,8254],{},"Portuguese"," — Brazilian, European",[293,8257,8258,8261],{},[14,8259,8260],{},"Chinese"," — Simplified, Traditional",[293,8263,8264],{},"Plus: French, German, Italian, Dutch, Arabic, Japanese, Korean, Russian, Ukrainian, Turkish, Polish, Czech, Greek, Hebrew, Hindi, Vietnamese, Thai, Indonesian, and many more",[10,8266,8267],{},"Regional variants are passed to the model as explicit prompt instructions — for example, \"Write in British English (en-GB), use British spelling and idioms\" — so terminology, spelling, and tone match the chosen variant.",[32,8269,8271],{"id":8270},"tips","Tips",[290,8273,8274,8280,8286,8295],{},[293,8275,8276,8279],{},[14,8277,8278],{},"Combine both flows"," — kick off with AI translation, then export the result as CSV for a human reviewer, then re-import.",[293,8281,8282,8285],{},[14,8283,8284],{},"Review after translation"," — AI translation is high quality but may need adjustments for domain-specific terminology; the glossary handles repeated terms.",[293,8287,8288,8291,8292,8294],{},[14,8289,8290],{},"Choose the right model"," — pick a specific translation model in ",[14,8293,7914],{}," tab to balance quality and cost.",[293,8296,8297],{},"The translated course is fully independent — you can edit it without affecting the original.",{"title":425,"searchDepth":475,"depth":475,"links":8299},[8300,8305,8306,8307],{"id":7639,"depth":475,"text":7640,"children":8301},[8302,8303,8304],{"id":7643,"depth":485,"text":1563},{"id":7777,"depth":485,"text":7778},{"id":7814,"depth":485,"text":3792},{"id":1927,"depth":475,"text":1928},{"id":7907,"depth":475,"text":7908},{"id":8002,"depth":475,"text":8003,"children":8308},[8309,8310,8311,8312],{"id":8017,"depth":485,"text":8009},{"id":8106,"depth":485,"text":8107},{"id":8231,"depth":485,"text":8232},{"id":8270,"depth":485,"text":8271},"The three AI agents in LearnBuilder and what each one does.","i-lucide-bot",{},"\u002Fdocs\u002Fai-features\u002Foverview",{"title":7631,"description":8313},"docs\u002F3.ai-features\u002F1.overview","uDWstkLlwZcPEj193sbtu5tDCc3QT1OGpbMxqykZAZ8",{"id":8321,"title":1289,"body":8322,"description":8488,"extension":653,"icon":8489,"meta":8490,"navigation":656,"order":657,"path":7808,"seo":8491,"stem":8492,"__hash__":8493},"docs\u002Fdocs\u002F3.ai-features\u002F2.ai-tutor.md",{"type":7,"value":8323,"toc":8480},[8324,8327,8331,8337,8342,8353,8356,8367,8369,8373,8376,8379,8407,8414,8416,8420,8423,8426,8428,8432,8435,8451,8454,8456,8459,8462,8467,8469,8473],[10,8325,8326],{},"The AI Tutor is a chat assistant embedded in every course. Learners can ask questions at any point during a lesson and get answers grounded in the course material. Conversations are automatically saved, so learners can pick up where they left off.",[24,8328,8330],{"id":8329},"how-learners-use-it","How learners use it",[10,8332,1814,8333,8336],{},[14,8334,8335],{},"chat icon"," appears in the bottom-right corner of the learner view. Clicking it opens the Tutor widget.",[10,8338,8339],{},[14,8340,8341],{},"Example questions a learner might ask:",[290,8343,8344,8347,8350],{},[293,8345,8346],{},"\"Can you explain that last section in simpler terms?\"",[293,8348,8349],{},"\"What's the difference between X and Y?\"",[293,8351,8352],{},"\"Can you give me an example of this concept?\"",[10,8354,8355],{},"The Tutor answers based on:",[319,8357,8358,8361],{},[293,8359,8360],{},"The course content (lessons and blocks the learner has encountered)",[293,8362,8363,8364,8366],{},"Any ",[14,8365,789],{}," uploaded to the course",[4075,8368],{},[24,8370,8372],{"id":8371},"conversation-history","Conversation history",[10,8374,8375],{},"Every conversation is automatically saved as the learner chats. The title is taken from the learner's first message, making it easy to find conversations later.",[10,8377,8378],{},"Learners can manage their conversation history from the sidebar:",[319,8380,8381,8387,8390,8393,8400],{},[293,8382,1900,8383,8386],{},[14,8384,8385],{},"panel icon"," (☰) in the top-left of the Tutor header to open the sidebar.",[293,8388,8389],{},"The sidebar lists all past conversations for this course, sorted by most recent.",[293,8391,8392],{},"Click any conversation to reload it and continue from where you left off.",[293,8394,8395,8396,8399],{},"To start fresh, click ",[14,8397,8398],{},"New chat"," at the top of the sidebar.",[293,8401,8402,8403,8406],{},"To delete a conversation, hover over it and click the ",[14,8404,8405],{},"trash icon"," that appears.",[277,8408,8409],{},[10,8410,8411,8413],{},[14,8412,1404],{}," Conversations are scoped per learner and per course — a learner's chat history in one course does not appear in another.",[4075,8415],{},[24,8417,8419],{"id":8418},"scoping-and-boundaries","Scoping and boundaries",[10,8421,8422],{},"The Tutor is scoped to the course — it won't answer unrelated questions. If a learner asks something outside the course scope, the Tutor politely redirects.",[10,8424,8425],{},"This scoping is intentional: it keeps the experience focused and prevents the AI from giving generic or off-topic responses.",[4075,8427],{},[24,8429,8431],{"id":8430},"configuring-the-ai-tutor","Configuring the AI Tutor",[10,8433,8434],{},"The Tutor is disabled by default. To enable it for a course:",[319,8436,8437,8442,8446],{},[293,8438,8439,8440],{},"Open the course and go to ",[14,8441,379],{},[293,8443,6368,8444,2034],{},[14,8445,1181],{},[293,8447,1375,8448,8450],{},[14,8449,1289],{}," on",[10,8452,8453],{},"Once enabled, the chat widget appears for all learners in the course.",[4075,8455],{},[24,8457,789],{"id":8458},"knowledge-files",[10,8460,8461],{},"The Tutor's quality improves significantly when Knowledge Files are uploaded. These are source documents the AI uses to give accurate, grounded answers.",[10,8463,8464],{},[448,8465,8466],{"href":1715},"Learn about Knowledge Files →",[4075,8468],{},[24,8470,8472],{"id":8471},"learner-notes-widget","Learner notes widget",[10,8474,8475,8476,8479],{},"Alongside the Tutor, learners also have a ",[14,8477,8478],{},"Notes"," widget to jot down personal notes while learning. Notes are private to each learner and accessible throughout the course.",{"title":425,"searchDepth":475,"depth":475,"links":8481},[8482,8483,8484,8485,8486,8487],{"id":8329,"depth":475,"text":8330},{"id":8371,"depth":475,"text":8372},{"id":8418,"depth":475,"text":8419},{"id":8430,"depth":475,"text":8431},{"id":8458,"depth":475,"text":789},{"id":8471,"depth":475,"text":8472},"How the AI Tutor works for learners and how to configure it for your course.","i-lucide-message-circle",{},{"title":1289,"description":8488},"docs\u002F3.ai-features\u002F2.ai-tutor","5Y9SuVgqnzZFdcZrvkZxNQDeat93MB8ywLKfBa5_I80",{"id":8495,"title":3613,"body":8496,"description":8742,"extension":653,"icon":8743,"meta":8744,"navigation":656,"order":657,"path":3612,"seo":8745,"stem":8746,"__hash__":8747},"docs\u002Fdocs\u002F3.ai-features\u002F3.ai-assessment.md",{"type":7,"value":8497,"toc":8734},[8498,8503,8507,8550,8552,8556,8562,8576,8581,8596,8598,8602,8605,8609,8626,8629,8636,8638,8642,8645,8650,8661,8664,8670,8691,8693,8697,8700,8714,8717,8719,8723],[10,8499,3284,8500,8502],{},[14,8501,3792],{}," automatically grades responses that can't be scored by simple keyword matching — short answers, essays, and AI Dialogue conversations.",[24,8504,8506],{"id":8505},"what-the-assessment-agent-grades","What the Assessment Agent grades",[37,8508,8509,8519],{},[40,8510,8511],{},[43,8512,8513,8516],{},[46,8514,8515],{},"Block \u002F Question type",[46,8517,8518],{},"What's evaluated",[53,8520,8521,8531,8540],{},[43,8522,8523,8528],{},[58,8524,8525,8527],{},[14,8526,3578],{}," questions",[58,8529,8530],{},"Response against a model answer",[43,8532,8533,8537],{},[58,8534,8535,8527],{},[14,8536,3618],{},[58,8538,8539],{},"Response against a rubric or criteria",[43,8541,8542,8547],{},[58,8543,8544,8546],{},[14,8545,3124],{}," blocks",[58,8548,8549],{},"Full conversation against success criteria",[4075,8551],{},[24,8553,8555],{"id":8554},"short-answer-grading","Short Answer grading",[10,8557,8558,8559,8561],{},"When you create a Short Answer question, you provide a ",[14,8560,3589],{},". The Assessment Agent:",[319,8563,8564,8567,8570,8573],{},[293,8565,8566],{},"Reads the learner's response",[293,8568,8569],{},"Compares it semantically to the model answer (not just keyword matching)",[293,8571,8572],{},"Assigns a score based on how well the key points are covered",[293,8574,8575],{},"Optionally provides written feedback",[10,8577,8578],{},[14,8579,8580],{},"Setting it up:",[290,8582,8583,8586,8593],{},[293,8584,8585],{},"In the Quiz block, add a Short Answer question",[293,8587,8588,8589,8592],{},"Enter your model answer in the ",[14,8590,8591],{},"Correct Answer"," field",[293,8594,8595],{},"Optionally add feedback text for learners",[4075,8597],{},[24,8599,8601],{"id":8600},"essay-grading","Essay grading",[10,8603,8604],{},"Essay questions support rubric-based grading.",[10,8606,8607],{},[14,8608,8580],{},[319,8610,8611,8614,8620,8623],{},[293,8612,8613],{},"Add an Essay question to a Quiz block",[293,8615,1417,8616,8619],{},[14,8617,8618],{},"Grading Rubric"," field, describe what a full-marks response looks like",[293,8621,8622],{},"Optionally set criteria categories (e.g., \"Clarity\", \"Accuracy\", \"Examples\")",[293,8624,8625],{},"Set the maximum score",[10,8627,8628],{},"The Assessment Agent reads the learner's essay, evaluates it against the rubric, assigns a score, and writes personalized feedback explaining what was done well and what could be improved.",[277,8630,8631],{},[10,8632,8633,8635],{},[14,8634,1404],{}," The more specific your rubric, the more consistent and useful the grading. Vague rubrics produce vague feedback.",[4075,8637],{},[24,8639,8641],{"id":8640},"ai-dialogue-grading","AI Dialogue grading",[10,8643,8644],{},"After a learner finishes an AI Dialogue conversation, the Assessment Agent reviews the full transcript.",[10,8646,8647],{},[14,8648,8649],{},"What it evaluates:",[290,8651,8652,8655,8658],{},[293,8653,8654],{},"Did the learner achieve the stated goal?",[293,8656,8657],{},"Were the success criteria met?",[293,8659,8660],{},"Quality of communication (tone, approach, accuracy)",[10,8662,8663],{},"A score and written debrief are shown to the learner at the end of the dialogue.",[10,8665,8666,8669],{},[14,8667,8668],{},"Setting success criteria:","\nIn the AI Dialogue block settings, define:",[290,8671,8672,8678,8684],{},[293,8673,3284,8674,8677],{},[14,8675,8676],{},"goal"," of the conversation",[293,8679,8680,8683],{},[14,8681,8682],{},"Success criteria"," — what a successful outcome looks like",[293,8685,8686,8687,8690],{},"Optional ",[14,8688,8689],{},"scoring dimensions"," (e.g., Empathy, Accuracy, Resolution)",[4075,8692],{},[24,8694,8696],{"id":8695},"scores-and-records","Scores and records",[10,8698,8699],{},"All AI-assessed scores are:",[290,8701,8702,8705,8711],{},[293,8703,8704],{},"Recorded in the learner's progress record",[293,8706,8707,8708,8710],{},"Visible in the ",[14,8709,824],{}," dashboard",[293,8712,8713],{},"Included in overall course completion calculations",[10,8715,8716],{},"Instructors can review individual scores and feedback from the learner detail view.",[4075,8718],{},[24,8720,8722],{"id":8721},"limitations","Limitations",[290,8724,8725,8728,8731],{},[293,8726,8727],{},"AI grading is high-quality but not infallible. For high-stakes assessments, consider manual review.",[293,8729,8730],{},"Grading consumes AI credits.",[293,8732,8733],{},"Feedback is generated in the course's configured content language.",{"title":425,"searchDepth":475,"depth":475,"links":8735},[8736,8737,8738,8739,8740,8741],{"id":8505,"depth":475,"text":8506},{"id":8554,"depth":475,"text":8555},{"id":8600,"depth":475,"text":8601},{"id":8640,"depth":475,"text":8641},{"id":8695,"depth":475,"text":8696},{"id":8721,"depth":475,"text":8722},"How the Assessment Agent grades open-ended responses and provides learner feedback.","i-lucide-check-circle",{},{"title":3613,"description":8742},"docs\u002F3.ai-features\u002F3.ai-assessment","3SEmLiAG7aqWg_nHOssEQOcsiZxxdni-sxDCrJBVqAQ",{"id":8749,"title":789,"body":8750,"description":9045,"extension":653,"icon":9046,"meta":9047,"navigation":656,"order":657,"path":1715,"seo":9048,"stem":9049,"__hash__":9050},"docs\u002Fdocs\u002F3.ai-features\u002F4.knowledge-files.md",{"type":7,"value":8751,"toc":9036},[8752,8761,8765,8878,8882,8909,8912,8916,8919,8926,8928,8974,8978,8981,8984,8988,8991,9002,9009,9013,9016,9033],[10,8753,8754,8755,8757,8758,8760],{},"Knowledge Files are documents you upload to a course that the AI uses as source material. They improve both the ",[14,8756,1289],{}," (for learner Q&A) and the ",[14,8759,1563],{}," (for content generation).",[24,8762,8764],{"id":8763},"supported-formats","Supported formats",[37,8766,8767,8777],{},[40,8768,8769],{},[43,8770,8771,8774],{},[46,8772,8773],{},"Format",[46,8775,8776],{},"Extensions",[53,8778,8779,8789,8799,8809,8819,8832,8846,8856],{},[43,8780,8781,8784],{},[58,8782,8783],{},"PDF",[58,8785,8786],{},[61,8787,8788],{},".pdf",[43,8790,8791,8794],{},[58,8792,8793],{},"Word documents",[58,8795,8796],{},[61,8797,8798],{},".docx",[43,8800,8801,8804],{},[58,8802,8803],{},"PowerPoint",[58,8805,8806],{},[61,8807,8808],{},".pptx",[43,8810,8811,8814],{},[58,8812,8813],{},"Excel",[58,8815,8816],{},[61,8817,8818],{},".xlsx",[43,8820,8821,8824],{},[58,8822,8823],{},"Plain text",[58,8825,8826,521,8829],{},[61,8827,8828],{},".txt",[61,8830,8831],{},".md",[43,8833,8834,8837],{},[58,8835,8836],{},"Structured data",[58,8838,8839,521,8841,521,8843],{},[61,8840,2250],{},[61,8842,7496],{},[61,8844,8845],{},".xml",[43,8847,8848,8851],{},[58,8849,8850],{},"Web content",[58,8852,8853],{},[61,8854,8855],{},".html",[43,8857,8858,8861],{},[58,8859,8860],{},"Other documents",[58,8862,8863,521,8866,521,8869,521,8872,521,8875],{},[61,8864,8865],{},".odt",[61,8867,8868],{},".odp",[61,8870,8871],{},".ods",[61,8873,8874],{},".rtf",[61,8876,8877],{},".epub",[24,8879,8881],{"id":8880},"uploading-knowledge-files","Uploading Knowledge Files",[319,8883,8884,8893,8898,8903,8906],{},[293,8885,8886,8887,8889,8890,8892],{},"Open the course, go to the ",[14,8888,379],{}," tab, and scroll to the ",[14,8891,1178],{}," section",[293,8894,8895,8896,8892],{},"Scroll to the ",[14,8897,789],{},[293,8899,333,8900],{},[14,8901,8902],{},"Upload Files",[293,8904,8905],{},"Select one or more files from your computer",[293,8907,8908],{},"Wait for processing — files are parsed and indexed automatically",[10,8910,8911],{},"You can upload multiple files at once. Storage limits apply based on your plan.",[24,8913,8915],{"id":8914},"what-happens-to-uploaded-files","What happens to uploaded files",[10,8917,8918],{},"LearnBuilder extracts the text content from each file and indexes it for AI retrieval. When the AI Tutor answers a question or the Creator Agent generates content, it searches these files for relevant information and grounds its responses in what it finds.",[277,8920,8921],{},[10,8922,8923,8925],{},[14,8924,1404],{}," Higher-quality source documents produce better AI output. Well-structured PDFs with clear headings work better than scanned images or poorly formatted files.",[24,8927,2841],{"id":2840},[37,8929,8930,8940],{},[40,8931,8932],{},[43,8933,8934,8937],{},[46,8935,8936],{},"Scenario",[46,8938,8939],{},"What to upload",[53,8941,8942,8950,8958,8966],{},[43,8943,8944,8947],{},[58,8945,8946],{},"Internal training course",[58,8948,8949],{},"Company policy documents, procedure manuals",[43,8951,8952,8955],{},[58,8953,8954],{},"Professional certification",[58,8956,8957],{},"Textbook chapters, official guidelines",[43,8959,8960,8963],{},[58,8961,8962],{},"Product training",[58,8964,8965],{},"Product specs, user manuals, FAQ documents",[43,8967,8968,8971],{},[58,8969,8970],{},"Compliance training",[58,8972,8973],{},"Regulatory texts, compliance frameworks",[24,8975,8977],{"id":8976},"ai-tutor-knowledge-files","AI Tutor + Knowledge Files",[10,8979,8980],{},"When a learner asks the Tutor a question, the Tutor searches Knowledge Files for the most relevant passages and uses them to construct its answer. Answers cite the source material when relevant.",[10,8982,8983],{},"Without Knowledge Files, the Tutor relies only on the course content itself.",[24,8985,8987],{"id":8986},"creator-agent-knowledge-files","Creator Agent + Knowledge Files",[10,8989,8990],{},"When generating course content, the Creator Agent uses Knowledge Files to:",[290,8992,8993,8996,8999],{},[293,8994,8995],{},"Ensure factual accuracy",[293,8997,8998],{},"Use correct terminology and definitions",[293,9000,9001],{},"Generate examples grounded in your actual material",[277,9003,9004],{},[10,9005,9006,9008],{},[14,9007,1404],{}," Upload Knowledge Files before generating lesson content — it makes a noticeable difference in quality and accuracy.",[24,9010,9012],{"id":9011},"removing-knowledge-files","Removing Knowledge Files",[10,9014,9015],{},"To remove a file:",[319,9017,9018,9028,9031],{},[293,9019,6368,9020,9022,9023,9025,9026],{},[14,9021,379],{}," tab → ",[14,9024,1178],{}," section → ",[14,9027,789],{},[293,9029,9030],{},"Find the file and click the delete icon",[293,9032,2425],{},[10,9034,9035],{},"Removed files are no longer available to the AI. Previously generated content is not affected.",{"title":425,"searchDepth":475,"depth":475,"links":9037},[9038,9039,9040,9041,9042,9043,9044],{"id":8763,"depth":475,"text":8764},{"id":8880,"depth":475,"text":8881},{"id":8914,"depth":475,"text":8915},{"id":2840,"depth":475,"text":2841},{"id":8976,"depth":475,"text":8977},{"id":8986,"depth":475,"text":8987},{"id":9011,"depth":475,"text":9012},"Upload reference documents to give the AI Tutor and Creator Agent accurate, grounded source material.","i-lucide-file-text",{},{"title":789,"description":9045},"docs\u002F3.ai-features\u002F4.knowledge-files","R1_IeXTKqNgXb3RQEGRQrLzmU8pnLJDlCLfNfCPgIhk",{"id":9052,"title":9053,"body":9054,"description":9467,"extension":653,"icon":9468,"meta":9469,"navigation":656,"order":657,"path":1527,"seo":9470,"stem":9471,"__hash__":9472},"docs\u002Fdocs\u002F4.learners\u002F1.enrolling.md","Enrolling Learners",{"type":7,"value":9055,"toc":9449},[9056,9059,9063,9070,9111,9123,9127,9131,9134,9139,9149,9152,9156,9159,9182,9185,9190,9192,9195,9198,9203,9211,9214,9216,9220,9224,9227,9231,9238,9258,9261,9263,9267,9270,9307,9310,9314,9317,9371,9374,9376,9380,9385,9389,9392,9416,9423,9425,9429,9432],[10,9057,9058],{},"LearnBuilder offers two enrollment methods. You choose the method per course based on how open or restricted you want access to be.",[24,9060,9062],{"id":9061},"account-level-registration-settings","Account-level registration settings",[10,9064,9065,9066,9069],{},"Before setting per-course enrollment, you can control how learners register at the account level. Go to ",[14,9067,9068],{},"User Menu → Account → Registration"," tab to set the registration mode:",[37,9071,9072,9080],{},[40,9073,9074],{},[43,9075,9076,9078],{},[46,9077,3962],{},[46,9079,7131],{},[53,9081,9082,9092,9101],{},[43,9083,9084,9089],{},[58,9085,9086],{},[14,9087,9088],{},"Disabled",[58,9090,9091],{},"Learners cannot self-register — only invited learners can access courses",[43,9093,9094,9098],{},[58,9095,9096],{},[14,9097,1321],{},[58,9099,9100],{},"Anyone can register as a learner and access courses you make available",[43,9102,9103,9108],{},[58,9104,9105],{},[14,9106,9107],{},"Requires Approval",[58,9109,9110],{},"Learner registrations require an admin to approve before access is granted",[277,9112,9113],{},[10,9114,9115,4174,9117,9119,9120,9122],{},[14,9116,1404],{},[14,9118,9107],{}," when you want to vet learners before they access your content, or ",[14,9121,9088],{}," when you want complete control via invitations.",[24,9124,9126],{"id":9125},"enrollment-methods","Enrollment methods",[32,9128,9130],{"id":9129},"open-enrollment","Open Enrollment",[10,9132,9133],{},"Anyone with the course link can self-enroll.",[10,9135,9136,9138],{},[14,9137,6781],{}," Public courses, marketing content, free resources.",[10,9140,6368,9141,9143,9144,9146,9147,275],{},[14,9142,379],{}," tab, scroll to the ",[14,9145,1181],{}," section, and set Visibility to ",[14,9148,1321],{},[10,9150,9151],{},"Share the course link — learners click it, create an account (or sign in), and they're enrolled.",[369,9153,9155],{"id":9154},"optional-password-protection","Optional password protection",[10,9157,9158],{},"If you want to restrict Open enrollment to people who know a password:",[319,9160,9161,9170,9176,9179],{},[293,9162,6368,9163,9143,9165,9167,9168],{},[14,9164,379],{},[14,9166,1181],{}," section, select ",[14,9169,1321],{},[293,9171,9172,9173],{},"Check ",[14,9174,9175],{},"Require password to enroll",[293,9177,9178],{},"Enter a password in the field that appears",[293,9180,9181],{},"Share the course link along with the password",[10,9183,9184],{},"Learners enter the password once at enrollment. They don't need it again.",[10,9186,9187,9189],{},[14,9188,6781],{}," Workshops, limited-distribution courses, paid cohorts without a payment gateway.",[4075,9191],{},[32,9193,1327],{"id":9194},"invitation-only",[10,9196,9197],{},"Only learners you explicitly invite can access the course.",[10,9199,9200,9202],{},[14,9201,6781],{}," Corporate training, premium programs, internal onboarding.",[10,9204,6368,9205,9143,9207,9146,9209,275],{},[14,9206,379],{},[14,9208,1181],{},[14,9210,1327],{},[10,9212,9213],{},"Learners who arrive at the course link see a \"not available\" message unless they have an active invitation.",[4075,9215],{},[24,9217,9219],{"id":9218},"sharing-your-course","Sharing your course",[32,9221,9223],{"id":9222},"course-link","Course link",[10,9225,9226],{},"Every course has a unique link based on your account slug and course slug. Find it on the course page or in settings (it appears inline under the Open visibility option). Share it by email, on your website, or anywhere your audience is.",[32,9228,9230],{"id":9229},"learner-portal","Learner portal",[10,9232,9233,9234,9237],{},"Learners can also browse and access their courses via the ",[14,9235,9236],{},"Learner Portal"," at:",[290,9239,9240,9246,9252],{},[293,9241,9242,9245],{},[61,9243,9244],{},"\u002Fportal\u002Flogin"," — sign in",[293,9247,9248,9251],{},[61,9249,9250],{},"\u002Fportal\u002Fregister"," — create an account",[293,9253,9254,9257],{},[61,9255,9256],{},"\u002Fportal\u002Fmy-learning"," — enrolled courses",[10,9259,9260],{},"If you have a custom domain, the portal is hosted there.",[4075,9262],{},[24,9264,9266],{"id":9265},"inviting-learners","Inviting learners",[10,9268,9269],{},"To invite specific learners to an Invitation Only course:",[319,9271,9272,9277,9284,9302],{},[293,9273,6368,9274,9276],{},[14,9275,379],{}," tab on the course page",[293,9278,8895,9279,9281,9282],{},[14,9280,1181],{}," section and select ",[14,9283,1327],{},[293,9285,9286,9287],{},"In the invitation area that appears inline:\n",[290,9288,9289,9292,9299],{},[293,9290,9291],{},"Enter one or more email addresses in the text area (one per line or comma-separated)",[293,9293,9294,9295,9298],{},"Or click ",[14,9296,9297],{},"Import CSV"," to upload a file of email addresses",[293,9300,9301],{},"Optionally add a personal message",[293,9303,333,9304],{},[14,9305,9306],{},"Send Invitations",[10,9308,9309],{},"Each invited learner receives an email with a link to register or sign in and access the course.",[32,9311,9313],{"id":9312},"managing-sent-invitations","Managing sent invitations",[10,9315,9316],{},"Below the invite form, you can see all sent invitations with their status:",[37,9318,9319,9329],{},[40,9320,9321],{},[43,9322,9323,9326],{},[46,9324,9325],{},"Status",[46,9327,9328],{},"Meaning",[53,9330,9331,9341,9351,9361],{},[43,9332,9333,9338],{},[58,9334,9335],{},[14,9336,9337],{},"Pending",[58,9339,9340],{},"Invitation sent, learner hasn't accepted yet",[43,9342,9343,9348],{},[58,9344,9345],{},[14,9346,9347],{},"Accepted",[58,9349,9350],{},"Learner has registered and enrolled",[43,9352,9353,9358],{},[58,9354,9355],{},[14,9356,9357],{},"Expired",[58,9359,9360],{},"Invitation link has expired",[43,9362,9363,9368],{},[58,9364,9365],{},[14,9366,9367],{},"Cancelled",[58,9369,9370],{},"Invitation was manually cancelled",[10,9372,9373],{},"You can cancel a pending invitation from the list.",[4075,9375],{},[24,9377,9379],{"id":9378},"managing-enrolled-learners","Managing enrolled learners",[10,9381,1417,9382,9384],{},[14,9383,824],{}," tab on the course page you can see a full list of enrolled learners with their progress, time spent, score, and last active date.",[32,9386,9388],{"id":9387},"unenrolling-a-learner","Unenrolling a learner",[10,9390,9391],{},"To remove a learner from a course:",[319,9393,9394,9399,9402,9408,9413],{},[293,9395,9396,9397,2034],{},"Go to the course ",[14,9398,824],{},[293,9400,9401],{},"Find the learner in the list",[293,9403,1900,9404,9407],{},[14,9405,9406],{},"⋯"," menu at the end of their row",[293,9409,2196,9410],{},[14,9411,9412],{},"Unenroll",[293,9414,9415],{},"Confirm — the learner's enrollment and progress data are removed",[277,9417,9418],{},[10,9419,9420,9422],{},[14,9421,937],{}," Unenrolling is permanent and cannot be undone. The learner's progress data is deleted. If the learner needs to retake the course, re-invite them.",[4075,9424],{},[24,9426,9428],{"id":9427},"course-access-and-the-learner-experience","Course access and the learner experience",[10,9430,9431],{},"Once enrolled, learners access the course through the learner portal. They see:",[290,9433,9434,9437,9440,9443,9446],{},[293,9435,9436],{},"Course overview and objectives",[293,9438,9439],{},"Lesson list (with progress indicators)",[293,9441,9442],{},"AI Tutor chat widget",[293,9444,9445],{},"Notes widget",[293,9447,9448],{},"Certificate download (when course is complete)",{"title":425,"searchDepth":475,"depth":475,"links":9450},[9451,9452,9456,9460,9463,9466],{"id":9061,"depth":475,"text":9062},{"id":9125,"depth":475,"text":9126,"children":9453},[9454,9455],{"id":9129,"depth":485,"text":9130},{"id":9194,"depth":485,"text":1327},{"id":9218,"depth":475,"text":9219,"children":9457},[9458,9459],{"id":9222,"depth":485,"text":9223},{"id":9229,"depth":485,"text":9230},{"id":9265,"depth":475,"text":9266,"children":9461},[9462],{"id":9312,"depth":485,"text":9313},{"id":9378,"depth":475,"text":9379,"children":9464},[9465],{"id":9387,"depth":485,"text":9388},{"id":9427,"depth":475,"text":9428},"Enrollment methods, sharing course links, and managing invitations.","i-lucide-user-plus",{},{"title":9053,"description":9467},"docs\u002F4.learners\u002F1.enrolling","jo1aHaiLs9sOphS-nWoUmI1dTaMvMHPrRirZNkrsGH4",{"id":9474,"title":9475,"body":9476,"description":9725,"extension":653,"icon":9726,"meta":9727,"navigation":656,"order":657,"path":9728,"seo":9729,"stem":9730,"__hash__":9731},"docs\u002Fdocs\u002F4.learners\u002F2.tracking.md","Progress Tracking & Analytics",{"type":7,"value":9477,"toc":9718},[9478,9484,9487,9491,9496,9501,9574,9577,9581,9584,9616,9620,9627,9632,9670,9673,9675,9678,9692,9695,9699,9702,9715],[10,9479,9480],{},[676,9481],{"alt":9482,"src":9483},"Analytics Dashboard","\u002Fscreenshots\u002Fdocs\u002F05-analytics-dark.png",[10,9485,9486],{},"LearnBuilder tracks learner progress automatically. As a course creator, you can see how learners are moving through your content and where they're struggling.",[24,9488,9490],{"id":9489},"learner-dashboard","Learner dashboard",[10,9492,8036,9493,9495],{},[14,9494,824],{}," tab inside any course to see an overview of all enrolled learners.",[10,9497,9498],{},[14,9499,9500],{},"Columns:",[37,9502,9503,9513],{},[40,9504,9505],{},[43,9506,9507,9510],{},[46,9508,9509],{},"Column",[46,9511,9512],{},"What it shows",[53,9514,9515,9525,9534,9544,9554,9564],{},[43,9516,9517,9522],{},[58,9518,9519],{},[14,9520,9521],{},"Name \u002F Email",[58,9523,9524],{},"Learner identity",[43,9526,9527,9531],{},[58,9528,9529],{},[14,9530,9325],{},[58,9532,9533],{},"Active, Completed, or Invited (pending)",[43,9535,9536,9541],{},[58,9537,9538],{},[14,9539,9540],{},"Progress",[58,9542,9543],{},"Percentage of lessons completed",[43,9545,9546,9551],{},[58,9547,9548],{},[14,9549,9550],{},"Score",[58,9552,9553],{},"Average quiz\u002Fassessment score",[43,9555,9556,9561],{},[58,9557,9558],{},[14,9559,9560],{},"Enrolled",[58,9562,9563],{},"Enrollment date",[43,9565,9566,9571],{},[58,9567,9568],{},[14,9569,9570],{},"Last Active",[58,9572,9573],{},"Most recent session",[10,9575,9576],{},"Click any learner to open their detail view.",[24,9578,9580],{"id":9579},"learner-detail-view","Learner detail view",[10,9582,9583],{},"The learner detail view shows:",[290,9585,9586,9592,9598,9604,9610],{},[293,9587,9588,9591],{},[14,9589,9590],{},"Lesson-by-lesson completion"," — which lessons are done, in progress, or not started",[293,9593,9594,9597],{},[14,9595,9596],{},"Quiz scores"," — score per quiz block, including AI-graded responses and feedback",[293,9599,9600,9603],{},[14,9601,9602],{},"AI Dialogue results"," — conversation summary and score",[293,9605,9606,9609],{},[14,9607,9608],{},"Time spent"," — total time recorded in the course",[293,9611,9612,9615],{},[14,9613,9614],{},"Certificate status"," — issued or pending",[24,9617,9619],{"id":9618},"course-level-analytics","Course-level analytics",[277,9621,9622],{},[10,9623,9624,9626],{},[14,9625,937],{}," Analytics are available on Professional and Business plans.",[10,9628,3284,9629,9631],{},[14,9630,1155],{}," dashboard (accessed from the main course view) provides aggregate data:",[290,9633,9634,9640,9646,9652,9658,9664],{},[293,9635,9636,9639],{},[14,9637,9638],{},"Enrollment over time"," — chart of new enrollments",[293,9641,9642,9645],{},[14,9643,9644],{},"Completion rate"," — percentage of enrolled learners who finished",[293,9647,9648,9651],{},[14,9649,9650],{},"Average progress"," — mean lesson completion across all learners",[293,9653,9654,9657],{},[14,9655,9656],{},"Average score"," — mean assessment performance",[293,9659,9660,9663],{},[14,9661,9662],{},"Drop-off points"," — which lessons have the lowest completion rates",[293,9665,9666,9669],{},[14,9667,9668],{},"Most-used blocks"," — content engagement metrics",[10,9671,9672],{},"Use drop-off data to identify where learners are getting stuck or disengaged, then revise that content.",[24,9674,3353],{"id":3352},[10,9676,9677],{},"Learners have their own progress view in the learner portal:",[290,9679,9680,9683,9686,9689],{},[293,9681,9682],{},"Progress bar showing overall course completion",[293,9684,9685],{},"Checkmarks on completed lessons",[293,9687,9688],{},"Locked lessons (if sequential progress is enabled)",[293,9690,9691],{},"Quiz score history",[10,9693,9694],{},"Progress is saved automatically — learners can leave mid-lesson and return to where they were.",[24,9696,9698],{"id":9697},"exporting-data","Exporting data",[10,9700,9701],{},"To export learner data:",[319,9703,9704,9708,9712],{},[293,9705,6368,9706,2034],{},[14,9707,824],{},[293,9709,333,9710],{},[14,9711,5401],{},[293,9713,9714],{},"Download a CSV with enrollment status, progress, and scores for all learners",[10,9716,9717],{},"The export includes one row per learner with all tracked metrics.",{"title":425,"searchDepth":475,"depth":475,"links":9719},[9720,9721,9722,9723,9724],{"id":9489,"depth":475,"text":9490},{"id":9579,"depth":475,"text":9580},{"id":9618,"depth":475,"text":9619},{"id":3352,"depth":475,"text":3353},{"id":9697,"depth":475,"text":9698},"Monitor learner progress, completion rates, quiz scores, and time spent.","i-lucide-bar-chart",{},"\u002Fdocs\u002Flearners\u002Ftracking",{"title":9475,"description":9725},"docs\u002F4.learners\u002F2.tracking","hp27KyMez78WJvmta62iMJNlqObtSnsTjPlM-lRU4tg",{"id":9733,"title":9734,"body":9735,"description":9902,"extension":653,"icon":9903,"meta":9904,"navigation":656,"order":657,"path":9905,"seo":9906,"stem":9907,"__hash__":9908},"docs\u002Fdocs\u002F4.learners\u002F3.certificates.md","Certificates",{"type":7,"value":9736,"toc":9893},[9737,9740,9744,9764,9767,9771,9774,9784,9787,9791,9811,9815,9818,9837,9841,9851,9872,9879,9883,9886,9890],[10,9738,9739],{},"LearnBuilder can automatically issue a completion certificate when a learner finishes a course. Certificates are generated as downloadable PDFs.",[24,9741,9743],{"id":9742},"enabling-certificates","Enabling certificates",[319,9745,9746,9752,9761],{},[293,9747,8886,9748,8889,9750,8892],{},[14,9749,379],{},[14,9751,1181],{},[293,9753,9754,9755,9757,9758],{},"Find the ",[14,9756,1307],{}," toggle under ",[14,9759,9760],{},"Learner Experience",[293,9762,9763],{},"Switch it on",[10,9765,9766],{},"Once enabled, learners who meet the completion criteria will receive a certificate automatically.",[24,9768,9770],{"id":9769},"completion-criteria","Completion criteria",[10,9772,9773],{},"A certificate is issued when a learner:",[290,9775,9776,9781],{},[293,9777,9778,9779],{},"Has completed all lessons in the course, ",[14,9780,4124],{},[293,9782,9783],{},"Has met the minimum passing score (if a passing score is configured in course settings)",[10,9785,9786],{},"If no passing score is set, completing all lessons is sufficient.",[24,9788,9790],{"id":9789},"what-the-certificate-includes","What the certificate includes",[290,9792,9793,9796,9799,9802,9805,9808],{},[293,9794,9795],{},"Learner's full name",[293,9797,9798],{},"Course title",[293,9800,9801],{},"Completion date",[293,9803,9804],{},"Grade (if enabled)",[293,9806,9807],{},"Unique verification ID (for authenticity checks)",[293,9809,9810],{},"Your account branding (logo, colors, and fonts if configured)",[24,9812,9814],{"id":9813},"how-learners-access-their-certificate","How learners access their certificate",[10,9816,9817],{},"Once a course is completed:",[319,9819,9820,9827,9834],{},[293,9821,9822,9823,9826],{},"The learner sees a ",[14,9824,9825],{},"Download Certificate"," button on the course completion screen",[293,9828,9829,9830,9833],{},"They can also access it from ",[14,9831,9832],{},"My Learning"," in the learner portal",[293,9835,9836],{},"The certificate downloads as a PDF",[24,9838,9840],{"id":9839},"certificate-customization","Certificate customization",[10,9842,9843,9844,9022,9847,9850],{},"Full certificate customization is available on all paid plans via ",[14,9845,9846],{},"User Menu → Account → Branding",[14,9848,9849],{},"Certificate Layout",". You can:",[290,9852,9853,9859,9866,9869],{},[293,9854,4293,9855,9858],{},[14,9856,9857],{},"Landscape or Portrait"," orientation",[293,9860,9861,9862,9865],{},"Upload a ",[14,9863,9864],{},"custom background image"," (JPG or PNG)",[293,9867,9868],{},"Edit all text: title, subtitle, completion text, and issuer name",[293,9870,9871],{},"Toggle visibility of the completion date, grade, and verification ID",[10,9873,9874,9875,3796],{},"The Branding page shows a live preview as you make changes. See ",[448,9876,9878],{"href":9877},"\u002Fdocs\u002Faccount\u002Fbranding","Branding",[24,9880,9882],{"id":9881},"verifying-certificates","Verifying certificates",[10,9884,9885],{},"Each certificate has a unique verification ID. Recipients can share this ID to confirm their certificate is genuine. Verification can be done through your LearnBuilder portal.",[24,9887,9889],{"id":9888},"certificates-and-re-enrollment","Certificates and re-enrollment",[10,9891,9892],{},"If a learner retakes a course and achieves completion again, a new certificate is issued with the new completion date. Previous certificates remain valid.",{"title":425,"searchDepth":475,"depth":475,"links":9894},[9895,9896,9897,9898,9899,9900,9901],{"id":9742,"depth":475,"text":9743},{"id":9769,"depth":475,"text":9770},{"id":9789,"depth":475,"text":9790},{"id":9813,"depth":475,"text":9814},{"id":9839,"depth":475,"text":9840},{"id":9881,"depth":475,"text":9882},{"id":9888,"depth":475,"text":9889},"Configure course completion certificates and how learners download them.","i-lucide-award",{},"\u002Fdocs\u002Flearners\u002Fcertificates",{"title":9734,"description":9902},"docs\u002F4.learners\u002F3.certificates","TlKHZQxek-RfT5UVvqsNqLgFeg-zbzRFySU4ILLFDiA",{"id":9910,"title":9911,"body":9912,"description":10143,"extension":653,"icon":10144,"meta":10145,"navigation":656,"order":657,"path":10146,"seo":10147,"stem":10148,"__hash__":10149},"docs\u002Fdocs\u002F4.learners\u002F4.learner-groups.md","Learner Groups",{"type":7,"value":9913,"toc":10133},[9914,9917,9929,9933,9956,9960,9983,9986,9993,9997,10000,10045,10048,10052,10070,10074,10080,10084,10089,10091,10117,10121],[10,9915,9916],{},"Learner Groups let you organize learners into teams, departments, cohorts, or any logical grouping. Use groups to enroll multiple learners at once, assign courses in bulk, and track progress by group.",[277,9918,9919],{},[10,9920,9921,9923,9924,1386,9926,9928],{},[14,9922,937],{}," Learner Groups are available on the ",[14,9925,891],{},[14,9927,915],{}," plans.",[24,9930,9932],{"id":9931},"creating-a-group","Creating a group",[319,9934,9935,9941,9946,9949,9952],{},[293,9936,9937,9938],{},"Go to ",[14,9939,9940],{},"User Menu → Groups",[293,9942,333,9943],{},[14,9944,9945],{},"New Group",[293,9947,9948],{},"Enter a name (e.g., \"Sales Team\", \"New Hires Q1 2026\", \"Engineering\")",[293,9950,9951],{},"Optionally add a description and choose a color for visual distinction",[293,9953,333,9954],{},[14,9955,1131],{},[24,9957,9959],{"id":9958},"adding-learners-to-a-group","Adding learners to a group",[319,9961,9962,9965,9970,9975,9978],{},[293,9963,9964],{},"Open the group by clicking on it",[293,9966,6368,9967,2034],{},[14,9968,9969],{},"Members",[293,9971,333,9972],{},[14,9973,9974],{},"Add Learners",[293,9976,9977],{},"Select learners from the checkbox list",[293,9979,333,9980],{},[14,9981,9982],{},"Add",[10,9984,9985],{},"Learners can belong to multiple groups simultaneously. When a learner is added to a group, they are automatically enrolled in all courses assigned to that group.",[277,9987,9988],{},[10,9989,9990,9992],{},[14,9991,1404],{}," A learner must be registered and approved on your account before they can be added to a group.",[24,9994,9996],{"id":9995},"assigning-courses-to-a-group","Assigning courses to a group",[10,9998,9999],{},"Course assignments let you enroll all group members in a course at once. Future members added to the group will also be enrolled automatically.",[319,10001,10002,10005,10009,10014,10017,10040],{},[293,10003,10004],{},"Open the group",[293,10006,6368,10007,2034],{},[14,10008,821],{},[293,10010,333,10011],{},[14,10012,10013],{},"Assign Course",[293,10015,10016],{},"Select a course from the dropdown",[293,10018,10019,10020],{},"Optionally set compliance options:\n",[290,10021,10022,10028,10034],{},[293,10023,10024,10027],{},[14,10025,10026],{},"Mandatory"," — mark this as required training",[293,10029,10030,10033],{},[14,10031,10032],{},"Due Date"," — set a completion deadline",[293,10035,10036,10039],{},[14,10037,10038],{},"Recertification"," — require re-completion every N months",[293,10041,333,10042],{},[14,10043,10044],{},"Assign",[10,10046,10047],{},"All current group members are immediately enrolled. When new learners join the group later, they are auto-enrolled in all assigned courses.",[24,10049,10051],{"id":10050},"removing-courses-or-members","Removing courses or members",[290,10053,10054,10064],{},[293,10055,10056,10057,10060,10061,10063],{},"To remove a course assignment, click the ",[14,10058,10059],{},"×"," button next to the course in the Courses tab. This removes the assignment but does ",[14,10062,4368],{}," un-enroll learners who are already enrolled.",[293,10065,10066,10067,10069],{},"To remove a member, click the ",[14,10068,10059],{}," button next to their name in the Members tab.",[24,10071,10073],{"id":10072},"editing-a-group","Editing a group",[10,10075,333,10076,10079],{},[14,10077,10078],{},"Edit"," on the group detail page to change the name, description, or color.",[24,10081,10083],{"id":10082},"deleting-a-group","Deleting a group",[10,10085,333,10086,10088],{},[14,10087,2422],{}," on the group detail page. This removes the group and all membership\u002Fcourse assignment records. Existing enrollments and learner accounts are not affected.",[24,10090,2841],{"id":2840},[290,10092,10093,10099,10105,10111],{},[293,10094,10095,10098],{},[14,10096,10097],{},"Departments",": \"Engineering\", \"Sales\", \"Customer Support\" — assign department-specific training",[293,10100,10101,10104],{},[14,10102,10103],{},"Cohorts",": \"New Hires March 2026\" — onboarding programs for a batch of new employees",[293,10106,10107,10110],{},[14,10108,10109],{},"Locations",": \"Berlin Office\", \"New York Office\" — location-specific compliance training",[293,10112,10113,10116],{},[14,10114,10115],{},"Projects",": \"Product Launch Team\" — temporary groups for project-specific training",[24,10118,10120],{"id":10119},"api-access","API access",[10,10122,10123,10124,1386,10128,10132],{},"Groups can also be managed via the ",[448,10125,10127],{"href":10126},"\u002Fdocs\u002Faccount\u002Fintegrations#rest-api","REST API",[448,10129,10131],{"href":10130},"\u002Fdocs\u002Faccount\u002Fintegrations#scim-user-provisioning","SCIM"," for automated provisioning from HR systems.",{"title":425,"searchDepth":475,"depth":475,"links":10134},[10135,10136,10137,10138,10139,10140,10141,10142],{"id":9931,"depth":475,"text":9932},{"id":9958,"depth":475,"text":9959},{"id":9995,"depth":475,"text":9996},{"id":10050,"depth":475,"text":10051},{"id":10072,"depth":475,"text":10073},{"id":10082,"depth":475,"text":10083},{"id":2840,"depth":475,"text":2841},{"id":10119,"depth":475,"text":10120},"Organize learners into groups for bulk enrollment, course assignments, and compliance tracking.","i-lucide-users",{},"\u002Fdocs\u002Flearners\u002Flearner-groups",{"title":9911,"description":10143},"docs\u002F4.learners\u002F4.learner-groups","7lindUs8h9g6YpzdFTyqPcdMLEgs4Qp3ILNOuCbD9dU",{"id":10151,"title":10152,"body":10153,"description":10408,"extension":653,"icon":10409,"meta":10410,"navigation":656,"order":657,"path":10411,"seo":10412,"stem":10413,"__hash__":10414},"docs\u002Fdocs\u002F4.learners\u002F5.learning-paths.md","Learning Paths",{"type":7,"value":10154,"toc":10393},[10155,10158,10169,10173,10192,10199,10203,10221,10224,10228,10234,10238,10241,10244,10248,10256,10259,10263,10267,10289,10296,10300,10305,10311,10315,10322,10326,10329,10349,10352,10356,10361,10363],[10,10156,10157],{},"Learning Paths let you combine multiple courses into a structured curriculum. Learners progress through courses in order, with optional prerequisites ensuring they complete foundational material before advancing.",[277,10159,10160],{},[10,10161,10162,10164,10165,1386,10167,9928],{},[14,10163,937],{}," Learning Paths are available on the ",[14,10166,891],{},[14,10168,915],{},[24,10170,10172],{"id":10171},"creating-a-learning-path","Creating a learning path",[319,10174,10175,10180,10185,10188],{},[293,10176,9937,10177],{},[14,10178,10179],{},"User Menu → Learning Paths",[293,10181,333,10182],{},[14,10183,10184],{},"New Learning Path",[293,10186,10187],{},"Enter a title and optional description",[293,10189,333,10190],{},[14,10191,1131],{},[10,10193,10194,10195,10198],{},"The path is created in ",[14,10196,10197],{},"draft"," status. Add courses and configure it before publishing.",[24,10200,10202],{"id":10201},"adding-courses-to-a-path","Adding courses to a path",[319,10204,10205,10208,10215,10218],{},[293,10206,10207],{},"Open the learning path",[293,10209,1417,10210,2266,10212],{},[14,10211,821],{},[14,10213,10214],{},"Add Course",[293,10216,10217],{},"Select a course from your account",[293,10219,10220],{},"The course is added at the end of the sequence",[10,10222,10223],{},"Repeat to add more courses. Courses are displayed in order — learners work through them from top to bottom.",[24,10225,10227],{"id":10226},"reordering-courses","Reordering courses",[10,10229,2068,10230,10233],{},[14,10231,10232],{},"up\u002Fdown arrows"," next to each course to change the order. The order determines the sequence learners follow.",[24,10235,10237],{"id":10236},"setting-prerequisites","Setting prerequisites",[10,10239,10240],{},"Prerequisites require a learner to complete specific courses before accessing the next one. When viewing the path, courses with unmet prerequisites appear locked.",[10,10242,10243],{},"Prerequisites are set per-course within the path — a course can require one or more earlier courses to be completed first.",[24,10245,10247],{"id":10246},"publishing-a-learning-path","Publishing a learning path",[319,10249,10250,10252],{},[293,10251,10207],{},[293,10253,333,10254],{},[14,10255,1469],{},[10,10257,10258],{},"Published paths are available for enrollment. Draft paths are only visible to admins.",[24,10260,10262],{"id":10261},"enrolling-learners","Enrolling learners",[32,10264,10266],{"id":10265},"manual-enrollment","Manual enrollment",[319,10268,10269,10271,10276,10281,10284],{},[293,10270,10207],{},[293,10272,6368,10273,2034],{},[14,10274,10275],{},"Enrollments",[293,10277,333,10278],{},[14,10279,10280],{},"Enroll Learners",[293,10282,10283],{},"Select learners from the list",[293,10285,333,10286],{},[14,10287,10288],{},"Enroll",[10,10290,10291,10292,10295],{},"When a learner is enrolled in a path, they are automatically enrolled in ",[14,10293,10294],{},"all courses"," within the path.",[32,10297,10299],{"id":10298},"via-api","Via API",[10,10301,2068,10302,10304],{},[448,10303,10127],{"href":10126}," to enroll learners programmatically:",[417,10306,10309],{"className":10307,"code":10308,"language":422},[420],"POST \u002Fapi\u002Fv1\u002Flearning-paths\u002F:pathId\u002Fenroll\n{ \"email\": \"jane@company.com\" }\n",[61,10310,10308],{"__ignoreMap":425},[32,10312,10314],{"id":10313},"via-learner-groups","Via learner groups",[10,10316,10317,10318,10321],{},"Assign a learning path to a ",[448,10319,10320],{"href":10146},"learner group"," to enroll all group members at once.",[24,10323,10325],{"id":10324},"tracking-progress","Tracking progress",[10,10327,10328],{},"Path progress is calculated as the average progress across all constituent courses:",[290,10330,10331,10337,10343],{},[293,10332,10333,10336],{},[14,10334,10335],{},"Not started"," — no courses begun",[293,10338,10339,10342],{},[14,10340,10341],{},"In progress"," — at least one course started",[293,10344,10345,10348],{},[14,10346,10347],{},"Completed"," — all courses in the path completed",[10,10350,10351],{},"When all courses are completed, the path enrollment is automatically marked as completed.",[24,10353,10355],{"id":10354},"deleting-a-learning-path","Deleting a learning path",[10,10357,333,10358,10360],{},[14,10359,2422],{}," on the path detail page. This removes the path and its course assignments. Individual course enrollments are not affected — learners retain access to the courses they were enrolled in.",[24,10362,2841],{"id":2840},[290,10364,10365,10371,10377,10383],{},[293,10366,10367,10370],{},[14,10368,10369],{},"Employee onboarding",": Company overview → Policies & compliance → Role-specific training → Final assessment",[293,10372,10373,10376],{},[14,10374,10375],{},"Certification programs",": Theory course → Practical exercises → Exam → Certification",[293,10378,10379,10382],{},[14,10380,10381],{},"Skill development",": Beginner → Intermediate → Advanced courses in a subject area",[293,10384,10385,10388,10389],{},[14,10386,10387],{},"Compliance programs",": Annual compliance training sequence with recertification via ",[448,10390,10392],{"href":10391},"\u002Fdocs\u002Flearners\u002Fcompliance","mandatory training",{"title":425,"searchDepth":475,"depth":475,"links":10394},[10395,10396,10397,10398,10399,10400,10405,10406,10407],{"id":10171,"depth":475,"text":10172},{"id":10201,"depth":475,"text":10202},{"id":10226,"depth":475,"text":10227},{"id":10236,"depth":475,"text":10237},{"id":10246,"depth":475,"text":10247},{"id":10261,"depth":475,"text":10262,"children":10401},[10402,10403,10404],{"id":10265,"depth":485,"text":10266},{"id":10298,"depth":485,"text":10299},{"id":10313,"depth":485,"text":10314},{"id":10324,"depth":475,"text":10325},{"id":10354,"depth":475,"text":10355},{"id":2840,"depth":475,"text":2841},"Chain multiple courses into sequenced programs with prerequisites.","i-lucide-route",{},"\u002Fdocs\u002Flearners\u002Flearning-paths",{"title":10152,"description":10408},"docs\u002F4.learners\u002F5.learning-paths","Yzu4Uk3NelKJXcMcfabJ7v6Gqc6hxfaesaQB-zA_hSk",{"id":10416,"title":10417,"body":10418,"description":10862,"extension":653,"icon":10863,"meta":10864,"navigation":656,"order":657,"path":10391,"seo":10865,"stem":10866,"__hash__":10867},"docs\u002Fdocs\u002F4.learners\u002F6.compliance.md","Compliance & Mandatory Training",{"type":7,"value":10419,"toc":10847},[10420,10423,10433,10437,10443,10477,10480,10484,10487,10498,10501,10504,10515,10518,10522,10525,10595,10598,10602,10605,10609,10618,10622,10625,10657,10661,10664,10672,10676,10679,10692,10696,10755,10759,10767,10811,10815],[10,10421,10422],{},"LearnBuilder's compliance features help you ensure employees complete mandatory training on time. Set due dates, require recertification, and track compliance status across your organization.",[277,10424,10425],{},[10,10426,10427,10429,10430,10432],{},[14,10428,937],{}," Compliance tracking is available on the ",[14,10431,915],{}," plan.",[24,10434,10436],{"id":10435},"marking-training-as-mandatory","Marking training as mandatory",[10,10438,10439,10440,10442],{},"When assigning a course to a ",[448,10441,10320],{"href":10146},", you can mark it as mandatory:",[319,10444,10445,10450,10454,10457,10461,10466,10473],{},[293,10446,10447,10448,2034],{},"Open a group and go to the ",[14,10449,821],{},[293,10451,333,10452],{},[14,10453,10013],{},[293,10455,10456],{},"Select a course",[293,10458,1375,10459,8450],{},[14,10460,10026],{},[293,10462,1382,10463,10465],{},[14,10464,10032],{}," for when the course must be completed",[293,10467,10468,10469,10472],{},"Optionally set a ",[14,10470,10471],{},"Recertification period"," (in months) to require periodic re-completion",[293,10474,333,10475],{},[14,10476,10044],{},[10,10478,10479],{},"All current group members are enrolled with the compliance requirements. Future members added to the group are also auto-enrolled with the same requirements.",[24,10481,10483],{"id":10482},"due-dates","Due dates",[10,10485,10486],{},"Due dates set a deadline for course completion. When a due date is set:",[290,10488,10489,10492,10495],{},[293,10490,10491],{},"Learners see the due date on their course enrollment",[293,10493,10494],{},"The compliance dashboard tracks whether learners are on time, due soon, or overdue",[293,10496,10497],{},"Automated reminder emails are sent as the deadline approaches",[24,10499,10038],{"id":10500},"recertification",[10,10502,10503],{},"Recertification requires learners to re-complete a course periodically after their initial completion. When set:",[290,10505,10506,10509,10512],{},[293,10507,10508],{},"After a learner completes the course, a recertification due date is calculated (completion date + recertification months)",[293,10510,10511],{},"As the recertification date approaches, reminder emails are sent",[293,10513,10514],{},"The compliance dashboard shows recertification status",[10,10516,10517],{},"For example, setting a 12-month recertification period means the learner must re-complete the course every year.",[24,10519,10521],{"id":10520},"automated-reminders","Automated reminders",[10,10523,10524],{},"LearnBuilder sends automated email reminders for mandatory training:",[37,10526,10527,10537],{},[40,10528,10529],{},[43,10530,10531,10534],{},[46,10532,10533],{},"When",[46,10535,10536],{},"Email sent",[53,10538,10539,10547,10555,10563,10571,10579,10587],{},[43,10540,10541,10544],{},[58,10542,10543],{},"7 days before due date",[58,10545,10546],{},"Reminder: course due in 7 days",[43,10548,10549,10552],{},[58,10550,10551],{},"3 days before due date",[58,10553,10554],{},"Reminder: course due in 3 days",[43,10556,10557,10560],{},[58,10558,10559],{},"1 day before due date",[58,10561,10562],{},"Reminder: course due tomorrow",[43,10564,10565,10568],{},[58,10566,10567],{},"On due date",[58,10569,10570],{},"Reminder: course due today",[43,10572,10573,10576],{},[58,10574,10575],{},"1+ days after due date",[58,10577,10578],{},"Overdue notice",[43,10580,10581,10584],{},[58,10582,10583],{},"30 days before recertification",[58,10585,10586],{},"Recertification reminder",[43,10588,10589,10592],{},[58,10590,10591],{},"Recertification date passed",[58,10593,10594],{},"Recertification overdue notice",[10,10596,10597],{},"Reminders are sent at most once per day per enrollment to avoid spamming learners.",[24,10599,10601],{"id":10600},"compliance-dashboard","Compliance dashboard",[10,10603,10604],{},"The compliance dashboard gives you an overview of mandatory training status across your organization.",[32,10606,10608],{"id":10607},"accessing-the-dashboard","Accessing the dashboard",[10,10610,9937,10611,10614,10615,275],{},[14,10612,10613],{},"User Menu → Compliance"," or navigate to ",[61,10616,10617],{},"\u002Faccounts\u002F{slug}\u002Fcompliance",[32,10619,10621],{"id":10620},"summary-cards","Summary cards",[10,10623,10624],{},"The dashboard shows five key metrics:",[290,10626,10627,10633,10639,10645,10651],{},[293,10628,10629,10632],{},[14,10630,10631],{},"Total Assignments"," — total number of mandatory course enrollments",[293,10634,10635,10638],{},[14,10636,10637],{},"Compliant"," — completed and up to date (green)",[293,10640,10641,10644],{},[14,10642,10643],{},"Due Soon"," — due within the next 7 days (yellow)",[293,10646,10647,10650],{},[14,10648,10649],{},"Overdue"," — past due date and not completed (red)",[293,10652,10653,10656],{},[14,10654,10655],{},"Completion Rate"," — percentage of assignments that are compliant",[32,10658,10660],{"id":10659},"by-course-view","By Course view",[10,10662,10663],{},"Shows each mandatory course with its compliance breakdown:",[290,10665,10666,10669],{},[293,10667,10668],{},"How many learners are compliant, due soon, or overdue",[293,10670,10671],{},"Total assigned count",[32,10673,10675],{"id":10674},"attention-required","Attention Required",[10,10677,10678],{},"Lists individual enrollments that are overdue or due soon, sorted by urgency:",[290,10680,10681,10684,10686,10689],{},[293,10682,10683],{},"Learner name and email",[293,10685,9798],{},[293,10687,10688],{},"Due date",[293,10690,10691],{},"Status badge (Overdue \u002F Due Soon)",[24,10693,10695],{"id":10694},"compliance-statuses","Compliance statuses",[37,10697,10698,10706],{},[40,10699,10700],{},[43,10701,10702,10704],{},[46,10703,9325],{},[46,10705,9328],{},[53,10707,10708,10717,10726,10735,10745],{},[43,10709,10710,10714],{},[58,10711,10712],{},[14,10713,10637],{},[58,10715,10716],{},"Course completed, no recertification due (or not yet due)",[43,10718,10719,10723],{},[58,10720,10721],{},[14,10722,10643],{},[58,10724,10725],{},"Within 7 days of due date, not yet completed",[43,10727,10728,10732],{},[58,10729,10730],{},[14,10731,10649],{},[58,10733,10734],{},"Past due date and not completed, or recertification expired",[43,10736,10737,10742],{},[58,10738,10739],{},[14,10740,10741],{},"In Progress",[58,10743,10744],{},"Course started but not yet due",[43,10746,10747,10752],{},[58,10748,10749],{},[14,10750,10751],{},"Not Started",[58,10753,10754],{},"Assigned but not yet started and not yet due",[24,10756,10758],{"id":10757},"webhook-events","Webhook events",[10,10760,10761,10762,10766],{},"If you have ",[448,10763,10765],{"href":10764},"\u002Fdocs\u002Faccount\u002Fintegrations#webhooks","webhooks"," configured, compliance events are dispatched automatically:",[37,10768,10769,10779],{},[40,10770,10771],{},[43,10772,10773,10776],{},[46,10774,10775],{},"Event",[46,10777,10778],{},"Triggered when",[53,10780,10781,10791,10801],{},[43,10782,10783,10788],{},[58,10784,10785],{},[61,10786,10787],{},"assignment.overdue",[58,10789,10790],{},"A mandatory enrollment passes its due date without completion",[43,10792,10793,10798],{},[58,10794,10795],{},[61,10796,10797],{},"assignment.due_soon",[58,10799,10800],{},"A mandatory enrollment is within 7 days of its due date",[43,10802,10803,10808],{},[58,10804,10805],{},[61,10806,10807],{},"assignment.recertification_due",[58,10809,10810],{},"A recertification deadline is approaching",[24,10812,10814],{"id":10813},"best-practices","Best practices",[290,10816,10817,10823,10829,10835,10841],{},[293,10818,10819,10822],{},[14,10820,10821],{},"Set realistic due dates"," — give learners enough time to complete training alongside their regular work",[293,10824,10825,10828],{},[14,10826,10827],{},"Use recertification for regulatory training"," — annual compliance courses (data privacy, workplace safety, etc.) benefit from automatic recertification",[293,10830,10831,10834],{},[14,10832,10833],{},"Combine with learner groups"," — organize learners by department or role, then assign mandatory courses to groups for efficient bulk management",[293,10836,10837,10840],{},[14,10838,10839],{},"Monitor the dashboard regularly"," — check the compliance dashboard weekly to identify overdue learners early",[293,10842,10843,10846],{},[14,10844,10845],{},"Use webhooks for integration"," — connect compliance events to your HR system or Slack for real-time notifications",{"title":425,"searchDepth":475,"depth":475,"links":10848},[10849,10850,10851,10852,10853,10859,10860,10861],{"id":10435,"depth":475,"text":10436},{"id":10482,"depth":475,"text":10483},{"id":10500,"depth":475,"text":10038},{"id":10520,"depth":475,"text":10521},{"id":10600,"depth":475,"text":10601,"children":10854},[10855,10856,10857,10858],{"id":10607,"depth":485,"text":10608},{"id":10620,"depth":485,"text":10621},{"id":10659,"depth":485,"text":10660},{"id":10674,"depth":485,"text":10675},{"id":10694,"depth":475,"text":10695},{"id":10757,"depth":475,"text":10758},{"id":10813,"depth":475,"text":10814},"Track mandatory training with due dates, recertification, automated reminders, and compliance reporting.","i-lucide-shield-check",{},{"title":10417,"description":10862},"docs\u002F4.learners\u002F6.compliance","Y5aEoVNIxpKB8Ca2RJD8tkEgVXp2l_8Tswxlpzf2wRY",{"id":10869,"title":10870,"body":10871,"description":11015,"extension":653,"icon":11016,"meta":11017,"navigation":656,"order":657,"path":11018,"seo":11019,"stem":11020,"__hash__":11021},"docs\u002Fdocs\u002F4.learners\u002F7.guest-mode.md","Guest Mode",{"type":7,"value":10872,"toc":11005},[10873,10876,10880,10883,10902,10909,10911,10915,10918,10935,10938,10942,10949,10953,10960,10964,10975,10979],[10,10874,10875],{},"Guest mode lets anyone access a course without creating an account or logging in. It's useful for demos, marketing, free previews, and public training content.",[24,10877,10879],{"id":10878},"enabling-guest-mode","Enabling guest mode",[10,10881,10882],{},"Guest mode is configured per course in the course settings:",[319,10884,10885,10890,10896],{},[293,10886,10887,10888],{},"Open your course and go to ",[14,10889,1164],{},[293,10891,1375,10892,10895],{},[14,10893,10894],{},"Allow guest mode"," to enable anonymous access",[293,10897,2495,10898,10901],{},[14,10899,10900],{},"Allow search engine + AI indexing"," to let the course appear in search engine results and AI training data",[10,10903,10904,10905,10908],{},"Once enabled, a shareable link is available in course settings. Use the ",[14,10906,10907],{},"Copy link"," button to grab the guest URL.",[24,10910,6322],{"id":6321},[32,10912,10914],{"id":10913},"guest-users","Guest users",[10,10916,10917],{},"When someone opens a guest course link without being logged in, they see:",[290,10919,10920,10926,10932],{},[293,10921,1814,10922,10925],{},[14,10923,10924],{},"branded header"," with the course or account logo",[293,10927,1814,10928,10931],{},[14,10929,10930],{},"guest mode banner"," indicating \"Guest mode -- your progress won't be saved\"",[293,10933,10934],{},"Full access to all course content, including lessons, quizzes, and interactive blocks",[10,10936,10937],{},"Guest users can interact with everything in the course, including AI Dialogue blocks. They cannot save progress, earn certificates, or appear in learner analytics.",[32,10939,10941],{"id":10940},"logged-in-users","Logged-in users",[10,10943,10944,10945,10948],{},"When a logged-in user visits a guest course link, they are ",[14,10946,10947],{},"automatically enrolled"," in the course. Their progress is tracked normally — no guest banner appears.",[24,10950,10952],{"id":10951},"ai-credit-usage","AI credit usage",[10,10954,10955,10956,10959],{},"AI-powered blocks (AI Dialogues, AI Tutor chat, AI-graded questions) work for guest users. The AI credits consumed by guest interactions are ",[14,10957,10958],{},"charged to the course owner's account",", not the guest.",[24,10961,10963],{"id":10962},"discoverability","Discoverability",[10,10965,10966,10967,10970,10971,10974],{},"Guest courses appear on the ",[14,10968,10969],{},"\u002Flearn"," browse page, making them discoverable by anyone visiting your learning portal. The homepage ",[14,10972,10973],{},"\"Try it yourself\""," section can also feature guest courses for quick access.",[24,10976,10978],{"id":10977},"when-to-use-guest-mode","When to use guest mode",[290,10980,10981,10987,10993,10999],{},[293,10982,10983,10986],{},[14,10984,10985],{},"Lead generation"," — let prospects experience a sample course before signing up",[293,10988,10989,10992],{},[14,10990,10991],{},"Public training"," — share compliance or onboarding content with external partners who don't need accounts",[293,10994,10995,10998],{},[14,10996,10997],{},"Demos"," — send a link to stakeholders for review without requiring login",[293,11000,11001,11004],{},[14,11002,11003],{},"Free content"," — offer open courses as part of a content marketing strategy",{"title":425,"searchDepth":475,"depth":475,"links":11006},[11007,11008,11012,11013,11014],{"id":10878,"depth":475,"text":10879},{"id":6321,"depth":475,"text":6322,"children":11009},[11010,11011],{"id":10913,"depth":485,"text":10914},{"id":10940,"depth":485,"text":10941},{"id":10951,"depth":475,"text":10952},{"id":10962,"depth":475,"text":10963},{"id":10977,"depth":475,"text":10978},"Allow anonymous users to preview a course without logging in.","i-lucide-user-round",{},"\u002Fdocs\u002Flearners\u002Fguest-mode",{"title":10870,"description":11015},"docs\u002F4.learners\u002F7.guest-mode","DNUpv4Yt9p76hk1gMb1Cx7j4UVcu4Lx7k-o0SDv6oJw",{"id":11023,"title":9878,"body":11024,"description":11364,"extension":653,"icon":11365,"meta":11366,"navigation":656,"order":657,"path":9877,"seo":11367,"stem":11368,"__hash__":11369},"docs\u002Fdocs\u002F5.account\u002F1.branding.md",{"type":7,"value":11025,"toc":11353},[11026,11032,11035,11042,11046,11049,11064,11071,11075,11078,11093,11097,11100,11125,11128,11132,11135,11153,11157,11215,11219,11225,11229,11328,11331,11338,11342],[10,11027,11028],{},[676,11029],{"alt":11030,"src":11031},"Account Settings - Branding","\u002Fscreenshots\u002Fdocs\u002F06-account-settings-dark.jpg",[10,11033,11034],{},"Custom branding lets you replace LearnBuilder's default visual identity with your own — logo, favicon, color scheme, typography, and certificate design — across the learner portal, course pages, and certificates.",[277,11036,11037],{},[10,11038,11039,11041],{},[14,11040,937],{}," Custom branding is included with all paid plans (Starter and above).",[24,11043,11045],{"id":11044},"uploading-your-logo","Uploading your logo",[10,11047,11048],{},"Your logo appears in the top navigation bar and on the learner portal login and registration pages.",[319,11050,11051,11056,11061],{},[293,11052,11053,11054,2034],{},"Navigate to ",[14,11055,9846],{},[293,11057,333,11058],{},[14,11059,11060],{},"Upload Logo",[293,11062,11063],{},"Select an image file from your computer",[277,11065,11066],{},[10,11067,11068,11070],{},[14,11069,1404],{}," Square or landscape formats work best. PNG with a transparent background is recommended for a clean appearance on both light and dark backgrounds. Recommended minimum size: 200×200px.",[24,11072,11074],{"id":11073},"uploading-a-favicon","Uploading a favicon",[10,11076,11077],{},"The favicon appears in browser tabs and bookmarks.",[319,11079,11080,11087,11090],{},[293,11081,1417,11082,2266,11084],{},[14,11083,9846],{},[14,11085,11086],{},"Upload Favicon",[293,11088,11089],{},"Select a square image — PNG, ICO, or SVG. 32×32px or 96×96px works best.",[293,11091,11092],{},"Save changes",[24,11094,11096],{"id":11095},"setting-brand-colors","Setting brand colors",[10,11098,11099],{},"Your primary and secondary colors are used throughout the learner interface — buttons, links, progress bars, and certificate accents.",[319,11101,11102,11110,11117,11123],{},[293,11103,1417,11104,11106,11107,8892],{},[14,11105,9846],{}," tab, find the ",[14,11108,11109],{},"Colors & Fonts",[293,11111,11112,11113,11116],{},"Click the color swatch next to ",[14,11114,11115],{},"Primary Color"," and enter a hex code or pick from the color picker",[293,11118,11119,11120],{},"Repeat for ",[14,11121,11122],{},"Secondary Color",[293,11124,11092],{},[10,11126,11127],{},"The preview updates as you pick colors. Changes apply immediately to your live portal once saved.",[24,11129,11131],{"id":11130},"choosing-fonts","Choosing fonts",[10,11133,11134],{},"You can select separate fonts for headings and body text in the learner portal.",[319,11136,11137,11148,11151],{},[293,11138,1417,11139,11141,11142,1386,11145],{},[14,11140,11109],{}," section, find ",[14,11143,11144],{},"Header Font",[14,11146,11147],{},"Body Font",[293,11149,11150],{},"Choose a font from the dropdown for each — a selection of web-safe and Google Fonts is available",[293,11152,11092],{},[24,11154,11156],{"id":11155},"where-branding-appears","Where branding appears",[37,11158,11159,11168],{},[40,11160,11161],{},[43,11162,11163,11165],{},[46,11164,4515],{},[46,11166,11167],{},"Branding applied",[53,11169,11170,11178,11185,11193,11200,11207],{},[43,11171,11172,11175],{},[58,11173,11174],{},"Learner portal header",[58,11176,11177],{},"Logo",[43,11179,11180,11183],{},[58,11181,11182],{},"Login \u002F registration page",[58,11184,11177],{},[43,11186,11187,11190],{},[58,11188,11189],{},"Course player",[58,11191,11192],{},"Logo + primary color",[43,11194,11195,11197],{},[58,11196,9734],{},[58,11198,11199],{},"Logo + primary color + fonts",[43,11201,11202,11205],{},[58,11203,11204],{},"Email invitations",[58,11206,11177],{},[43,11208,11209,11212],{},[58,11210,11211],{},"Browser tab",[58,11213,11214],{},"Favicon",[24,11216,11218],{"id":11217},"certificate-design","Certificate design",[10,11220,11221,11222,11224],{},"The Branding tab includes a full ",[14,11223,9849],{}," section where you can customize how completion certificates look.",[32,11226,11228],{"id":11227},"certificate-settings","Certificate settings",[37,11230,11231,11239],{},[40,11232,11233],{},[43,11234,11235,11237],{},[46,11236,3728],{},[46,11238,1216],{},[53,11240,11241,11250,11260,11270,11280,11290,11300,11310,11319],{},[43,11242,11243,11248],{},[58,11244,11245],{},[14,11246,11247],{},"Orientation",[58,11249,9857],{},[43,11251,11252,11257],{},[58,11253,11254],{},[14,11255,11256],{},"Background Image",[58,11258,11259],{},"Upload a custom JPG\u002FPNG background — decorative borders are hidden when a background is set",[43,11261,11262,11267],{},[58,11263,11264],{},[14,11265,11266],{},"Title Text",[58,11268,11269],{},"Heading text (default: \"CERTIFICATE OF COMPLETION\")",[43,11271,11272,11277],{},[58,11273,11274],{},[14,11275,11276],{},"Subtitle Text",[58,11278,11279],{},"Text above the learner's name (default: \"This certifies that\")",[43,11281,11282,11287],{},[58,11283,11284],{},[14,11285,11286],{},"Completion Text",[58,11288,11289],{},"Text below the learner's name (default: \"has successfully completed\")",[43,11291,11292,11297],{},[58,11293,11294],{},[14,11295,11296],{},"Issuer Name",[58,11298,11299],{},"Organisation name shown at the bottom",[43,11301,11302,11307],{},[58,11303,11304],{},[14,11305,11306],{},"Show completion date",[58,11308,11309],{},"Toggle on\u002Foff",[43,11311,11312,11317],{},[58,11313,11314],{},[14,11315,11316],{},"Show grade",[58,11318,11309],{},[43,11320,11321,11326],{},[58,11322,11323],{},[14,11324,11325],{},"Show verification info",[58,11327,11309],{},[10,11329,11330],{},"A live preview updates as you make changes.",[277,11332,11333],{},[10,11334,11335,11337],{},[14,11336,1404],{}," Upload a custom background image for a fully branded certificate design. Use a JPG or PNG in the correct orientation (landscape or portrait).",[24,11339,11341],{"id":11340},"white-label-branding","White-label branding",[10,11343,11344,11345,11347,11348,9022,11350,275],{},"On the ",[14,11346,297],{},", white-label mode removes all LearnBuilder branding entirely, including footer references and default email footers. This is configured in ",[14,11349,9846],{},[14,11351,11352],{},"White Label",{"title":425,"searchDepth":475,"depth":475,"links":11354},[11355,11356,11357,11358,11359,11360,11363],{"id":11044,"depth":475,"text":11045},{"id":11073,"depth":475,"text":11074},{"id":11095,"depth":475,"text":11096},{"id":11130,"depth":475,"text":11131},{"id":11155,"depth":475,"text":11156},{"id":11217,"depth":475,"text":11218,"children":11361},[11362],{"id":11227,"depth":485,"text":11228},{"id":11340,"depth":475,"text":11341},"Customize your LearnBuilder environment with your logo, favicon, brand colors, fonts, and certificate design.","i-lucide-brush",{},{"title":9878,"description":11364},"docs\u002F5.account\u002F1.branding","0BMlwq3uoIlNaFT5_SHbCYsE_31gjEfVbbahPD_QpBI",{"id":11371,"title":11372,"body":11373,"description":11674,"extension":653,"icon":11675,"meta":11676,"navigation":656,"order":657,"path":11677,"seo":11678,"stem":11679,"__hash__":11680},"docs\u002Fdocs\u002F5.account\u002F2.custom-domain.md","Custom Domain",{"type":7,"value":11374,"toc":11661},[11375,11382,11393,11395,11398,11402,11406,11409,11425,11429,11455,11459,11462,11503,11510,11514,11530,11534,11537,11541,11602,11606,11611,11625,11630,11638,11642,11658],[10,11376,11377,11378,11381],{},"A custom domain lets you host your LearnBuilder learner portal and courses at a URL you control — for example, ",[61,11379,11380],{},"learn.yourcompany.com"," instead of the default LearnBuilder URL.",[277,11383,11384],{},[10,11385,11386,11388,11389,1386,11391,9928],{},[14,11387,937],{}," Custom domains are available on the ",[14,11390,891],{},[14,11392,915],{},[24,11394,1568],{"id":1567},[10,11396,11397],{},"When a custom domain is configured, your learner portal and all course links are served from your domain. LearnBuilder handles the hosting and SSL certificate automatically.",[24,11399,11401],{"id":11400},"setting-up-a-custom-domain","Setting up a custom domain",[32,11403,11405],{"id":11404},"step-1-choose-your-subdomain","Step 1: Choose your subdomain",[10,11407,11408],{},"Decide on the domain or subdomain you want to use. A subdomain is recommended:",[290,11410,11411,11415,11420],{},[293,11412,11413],{},[61,11414,11380],{},[293,11416,11417],{},[61,11418,11419],{},"training.yourcompany.com",[293,11421,11422],{},[61,11423,11424],{},"academy.yourcompany.com",[32,11426,11428],{"id":11427},"step-2-add-the-domain-in-learnbuilder","Step 2: Add the domain in LearnBuilder",[319,11430,11431,11438,11443,11448],{},[293,11432,9937,11433,9022,11436],{},[14,11434,11435],{},"User Menu → Account → General",[14,11437,11372],{},[293,11439,11440,11441,5820],{},"Enter your domain (e.g., ",[61,11442,11380],{},[293,11444,333,11445],{},[14,11446,11447],{},"Add Domain",[293,11449,11450,11451,11454],{},"LearnBuilder will display a ",[14,11452,11453],{},"CNAME record"," you need to add to your DNS",[32,11456,11458],{"id":11457},"step-3-configure-dns","Step 3: Configure DNS",[10,11460,11461],{},"In your domain registrar or DNS provider (e.g., Cloudflare, GoDaddy, Route 53):",[319,11463,11464,11467,11500],{},[293,11465,11466],{},"Open your DNS settings for the domain",[293,11468,11469,11470,11473,11474],{},"Add a new ",[14,11471,11472],{},"CNAME"," record:\n",[290,11475,11476,11485,11494],{},[293,11477,11478,11481,11482,5820],{},[14,11479,11480],{},"Name \u002F Host:"," the subdomain you chose (e.g., ",[61,11483,11484],{},"learn",[293,11486,11487,11490,11491,5820],{},[14,11488,11489],{},"Value \u002F Target:"," the CNAME target shown in LearnBuilder (e.g., ",[61,11492,11493],{},"cname.learnbuilder.org",[293,11495,11496,11499],{},[14,11497,11498],{},"TTL:"," 3600 (or Auto)",[293,11501,11502],{},"Save the record",[277,11504,11505],{},[10,11506,11507,11509],{},[14,11508,1404],{}," DNS propagation can take anywhere from a few minutes to 48 hours, though it's usually faster. LearnBuilder checks automatically and activates the domain once it resolves.",[32,11511,11513],{"id":11512},"step-4-verify-and-activate","Step 4: Verify and activate",[10,11515,11516,11517,9022,11519,11521,11522,11525,11526,11529],{},"Back in ",[14,11518,11435],{},[14,11520,11372],{},", click ",[14,11523,11524],{},"Verify"," (or wait — verification runs automatically). When the domain resolves correctly, status changes to ",[14,11527,11528],{},"Active"," and SSL is provisioned automatically.",[24,11531,11533],{"id":11532},"ssl-https","SSL \u002F HTTPS",[10,11535,11536],{},"SSL certificates are provisioned and renewed automatically by LearnBuilder. You don't need to manage certificates yourself.",[24,11538,11540],{"id":11539},"what-changes-with-a-custom-domain","What changes with a custom domain",[37,11542,11543,11555],{},[40,11544,11545],{},[43,11546,11547,11550,11552],{},[46,11548,11549],{},"Feature",[46,11551,6949],{},[46,11553,11554],{},"With custom domain",[53,11556,11557,11572,11587],{},[43,11558,11559,11562,11567],{},[58,11560,11561],{},"Learner portal URL",[58,11563,11564],{},[61,11565,11566],{},"*.learnbuilder.org\u002Fportal",[58,11568,11569],{},[61,11570,11571],{},"learn.yourcompany.com\u002Fportal",[43,11573,11574,11577,11582],{},[58,11575,11576],{},"Course links",[58,11578,11579],{},[61,11580,11581],{},"*.learnbuilder.org\u002Flearn\u002F...",[58,11583,11584],{},[61,11585,11586],{},"learn.yourcompany.com\u002Flearn\u002F...",[43,11588,11589,11592,11597],{},[58,11590,11591],{},"Login \u002F register",[58,11593,11594],{},[61,11595,11596],{},"*.learnbuilder.org\u002Fportal\u002Flogin",[58,11598,11599],{},[61,11600,11601],{},"learn.yourcompany.com\u002Fportal\u002Flogin",[24,11603,11605],{"id":11604},"troubleshooting","Troubleshooting",[10,11607,11608],{},[14,11609,11610],{},"Domain shows as \"Pending\" after 24 hours:",[290,11612,11613,11616,11622],{},[293,11614,11615],{},"Double-check the CNAME record — name and value must be exactly as shown",[293,11617,11618,11619,5820],{},"Some DNS providers add the root domain automatically; make sure you're not doubling it (e.g., ",[61,11620,11621],{},"learn.yourcompany.com.yourcompany.com",[293,11623,11624],{},"Flush DNS cache on your machine and try again",[10,11626,11627],{},[14,11628,11629],{},"SSL errors:",[290,11631,11632,11635],{},[293,11633,11634],{},"Wait a few minutes after domain verification — SSL provisioning takes a moment",[293,11636,11637],{},"If errors persist after 30 minutes, contact support",[24,11639,11641],{"id":11640},"removing-a-custom-domain","Removing a custom domain",[319,11643,11644,11650,11655],{},[293,11645,9937,11646,9022,11648],{},[14,11647,11435],{},[14,11649,11372],{},[293,11651,333,11652],{},[14,11653,11654],{},"Remove Domain",[293,11656,11657],{},"Your portal reverts to the default LearnBuilder URL",[10,11659,11660],{},"Learners with saved links to your custom domain will receive a redirect for a transition period.",{"title":425,"searchDepth":475,"depth":475,"links":11662},[11663,11664,11670,11671,11672,11673],{"id":1567,"depth":475,"text":1568},{"id":11400,"depth":475,"text":11401,"children":11665},[11666,11667,11668,11669],{"id":11404,"depth":485,"text":11405},{"id":11427,"depth":485,"text":11428},{"id":11457,"depth":485,"text":11458},{"id":11512,"depth":485,"text":11513},{"id":11532,"depth":475,"text":11533},{"id":11539,"depth":475,"text":11540},{"id":11604,"depth":475,"text":11605},{"id":11640,"depth":475,"text":11641},"Host your learner portal and courses on your own domain name.","i-lucide-globe",{},"\u002Fdocs\u002Faccount\u002Fcustom-domain",{"title":11372,"description":11674},"docs\u002F5.account\u002F2.custom-domain","qxy1mwNDoM27zsGfnVOLTtKc5WkRpn9lSED2c1JSwIY",{"id":11682,"title":11683,"body":11684,"description":12050,"extension":653,"icon":10144,"meta":12051,"navigation":656,"order":657,"path":12052,"seo":12053,"stem":12054,"__hash__":12055},"docs\u002Fdocs\u002F5.account\u002F3.team.md","Team & Roles",{"type":7,"value":11685,"toc":12036},[11686,11689,11693,11731,11735,11758,11761,11765,11842,11851,11853,11857,11860,11864,11884,11888,11899,11903,11906,11932,11938,11942,11945,11961,11968,11970,11974,11980,12000,12004,12019,12022,12026,12029],[10,11687,11688],{},"LearnBuilder supports multiple team members on a single account. Team members can create and edit courses, manage learners, and access account settings depending on their role.",[24,11690,11692],{"id":11691},"team-member-limits-by-plan","Team member limits by plan",[37,11694,11695,11704],{},[40,11696,11697],{},[43,11698,11699,11701],{},[46,11700,815],{},[46,11702,11703],{},"Team members",[53,11705,11706,11713,11719,11725],{},[43,11707,11708,11710],{},[58,11709,842],{},[58,11711,11712],{},"1 (account owner only)",[43,11714,11715,11717],{},[58,11716,867],{},[58,11718,848],{},[43,11720,11721,11723],{},[58,11722,891],{},[58,11724,873],{},[43,11726,11727,11729],{},[58,11728,915],{},[58,11730,897],{},[24,11732,11734],{"id":11733},"inviting-a-team-member","Inviting a team member",[319,11736,11737,11742,11747,11750,11753],{},[293,11738,9937,11739],{},[14,11740,11741],{},"User Menu → Team",[293,11743,333,11744],{},[14,11745,11746],{},"Invite Member",[293,11748,11749],{},"Enter the person's email address",[293,11751,11752],{},"Select their role",[293,11754,333,11755],{},[14,11756,11757],{},"Send Invite",[10,11759,11760],{},"The invitee receives an email with a link to accept the invitation and create or sign in to their account.",[24,11762,11764],{"id":11763},"roles","Roles",[37,11766,11767,11777],{},[40,11768,11769],{},[43,11770,11771,11774],{},[46,11772,11773],{},"Role",[46,11775,11776],{},"Permissions",[53,11778,11779,11789,11799,11813,11823,11833],{},[43,11780,11781,11786],{},[58,11782,11783],{},[14,11784,11785],{},"Owner",[58,11787,11788],{},"Full access to everything, including billing, team management, and account deletion",[43,11790,11791,11796],{},[58,11792,11793],{},[14,11794,11795],{},"Admin",[58,11797,11798],{},"Manage team, learners, enrollments, compliance, and account settings. Create and edit courses. Cannot access billing or transfer ownership.",[43,11800,11801,11806],{},[58,11802,11803],{},[14,11804,11805],{},"Manager",[58,11807,11808,11809,11812],{},"View direct reports' training progress via the ",[14,11810,11811],{},"My Team"," dashboard. Cannot edit courses or manage account settings.",[43,11814,11815,11820],{},[58,11816,11817],{},[14,11818,11819],{},"Creator",[58,11821,11822],{},"Create and edit courses. Cannot manage learners, team, or account settings. Ideal for subject matter experts and instructional designers.",[43,11824,11825,11830],{},[58,11826,11827],{},[14,11828,11829],{},"Reviewer",[58,11831,11832],{},"View and comment on lesson content. Cannot edit content.",[43,11834,11835,11839],{},[58,11836,11837],{},[14,11838,779],{},[58,11840,11841],{},"Access the learning portal to take courses.",[277,11843,11844],{},[10,11845,11846,11848,11849,275],{},[14,11847,937],{}," There can only be one Owner per account. Ownership can be transferred to another Admin from ",[14,11850,11741],{},[4075,11852],{},[24,11854,11856],{"id":11855},"manager-role","Manager role",[10,11858,11859],{},"Managers can see their direct reports' training progress without needing full admin access. This is useful for team leads, department heads, or supervisors who need to track their team's learning.",[32,11861,11863],{"id":11862},"what-managers-can-see","What managers can see",[290,11865,11866,11872,11878],{},[293,11867,11868,11871],{},[14,11869,11870],{},"My Team dashboard"," — summary of team training status (completion rate, overdue courses)",[293,11873,11874,11877],{},[14,11875,11876],{},"Per-member progress"," — each direct report's courses completed, in progress, and overdue",[293,11879,11880,11883],{},[14,11881,11882],{},"Per-course breakdown"," — how the team is progressing across each course",[32,11885,11887],{"id":11886},"what-managers-cannot-do","What managers cannot do",[290,11889,11890,11893,11896],{},[293,11891,11892],{},"Edit courses or lessons",[293,11894,11895],{},"Manage account settings, billing, or team members",[293,11897,11898],{},"See learners outside their direct reports",[32,11900,11902],{"id":11901},"assigning-a-manager-to-a-learner","Assigning a manager to a learner",[10,11904,11905],{},"Only Owners and Admins can assign managers:",[319,11907,11908,11913,11919,11924,11927],{},[293,11909,9937,11910],{},[14,11911,11912],{},"User Menu → Learners",[293,11914,11915,11916,3265],{},"Find the learner and click the ",[14,11917,11918],{},"⋮",[293,11920,2196,11921],{},[14,11922,11923],{},"Assign Manager",[293,11925,11926],{},"Choose a manager from the dropdown (shows users with Owner, Admin, or Manager roles)",[293,11928,333,11929],{},[14,11930,11931],{},"Save",[10,11933,11934,11935,11937],{},"The assigned manager will then see this learner on their ",[14,11936,11811],{}," dashboard.",[32,11939,11941],{"id":11940},"accessing-the-my-team-dashboard","Accessing the My Team dashboard",[10,11943,11944],{},"Managers, Admins, and Owners can access the team dashboard:",[319,11946,11947,11952,11955,11958],{},[293,11948,333,11949,11951],{},[14,11950,11811],{}," in the sidebar or user menu",[293,11953,11954],{},"View the summary cards: team size, total enrollments, completed, overdue, completion rate",[293,11956,11957],{},"See individual team members with their progress bars",[293,11959,11960],{},"Review per-course completion across the team",[277,11962,11963],{},[10,11964,11965,11967],{},[14,11966,1404],{}," Admins and Owners who have no direct reports assigned to them will see all learners on the My Team dashboard by default.",[4075,11969],{},[24,11971,11973],{"id":11972},"managing-team-members","Managing team members",[10,11975,11976,11977,11979],{},"From ",[14,11978,11741],{}," you can:",[290,11981,11982,11985,11988,11991,11994,11997],{},[293,11983,11984],{},"See all active members and their roles",[293,11986,11987],{},"See pending invitations (sent but not yet accepted)",[293,11989,11990],{},"Resend an invitation",[293,11992,11993],{},"Cancel a pending invitation",[293,11995,11996],{},"Change a member's role",[293,11998,11999],{},"Remove a member from the account",[24,12001,12003],{"id":12002},"removing-a-team-member","Removing a team member",[319,12005,12006,12010,12016],{},[293,12007,9937,12008],{},[14,12009,11741],{},[293,12011,12012,12013],{},"Find the member and click ",[14,12014,12015],{},"Remove",[293,12017,12018],{},"Confirm removal",[10,12020,12021],{},"Removed members lose access immediately. Courses and content they created remain on the account.",[24,12023,12025],{"id":12024},"collaboration","Collaboration",[10,12027,12028],{},"All team members work in the same shared account — courses, learner data, branding, and settings are shared. There are no per-member workspaces.",[277,12030,12031],{},[10,12032,12033,12035],{},[14,12034,1404],{}," For larger teams, assign an Admin to manage day-to-day operations and Managers to oversee team training progress.",{"title":425,"searchDepth":475,"depth":475,"links":12037},[12038,12039,12040,12041,12047,12048,12049],{"id":11691,"depth":475,"text":11692},{"id":11733,"depth":475,"text":11734},{"id":11763,"depth":475,"text":11764},{"id":11855,"depth":475,"text":11856,"children":12042},[12043,12044,12045,12046],{"id":11862,"depth":485,"text":11863},{"id":11886,"depth":485,"text":11887},{"id":11901,"depth":485,"text":11902},{"id":11940,"depth":485,"text":11941},{"id":11972,"depth":475,"text":11973},{"id":12002,"depth":475,"text":12003},{"id":12024,"depth":475,"text":12025},"Invite team members, assign roles including managers, and collaborate on course creation.",{},"\u002Fdocs\u002Faccount\u002Fteam",{"title":11683,"description":12050},"docs\u002F5.account\u002F3.team","pTNykFto5IBrZtKtTvEtOeD4kgE_-3auJ1Pw33Ya-Sw",{"id":12057,"title":12058,"body":12059,"description":12502,"extension":653,"icon":12503,"meta":12504,"navigation":656,"order":657,"path":12505,"seo":12506,"stem":12507,"__hash__":12508},"docs\u002Fdocs\u002F5.account\u002F4.billing.md","Billing & Plans",{"type":7,"value":12060,"toc":12488},[12061,12063,12176,12179,12183,12359,12361,12364,12384,12389,12391,12402,12406,12423,12426,12433,12437,12440,12444,12447,12451,12458,12462,12476,12479,12483],[24,12062,806],{"id":805},[37,12064,12065,12087],{},[40,12066,12067],{},[43,12068,12069,12071,12075,12079,12083],{},[46,12070],{},[46,12072,12073],{},[14,12074,842],{},[46,12076,12077],{},[14,12078,867],{},[46,12080,12081],{},[14,12082,891],{},[46,12084,12085],{},[14,12086,915],{},[53,12088,12089,12103,12117,12131,12145,12159],{},[43,12090,12091,12095,12097,12099,12101],{},[58,12092,12093],{},[14,12094,818],{},[58,12096,845],{},[58,12098,870],{},[58,12100,894],{},[58,12102,918],{},[43,12104,12105,12109,12111,12113,12115],{},[58,12106,12107],{},[14,12108,821],{},[58,12110,848],{},[58,12112,873],{},[58,12114,897],{},[58,12116,897],{},[43,12118,12119,12123,12125,12127,12129],{},[58,12120,12121],{},[14,12122,824],{},[58,12124,851],{},[58,12126,876],{},[58,12128,900],{},[58,12130,897],{},[43,12132,12133,12137,12139,12141,12143],{},[58,12134,12135],{},[14,12136,11703],{},[58,12138,854],{},[58,12140,848],{},[58,12142,873],{},[58,12144,897],{},[43,12146,12147,12151,12153,12155,12157],{},[58,12148,12149],{},[14,12150,830],{},[58,12152,857],{},[58,12154,881],{},[58,12156,905],{},[58,12158,927],{},[43,12160,12161,12165,12167,12170,12173],{},[58,12162,12163],{},[14,12164,833],{},[58,12166,860],{},[58,12168,12169],{},"€5\u002Fmo included",[58,12171,12172],{},"€15\u002Fmo included",[58,12174,12175],{},"€50\u002Fmo included",[10,12177,12178],{},"All paid plans save 20% with yearly billing.",[32,12180,12182],{"id":12181},"feature-availability-by-plan","Feature availability by plan",[37,12184,12185,12200],{},[40,12186,12187],{},[43,12188,12189,12191,12194,12196,12198],{},[46,12190,11549],{},[46,12192,842],{"align":12193},"center",[46,12195,867],{"align":12193},[46,12197,891],{"align":12193},[46,12199,915],{"align":12193},[53,12201,12202,12216,12230,12243,12256,12269,12282,12295,12308,12321,12333,12346],{},[43,12203,12204,12207,12210,12212,12214],{},[58,12205,12206],{},"All block types & AI generation",[58,12208,12209],{"align":12193},"Yes",[58,12211,12209],{"align":12193},[58,12213,12209],{"align":12193},[58,12215,12209],{"align":12193},[43,12217,12218,12221,12224,12226,12228],{},[58,12219,12220],{},"Custom branding",[58,12222,12223],{"align":12193},"-",[58,12225,12209],{"align":12193},[58,12227,12209],{"align":12193},[58,12229,12209],{"align":12193},[43,12231,12232,12235,12237,12239,12241],{},[58,12233,12234],{},"SCORM & HTML export",[58,12236,12223],{"align":12193},[58,12238,12209],{"align":12193},[58,12240,12209],{"align":12193},[58,12242,12209],{"align":12193},[43,12244,12245,12248,12250,12252,12254],{},[58,12246,12247],{},"Custom domain",[58,12249,12223],{"align":12193},[58,12251,12223],{"align":12193},[58,12253,12209],{"align":12193},[58,12255,12209],{"align":12193},[43,12257,12258,12261,12263,12265,12267],{},[58,12259,12260],{},"Learner groups",[58,12262,12223],{"align":12193},[58,12264,12223],{"align":12193},[58,12266,12209],{"align":12193},[58,12268,12209],{"align":12193},[43,12270,12271,12274,12276,12278,12280],{},[58,12272,12273],{},"Learning paths",[58,12275,12223],{"align":12193},[58,12277,12223],{"align":12193},[58,12279,12209],{"align":12193},[58,12281,12209],{"align":12193},[43,12283,12284,12287,12289,12291,12293],{},[58,12285,12286],{},"Compliance & due dates",[58,12288,12223],{"align":12193},[58,12290,12223],{"align":12193},[58,12292,12223],{"align":12193},[58,12294,12209],{"align":12193},[43,12296,12297,12300,12302,12304,12306],{},[58,12298,12299],{},"Manager dashboard",[58,12301,12223],{"align":12193},[58,12303,12223],{"align":12193},[58,12305,12223],{"align":12193},[58,12307,12209],{"align":12193},[43,12309,12310,12313,12315,12317,12319],{},[58,12311,12312],{},"SSO (OIDC & SAML)",[58,12314,12223],{"align":12193},[58,12316,12223],{"align":12193},[58,12318,12223],{"align":12193},[58,12320,12209],{"align":12193},[43,12322,12323,12325,12327,12329,12331],{},[58,12324,330],{},[58,12326,12223],{"align":12193},[58,12328,12223],{"align":12193},[58,12330,12223],{"align":12193},[58,12332,12209],{"align":12193},[43,12334,12335,12338,12340,12342,12344],{},[58,12336,12337],{},"Webhooks",[58,12339,12223],{"align":12193},[58,12341,12223],{"align":12193},[58,12343,12223],{"align":12193},[58,12345,12209],{"align":12193},[43,12347,12348,12351,12353,12355,12357],{},[58,12349,12350],{},"Dedicated support",[58,12352,12223],{"align":12193},[58,12354,12223],{"align":12193},[58,12356,12223],{"align":12193},[58,12358,12209],{"align":12193},[24,12360,1928],{"id":1927},[10,12362,12363],{},"AI credits are consumed by the Creator Agent (content generation, images, video), the Tutor Agent (learner Q&A), and the Assessment Agent (essay and dialogue grading).",[290,12365,12366,12369,12375,12381],{},[293,12367,12368],{},"Paid plans include a monthly credit allowance (refreshes each billing cycle)",[293,12370,12371,12372],{},"Unused credits ",[14,12373,12374],{},"do not roll over",[293,12376,12377,12378],{},"Additional credits can be purchased at any time from ",[14,12379,12380],{},"User Menu → Billing",[293,12382,12383],{},"Free plan users are charged per use with no monthly allowance",[10,12385,12386,12387,275],{},"Credit costs vary by action — generating a text block costs less than generating a video. You can track your credit usage under ",[14,12388,12380],{},[32,12390,7908],{"id":7907},[10,12392,12393,12394,12397,12398,12401],{},"Different AI tasks can use different models. Go to ",[14,12395,12396],{},"User Menu → Account → AI"," tab to select models for content generation, image generation, video generation, grading, programming, and translation. More capable models produce better results but consume more credits per action — this lets you optimise for quality or budget depending on the task. See ",[448,12399,12400],{"href":8316},"AI Features → Overview"," for details.",[24,12403,12405],{"id":12404},"changing-your-plan","Changing your plan",[319,12407,12408,12412,12417,12420],{},[293,12409,9937,12410],{},[14,12411,12380],{},[293,12413,333,12414],{},[14,12415,12416],{},"Change Plan",[293,12418,12419],{},"Select the new plan",[293,12421,12422],{},"Confirm",[10,12424,12425],{},"Upgrades take effect immediately. Downgrades take effect at the end of the current billing period.",[277,12427,12428],{},[10,12429,12430,12432],{},[14,12431,937],{}," If you downgrade and your current usage exceeds the new plan's limits (e.g., more than 3 courses on Free), existing courses remain accessible but you won't be able to create new ones until you're within limits.",[24,12434,12436],{"id":12435},"billing-cycle","Billing cycle",[10,12438,12439],{},"Plans are billed monthly or yearly. Your billing date is the day you first subscribed. Yearly billing saves 20%.",[24,12441,12443],{"id":12442},"payment-methods","Payment methods",[10,12445,12446],{},"LearnBuilder accepts major credit and debit cards (Visa, Mastercard, American Express). Payment is handled securely via Stripe.",[24,12448,12450],{"id":12449},"invoices","Invoices",[10,12452,12453,12454,12457],{},"Past invoices are available in ",[14,12455,12456],{},"Billing → Invoice History",". Each invoice can be downloaded as a PDF.",[24,12459,12461],{"id":12460},"cancelling-your-subscription","Cancelling your subscription",[319,12463,12464,12468,12473],{},[293,12465,9937,12466],{},[14,12467,12380],{},[293,12469,333,12470],{},[14,12471,12472],{},"Cancel Plan",[293,12474,12475],{},"Confirm cancellation",[10,12477,12478],{},"Your account reverts to the Free plan at the end of the current billing period. Your courses and learner data are retained. If you exceed Free plan limits, you'll need to delete content or upgrade to regain full access.",[24,12480,12482],{"id":12481},"selling-courses-stripe-connect","Selling courses (Stripe Connect)",[10,12484,12485,12486,3486],{},"To charge learners for courses, you need to connect a Stripe account. See ",[448,12487,1397],{"href":1396},{"title":425,"searchDepth":475,"depth":475,"links":12489},[12490,12493,12496,12497,12498,12499,12500,12501],{"id":805,"depth":475,"text":806,"children":12491},[12492],{"id":12181,"depth":485,"text":12182},{"id":1927,"depth":475,"text":1928,"children":12494},[12495],{"id":7907,"depth":485,"text":7908},{"id":12404,"depth":475,"text":12405},{"id":12435,"depth":475,"text":12436},{"id":12442,"depth":475,"text":12443},{"id":12449,"depth":475,"text":12450},{"id":12460,"depth":475,"text":12461},{"id":12481,"depth":475,"text":12482},"LearnBuilder pricing plans, feature tiers, AI credits, and how to manage your subscription.","i-lucide-credit-card",{},"\u002Fdocs\u002Faccount\u002Fbilling",{"title":12058,"description":12502},"docs\u002F5.account\u002F4.billing","IyI10Hga5mBj9Yn7jEIWh_84vlyEELSdqOZONnGUdrk",{"id":12510,"title":1397,"body":12511,"description":14554,"extension":653,"icon":14555,"meta":14556,"navigation":656,"order":657,"path":1396,"seo":14557,"stem":14558,"__hash__":14559},"docs\u002Fdocs\u002F5.account\u002F5.integrations.md",{"type":7,"value":12512,"toc":14508},[12513,12516,12518,12522,12525,12529,12550,12553,12557,12574,12578,12581,12585,12596,12598,12602,12612,12660,12663,12665,12669,12672,12676,12704,12707,12714,12716,12720,12723,12727,12733,12736,12739,12744,12772,12777,12801,12806,12823,12834,12838,12841,12848,12850,12854,12857,12866,12869,12883,12887,12948,12954,12960,12964,13003,13008,13027,13031,13038,13042,13048,13052,13055,13066,13068,13071,13074,13083,13087,13090,13096,13100,13121,13125,13131,13134,13196,13199,13278,13283,13340,13343,13376,13380,13408,13412,13481,13484,13542,13546,13549,13560,13563,13659,13663,13673,13675,13677,13680,13689,13693,13749,13756,13760,13827,13831,13908,13912,13919,13923,13978,13980,13984,13987,13996,13999,14002,14007,14011,14017,14020,14023,14114,14122,14127,14212,14217,14289,14292,14295,14350,14355,14439,14443,14465,14469,14472,14505],[10,12514,12515],{},"LearnBuilder integrates with external platforms and standards for payments, LMS connectivity, content portability, enterprise authentication, and HR system integration.",[4075,12517],{},[24,12519,12521],{"id":12520},"stripe-connect-sell-courses","Stripe Connect (sell courses)",[10,12523,12524],{},"Connect your Stripe account to charge learners for course access.",[32,12526,12528],{"id":12527},"setup","Setup",[319,12530,12531,12539,12544,12547],{},[293,12532,9937,12533,9022,12536],{},[14,12534,12535],{},"User Menu → Account → Integrations",[14,12537,12538],{},"Stripe Connect",[293,12540,333,12541],{},[14,12542,12543],{},"Connect with Stripe",[293,12545,12546],{},"You'll be redirected to Stripe to create or connect an account",[293,12548,12549],{},"Authorize the connection and return to LearnBuilder",[10,12551,12552],{},"Once connected, you can set a price on any course from the course settings page.",[32,12554,12556],{"id":12555},"setting-a-course-price","Setting a course price",[319,12558,12559,12564,12568,12571],{},[293,12560,12561,12562,2034],{},"Open the course and go to the ",[14,12563,379],{},[293,12565,8895,12566,8892],{},[14,12567,1187],{},[293,12569,12570],{},"Set a price and currency",[293,12572,12573],{},"Learners are charged at enrollment",[32,12575,12577],{"id":12576},"payouts","Payouts",[10,12579,12580],{},"Revenue is paid out to your Stripe account on your Stripe payout schedule. LearnBuilder charges a 10% platform fee on each transaction.",[32,12582,12584],{"id":12583},"disconnecting-stripe","Disconnecting Stripe",[10,12586,9937,12587,9022,12589,12591,12592,12595],{},[14,12588,12535],{},[14,12590,12538],{}," and click ",[14,12593,12594],{},"Disconnect",". Existing paid enrollments are not affected, but new learners can no longer purchase.",[4075,12597],{},[24,12599,12601],{"id":12600},"course-import-learnbuilder-rise-360-scorm","Course import (LearnBuilder, Rise 360, SCORM)",[10,12603,12604,12605,12608,12609,12611],{},"LearnBuilder can import courses from a few different formats. Open the ",[14,12606,12607],{},"Import Course"," action on your dashboard and upload a ",[61,12610,7557],{}," — the format is auto-detected, but you can override it from the chips at the top of the page.",[37,12613,12614,12623],{},[40,12615,12616],{},[43,12617,12618,12620],{},[46,12619,8773],{},[46,12621,12622],{},"What gets imported",[53,12624,12625,12635,12645],{},[43,12626,12627,12632],{},[58,12628,12629],{},[14,12630,12631],{},"LearnBuilder export",[58,12633,12634],{},"A course exported from another LearnBuilder account, restored as-is with all blocks, lessons, and media",[43,12636,12637,12642],{},[58,12638,12639],{},[14,12640,12641],{},"Articulate Rise 360 (SCORM)",[58,12643,12644],{},"Rise courses exported as SCORM 1.2 or SCORM 2004. Text, lists, images, galleries, multimedia, quotes, dividers, tabs, button stacks, and flashcards are converted to native LearnBuilder blocks; assets are uploaded to the media library and rewritten to use LearnBuilder URLs",[43,12646,12647,12652],{},[58,12648,12649],{},[14,12650,12651],{},"Generic SCORM 1.2 \u002F 2004",[58,12653,12654,12655,12659],{},"See the ",[448,12656,12658],{"href":12657},"\u002Fdocs\u002Fcourse-builder\u002Flessons#importing-from-scorm","SCORM import wizard"," — a per-lesson, AI-assisted walkthrough that converts captured screens to native blocks",[10,12661,12662],{},"After a Rise import you'll see a per-lesson conversion report listing how many elements were converted, skipped, or fell back to a placeholder block. Review the imported course before publishing — non-standard Rise blocks (e.g. process flows, accordion variants) are converted on a best-effort basis and may need manual cleanup.",[4075,12664],{},[24,12666,12668],{"id":12667},"scorm-export","SCORM Export",[10,12670,12671],{},"Export any course as a SCORM package to use in an external LMS (Moodle, Canvas, Blackboard, etc.).",[32,12673,12675],{"id":12674},"exporting-a-course","Exporting a course",[319,12677,12678,12681,12686,12695,12699],{},[293,12679,12680],{},"Open the course",[293,12682,333,12683],{},[14,12684,12685],{},"Export → SCORM",[293,12687,12688,12689,4296,12692],{},"Choose SCORM version: ",[14,12690,12691],{},"SCORM 1.2",[14,12693,12694],{},"SCORM 2004",[293,12696,333,12697],{},[14,12698,5401],{},[293,12700,12701,12702,2275],{},"Download the ",[61,12703,7557],{},[10,12705,12706],{},"The exported package can be imported into any SCORM-compliant LMS. Completion status and scores will be tracked by the external LMS.",[277,12708,12709],{},[10,12710,12711,12713],{},[14,12712,937],{}," AI Tutor and AI Dialogue features are not available in SCORM exports — these require the LearnBuilder platform. All other block types export correctly.",[4075,12715],{},[24,12717,12719],{"id":12718},"lti-integration","LTI Integration",[10,12721,12722],{},"LTI (Learning Tools Interoperability) allows you to embed LearnBuilder courses inside an external LMS — learners access them through their existing LMS without a separate LearnBuilder login.",[32,12724,12726],{"id":12725},"supported-lti-version","Supported LTI version",[10,12728,12729,12730,275],{},"LearnBuilder supports ",[14,12731,12732],{},"LTI 1.3",[32,12734,12528],{"id":12735},"setup-1",[10,12737,12738],{},"LTI configuration requires credentials from both sides:",[10,12740,12741],{},[14,12742,12743],{},"In LearnBuilder:",[319,12745,12746,12753],{},[293,12747,9937,12748,9022,12750],{},[14,12749,12535],{},[14,12751,12752],{},"LTI 1.3 Integration",[293,12754,12755,12756,12759,12760,521,12763,521,12766,1152,12769],{},"Under ",[14,12757,12758],{},"Tool Configuration",", use the Copy buttons to copy the ",[14,12761,12762],{},"Login URL",[14,12764,12765],{},"Launch URL",[14,12767,12768],{},"JWKS URL",[14,12770,12771],{},"Redirect URI",[10,12773,12774],{},[14,12775,12776],{},"In your LMS:",[319,12778,12779,12782,12785,12788],{},[293,12780,12781],{},"Add a new External Tool \u002F LTI 1.3 tool",[293,12783,12784],{},"Paste the Tool Configuration URLs (Login URL, Launch URL, JWKS URL, Redirect URI) from LearnBuilder",[293,12786,12787],{},"Complete the registration (steps vary by LMS)",[293,12789,12790,12791,521,12794,1152,12797,12800],{},"Copy the ",[14,12792,12793],{},"Platform ID",[14,12795,12796],{},"Deployment ID",[14,12798,12799],{},"Auth endpoint"," from your LMS",[10,12802,12803],{},[14,12804,12805],{},"Back in LearnBuilder:",[319,12807,12808,12817,12820],{},[293,12809,1417,12810,12813,12814],{},[14,12811,12812],{},"Registered Platforms"," section, click ",[14,12815,12816],{},"+ Add Platform",[293,12818,12819],{},"Enter the platform details from your LMS",[293,12821,12822],{},"Save the configuration",[277,12824,12825],{},[10,12826,12827,12829,12830,12833],{},[14,12828,1404],{}," LearnBuilder includes collapsible ",[14,12831,12832],{},"Moodle Setup Instructions"," directly on the Integrations page. Expand them for step-by-step guidance specific to Moodle.",[32,12835,12837],{"id":12836},"linking-a-course-via-lti","Linking a course via LTI",[10,12839,12840],{},"Once LTI is configured, add a LearnBuilder course as an LTI activity in your LMS. Learners who launch it from the LMS are automatically authenticated and taken directly to the course.",[277,12842,12843],{},[10,12844,12845,12847],{},[14,12846,1404],{}," LTI setup requires admin access to your LMS. If you're not the LMS admin, share the LearnBuilder credentials with whoever manages the LMS and ask them to complete the LMS-side configuration.",[4075,12849],{},[24,12851,12853],{"id":12852},"sso-single-sign-on","SSO (Single Sign-On)",[10,12855,12856],{},"SSO allows learners to sign in using your organization's identity provider (IdP) — no separate LearnBuilder password needed.",[277,12858,12859],{},[10,12860,12861,12863,12864,275],{},[14,12862,937],{}," SSO is available on the ",[14,12865,297],{},[10,12867,12868],{},"LearnBuilder supports two SSO protocols:",[290,12870,12871,12877],{},[293,12872,12873,12876],{},[14,12874,12875],{},"OIDC"," (OpenID Connect) — works with Azure AD, Google Workspace, Okta, Auth0, Keycloak, and most modern IdPs",[293,12878,12879,12882],{},[14,12880,12881],{},"SAML 2.0"," — works with ADFS, Shibboleth, and enterprise IdPs that only support SAML",[32,12884,12886],{"id":12885},"setting-up-oidc-sso","Setting up OIDC SSO",[319,12888,12889,12896,12901,12904,12939,12944],{},[293,12890,9937,12891,9022,12893],{},[14,12892,12535],{},[14,12894,12895],{},"Single Sign-On",[293,12897,333,12898],{},[14,12899,12900],{},"Add OIDC",[293,12902,12903],{},"Enter a name (e.g., \"Azure AD\" or \"Okta\")",[293,12905,12906,12907],{},"Fill in the configuration from your IdP:\n",[290,12908,12909,12918,12924,12930],{},[293,12910,12911,12914,12915,5820],{},[14,12912,12913],{},"Issuer URL"," — the OpenID Connect discovery endpoint (e.g., ",[61,12916,12917],{},"https:\u002F\u002Flogin.microsoftonline.com\u002F{tenant}\u002Fv2.0",[293,12919,12920,12923],{},[14,12921,12922],{},"Client ID"," — from your IdP's application registration",[293,12925,12926,12929],{},[14,12927,12928],{},"Client Secret"," — from your IdP",[293,12931,12932,12935,12936],{},[14,12933,12934],{},"Scopes"," — defaults to ",[61,12937,12938],{},"openid email profile",[293,12940,1375,12941,12943],{},[14,12942,11528],{}," to enable",[293,12945,333,12946],{},[14,12947,1131],{},[10,12949,12950,12953],{},[14,12951,12952],{},"In your IdP",", add the redirect URI:",[417,12955,12958],{"className":12956,"code":12957,"language":422},[420],"https:\u002F\u002Fyour-domain.com\u002Fapi\u002Fauth\u002Fsso\u002F{account-slug}\u002Foidc\u002Fcallback\n",[61,12959,12957],{"__ignoreMap":425},[32,12961,12963],{"id":12962},"setting-up-saml-sso","Setting up SAML SSO",[319,12965,12966,12972,12977,12980,12997],{},[293,12967,9937,12968,9022,12970],{},[14,12969,12535],{},[14,12971,12895],{},[293,12973,333,12974],{},[14,12975,12976],{},"Add SAML",[293,12978,12979],{},"Enter a name",[293,12981,12982,12983],{},"Provide your IdP metadata:\n",[290,12984,12985,12991],{},[293,12986,12987,12990],{},[14,12988,12989],{},"IdP Metadata URL"," — if your IdP publishes a metadata endpoint, paste the URL",[293,12992,12993,12996],{},[14,12994,12995],{},"IdP Metadata XML"," — alternatively, paste the raw XML",[293,12998,1375,12999,12591,13001],{},[14,13000,11528],{},[14,13002,1131],{},[10,13004,13005],{},[14,13006,13007],{},"Copy these URLs into your IdP configuration:",[290,13009,13010,13019],{},[293,13011,13012,13015,13016],{},[14,13013,13014],{},"SP Metadata URL:"," ",[61,13017,13018],{},"https:\u002F\u002Fyour-domain.com\u002Fapi\u002Fauth\u002Fsso\u002F{account-slug}\u002Fsaml\u002Fmetadata",[293,13020,13021,13015,13024],{},[14,13022,13023],{},"ACS URL:",[61,13025,13026],{},"https:\u002F\u002Fyour-domain.com\u002Fapi\u002Fauth\u002Fsso\u002F{account-slug}\u002Fsaml\u002Facs",[32,13028,13030],{"id":13029},"sso-login-experience","SSO login experience",[10,13032,13033,13034,13037],{},"Once SSO is configured, the login page for your account shows a ",[14,13035,13036],{},"Sign in with SSO"," button. Clicking it redirects to your IdP, and after authentication, the learner is returned to LearnBuilder and signed in.",[32,13039,13041],{"id":13040},"enforce-sso","Enforce SSO",[10,13043,13044,13045,13047],{},"Enable ",[14,13046,13041],{}," in the SSO configuration to hide the email\u002Fpassword login form and OAuth buttons. Learners will only be able to sign in through SSO.",[32,13049,13051],{"id":13050},"auto-provisioning","Auto-provisioning",[10,13053,13054],{},"When a user signs in via SSO for the first time:",[319,13056,13057,13060,13063],{},[293,13058,13059],{},"A LearnBuilder account is automatically created using their IdP email and name",[293,13061,13062],{},"They are added as a learner to your account",[293,13064,13065],{},"Optionally, they are auto-enrolled in configured courses",[4075,13067],{},[24,13069,10127],{"id":13070},"rest-api",[10,13072,13073],{},"The REST API provides programmatic access to your account's courses, enrollments, progress, and user data. Use it for HR system integration, custom reporting, or automation.",[277,13075,13076],{},[10,13077,13078,13080,13081,275],{},[14,13079,937],{}," The REST API is available on the ",[14,13082,297],{},[32,13084,13086],{"id":13085},"authentication","Authentication",[10,13088,13089],{},"All API requests use Bearer token authentication with an API key:",[417,13091,13094],{"className":13092,"code":13093,"language":422},[420],"Authorization: Bearer lb_ak_your_api_key_here\n",[61,13095,13093],{"__ignoreMap":425},[32,13097,13099],{"id":13098},"creating-an-api-key","Creating an API key",[319,13101,13102,13108,13112,13115,13118],{},[293,13103,9937,13104,9022,13106],{},[14,13105,12535],{},[14,13107,10127],{},[293,13109,333,13110],{},[14,13111,336],{},[293,13113,13114],{},"Enter a name (e.g., \"HR Integration\")",[293,13116,13117],{},"Copy the key immediately — it is only shown once",[293,13119,13120],{},"Store the key securely",[32,13122,13124],{"id":13123},"api-endpoints","API endpoints",[10,13126,13127,13128],{},"Base URL: ",[61,13129,13130],{},"https:\u002F\u002Fyour-domain.com\u002Fapi\u002Fv1",[369,13132,821],{"id":13133},"courses",[37,13135,13136,13148],{},[40,13137,13138],{},[43,13139,13140,13143,13146],{},[46,13141,13142],{},"Method",[46,13144,13145],{},"Endpoint",[46,13147,1216],{},[53,13149,13150,13168,13182],{},[43,13151,13152,13157,13162],{},[58,13153,13154],{},[61,13155,13156],{},"GET",[58,13158,13159],{},[61,13160,13161],{},"\u002Fcourses",[58,13163,13164,13165],{},"List courses. Filter: ",[61,13166,13167],{},"?status=published",[43,13169,13170,13174,13179],{},[58,13171,13172],{},[61,13173,13156],{},[58,13175,13176],{},[61,13177,13178],{},"\u002Fcourses\u002F:id",[58,13180,13181],{},"Get course details with lesson count",[43,13183,13184,13188,13193],{},[58,13185,13186],{},[61,13187,13156],{},[58,13189,13190],{},[61,13191,13192],{},"\u002Fcourses\u002F:id\u002Flessons",[58,13194,13195],{},"List lessons in a course",[369,13197,10275],{"id":13198},"enrollments",[37,13200,13201,13211],{},[40,13202,13203],{},[43,13204,13205,13207,13209],{},[46,13206,13142],{},[46,13208,13145],{},[46,13210,1216],{},[53,13212,13213,13236,13250,13264],{},[43,13214,13215,13219,13224],{},[58,13216,13217],{},[61,13218,13156],{},[58,13220,13221],{},[61,13222,13223],{},"\u002Fenrollments",[58,13225,13226,13227,521,13230,521,13233],{},"List enrollments. Filter: ",[61,13228,13229],{},"?course_id=",[61,13231,13232],{},"?user_id=",[61,13234,13235],{},"?status=",[43,13237,13238,13242,13247],{},[58,13239,13240],{},[61,13241,13156],{},[58,13243,13244],{},[61,13245,13246],{},"\u002Fenrollments\u002F:id",[58,13248,13249],{},"Get enrollment with lesson-by-lesson progress",[43,13251,13252,13257,13261],{},[58,13253,13254],{},[61,13255,13256],{},"POST",[58,13258,13259],{},[61,13260,13223],{},[58,13262,13263],{},"Enroll a user by email (auto-creates account if needed)",[43,13265,13266,13271,13275],{},[58,13267,13268],{},[61,13269,13270],{},"DELETE",[58,13272,13273],{},[61,13274,13246],{},[58,13276,13277],{},"Remove an enrollment",[10,13279,13280],{},[14,13281,13282],{},"Enroll a user:",[417,13284,13286],{"className":459,"code":13285,"language":461,"meta":425,"style":425},"POST \u002Fapi\u002Fv1\u002Fenrollments\n{\n  \"courseId\": \"abc123\",\n  \"email\": \"jane@company.com\",\n  \"name\": \"Jane Smith\"\n}\n",[61,13287,13288,13298,13302,13314,13326,13336],{"__ignoreMap":425},[465,13289,13290,13293,13295],{"class":467,"line":468},[465,13291,13292],{"class":471},"POST \u002Fapi\u002Fv",[465,13294,854],{"class":478},[465,13296,13297],{"class":471},"\u002Fenrollments\n",[465,13299,13300],{"class":467,"line":475},[465,13301,472],{"class":471},[465,13303,13304,13307,13309,13312],{"class":467,"line":485},[465,13305,13306],{"class":478},"  \"courseId\"",[465,13308,499],{"class":471},[465,13310,13311],{"class":502},"\"abc123\"",[465,13313,506],{"class":471},[465,13315,13316,13319,13321,13324],{"class":467,"line":493},[465,13317,13318],{"class":478},"  \"email\"",[465,13320,499],{"class":471},[465,13322,13323],{"class":502},"\"jane@company.com\"",[465,13325,506],{"class":471},[465,13327,13328,13331,13333],{"class":467,"line":509},[465,13329,13330],{"class":478},"  \"name\"",[465,13332,499],{"class":471},[465,13334,13335],{"class":502},"\"Jane Smith\"\n",[465,13337,13338],{"class":467,"line":545},[465,13339,560],{"class":471},[369,13341,9540],{"id":13342},"progress",[37,13344,13345,13355],{},[40,13346,13347],{},[43,13348,13349,13351,13353],{},[46,13350,13142],{},[46,13352,13145],{},[46,13354,1216],{},[53,13356,13357],{},[43,13358,13359,13363,13368],{},[58,13360,13361],{},[61,13362,13156],{},[58,13364,13365],{},[61,13366,13367],{},"\u002Fprogress",[58,13369,13370,13371,521,13374],{},"List lesson progress records. Filter: ",[61,13372,13373],{},"?enrollment_id=",[61,13375,13229],{},[369,13377,13379],{"id":13378},"users","Users",[37,13381,13382,13392],{},[40,13383,13384],{},[43,13385,13386,13388,13390],{},[46,13387,13142],{},[46,13389,13145],{},[46,13391,1216],{},[53,13393,13394],{},[43,13395,13396,13400,13405],{},[58,13397,13398],{},[61,13399,13156],{},[58,13401,13402],{},[61,13403,13404],{},"\u002Fusers",[58,13406,13407],{},"List users enrolled in your courses",[369,13409,13411],{"id":13410},"groups","Groups",[37,13413,13414,13424],{},[40,13415,13416],{},[43,13417,13418,13420,13422],{},[46,13419,13142],{},[46,13421,13145],{},[46,13423,1216],{},[53,13425,13426,13440,13453,13467],{},[43,13427,13428,13432,13437],{},[58,13429,13430],{},[61,13431,13156],{},[58,13433,13434],{},[61,13435,13436],{},"\u002Fgroups",[58,13438,13439],{},"List learner groups",[43,13441,13442,13446,13450],{},[58,13443,13444],{},[61,13445,13256],{},[58,13447,13448],{},[61,13449,13436],{},[58,13451,13452],{},"Create a group",[43,13454,13455,13459,13464],{},[58,13456,13457],{},[61,13458,13156],{},[58,13460,13461],{},[61,13462,13463],{},"\u002Fgroups\u002F:id",[58,13465,13466],{},"Get group details with members and courses",[43,13468,13469,13473,13478],{},[58,13470,13471],{},[61,13472,13256],{},[58,13474,13475],{},[61,13476,13477],{},"\u002Fgroups\u002F:id\u002Fmembers",[58,13479,13480],{},"Add a member by email",[369,13482,10152],{"id":13483},"learning-paths",[37,13485,13486,13496],{},[40,13487,13488],{},[43,13489,13490,13492,13494],{},[46,13491,13142],{},[46,13493,13145],{},[46,13495,1216],{},[53,13497,13498,13514,13528],{},[43,13499,13500,13504,13509],{},[58,13501,13502],{},[61,13503,13156],{},[58,13505,13506],{},[61,13507,13508],{},"\u002Flearning-paths",[58,13510,13511,13512],{},"List learning paths. Filter: ",[61,13513,13167],{},[43,13515,13516,13520,13525],{},[58,13517,13518],{},[61,13519,13156],{},[58,13521,13522],{},[61,13523,13524],{},"\u002Flearning-paths\u002F:id",[58,13526,13527],{},"Get path details with courses",[43,13529,13530,13534,13539],{},[58,13531,13532],{},[61,13533,13256],{},[58,13535,13536],{},[61,13537,13538],{},"\u002Flearning-paths\u002F:id\u002Fenroll",[58,13540,13541],{},"Enroll a user by email in a path (enrolls in all courses)",[32,13543,13545],{"id":13544},"pagination","Pagination",[10,13547,13548],{},"All list endpoints support pagination:",[290,13550,13551,13557],{},[293,13552,13553,13556],{},[61,13554,13555],{},"?page=1&perPage=20"," (default: page 1, 20 items)",[293,13558,13559],{},"Maximum 100 items per page",[10,13561,13562],{},"Response format:",[417,13564,13566],{"className":459,"code":13565,"language":461,"meta":425,"style":425},"{\n  \"data\": [...],\n  \"meta\": {\n    \"page\": 1,\n    \"perPage\": 20,\n    \"totalItems\": 150,\n    \"totalPages\": 8,\n    \"timestamp\": \"2025-01-15T10:30:00.000Z\"\n  }\n}\n",[61,13567,13568,13572,13585,13592,13603,13615,13627,13639,13649,13654],{"__ignoreMap":425},[465,13569,13570],{"class":467,"line":468},[465,13571,472],{"class":471},[465,13573,13574,13577,13579,13582],{"class":467,"line":475},[465,13575,13576],{"class":478},"  \"data\"",[465,13578,515],{"class":471},[465,13580,5809],{"class":13581},"s6RL2",[465,13583,13584],{"class":471},"],\n",[465,13586,13587,13590],{"class":467,"line":485},[465,13588,13589],{"class":478},"  \"meta\"",[465,13591,482],{"class":471},[465,13593,13594,13597,13599,13601],{"class":467,"line":493},[465,13595,13596],{"class":478},"    \"page\"",[465,13598,499],{"class":471},[465,13600,854],{"class":478},[465,13602,506],{"class":471},[465,13604,13605,13608,13610,13613],{"class":467,"line":509},[465,13606,13607],{"class":478},"    \"perPage\"",[465,13609,499],{"class":471},[465,13611,13612],{"class":478},"20",[465,13614,506],{"class":471},[465,13616,13617,13620,13622,13625],{"class":467,"line":545},[465,13618,13619],{"class":478},"    \"totalItems\"",[465,13621,499],{"class":471},[465,13623,13624],{"class":478},"150",[465,13626,506],{"class":471},[465,13628,13629,13632,13634,13637],{"class":467,"line":551},[465,13630,13631],{"class":478},"    \"totalPages\"",[465,13633,499],{"class":471},[465,13635,13636],{"class":478},"8",[465,13638,506],{"class":471},[465,13640,13641,13644,13646],{"class":467,"line":557},[465,13642,13643],{"class":478},"    \"timestamp\"",[465,13645,499],{"class":471},[465,13647,13648],{"class":502},"\"2025-01-15T10:30:00.000Z\"\n",[465,13650,13652],{"class":467,"line":13651},9,[465,13653,554],{"class":471},[465,13655,13657],{"class":467,"line":13656},10,[465,13658,560],{"class":471},[32,13660,13662],{"id":13661},"revoking-an-api-key","Revoking an API key",[10,13664,9937,13665,13668,13669,13672],{},[14,13666,13667],{},"Integrations → REST API",", find the key, and click ",[14,13670,13671],{},"Revoke",". Any systems using the key will immediately lose access.",[4075,13674],{},[24,13676,12337],{"id":10765},[10,13678,13679],{},"Webhooks send real-time HTTP POST notifications to your server when events occur in LearnBuilder.",[277,13681,13682],{},[10,13683,13684,13686,13687,275],{},[14,13685,937],{}," Webhooks are available on the ",[14,13688,297],{},[32,13690,13692],{"id":13691},"subscribing-to-events","Subscribing to events",[417,13694,13696],{"className":459,"code":13695,"language":461,"meta":425,"style":425},"POST \u002Fapi\u002Fv1\u002Fwebhooks\n{\n  \"url\": \"https:\u002F\u002Fyour-server.com\u002Fwebhook\",\n  \"events\": [\"enrollment.created\", \"course.completed\", \"lesson.completed\"]\n}\n",[61,13697,13698,13707,13711,13723,13745],{"__ignoreMap":425},[465,13699,13700,13702,13704],{"class":467,"line":468},[465,13701,13292],{"class":471},[465,13703,854],{"class":478},[465,13705,13706],{"class":471},"\u002Fwebhooks\n",[465,13708,13709],{"class":467,"line":475},[465,13710,472],{"class":471},[465,13712,13713,13716,13718,13721],{"class":467,"line":485},[465,13714,13715],{"class":478},"  \"url\"",[465,13717,499],{"class":471},[465,13719,13720],{"class":502},"\"https:\u002F\u002Fyour-server.com\u002Fwebhook\"",[465,13722,506],{"class":471},[465,13724,13725,13728,13730,13733,13735,13738,13740,13743],{"class":467,"line":493},[465,13726,13727],{"class":478},"  \"events\"",[465,13729,515],{"class":471},[465,13731,13732],{"class":502},"\"enrollment.created\"",[465,13734,521],{"class":471},[465,13736,13737],{"class":502},"\"course.completed\"",[465,13739,521],{"class":471},[465,13741,13742],{"class":502},"\"lesson.completed\"",[465,13744,542],{"class":471},[465,13746,13747],{"class":467,"line":509},[465,13748,560],{"class":471},[10,13750,13751,13752,13755],{},"The response includes a ",[61,13753,13754],{},"secret"," — store it to verify webhook signatures.",[32,13757,13759],{"id":13758},"available-events","Available events",[37,13761,13762,13770],{},[40,13763,13764],{},[43,13765,13766,13768],{},[46,13767,10775],{},[46,13769,10778],{},[53,13771,13772,13782,13792,13802,13811,13819],{},[43,13773,13774,13779],{},[58,13775,13776],{},[61,13777,13778],{},"enrollment.created",[58,13780,13781],{},"A user is enrolled in a course",[43,13783,13784,13789],{},[58,13785,13786],{},[61,13787,13788],{},"course.completed",[58,13790,13791],{},"A user completes all lessons in a course",[43,13793,13794,13799],{},[58,13795,13796],{},[61,13797,13798],{},"lesson.completed",[58,13800,13801],{},"A user completes a lesson",[43,13803,13804,13808],{},[58,13805,13806],{},[61,13807,10787],{},[58,13809,13810],{},"A mandatory enrollment passes its due date",[43,13812,13813,13817],{},[58,13814,13815],{},[61,13816,10797],{},[58,13818,10800],{},[43,13820,13821,13825],{},[58,13822,13823],{},[61,13824,10807],{},[58,13826,10810],{},[32,13828,13830],{"id":13829},"webhook-payload","Webhook payload",[417,13832,13834],{"className":459,"code":13833,"language":461,"meta":425,"style":425},"{\n  \"event\": \"course.completed\",\n  \"data\": {\n    \"enrollmentId\": \"abc123\",\n    \"courseId\": \"def456\",\n    \"userId\": \"ghi789\"\n  },\n  \"timestamp\": \"2025-01-15T10:30:00.000Z\"\n}\n",[61,13835,13836,13840,13851,13857,13868,13880,13890,13895,13904],{"__ignoreMap":425},[465,13837,13838],{"class":467,"line":468},[465,13839,472],{"class":471},[465,13841,13842,13845,13847,13849],{"class":467,"line":475},[465,13843,13844],{"class":478},"  \"event\"",[465,13846,499],{"class":471},[465,13848,13737],{"class":502},[465,13850,506],{"class":471},[465,13852,13853,13855],{"class":467,"line":485},[465,13854,13576],{"class":478},[465,13856,482],{"class":471},[465,13858,13859,13862,13864,13866],{"class":467,"line":493},[465,13860,13861],{"class":478},"    \"enrollmentId\"",[465,13863,499],{"class":471},[465,13865,13311],{"class":502},[465,13867,506],{"class":471},[465,13869,13870,13873,13875,13878],{"class":467,"line":509},[465,13871,13872],{"class":478},"    \"courseId\"",[465,13874,499],{"class":471},[465,13876,13877],{"class":502},"\"def456\"",[465,13879,506],{"class":471},[465,13881,13882,13885,13887],{"class":467,"line":545},[465,13883,13884],{"class":478},"    \"userId\"",[465,13886,499],{"class":471},[465,13888,13889],{"class":502},"\"ghi789\"\n",[465,13891,13892],{"class":467,"line":551},[465,13893,13894],{"class":471},"  },\n",[465,13896,13897,13900,13902],{"class":467,"line":557},[465,13898,13899],{"class":478},"  \"timestamp\"",[465,13901,499],{"class":471},[465,13903,13648],{"class":502},[465,13905,13906],{"class":467,"line":13651},[465,13907,560],{"class":471},[32,13909,13911],{"id":13910},"signature-verification","Signature verification",[10,13913,13914,13915,13918],{},"Each webhook request includes an ",[61,13916,13917],{},"X-Webhook-Signature"," header containing an HMAC-SHA256 signature of the request body, signed with your webhook secret. Verify this to ensure the request came from LearnBuilder.",[32,13920,13922],{"id":13921},"managing-webhooks","Managing webhooks",[37,13924,13925,13935],{},[40,13926,13927],{},[43,13928,13929,13931,13933],{},[46,13930,13142],{},[46,13932,13145],{},[46,13934,1216],{},[53,13936,13937,13951,13964],{},[43,13938,13939,13943,13948],{},[58,13940,13941],{},[61,13942,13156],{},[58,13944,13945],{},[61,13946,13947],{},"\u002Fapi\u002Fv1\u002Fwebhooks",[58,13949,13950],{},"List webhook subscriptions",[43,13952,13953,13957,13961],{},[58,13954,13955],{},[61,13956,13256],{},[58,13958,13959],{},[61,13960,13947],{},[58,13962,13963],{},"Create a webhook subscription",[43,13965,13966,13970,13975],{},[58,13967,13968],{},[61,13969,13270],{},[58,13971,13972],{},[61,13973,13974],{},"\u002Fapi\u002Fv1\u002Fwebhooks\u002F:id",[58,13976,13977],{},"Delete a webhook subscription",[4075,13979],{},[24,13981,13983],{"id":13982},"scim-user-provisioning","SCIM (User Provisioning)",[10,13985,13986],{},"SCIM 2.0 (System for Cross-domain Identity Management) enables automatic user provisioning from your HR system or identity provider. When employees join, change roles, or leave your organization, their LearnBuilder access is updated automatically.",[277,13988,13989],{},[10,13990,13991,13993,13994,275],{},[14,13992,937],{}," SCIM is available on the ",[14,13995,297],{},[32,13997,13086],{"id":13998},"authentication-1",[10,14000,14001],{},"SCIM endpoints use the same API key authentication as the REST API:",[417,14003,14005],{"className":14004,"code":13093,"language":422},[420],[61,14006,13093],{"__ignoreMap":425},[32,14008,14010],{"id":14009},"base-url","Base URL",[417,14012,14015],{"className":14013,"code":14014,"language":422},[420],"https:\u002F\u002Fyour-domain.com\u002Fapi\u002Fscim\u002Fv2\n",[61,14016,14014],{"__ignoreMap":425},[32,14018,13379],{"id":14019},"users-1",[10,14021,14022],{},"SCIM Users map to learners in your LearnBuilder account.",[37,14024,14025,14035],{},[40,14026,14027],{},[43,14028,14029,14031,14033],{},[46,14030,13142],{},[46,14032,13145],{},[46,14034,1216],{},[53,14036,14037,14060,14073,14087,14101],{},[43,14038,14039,14043,14048],{},[58,14040,14041],{},[61,14042,13156],{},[58,14044,14045],{},[61,14046,14047],{},"\u002FUsers",[58,14049,14050,14051,521,14054,521,14057],{},"List users. Supports ",[61,14052,14053],{},"filter",[61,14055,14056],{},"startIndex",[61,14058,14059],{},"count",[43,14061,14062,14066,14070],{},[58,14063,14064],{},[61,14065,13256],{},[58,14067,14068],{},[61,14069,14047],{},[58,14071,14072],{},"Create a user (provisions account + membership)",[43,14074,14075,14079,14084],{},[58,14076,14077],{},[61,14078,13156],{},[58,14080,14081],{},[61,14082,14083],{},"\u002FUsers\u002F:id",[58,14085,14086],{},"Get a user",[43,14088,14089,14094,14098],{},[58,14090,14091],{},[61,14092,14093],{},"PATCH",[58,14095,14096],{},[61,14097,14083],{},[58,14099,14100],{},"Update user (name, active status)",[43,14102,14103,14107,14111],{},[58,14104,14105],{},[61,14106,13270],{},[58,14108,14109],{},[61,14110,14083],{},[58,14112,14113],{},"Remove user from account",[10,14115,14116,13015,14119],{},[14,14117,14118],{},"Filter example:",[61,14120,14121],{},"?filter=userName eq \"jane@company.com\"",[10,14123,14124],{},[14,14125,14126],{},"Create user:",[417,14128,14130],{"className":459,"code":14129,"language":461,"meta":425,"style":425},"POST \u002Fapi\u002Fscim\u002Fv2\u002FUsers\n{\n  \"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:User\"],\n  \"userName\": \"jane@company.com\",\n  \"name\": { \"givenName\": \"Jane\", \"familyName\": \"Smith\" },\n  \"active\": true\n}\n",[61,14131,14132,14143,14147,14159,14170,14198,14208],{"__ignoreMap":425},[465,14133,14134,14137,14140],{"class":467,"line":468},[465,14135,14136],{"class":471},"POST \u002Fapi\u002Fscim\u002Fv",[465,14138,14139],{"class":478},"2",[465,14141,14142],{"class":471},"\u002FUsers\n",[465,14144,14145],{"class":467,"line":475},[465,14146,472],{"class":471},[465,14148,14149,14152,14154,14157],{"class":467,"line":485},[465,14150,14151],{"class":478},"  \"schemas\"",[465,14153,515],{"class":471},[465,14155,14156],{"class":502},"\"urn:ietf:params:scim:schemas:core:2.0:User\"",[465,14158,13584],{"class":471},[465,14160,14161,14164,14166,14168],{"class":467,"line":493},[465,14162,14163],{"class":478},"  \"userName\"",[465,14165,499],{"class":471},[465,14167,13323],{"class":502},[465,14169,506],{"class":471},[465,14171,14172,14174,14177,14180,14182,14185,14187,14190,14192,14195],{"class":467,"line":509},[465,14173,13330],{"class":478},[465,14175,14176],{"class":471},": { ",[465,14178,14179],{"class":478},"\"givenName\"",[465,14181,499],{"class":471},[465,14183,14184],{"class":502},"\"Jane\"",[465,14186,521],{"class":471},[465,14188,14189],{"class":478},"\"familyName\"",[465,14191,499],{"class":471},[465,14193,14194],{"class":502},"\"Smith\"",[465,14196,14197],{"class":471}," },\n",[465,14199,14200,14203,14205],{"class":467,"line":545},[465,14201,14202],{"class":478},"  \"active\"",[465,14204,499],{"class":471},[465,14206,14207],{"class":478},"true\n",[465,14209,14210],{"class":467,"line":551},[465,14211,560],{"class":471},[10,14213,14214],{},[14,14215,14216],{},"Deactivate user (PATCH):",[417,14218,14220],{"className":459,"code":14219,"language":461,"meta":425,"style":425},"PATCH \u002Fapi\u002Fscim\u002Fv2\u002FUsers\u002F:id\n{\n  \"schemas\": [\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"],\n  \"Operations\": [{ \"op\": \"replace\", \"path\": \"active\", \"value\": false }]\n}\n",[61,14221,14222,14232,14236,14247,14285],{"__ignoreMap":425},[465,14223,14224,14227,14229],{"class":467,"line":468},[465,14225,14226],{"class":471},"PATCH \u002Fapi\u002Fscim\u002Fv",[465,14228,14139],{"class":478},[465,14230,14231],{"class":471},"\u002FUsers\u002F:id\n",[465,14233,14234],{"class":467,"line":475},[465,14235,472],{"class":471},[465,14237,14238,14240,14242,14245],{"class":467,"line":485},[465,14239,14151],{"class":478},[465,14241,515],{"class":471},[465,14243,14244],{"class":502},"\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"",[465,14246,13584],{"class":471},[465,14248,14249,14252,14255,14258,14260,14263,14265,14268,14270,14273,14275,14278,14280,14282],{"class":467,"line":493},[465,14250,14251],{"class":478},"  \"Operations\"",[465,14253,14254],{"class":471},": [{ ",[465,14256,14257],{"class":478},"\"op\"",[465,14259,499],{"class":471},[465,14261,14262],{"class":502},"\"replace\"",[465,14264,521],{"class":471},[465,14266,14267],{"class":478},"\"path\"",[465,14269,499],{"class":471},[465,14271,14272],{"class":502},"\"active\"",[465,14274,521],{"class":471},[465,14276,14277],{"class":478},"\"value\"",[465,14279,499],{"class":471},[465,14281,5321],{"class":478},[465,14283,14284],{"class":471}," }]\n",[465,14286,14287],{"class":467,"line":509},[465,14288,560],{"class":471},[32,14290,13411],{"id":14291},"groups-1",[10,14293,14294],{},"SCIM Groups map to courses. Adding members to a group enrolls them in the course; removing members unenrolls them.",[37,14296,14297,14307],{},[40,14298,14299],{},[43,14300,14301,14303,14305],{},[46,14302,13142],{},[46,14304,13145],{},[46,14306,1216],{},[53,14308,14309,14323,14337],{},[43,14310,14311,14315,14320],{},[58,14312,14313],{},[61,14314,13156],{},[58,14316,14317],{},[61,14318,14319],{},"\u002FGroups",[58,14321,14322],{},"List courses as SCIM groups",[43,14324,14325,14329,14334],{},[58,14326,14327],{},[61,14328,13156],{},[58,14330,14331],{},[61,14332,14333],{},"\u002FGroups\u002F:id",[58,14335,14336],{},"Get a course\u002Fgroup with members",[43,14338,14339,14343,14347],{},[58,14340,14341],{},[61,14342,14093],{},[58,14344,14345],{},[61,14346,14333],{},[58,14348,14349],{},"Add or remove members (enrollments)",[10,14351,14352],{},[14,14353,14354],{},"Add a member to a course:",[417,14356,14358],{"className":459,"code":14357,"language":461,"meta":425,"style":425},"PATCH \u002Fapi\u002Fscim\u002Fv2\u002FGroups\u002F:courseId\n{\n  \"schemas\": [\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"],\n  \"Operations\": [{\n    \"op\": \"add\",\n    \"path\": \"members\",\n    \"value\": [{ \"value\": \"user-id-here\" }]\n  }]\n}\n",[61,14359,14360,14369,14373,14383,14390,14402,14414,14430,14435],{"__ignoreMap":425},[465,14361,14362,14364,14366],{"class":467,"line":468},[465,14363,14226],{"class":471},[465,14365,14139],{"class":478},[465,14367,14368],{"class":471},"\u002FGroups\u002F:courseId\n",[465,14370,14371],{"class":467,"line":475},[465,14372,472],{"class":471},[465,14374,14375,14377,14379,14381],{"class":467,"line":485},[465,14376,14151],{"class":478},[465,14378,515],{"class":471},[465,14380,14244],{"class":502},[465,14382,13584],{"class":471},[465,14384,14385,14387],{"class":467,"line":493},[465,14386,14251],{"class":478},[465,14388,14389],{"class":471},": [{\n",[465,14391,14392,14395,14397,14400],{"class":467,"line":509},[465,14393,14394],{"class":478},"    \"op\"",[465,14396,499],{"class":471},[465,14398,14399],{"class":502},"\"add\"",[465,14401,506],{"class":471},[465,14403,14404,14407,14409,14412],{"class":467,"line":545},[465,14405,14406],{"class":478},"    \"path\"",[465,14408,499],{"class":471},[465,14410,14411],{"class":502},"\"members\"",[465,14413,506],{"class":471},[465,14415,14416,14419,14421,14423,14425,14428],{"class":467,"line":551},[465,14417,14418],{"class":478},"    \"value\"",[465,14420,14254],{"class":471},[465,14422,14277],{"class":478},[465,14424,499],{"class":471},[465,14426,14427],{"class":502},"\"user-id-here\"",[465,14429,14284],{"class":471},[465,14431,14432],{"class":467,"line":557},[465,14433,14434],{"class":471},"  }]\n",[465,14436,14437],{"class":467,"line":13651},[465,14438,560],{"class":471},[32,14440,14442],{"id":14441},"discovery","Discovery",[37,14444,14445,14453],{},[40,14446,14447],{},[43,14448,14449,14451],{},[46,14450,13145],{},[46,14452,1216],{},[53,14454,14455],{},[43,14456,14457,14462],{},[58,14458,14459],{},[61,14460,14461],{},"GET \u002FServiceProviderConfig",[58,14463,14464],{},"SCIM capabilities and configuration",[32,14466,14468],{"id":14467},"configuring-scim-in-your-idp","Configuring SCIM in your IdP",[10,14470,14471],{},"Most identity providers (Okta, Azure AD, OneLogin) have built-in SCIM provisioning. In your IdP's SCIM configuration:",[319,14473,14474,14484,14489,14492],{},[293,14475,14476,14477,14480,14481],{},"Set the ",[14,14478,14479],{},"SCIM Base URL"," to ",[61,14482,14483],{},"https:\u002F\u002Fyour-domain.com\u002Fapi\u002Fscim\u002Fv2",[293,14485,14476,14486,14488],{},[14,14487,13086],{}," to Bearer Token and paste your API key",[293,14490,14491],{},"Enable provisioning for Users and Groups as needed",[293,14493,14494,14495,14498,14499,521,14502,5820],{},"Map your IdP's user attributes to SCIM attributes (",[61,14496,14497],{},"userName"," → email, ",[61,14500,14501],{},"name.givenName",[61,14503,14504],{},"name.familyName",[634,14506,14507],{},"html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .s6RL2, html code.shiki .s6RL2{--shiki-default:#FDAEB7;--shiki-default-font-style:italic}",{"title":425,"searchDepth":475,"depth":475,"links":14509},[14510,14516,14517,14520,14525,14532,14539,14546],{"id":12520,"depth":475,"text":12521,"children":14511},[14512,14513,14514,14515],{"id":12527,"depth":485,"text":12528},{"id":12555,"depth":485,"text":12556},{"id":12576,"depth":485,"text":12577},{"id":12583,"depth":485,"text":12584},{"id":12600,"depth":475,"text":12601},{"id":12667,"depth":475,"text":12668,"children":14518},[14519],{"id":12674,"depth":485,"text":12675},{"id":12718,"depth":475,"text":12719,"children":14521},[14522,14523,14524],{"id":12725,"depth":485,"text":12726},{"id":12735,"depth":485,"text":12528},{"id":12836,"depth":485,"text":12837},{"id":12852,"depth":475,"text":12853,"children":14526},[14527,14528,14529,14530,14531],{"id":12885,"depth":485,"text":12886},{"id":12962,"depth":485,"text":12963},{"id":13029,"depth":485,"text":13030},{"id":13040,"depth":485,"text":13041},{"id":13050,"depth":485,"text":13051},{"id":13070,"depth":475,"text":10127,"children":14533},[14534,14535,14536,14537,14538],{"id":13085,"depth":485,"text":13086},{"id":13098,"depth":485,"text":13099},{"id":13123,"depth":485,"text":13124},{"id":13544,"depth":485,"text":13545},{"id":13661,"depth":485,"text":13662},{"id":10765,"depth":475,"text":12337,"children":14540},[14541,14542,14543,14544,14545],{"id":13691,"depth":485,"text":13692},{"id":13758,"depth":485,"text":13759},{"id":13829,"depth":485,"text":13830},{"id":13910,"depth":485,"text":13911},{"id":13921,"depth":485,"text":13922},{"id":13982,"depth":475,"text":13983,"children":14547},[14548,14549,14550,14551,14552,14553],{"id":13998,"depth":485,"text":13086},{"id":14009,"depth":485,"text":14010},{"id":14019,"depth":485,"text":13379},{"id":14291,"depth":485,"text":13411},{"id":14441,"depth":485,"text":14442},{"id":14467,"depth":485,"text":14468},"Connect LearnBuilder with Stripe, LTI, SSO, SCIM, REST API, and webhooks.","i-lucide-plug",{},{"title":1397,"description":14554},"docs\u002F5.account\u002F5.integrations","pAOV0l50BqHQodc47SUfmcSQc-R2tRLdZCZgyWgJgd8",{"id":14561,"title":664,"body":14562,"description":15002,"extension":653,"icon":15003,"meta":15004,"navigation":656,"order":657,"path":665,"seo":15005,"stem":666,"__hash__":15006},"docs\u002Fdocs\u002F5.account\u002F6.email-templates.md",{"type":7,"value":14563,"toc":14994},[14564,14567,14574,14578,14588,14592,14715,14719,14754,14759,14763,14766,14935,14945,14949,14952,14965,14970,14974,14977,14988],[10,14565,14566],{},"LearnBuilder sends automated emails at key moments — enrollment confirmations, course completions, compliance reminders, live session reminders, and more. You can customize every one of these templates: edit the subject line, rewrite the body, insert dynamic variables, preview the result, and disable any template you don't need.",[277,14568,14569],{},[10,14570,14571,14573],{},[14,14572,937],{}," Email templates are available on all plans.",[24,14575,14577],{"id":14576},"accessing-email-templates","Accessing email templates",[319,14579,14580,14585],{},[293,14581,9937,14582,2034],{},[14,14583,14584],{},"User Menu → Account → Emails",[293,14586,14587],{},"You'll see a list of all available email templates, each showing its name, description, and whether it's currently active or has been customized",[24,14589,14591],{"id":14590},"available-templates","Available templates",[37,14593,14594,14604],{},[40,14595,14596],{},[43,14597,14598,14601],{},[46,14599,14600],{},"Template",[46,14602,14603],{},"Sent when",[53,14605,14606,14615,14625,14635,14645,14655,14665,14675,14685,14695,14705],{},[43,14607,14608,14612],{},[58,14609,14610],{},[14,14611,1341],{},[58,14613,14614],{},"A learner enrolls in a course",[43,14616,14617,14622],{},[58,14618,14619],{},[14,14620,14621],{},"Course Completion",[58,14623,14624],{},"A learner completes a course",[43,14626,14627,14632],{},[58,14628,14629],{},[14,14630,14631],{},"Course Reminder",[58,14633,14634],{},"A learner hasn't accessed a course recently",[43,14636,14637,14642],{},[58,14638,14639],{},[14,14640,14641],{},"Compliance Due Soon",[58,14643,14644],{},"A mandatory training is approaching its due date",[43,14646,14647,14652],{},[58,14648,14649],{},[14,14650,14651],{},"Compliance Overdue",[58,14653,14654],{},"A mandatory training is past its due date",[43,14656,14657,14662],{},[58,14658,14659],{},[14,14660,14661],{},"Session Reminder (24h)",[58,14663,14664],{},"24 hours before a live session",[43,14666,14667,14672],{},[58,14668,14669],{},[14,14670,14671],{},"Session Reminder (1h)",[58,14673,14674],{},"1 hour before a live session",[43,14676,14677,14682],{},[58,14678,14679],{},[14,14680,14681],{},"Team Invitation",[58,14683,14684],{},"You invite someone to join your account team",[43,14686,14687,14692],{},[58,14688,14689],{},[14,14690,14691],{},"Course Invitation",[58,14693,14694],{},"You invite someone to a specific course",[43,14696,14697,14702],{},[58,14698,14699],{},[14,14700,14701],{},"Registration Approved",[58,14703,14704],{},"You approve a learner's registration request",[43,14706,14707,14712],{},[58,14708,14709],{},[14,14710,14711],{},"Learner Notification",[58,14713,14714],{},"You send a custom update to enrolled learners",[24,14716,14718],{"id":14717},"editing-a-template","Editing a template",[319,14720,14721,14724,14730,14736,14739,14745,14750],{},[293,14722,14723],{},"Click a template in the list to open the editor",[293,14725,14726,14727,14729],{},"Edit the ",[14,14728,2507],{}," line",[293,14731,14726,14732,14735],{},[14,14733,14734],{},"Body"," using the rich text editor",[293,14737,14738],{},"Use the variable chips to insert dynamic values (see below)",[293,14740,333,14741,14744],{},[14,14742,14743],{},"Preview"," to see a rendered version with sample data",[293,14746,1375,14747,14749],{},[14,14748,11528],{}," on or off to enable or disable the template",[293,14751,333,14752],{},[14,14753,11931],{},[10,14755,1814,14756,14758],{},[14,14757,1787],{}," badge appears next to any template you've modified.",[24,14760,14762],{"id":14761},"dynamic-variables","Dynamic variables",[10,14764,14765],{},"Each template has a set of variables that are automatically replaced with real values when the email is sent. Click a variable chip in the editor to insert it at the cursor position.",[37,14767,14768,14777],{},[40,14769,14770],{},[43,14771,14772,14774],{},[46,14773,4668],{},[46,14775,14776],{},"Value",[53,14778,14779,14787,14796,14806,14816,14826,14836,14846,14856,14865,14875,14885,14895,14905,14915,14925],{},[43,14780,14781,14785],{},[58,14782,14783],{},[61,14784,1363],{},[58,14786,9795],{},[43,14788,14789,14793],{},[58,14790,14791],{},[61,14792,1360],{},[58,14794,14795],{},"Name of the course",[43,14797,14798,14803],{},[58,14799,14800],{},[61,14801,14802],{},"{{course_url}}",[58,14804,14805],{},"Direct link to the course",[43,14807,14808,14813],{},[58,14809,14810],{},[61,14811,14812],{},"{{account_name}}",[58,14814,14815],{},"Your account name",[43,14817,14818,14823],{},[58,14819,14820],{},[61,14821,14822],{},"{{app_name}}",[58,14824,14825],{},"\"LearnBuilder\"",[43,14827,14828,14833],{},[58,14829,14830],{},[61,14831,14832],{},"{{due_date}}",[58,14834,14835],{},"Compliance due date (compliance templates)",[43,14837,14838,14843],{},[58,14839,14840],{},[61,14841,14842],{},"{{days_until_due}}",[58,14844,14845],{},"Days until compliance deadline",[43,14847,14848,14853],{},[58,14849,14850],{},[61,14851,14852],{},"{{days_overdue}}",[58,14854,14855],{},"Days past compliance deadline",[43,14857,14858,14862],{},[58,14859,14860],{},[61,14861,1367],{},[58,14863,14864],{},"Days since a learner started a course",[43,14866,14867,14872],{},[58,14868,14869],{},[61,14870,14871],{},"{{session_title}}",[58,14873,14874],{},"Live session name",[43,14876,14877,14882],{},[58,14878,14879],{},[61,14880,14881],{},"{{session_time}}",[58,14883,14884],{},"Scheduled start time",[43,14886,14887,14892],{},[58,14888,14889],{},[61,14890,14891],{},"{{meeting_url}}",[58,14893,14894],{},"Meeting link (live sessions)",[43,14896,14897,14902],{},[58,14898,14899],{},[61,14900,14901],{},"{{inviter_name}}",[58,14903,14904],{},"Name of the person who sent the invitation",[43,14906,14907,14912],{},[58,14908,14909],{},[61,14910,14911],{},"{{role}}",[58,14913,14914],{},"Invited team role",[43,14916,14917,14922],{},[58,14918,14919],{},[61,14920,14921],{},"{{accept_url}}",[58,14923,14924],{},"Invitation acceptance link",[43,14926,14927,14932],{},[58,14928,14929],{},[61,14930,14931],{},"{{login_url}}",[58,14933,14934],{},"Link to the account login page",[277,14936,14937],{},[10,14938,14939,14941,14942,14944],{},[14,14940,1404],{}," Use the ",[14,14943,14743],{}," button before saving — it renders the template with realistic sample data so you can see exactly how it will look to recipients.",[24,14946,14948],{"id":14947},"resetting-to-default","Resetting to default",[10,14950,14951],{},"If you want to undo your customizations and return to LearnBuilder's built-in template:",[319,14953,14954,14957,14962],{},[293,14955,14956],{},"Open the template editor",[293,14958,333,14959],{},[14,14960,14961],{},"Reset to Default",[293,14963,14964],{},"Confirm — your customizations are removed and the default subject and body are restored",[10,14966,3284,14967,14969],{},[14,14968,1787],{}," badge disappears once a template is reset.",[24,14971,14973],{"id":14972},"disabling-a-template","Disabling a template",[10,14975,14976],{},"If you manage certain communications outside LearnBuilder (for example, via your CRM), you can disable individual templates so they're never sent:",[319,14978,14979,14981,14986],{},[293,14980,14956],{},[293,14982,1375,14983,14985],{},[14,14984,11528],{}," off",[293,14987,11931],{},[10,14989,14990,14991,14993],{},"Disabled templates show a ",[14,14992,9088],{}," badge in the list. LearnBuilder will not send them until re-enabled.",{"title":425,"searchDepth":475,"depth":475,"links":14995},[14996,14997,14998,14999,15000,15001],{"id":14576,"depth":475,"text":14577},{"id":14590,"depth":475,"text":14591},{"id":14717,"depth":475,"text":14718},{"id":14761,"depth":475,"text":14762},{"id":14947,"depth":475,"text":14948},{"id":14972,"depth":475,"text":14973},"Customize the automated emails LearnBuilder sends to your learners and team members.","i-lucide-mail",{},{"title":664,"description":15002},"pH5Eh_rv8NEf-1lqyvGB94LVzy601PpQc6ghS9GGUa8",{"id":4,"title":5,"body":15008,"description":652,"extension":653,"icon":654,"meta":15451,"navigation":656,"order":657,"path":658,"seo":15452,"stem":660,"__hash__":661},{"type":7,"value":15009,"toc":15436},[15010,15016,15018,15020,15022,15082,15084,15184,15186,15210,15216,15218,15230,15232,15234,15252,15254,15260,15262,15264,15288,15290,15292,15297,15303,15305,15314,15382,15384,15386,15402,15404,15406,15432,15434],[10,15011,12,15012,17,15014,22],{},[14,15013,16],{},[19,15015,21],{},[24,15017,27],{"id":26},[10,15019,30],{},[32,15021,35],{"id":34},[37,15023,15024,15032],{},[40,15025,15026],{},[43,15027,15028,15030],{},[46,15029,48],{},[46,15031,51],{},[53,15033,15034,15042,15050,15058,15066,15074],{},[43,15035,15036,15040],{},[58,15037,15038],{},[61,15039,63],{},[58,15041,66],{},[43,15043,15044,15048],{},[58,15045,15046],{},[61,15047,73],{},[58,15049,76],{},[43,15051,15052,15056],{},[58,15053,15054],{},[61,15055,83],{},[58,15057,86],{},[43,15059,15060,15064],{},[58,15061,15062],{},[61,15063,93],{},[58,15065,96],{},[43,15067,15068,15072],{},[58,15069,15070],{},[61,15071,103],{},[58,15073,106],{},[43,15075,15076,15080],{},[58,15077,15078],{},[61,15079,113],{},[58,15081,116],{},[32,15083,120],{"id":119},[37,15085,15086,15094],{},[40,15087,15088],{},[43,15089,15090,15092],{},[46,15091,48],{},[46,15093,51],{},[53,15095,15096,15104,15112,15120,15128,15136,15144,15152,15160,15168,15176],{},[43,15097,15098,15102],{},[58,15099,15100],{},[61,15101,139],{},[58,15103,142],{},[43,15105,15106,15110],{},[58,15107,15108],{},[61,15109,149],{},[58,15111,152],{},[43,15113,15114,15118],{},[58,15115,15116],{},[61,15117,159],{},[58,15119,162],{},[43,15121,15122,15126],{},[58,15123,15124],{},[61,15125,169],{},[58,15127,172],{},[43,15129,15130,15134],{},[58,15131,15132],{},[61,15133,179],{},[58,15135,182],{},[43,15137,15138,15142],{},[58,15139,15140],{},[61,15141,189],{},[58,15143,192],{},[43,15145,15146,15150],{},[58,15147,15148],{},[61,15149,199],{},[58,15151,202],{},[43,15153,15154,15158],{},[58,15155,15156],{},[61,15157,209],{},[58,15159,212],{},[43,15161,15162,15166],{},[58,15163,15164],{},[61,15165,219],{},[58,15167,222],{},[43,15169,15170,15174],{},[58,15171,15172],{},[61,15173,229],{},[58,15175,232],{},[43,15177,15178,15182],{},[58,15179,15180],{},[61,15181,239],{},[58,15183,242],{},[32,15185,246],{"id":245},[37,15187,15188,15196],{},[40,15189,15190],{},[43,15191,15192,15194],{},[46,15193,48],{},[46,15195,51],{},[53,15197,15198],{},[43,15199,15200,15204],{},[58,15201,15202],{},[61,15203,265],{},[58,15205,268,15206,272,15208,275],{},[61,15207,271],{},[61,15209,169],{},[277,15211,15212],{},[10,15213,15214,284],{},[61,15215,283],{},[24,15217,288],{"id":287},[290,15219,15220,15224],{},[293,15221,15222,298],{},[14,15223,297],{},[293,15225,301,15226,305,15228,309],{},[14,15227,304],{},[19,15229,308],{},[24,15231,313],{"id":312},[32,15233,317],{"id":316},[319,15235,15236,15242,15248],{},[293,15237,323,15238,327,15240,275],{},[14,15239,326],{},[14,15241,330],{},[293,15243,333,15244,337,15246,341],{},[14,15245,336],{},[19,15247,340],{},[293,15249,344,15250,348],{},[61,15251,347],{},[32,15253,352],{"id":351},[10,15255,355,15256,359,15258,363],{},[14,15257,358],{},[61,15259,362],{},[32,15261,367],{"id":366},[369,15263,372],{"id":371},[319,15265,15266,15274,15278,15280,15286],{},[293,15267,323,15268,327,15270,327,15272,275],{},[14,15269,379],{},[14,15271,382],{},[14,15273,385],{},[293,15275,388,15276,275],{},[61,15277,391],{},[293,15279,394],{},[293,15281,397,15282,401,15284,405],{},[14,15283,400],{},[61,15285,404],{},[293,15287,408],{},[369,15289,412],{"id":411},[10,15291,415],{},[417,15293,15295],{"className":15294,"code":421,"language":422},[420],[61,15296,421],{"__ignoreMap":425},[10,15298,428,15299,432,15301,436],{},[61,15300,431],{},[61,15302,435],{},[369,15304,308],{"id":439},[10,15306,442,15307,446,15309,456],{},[14,15308,445],{},[448,15310,15312],{"href":450,"rel":15311},[452],[61,15313,455],{},[417,15315,15316],{"className":459,"code":460,"language":461,"meta":425,"style":425},[61,15317,15318,15322,15328,15334,15344,15370,15374,15378],{"__ignoreMap":425},[465,15319,15320],{"class":467,"line":468},[465,15321,472],{"class":471},[465,15323,15324,15326],{"class":467,"line":475},[465,15325,479],{"class":478},[465,15327,482],{"class":471},[465,15329,15330,15332],{"class":467,"line":485},[465,15331,488],{"class":478},[465,15333,482],{"class":471},[465,15335,15336,15338,15340,15342],{"class":467,"line":493},[465,15337,496],{"class":478},[465,15339,499],{"class":471},[465,15341,503],{"class":502},[465,15343,506],{"class":471},[465,15345,15346,15348,15350,15352,15354,15356,15358,15360,15362,15364,15366,15368],{"class":467,"line":509},[465,15347,512],{"class":478},[465,15349,515],{"class":471},[465,15351,518],{"class":502},[465,15353,521],{"class":471},[465,15355,524],{"class":502},[465,15357,521],{"class":471},[465,15359,529],{"class":502},[465,15361,521],{"class":471},[465,15363,534],{"class":502},[465,15365,521],{"class":471},[465,15367,539],{"class":502},[465,15369,542],{"class":471},[465,15371,15372],{"class":467,"line":545},[465,15373,548],{"class":471},[465,15375,15376],{"class":467,"line":551},[465,15377,554],{"class":471},[465,15379,15380],{"class":467,"line":557},[465,15381,560],{"class":471},[10,15383,563],{},[24,15385,567],{"id":566},[290,15387,15388,15390,15396,15398],{},[293,15389,572],{},[293,15391,575,15392,327,15394,580],{},[14,15393,326],{},[14,15395,330],{},[293,15397,583],{},[293,15399,586,15400,590],{},[61,15401,589],{},[24,15403,594],{"id":593},[10,15405,597],{},[290,15407,15408,15412,15416,15420,15424,15428],{},[293,15409,15410],{},[19,15411,604],{},[293,15413,15414],{},[19,15415,609],{},[293,15417,15418],{},[19,15419,614],{},[293,15421,15422],{},[19,15423,619],{},[293,15425,15426],{},[19,15427,624],{},[293,15429,15430],{},[19,15431,629],{},[10,15433,632],{},[634,15435,636],{},{"title":425,"searchDepth":475,"depth":475,"links":15437},[15438,15443,15444,15449,15450],{"id":26,"depth":475,"text":27,"children":15439},[15440,15441,15442],{"id":34,"depth":485,"text":35},{"id":119,"depth":485,"text":120},{"id":245,"depth":485,"text":246},{"id":287,"depth":475,"text":288},{"id":312,"depth":475,"text":313,"children":15445},[15446,15447,15448],{"id":316,"depth":485,"text":317},{"id":351,"depth":485,"text":352},{"id":366,"depth":485,"text":367},{"id":566,"depth":475,"text":567},{"id":593,"depth":475,"text":594},{},{"title":5,"description":652},1780234591174]