Librus icon

Librus

Read data from Librus Synergia (unofficial)

Overview

This node integrates with the Librus API, a platform commonly used by schools for managing educational data such as messages, homework, absences, calendar events, and student information. The node allows users to perform various operations on different resources within the Librus system, including retrieving messages, grades, notifications, timetable data, and more.

A typical use case is automating the retrieval of messages or grades from the Librus platform to integrate them into workflows, such as sending notifications, generating reports, or syncing data with other systems. For example, a user could automatically fetch new inbox messages or get detailed grade information for a student and then process or forward that data elsewhere.

The "Get Message" operation under the "Info" resource specifically retrieves message-related data, enabling workflows that need to access individual messages or lists of messages from the user's Librus account.

Properties

Name Meaning
Custom method name (Advanced) Override the default underlying Librus API method to call (e.g., getMarks). If set, this custom method will be called instead of the standard one mapped to the selected operation.

Note: Although only the "Custom method name" property is listed here, the node internally supports many other parameters depending on the resource and operation chosen (e.g., messageId, folderId, page, userId, etc.), but these are not exposed in the provided input properties JSON.

Output

  • The output is an array of items where each item contains a json field holding the data returned from the Librus API.
  • For most operations, the json field contains objects representing entities such as messages, grades, homework, absences, calendar events, or notifications.
  • When fetching a file (e.g., via the "messages.getFile" operation), the node outputs binary data encoded in base64 under a binary property (default named "data"). This binary data represents the file content, with metadata including MIME type (application/octet-stream) and filename extracted from the path.
  • The structure of the JSON output varies depending on the operation but generally reflects the raw response from the Librus API client methods.

Dependencies

  • Requires valid credentials for the Librus API, specifically a login and password, which must be configured in n8n's credential manager.
  • Depends on an internal Librus API client wrapper library to communicate with the Librus service.
  • Uses helper functions for filtering results by date range and converting streams to buffers for file downloads.

Troubleshooting

  • No supported method found error: If the node throws an error indicating no supported method was found for the selected resource and operation, it means either the operation name is incorrect or the underlying API client does not support it. Verify the resource and operation names and ensure they match the available methods.
  • Authentication errors: Incorrect or expired credentials will cause authentication failures. Ensure the API login and password are correct and have necessary permissions.
  • Empty or unexpected results: Some operations accept date ranges or pagination parameters; incorrect values may result in empty responses. Adjust these parameters accordingly.
  • Binary file download issues: When downloading files, ensure the binary property name is correctly set if customized, and verify the file path is valid.
  • Custom method usage: Using the "Custom method name" property incorrectly (e.g., specifying a non-existent method) can cause runtime errors. Use this feature only if you know the exact method name exposed by the API client.

Links and References

  • Librus Official Website — For general information about the Librus platform.
  • n8n Documentation — For guidance on setting up credentials and using custom nodes.
  • (No direct public API documentation link available from the source code; users should refer to Librus or community resources.)

Discussion