🚀 xAPI-Scorable Interactive with AI Agent - SLS Interactive Response Questions

Server-side xAPI integration for SLS Interactive Response Questions. Server AI keys are restricted to moe.edu.sg (localhost allowed). If you are outside that domain, sign in with a @moe.edu.sg Google account to unlock server keys, or provide your own OpenAI/Gemini/Claude API key.

📦 Upload ZIP File

Drag and drop your ZIP file here

or

Need a sample file? Download this example ZIP and upload it here to test the integrator.

⚙️ Integration Mode

Smart recommendation: The system will analyze your content and suggest the best mode. You can override the recommendation below.

🔧 Options
MOE Sign‑In
Sign in with your @moe.edu.sg account to unlock the server AI keys on any domain.
Checking sign‑in status…

By default, CSP-blocked scripts are removed. Check this to keep them.

If enabled and the server has GOOGLE_API_KEY or OPENAI_API_KEY, AI will run after the selected mode is applied.

🤖 AI Agent Custom Instructions (Optional)

Optional. If you enter instructions here and Gemini is configured, the AI will run as an add-on for ANY mode (Timeline / Quiz / Minimal).

API keys:
OpenAI
Checking...
Gemini
Checking...
Claude
Not configured (provider not enabled)
Your key is used only for this request and is not stored.

💡 Tip: Be specific about what tracking and calculations you want. The AI will incorporate these into the generated xAPI scripts.

ℹ️ How it works
  • Upload a ZIP file containing your interactive content with index.html
  • System analyzes the content to detect form elements, questions, interactions
  • Optionally uses Gemini AI to generate intelligent tracking code (if using AI Agent mode)
  • Injects xAPI libraries and tracking scripts into your HTML
  • Returns a ready-to-deploy ZIP file for SLS

Server-side processing ensures secure handling of your content.

📋 Log

      

📖 SLS Launch Requirements

The integrated content expects these URL parameters when launched from SLS:

endpoint - LRS endpoint URL
auth - Basic auth header (Base64 of key:secret)
agent - URL-encoded JSON actor object
stateId - State ID for tracking
activityId - Activity ID

⚠️ Without these parameters, xAPI tracking will be skipped.