TaskSultan Docs tasksultan.com

Get started

Install

Put TaskSultan on a machine, install the browser engine the Robot drives, then start the demo application and the Studio.

TaskSultan runs on your machine. You need Node at a supported version, Git and a couple of minutes. This page takes you from an empty shell to a running demo application and a Studio you can open in a browser.

#What you need first

The engines field in package.json is the real requirement:

>=22.13.0 <23.0.0 || >=23.4.0

That means Node 22 from 22.13 upward, or Node 23 from 23.4 upward. Node 22 is what continuous integration builds and tests on, so it is the version to use if you want the fewest surprises. The floor is not arbitrary. The database capability runs on Node's built-in SQLite module, which does not exist on Node 20, so an older Node fails on capability code rather than at install time.

Git is needed because the automation is the artifact here. Runs are recorded, automations are reviewed and the history is the record of what changed. Install Git, then clone the repository:

git clone https://github.com/docoblack/tasksultan-rpa.git
cd tasksultan-rpa

#Install the dependencies

From the repository root:

npm install

This installs the runtime the platform is built on: tsx to run TypeScript directly, playwright and @playwright/test for the browser engine, exceljs for the Excel capability plus React, Monaco and Vite for the Studio. The packages land in node_modules/.

#Install the browser engine

Playwright ships the driver as a package, but the browser binary is a separate download. The Robot drives Chromium:

npx playwright install chromium

Skip this and npm install still reports success, then your first run dies when it tries to launch a browser that is not there. Only Chromium is needed for the example. If you want the other engines later, npx playwright install fetches them all.

#Start the demo application

The examples drive a small application that ships with the repository. Start it in its own terminal:

npm run demo

That runs node demo-app/server.mjs and serves an Order Processing app on http://127.0.0.1:4100. It has no dependencies, no build step and it holds its state in memory. On start it prints the URL, a pending order list and its own demo login. The login page labels the fields Username and Password. The automation signs in through that form with a credential the Robot resolves by name, so no password is written into automation code.

The server reads a few environment variables. DEMO_PORT and DEMO_HOST move it. DEMO_FIXTURES chooses which queue it seeds: default (success, business, flaky and outage orders), no-fail, empty, or bench for a large clean queue. Leave it alone for the first run.

#Start the Studio

Open the Studio in a browser:

npm run studio

That starts the API server on port 4174 and a Vite dev server on port 4173, which proxies /api to the API. The command prints http://127.0.0.1:4173 and http://127.0.0.1:4174 on start; open the first one. The Studio spawns the Robot per run, so the same execution path runs whether you start work here or from the command line.

For a built copy served by the API server alone:

npm run start

That runs build:studio and then serves the built Studio on port 4174. Two narrower scripts exist if you want only one half: npm run studio:server for the API, npm run studio:web for Vite.

#Things that catch people out

  • The demo application must be listening before a run that targets it. Keep it in a second terminal, because a run against a closed port fails the queue request rather than the browser.
  • Install the browser engine as a separate step. It is the one failure that looks like a working install.
  • artifacts/, data/ and test-results/ are gitignored, so a fresh clone has none of them. The Excel examples seed their own workbooks with npm run demo:data, npm run demo:orders and npm run demo:customers.
  • Restarting the demo application reseeds its in-memory queue, which is convenient for a repeat run.