NinjaOne does not include a native feature explicitly labeled as a “Software Package Repository.” Instead, it provides a flexible Automation Library that can be used to achieve the same outcome. The Automation Library is organized into categories, which function as labels to group automations, and it supports both built-in automations and fully custom scripts created by IT teams. This design allows administrators to define, organize, and reuse automation workflows—including software installation packages—without being constrained by a fixed repository structure.
In practice, a Software Package Repository in NinjaOne is not a built-in feature but an organizational model you define using the Automation Library. By grouping scripts, installers, and related assets under a dedicated category label, IT teams can logically centralize and identify their software deployment resources in a consistent and scalable way. While the category itself is not a true repository, it provides an effective method to standardize and manage software packages across environments.
This document shows how to create and manage a Software Package Repository using the Automation Library. It focuses on how to structure the Automation Library effectively, how to design reusable installation packages, and how to maintain visibility and control over deployed software. The goal is to help IT teams turn a flexible automation framework into a reliable, repeatable system for software distribution and lifecycle management.
What is the NinjaOne Automation Library?
The NinjaOne Automation Library is a centralized place where IT teams can store, organize, and reuse automation scripts. It includes a set of built-in automations for common tasks, and it also allows administrators to create and add their own scripts.
The library is organized into categories, and additional categories can be created as needed. It also includes script templates that can be imported and used as a starting point for custom automations.
Automations in the library can be executed in several ways based on your operational needs. They can be assigned to policies to run automatically based on defined conditions, scheduled to run at specific times as part of routine maintenance, or executed on demand by technicians for immediate actions. This flexibility allows IT teams to standardize processes while maintaining control over when and how tasks are performed across their environments.
What script languages are supported by the automation library?
NinjaOne does not include its own script execution engine. Instead, it submits scripts from the Automation Library to the target endpoint, where they are executed using the endpoint’s native scripting capabilities.
This has two important implications:
- NinjaOne does not validate script functionality prior to execution on the endpoint.
- The supported scripting languages depend on what the endpoint operating system can execute.
Because NinjaOne supports Windows, Linux, and macOS, the scripting language used must align with the target platform:
- Windows endpoints: Batch, PowerShell, VBScript, and JavaScript (via Windows Script Host using Cscript)
- Linux and macOS endpoints: Shell scripts (e.g., Bash or Zsh)
Can I use a script to install software on an endpoint?
Yes. Software installation is an endpoint capability, and NinjaOne enables it by allowing you to run scripts on managed devices. You can deploy software by creating software packages for more structured, repeatable deployments. Refer to the documentation for detailed steps on installing software in NinjaOne.
Once a software package is created, it is best practice to store it in a dedicated repository, often referred to as a Software Package Repository.
How can I create the Software Package Repository?
Follow the steps below to create the Software Package Repository to organize your reusable software packages.
- From the NinjaOne console, navigate to Administration > Library > Automation.
- Click Categories.
- Click + Create category. The Create category modal dialog appears.
- Enter a category name “Software Package Repository” for this case.
- Click Create.
- From now on, the Software Package Repository is available to store your software installation packages.

