Hello everyone,
I’m currently developing custom nodes and am facing a challenge where I could use your experience and best practices.
One of my node functionalities requires the installation of additional software on the system, as it is proprietary and licensed. This means it’s not a freely available npm library that I can simply include as a dependency.
Now I’m wondering: How is this typically handled in the n8n ecosystem? I see several possible approaches:
Option 1: Separate Implementation
Outsource the functionality into a separate, optional node that is only used by users who have installed the corresponding software.
Option 2: Runtime Check
Design the node to check during execution whether the required software is installed, and provide a meaningful error message if not.
Option 3: Documentation + Prerequisites
Clearly communicate the requirements in the node documentation and leave the responsibility for installation to the user.
In your experience, what is the “n8n way”? Are there established patterns or community conventions for such scenarios? I want to build a solution that is both technically sound and user-friendly.
Thank you in advance for your input!