Skip to main content

Prerequisites

Required Software

Node

To develop a connector, Node >= 18.0.0 is required. Download node from the nodejs.org downloads page.

SailPoint CLI

SailPoint provides a CLI tool to manage the connectors' lifecycles. To install and set up the CLI, follow the instructions here or you can directly download and install from the GitHub releases page

IDE

Although you can develop connectors in a text editor, use an Integrated Development Environment (IDE) for a better experience. There are many IDEs that support Javascript/Typescript, including Visual Sudio Code, a free IDE with native support for Javascript/Typescript. VS Code provides syntax highlight, debugging, hints, code completion, and other helpful options.

Postman

A convenient way to test your connector before deploying to ISC is to use Postman. You can get it from the postman.com downloads page

Creating your first project

To create an empty connector project, run the following command:

sail conn init my-first-project

The CLI init command creates a new folder with your project name in the location where you run the command.

Change the directory to the project folder and run `npm install to install the dependencies.

Source Files

The earlier command creates the initial project source directory below:

my-first-project
├── .gitignore
├── connector-spec.json
├── package.json
├── src/
| ├── index.ts
| ├── my-client.txt
| └── connector-spec.ts
├── tsconfig.json

This directory contains three main files:

  • index.ts: Use this file to register all the available commands the connector supports, provide the necessary configuration options to the client code implementing the API for the source, and pass data the client code obtains to Identity Security Cloud. This file can either use a vendor supplied client Software Development Kit (SDK) to interact with the web service or reference custom client code within the project.

  • my-client.ts: Use this template to create custom client code to interact with a web service’s APIs. If the web service does not provide an SDK, you can modify this file to implement the necessary API calls to interact with the source web service.

  • connector-spec.ts This file describes how the connector works to ISC. More information about the connector spec is available in the next section. At a high level, it has the information for the following:

    • What commands the connector supports
    • What config values the user must provide when creating the connector
    • Defining the account schema
    • Defining the entitlment schema
    • Defining the account create template that maps fields from ISC to the connector

These files are templates that provide guidance to begin implementing the connector on the target web service. Although you can implement a connector's entire functionality within these three files (or even just one if the web service provides an SDK), you can implement your own code architecture, like breaking out common utility functions into a separate file or creating separate files for each operation.