Academy enrollments (Sheets → Zapier/n8n → LearnWorlds)
LearnWorlds API is not available on the current plan, so enrollment actions are triggered by writing rows into a Google Sheet that Zapier/n8n watches.
Sheet
- Configure defaults in
~/.config/skills/config.jsonunderacademy_enrollments:account: Google account for Sheets accesssheet_id: Spreadsheet ID
Example:
{
"academy_enrollments": {
"account": "you@example.com",
"sheet_id": "spreadsheet_id_here"
}
}
Tabs (actual names in the sheet):
Dar acceso(append rows to grant access)Quitar accesoAñadir tagEliminar tag
Dar acceso columns (A:E):
email,nombre,apellidos,producto,precio
Helpers
-
Natural-language helper (best effort parser):
scripts/enroll-nl "Enroll Nombre Apellidos (email@dom.com) in AI Expert precio 997"
-
Low-level helper (explicit args):
scripts/enroll-grant-access.sh --email ... --nombre ... --apellidos ... --formacion "AI Expert" --precio 997- If not configured, pass
--accountand--sheet-idexplicitly.
-
List known product IDs seen in the sheet:
scripts/enroll-list-products.sh- If not configured, pass
--accountand--sheet-idexplicitly.
Agent behavior
When the user asks in natural language to enroll someone:
- Parse
email, full name, course name (e.g. "AI Expert"), optional price. - Confirm parsed fields before appending the row (ask for explicit OK if any field is ambiguous).
- Append a row to
Dar accesovia the helper. - Reply with a short confirmation.
Avoid posting any sensitive data beyond the minimum necessary (email + course). Do not paste full sheet contents in chat.