pronote

n8n custom nodes and agent utilities to talk to PRONOTE via the Pawnote library.

Documentation

n8n PRONOTE nodes

Custom n8n nodes and small agent helpers that talk to PRONOTE using the Pawnote (mobile user-agent, device UUID, loginCredentials / loginToken + createSessionHandle).

Available resources

  • Timetable: fetches the week for a reference date (defaults to today) and groups classes by day.
  • Tasks: homework for the week of a reference date, with an onlyPending toggle.
  • Grades: list available periods or pull an overview (student/class averages plus detailed grades per subject).
  • PRONOTE Tool (AI Agents): an ai_tool node that exposes timetable, tasks, grades, and grade-period listing to AI Agent nodes. The model can set action, referenceDate (ISO), periodName, onlyPendingTasks, and includeGrades.
  • PRONOTE Auth Helper: prepares the mobile validation flow (InfoMobileApp + device UUID for Lycée Connecté/CAS) and validates mdp mobile tokens into a usable session/token. Also supports direct username/password login when CAS is not needed.

Installation

  1. cd n8n-nodes-pronote
  2. Install deps: npm install
  3. Build: npm run build
  4. Copy/symlink the dist folder into your n8n custom nodes directory, or publish the package to a registry and install it in n8n.

Credentials

Configure the PRONOTE API credentials in n8n:

  • Authentication mode: Username and Password or Existing Mobile Token (the mdp token from a prior mobile login).
  • Instance URL: full PRONOTE base URL (the node normalizes it with Pawnote cleanURL).
  • Device UUID: optional but recommended so the instance does not ask to re-validate a new device every run.
  • Account kind: Student/Parent/Teacher (defaults to Student).

Agent helpers

See agent-tools/pronoteTools.ts for a thin wrapper you can drop into LLM agent stacks. It reuses the same login and fetch functions as the node. For no-code agent flows, drop the PRONOTE Tool node into an AI Agent graph and wire it to your agent; the model will decide which action to call and can set the reference date or period dynamically.

Auth helper flow (Lycée Connecté / CAS)

  1. Run PRONOTE Auth Helper with operation “Prepare Mobile Validation” and your instance URL. It returns a deviceUUID and the InfoMobileApp.json URL.
  2. Open that URL in a browser, approve the device in your CAS portal (e.g., Lycée Connecté). Capture the returned login and mdp (token).
  3. Run PRONOTE Auth Helper with operation “Validate Mobile Token”, providing the instanceUrl, login, mdp, and the same deviceUUID. The node outputs a verified token plus user details—use these in the PRONOTE credentials.

Use refreshedMobileToken (if present) + deviceUUID in the PRONOTE credentials. The initial CAS mdp can expire quickly; the refreshed token returned by the helper is what you should keep. Nodes re-login with that token on each run.
Keep the same deviceUUID you used during validation; token-based login will fail if you change it.

Discussion