Skip to main content

Examples of what you can ask your agent

  • “How many people enrolled in the onboarding course this month?”
  • “Who’s halfway through the safety course? Show me their progress”
  • “What percentage of students passed the final exam?”
  • “Issue Laura Martínez’s certificate for her completed session”
  • “Create a new customer service course, with an exam and certificate”
Learning lets you manage your LMS from chat. Check who’s progressing, how exams are going, and issue certificates without logging into the platform. As with the other verticals, write operations show a preview before executing.

Read tools

learning_list_courses

Lists the courses for this business.
integer
default:"100"
Maximum number of courses to return.
Response includes: _id, title, slug, description, published, isCertified, examApproveScore, created_at

learning_get_enrollment_stats

Gets enrollment statistics: counts by status (in_progress, exam, completed, certified, failed).
string
Course ID. If omitted, returns statistics for all courses.
string
Start date in ISO 8601 to filter by startedAt. Optional.
string
End date in ISO 8601 to filter by startedAt. Optional.
Response: total_enrollments, by_status (object with counts per status), completion_rate, certification_rate

learning_get_course_progress

Gets progress per student for a specific course.
string
default:"''"
Course ID to query.
integer
default:"100"
Maximum number of progress records to return.
Response: per student: status, current module, completed modules, score, exam status, and identity (fullName, email).

learning_get_exam_results

Gets pass/fail rates and average exam scores.
string
Course ID. If omitted, returns results for all courses.
Response: total_exams_started, total_exams_completed, pass_rate, average_score

learning_get_certificates_issued

Lists certificates issued by this business within a date range.
string
Start date in ISO 8601. Optional.
string
End date in ISO 8601. Optional.
integer
default:"100"
Maximum number of certificates to return.
Response includes: session_id, user info (fullName, email), course info (title, slug), certificate details, and completedAt.

Write tools — Courses

learning_propose_create_course

Generates a preview of the course draft. Does not write to the database.
string
required
Course title.
string
required
Unique course slug in kebab-case (e.g. "nippy-onboarding-2026").
string
default:"''"
Course description.
float
Minimum score to pass the exam (e.g. 70.0). Optional.
boolean
default:"false"
Whether the course grants a certificate upon completion.

learning_approve_create_course

Creates the course draft in the database. Same parameters as propose_create_course.
Only call this tool after showing the user the propose_create_course preview and receiving explicit confirmation.
Response: {"_id": "...", "title": "Nippy Onboarding 2026", "status": "created"}

learning_propose_update_course

Generates a preview of changes to apply to an existing course. Does not write to the database. Only non-None fields are applied.
string
required
Course ID to update.
string
New course title.
string
New course description.
float
New minimum passing score.
boolean
Whether the course grants a certificate.
boolean
Whether the course is published and visible to students.

learning_approve_update_course

Applies changes to the course. Same parameters as propose_update_course.
Only call this tool after showing the user the propose_update_course preview and receiving explicit confirmation.
Response: {"course_id": "664f1a2b3c4d5e6f7a8b9c0d", "updated": true}

Write tools — Certificates

learning_propose_issue_certificate

Generates a preview of issuing a certificate. Does not write to the database. Verifies the session exists, is completed, and belongs to the business.
string
required
ID of the completed course session.

learning_approve_issue_certificate

Forces certification of a completed session. Marks the session status as "certified".
string
required
ID of the course session to certify.
Only call this tool after showing the user the propose_issue_certificate preview and receiving explicit confirmation. This tool does not generate the PDF or send the email — that is handled by whatsapp-platform separately.

Schema references for the agent:

Important notes

  • Courses must have published: true before students can access them. Use propose_update_course and approve_update_course to publish.
  • Issuing certificates from MCP only updates the session status to "certified". PDF generation and email delivery are handled by whatsapp-platform.