npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-pronote

v0.2.8

Published

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

Readme

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.