> For the complete documentation index, see [llms.txt](https://docs.rewst.help/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rewst.help/rewst-documentation/documentation/integrations/integration-guides/kaseya-vsa-integration-setup.md).

# Kaseya VSA integration

{% hint style="info" %}
&#x20;If you’re new to integrations in Rewst, read through our introductory integration documentation [here](https://docs.rewst.help/documentation/integrations).
{% endhint %}

## What does the Kaseya VSA integration do?

Our Kaseya VSA integration enables the automation of remote monitoring and management. Use the Kaseya VSA API within Rewst workflows to obtain asset inventory, execute commands and run procedures on endpoints.

## Set up the Kaseya VSA integration

### Set up steps in Kaseya VSA

1. Log in to Kaseya VSA
2. Navigate to **System > Server Management > OAuth Clients**.
3. Select **Register Client** and supply the following:
   * **Client Name**: RewstAPI
   * **Redirect URL** (From Rewst Kaseya integration page)
   * **Email**: `email@address.com`
4. Click **Save**.
5. Copy the information from the dialogue and store it somewhere secure. You'll need this information for further steps in Rewst.

### Set up steps in Rewst

1. Navigate to **Integrations** in the left side menu of your Rewst platform.
2. In the Integrations page, search for the Kaseya VSA integration.
3. Under **Parameters**, enter the information copied from Kaseya into the relevant fields:
   1. **Hostname**: i.e. rmm.company.com
   2. **Client ID**: From Kaseya OAuth page
   3. **Client Secret**: From Kaseya OAuth page
4. Click **Save Configuration**.
5. Rewst will do a quick validation of your input. Once completed, you'll see a new section beneath the configuration form for[ organization mapping](https://docs.rewst.help/documentation/integrations#what-is-organization-mapping). Complete your mapping as desired.&#x20;

{% hint style="success" %}
If your VSA is behind a firewall, WAF has IIS Re-write rules, or has the Kaseya edge firewall configuration in place you will need to add `3.139.170.31` to the allowed list (tcp/443).
{% endhint %}

## Rewst agent procedure import

To perform actions on agent end points in Rewst, you'll need to import the file Procedure RewstPoshCommand.xml into the VSA.

{% hint style="warning" %}
It is important that you do not change or modify this file in any way. Please do not rename the procedure once imported.
{% endhint %}

1. Download the file Procedure Rewst (Powershell).xml.

{% file src="/files/Iu6cvgqrntZOU1BLHLmf" %}

2. Log in to your VSA.
3. Navigate to **System > Server Management > Import Center**.
4. Select **New Import**.
5. Name it `Rewst (Powershell)`, and point it to the *Procedure Rewst (Powershell).xml* file.
6. Click **Process**.
7. Click **Save**.

{% hint style="success" %}
Got an idea for a new Integration? Rewst is constantly adding new integrations to our integrations page. Submit your idea or upvote existing ideas here in our [Canny feedback collector](https://rewst.canny.io/integrations).
{% endhint %}

## Use custom PowerShell scripts with your RMM integration

This brand of RMM allows PowerShell scripts to be passed via API. The RMM runs your script on an endpoint, and Rewst has no way to see the result, so the script has to POST back to a Rewst URL. PowerShell only runs on the RMM's side, never inside Rewst. To report the script back to Rewst, you'll need to add a wait for [webhook callback node](https://docs.rewst.help/rewst-documentation/documentation/integrations/integration-guides/pages/27ztelCxRCWn8lmMEtvh#wait-for-webhook-tasks.wait_for_webhook). This will generate a unique callback URL and pause until an external system calls it or the timeout expires.

If using custom scripts, you'll need to add this to bottom of your existing script to ensure the call back to Rewst is made. The `$resumeUrl` / `$resumeToken` are on the node's URL Ready output, and the workflow passes both into the RMM script as parameters.

```
$postData = $PS_Results | ConvertTo-Json
Invoke-RestMethod -Method 'Post' -Uri $resumeUrl -Body $postData `
  -ContentType 'application/json; charset=utf-8' `
  -Headers @{ 'X-Rewst-Token' = $resumeToken }
```

Timeout is required and bounded: 60 seconds minimum, 604800 maximum, which is 7 days. You can control the response your script sees. The `responseStatus` defaults to 200, and there's an optional `responseBody`. This is useful if the RMM cares what came back.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rewst.help/rewst-documentation/documentation/integrations/integration-guides/kaseya-vsa-integration-setup.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
