Kaseya VSA

Receive Kaseya VSA alarms in AlertFlow and create VSA service desk tickets from workflows.

Overview

The Kaseya VSA integration has two independent parts:

  • Inbound — Kaseya VSA POSTs alarm callbacks to AlertFlow, creating alerts automatically.
  • Outbound — AlertFlow workflow actions open service desk tickets in Kaseya VSA.

You can enable either part independently.


Part 1 — Receive alarms from Kaseya VSA

Step 1 — Create the integration in AlertFlow

  1. Go to Integrations → New Integration.
  2. Select Kaseya VSA from the list.
  3. Optionally assign it to a client.
  4. Click Create and copy the Webhook URL.
https://app.yourdomain.com/api/inbound/webhook/<your-token>

Step 2 — Configure an External Alarm Action in VSA

  1. In Kaseya VSA, navigate to Monitor → Alarm Summary or Monitor → Define Alarm Sets.
  2. Open the alarm set you want to forward (or create a new one).
  3. Click Edit, then under Actions click Add External Action.
  4. Configure the action:
FieldValue
Action TypeURL
URLYour AlertFlow Webhook URL
MethodPOST
Content-Typeapplication/json
Body(leave blank — Kaseya sends alarm fields automatically)
  1. Save the alarm set.
Note

Some Kaseya VSA versions label this feature as Alarm Notification, External Notification, or Webhook depending on the product version. Look under the alarm or monitoring configuration menu.

Step 3 — Test

Trigger a test alarm in Kaseya VSA. In AlertFlow → Alerts, the alert should appear within seconds with the title, severity, and device name populated.

Default field mappings

Kaseya VSA fieldAlertFlow field
Subjecttitle
Priorityseverity (via severity map)
Messagedescription
GroupNamelabels.client
AlarmIDlabels.sourceId

Severity map

Kaseya PriorityAlertFlow Severity
1 or Criticalcritical
2 or Highhigh
3 or Mediummedium
4 or Lowlow
5 or Infoinfo

To adjust the severity map, open the integration in AlertFlow and click Edit → Field Mappings.


Part 2 — Create tickets in Kaseya VSA from workflows

Step 1 — Generate an API token in Kaseya VSA

Kaseya VSA uses session-based authentication. Create a dedicated API user:

  1. Go to System → User Security → Users.
  2. Create a user like alertflow-api with only the permissions needed:
    • Service Desk — Create Ticket
  3. Authenticate to get a Bearer token:
# Hash the password (Kaseya requires SHA-256 + base64)
HASH=$(echo -n "YourPassword" | sha256sum | cut -d' ' -f1 | xxd -r -p | base64)
HASH2=$(echo -n "${HASH}alertflow-api" | sha256sum | cut -d' ' -f1 | xxd -r -p | base64)

curl -X POST "https://vsa.yourcompany.com/api/v1.0/auth/credential/login" \
  -H "Content-Type: application/json" \
  -d '{"un":"alertflow-api","ph":"'"${HASH2}"'"}'

The response contains a Token field. Copy it.

Step 2 — Save credentials in AlertFlow

  1. Go to Settings → Integrations → Ticketing → Kaseya VSA.
  2. Enter:
    • VSA URLhttps://vsa.yourcompany.com
    • API Token — from Step 1
  3. Click Save Credentials.
Warning

Kaseya VSA session tokens expire. If ticket creation suddenly stops working, regenerate the token and re-save it in AlertFlow Settings.

Step 3 — Add a Create Ticket node to a workflow

  1. Open the Workflow Builder and drag a Create Ticket node onto the canvas.
  2. Configure it:
    • System: Kaseya VSA
    • Board/Queue: the service desk department name, e.g., IT Support
    • Priority: High
    • Subject: {{alert.title}} — {{alert.severity}}
    • Body: {{alert.description}}\n\nAlert ID: {{alert.id}}

Template variables

VariableValue
{{alert.title}}Alert title
{{alert.severity}}Severity (critical, high, …)
{{alert.description}}Alert body
{{alert.id}}AlertFlow alert UUID
{{alert.clientName}}Client / company name
{{alert.source}}Source system

Troubleshooting

SymptomCheck
Inbound alarms not appearingVerify the External Action URL in VSA exactly matches the AlertFlow webhook URL. Confirm the integration is enabled (green status).
Outbound tickets not createdOpen the workflow run log. Verify the board/queue name matches exactly.
401 Unauthorized on ticket creationThe Kaseya token expired. Regenerate and re-save in Settings.
Wrong severity on inbound alertsEdit the integration's field mappings and adjust the severity map (numeric vs. string).
Alarms arrive but fields are emptyConfirm Kaseya sends a JSON body. Older VSA versions may need an explicit body template in the alarm action using the field names in the mapping table above.