# NIM

### Connectors

The concept of connectors is closely related to Systems. A connector is the underlying adapter that defines the available operations between NIM and a given type of system (e.g., Active Directory). Thus, it is possible to add multiple systems of the same type, but all those systems will use the same underlying connector.

All officially-supported systems come with pre-built connectors. These connectors are JSON or PowerShell files stored in C:\Program Files\Tools4ever\NIM\sysconfig. They exist outside of the NIM Studio, and operate "under the hood."

A connector determines how systems of the corresponding type can be used in source and/or target contexts. That is, they define the Data tables that are available for Collection in source contexts, and they define the CRUD functions of Mappings and Roles available in target contexts. See Sources and targets.

### Tip

The connectors for officially-supported systems are not meant to be user-editable, although in principle it is possible to extend them. If you need additional features in an official connector, we recommend contacting Tools4ever first. We will work with you to develop the needed features. Typically, you'll only work directly with a connector when you're creating Custom connectors.

NIM supports three different connector formats:

PowerShell

The officially-supported Active Directory, Microsoft Exchange, Microsoft SQL, and Oracle SQL systems use the PowerShell connector format.

A PowerShell connector lets NIM connect to any external system that offers a PowerShell API, and execute arbitrary code in that system.

REST

The officially-supported Azure AD and Google Workspace systems use the REST connector format.

A REST connector lets NIM connect to any external system that offers a REST API, and make arbitrary REST calls. It runs on NIM's proprietary REST engine.

File

Imports data from flat CSV files. Used only in the officially-supported CSV-File system.