# Getting started with SaaS Connectivity

**URL:** <https://developer.sailpoint.com/discuss/t/getting-started-with-saas-connectivity/37602>\
**Category:** Video Library\
**Tags:** developer-days-2024-isc, identity-security-cloud\
**Created:** [March 25, 2024, 3:27pm UTC](https://developer.sailpoint.com/discuss/t/getting-started-with-saas-connectivity/37602 "2024-03-25T15:27:16Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![philip-ellis](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/philip-ellis/32/502_2.png) [@philip-ellis](https://developer.sailpoint.com/discuss/u/philip-ellis)\
**Post date:** [March 25, 2024, 3:27pm UTC](https://developer.sailpoint.com/discuss/t/getting-started-with-saas-connectivity/37602/1 "2024-03-25T15:27:16Z")

</div>

[![](https://global.discourse-cdn.com/sailpoint/original/2X/e/e3b50d58be4a5d61e5c8e0b3fdc7f687d4f180d1.jpeg "Getting started with SaaS connectivity") ](https://www.youtube.com/watch?v=1WPO7t0j1oc)

# Description

SaaS Connectivity is a cloud based connector runtime that makes developing and deploying web service connectors easier than ever. The SaaS Connectivity framework allows an easy way to connect to cloud-based sources in a truly SaaS architecture, without the need to rely on a VA. Phil will walk us through how to get started and talk about some of the benefits like debugging and testing locally, no rules needed, and more.

---

<div class="post-metadata">

**Author:** ![MartinV](https://avatars.discourse-cdn.com/v4/letter/m/e5b9ba/32.png) [@MartinV](https://developer.sailpoint.com/discuss/u/MartinV)\
**Post date:** [July 17, 2024, 8:18pm UTC](https://developer.sailpoint.com/discuss/t/getting-started-with-saas-connectivity/37602/2 "2024-07-17T20:18:09Z")

</div>

Hello Phil. I am very new to Sailpoint so I found your Saas Connectivity presentation to be excellent. Looking forward to implementing this solution at my work. However i am getting an error when I run the “npm run dev” command. any advice work be very helpful.

```auto
> cross-env NODE_OPTIONS=--enable-source-maps spcx run dist/index.js

node:internal/child_process:421
    throw new ErrnoException(err, 'spawn');
    ^

Error: spawn EINVAL
    at ChildProcess.spawn (node:internal/child_process:421:11)
    at spawn (node:child_process:760:9)
    at spawnTsc (C:\VSCode\Samples\ConnPrj3\node_modules\@sailpoint\connector-sdk\bin\spcx.ts:73:20)
    at runDev (C:\VSCode\Samples\ConnPrj3\node_modules\@sailpoint\connector-sdk\bin\spcx.ts:83:2)
    at Object.<anonymous> (C:\VSCode\Samples\ConnPrj3\node_modules\@sailpoint\connector-sdk\bin\spcx.ts:32:2)
    at Module._compile (node:internal/modules/cjs/loader:1467:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1551:10)
    at Module.load (node:internal/modules/cjs/loader:1282:32)
    at Module._load (node:internal/modules/cjs/loader:1098:12)
    at TracingChannel.traceSync (node:diagnostics_channel:315:14) {
  errno: -4071,
  code: 'EINVAL',
  syscall: 'spawn'
}

```

I appreciate any help / guidance you can provide  
Thanks  
-Martin Valenzuela

---

<div class="post-metadata">

**Author:** ![philip-ellis](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/philip-ellis/32/502_2.png) [@philip-ellis](https://developer.sailpoint.com/discuss/u/philip-ellis)\
**Post date:** [July 18, 2024, 6:55pm UTC](https://developer.sailpoint.com/discuss/t/getting-started-with-saas-connectivity/37602/3 "2024-07-18T18:55:16Z")

</div>

Hi Martin,

I’m not sure why you are having this error, but here is a workaround that should work for you:

1. Open the node\_modules/@sailpoint/connector-sdk/dist/bin/spcx.js file and look for the `spawnTsc();` command on or around line 68 and comment it out.
2. in a command window in the same directory as your connector, run the command: `tsc.cmd --inlineSourceMap true --sourceMap false --watch`
3. Now run the `npm run debug` command in a new command window and all should work as expected.
4. When you are done debugging, you can close both command windows you had created in the two prior steps.

In some ways this is a better way to do the development like this anyway as you can see both processes running at the same time.

---

<div class="post-metadata">

**Author:** ![jurgen\_emanuels](https://avatars.discourse-cdn.com/v4/letter/j/ac91a4/32.png) [@jurgen\_emanuels](https://developer.sailpoint.com/discuss/u/jurgen_emanuels)\
**Post date:** [September 1, 2024, 8:13pm UTC](https://developer.sailpoint.com/discuss/t/getting-started-with-saas-connectivity/37602/4 "2024-09-01T20:13:49Z")

</div>

Hi Martin,

I see that @philip-ellis Philip provided some feedback already, I have been facing the same issue and I made some adjustments to the code (spcx.js) on line 60

```const
        const tsc = (0, child_process_1.spawn)(/^win/.test(process.platform) ? 'tsc.cmd' : 'tsc', ['--inlineSourcemap', 'true', '--sourceMap', 'false', '--watch'])
            .once('spawn', () => {
            tsc.stdout.on('data', (data) => console.log(`tsc: ${data}`));
            tsc.stderr.on('data', (data) => console.error(`tsc: ${data}`));
        })
            .once('error', (ignored) => { });
        return tsc;
    };
    spawnTsc();

```

After updating line : 60

```auto
const spawnTsc = () => {
        const tsc = (0, child_process_1.spawn)(/^win/.test(process.platform) ? 'tsc' : 'tsc', ['--inlineSourcemap', 'true', '--sourceMap', 'false', '--watch'])
            .once('spawn', () => {
            tsc.stdout.on('data', (data) => console.log(`tsc: ${data}`));
            tsc.stderr.on('data', (data) => console.error(`tsc: ${data}`));
        })
            .once('error', (ignored) => { });
        return tsc;
    };
    spawnTsc();

```

I have changed tsc.cmd to tsc, alternatively you can add { shell: true } after the command and try it out. See some Nodejs release notes: [Node.js — Wednesday, April 10, 2024 Security Releases](https://nodejs.org/en/blog/vulnerability/april-2024-security-releases-2)
