Choose which corner the tutor, feedback, and identity bubbles sit in — per artifact/course. Saved instantly; takes effect on the next page load (no re-upload). “Default” keeps the built-in position.
Artifact settings registry
Per-artifact runtime parameters (Sheet IDs, pass thresholds, API keys, voice endpoints…). Changes here are picked up by every artifact on the next page load — no re-rendering needed.
Artifact ID
Display name
Sheet ID
Pass
Updated
No artifacts yet. Click + New artifact to add one.
Loading…
Invite a user
They get an email to set their own password — no password is ever created for them here.
Users
Loading users…
No users yet.
Email
Name
Access
Status
Last sign-in
Actions
Recent admin actions
When
Admin
Action
Target
Create a review link
Pick what to review and share the link with your SME. They open it, type their name, and leave comments — no account needed. The link never expires unless you disable it. Each link is its own room: everyone using the same link sees and replies to the same comments; different links never mix. Review links also mark all activity as test data automatically. (Accounts don't grant review access — "Tester (Data)" on the Users tab only controls data recording.)
Changes here go live on the next artifact page-load. No re-rendering or re-uploading needed.
Short snake_case. Used as the join key everywhere in the platform. Once set, never change it.
Drives the dashboard's Organization/Site views and how this resource's sessions are attributed. Lowercase, no spaces (e.g. uscold / dallas). Leave blank only for shared content with no fixed site.
The long ID in the Sheet URL between /d/ and /edit. Open this sheet ↗
Uncheck to hide the floating "?" button on this artifact's pages. Useful for resources where the tutor would be redundant or off-message. Saved as tutor_enabled in the config JSON.
Which corner of the page the floating "?" sits in. Move it if it overlaps with the artifact's own buttons. Saved as tutor_position; default is top-right (the least-crowded corner for most artifacts).
Per-artifact mic backend. Whisper is more accurate, mobile-friendly, and metered through your spending cap; Web Speech is free but unreliable and invisible to the dashboard. Saved as mic_engine in the config JSON. The mic is fully manual: learners tap the mic to start, tap again to stop, and press Send when ready — no silence auto-stop, no auto-send.
The voice this artifact speaks with (OpenAI text-to-speech, via the proxy). Leave on "Default" to use the global voice; set one to give this artifact its own. Saved as tts_voice in the config JSON.
Free-form bag for everything else: API keys, voice endpoints, model name, feature flags. Must be valid JSON. Same exposure level as the deployed HTML — anyone running the artifact can read it.
AI proxy settings
When today's upstream spend hits the daily cap, the proxy returns an error until UTC midnight. Editable from here — takes effect within ~30 seconds (the function caches settings briefly).
Set to 0 to disable the cap entirely (not recommended). Resets at UTC midnight.
Guardrails (v5)
Checks the proxy runs on every request. Defaults are sensible — tune only if needed.
Blocked learners see a polite "keep it appropriate and related to the lesson" message. "Warn" logs flags without blocking (good for a trial week).
Ceiling per learner per day (the overall daily cap above is still the hard floor). 0 = no per-learner cap.
Any chat model NOT on this list is rejected — your main protection against a copied key requesting a pricey model.
Advanced limits
Default excludes plain "violence" so warehouse-safety talk isn't false-flagged.
Token pricing rates
All in US dollars. Saved to the registry — takes effect immediately in this dashboard, no re-upload needed. Changing a rate re-prices your whole history.
input_per_1m / output_per_1m = dollars per 1,000,000 tokens · elevenlabs_per_1k_chars = dollars per 1,000 characters. Models not listed fall back to openai_default.
Client menus
Build a curated menu for a client at learn.extremelearningusa.com/m/<slug>. Toggle which activities they see — changes go live on Save, no redeploy. New activities you add later appear here automatically, turned off.
Organization + Site are this instance's identity — they drive the per-client menu and its dashboard view. Language is just which content version; leave blank unless this menu is language-specific.
Forklift simulator — forklift.extremelearningusa.com · separate 3DWTS repo · read live from the deployed page each time you open this tab
Deliverable
Modules stamped in the live page
A "needs republish" here means: re-stamp the simulator file in the 3DWTS repo and have the 3DWTS team republish it.
Seen running — self-reported · every deliverable on analytics v1.14.0+ / identity v1.13.0+ reports itself when someone opens it, even inside an LMS
Resource
Where
Modules (as last seen)
Last seen
Loads
This is how SCORM zips inside client LMSes (Workday / UKG / SCORM Cloud) become visible: the copy reports itself the first time someone opens it. Zips built before analytics v1.14.0 never report — they stay dark until rebuilt and re-uploaded.