Skip to main content

NIM

Scripts

Danger

It is important to note that developing Connectors or Scripts comes with a "Use at Your Own Risk" policy. We would like to emphasize that any such tools, connectors, or scripts that have not been developed directly by Tools4ever are outside the scope of our standard support services. Users are advised to exercise caution and discretion when employing any non-official tools or scripts in conjunction with Tools4ever products.

NIM provides an advanced scripting feature that significantly expands the capabilities of its users. This feature, built on TypeScript, allows for intricate and custom functionalities to be scripted and executed within the NIM environment. Below are the key points of this advanced feature:

Typescript-Based Scripting

The scripting feature is rooted in TypeScript, a popular superset of JavaScript known for its additional layer of type safety and development robustness. This choice ensures scripts are both powerful and reliable, leveraging TypeScript's extensive ecosystem and capabilities.

Scripts01.png

Build Custom Functions

Administrators can craft custom functions through scripting, enabling tailored solutions and processes within the NIM app. These functions can be individually called, providing flexibility and specificity in automating and managing tasks related to identity and access.

Scripts02.png

Integration with Filters and Target System Actions

Scripts can interact with "Filters" and "Target System Actions," integral parts of NIM's architecture. This interaction allows for dynamic provisioning and management of users and resources, ensuring that scripts can perform complex, targeted operations within the organizational infrastructure.

let results = await nim.filterExecute("Employee_User_View_P_ID", {
    ID: id,
  });

  if (results && results.length == 1) {
    nim.logInfo(`Found employee [${id}]`);
    return results[0];
  } else if (results && results.length > 1 ) {
    throw new RangeError(`Found multiple employees for [${id}]`);
  }

Flexible Development Environment

Developers have the choice to write scripts directly within the NIM interface or utilize a starting template within VSCode. While the NIM interface offers direct integration, it lacks autocomplete—a feature many developers rely on for code completion and error detection. To overcome this, NIM provides a starting template, accessible on the GitHub repository, which developers can use to enable autocomplete and enhance their scripting with debugging capabilities. This approach makes scripting not only more efficient but also more accurate and powerful.

Scripts04.png