.png)
Kaseya VSA Integration Guide
Integrate Kaseya VSA with enterprise systems through its version-dependent REST APIs, scheduled synchronization, supported notifications, and controlled endpoint workflows.
Kaseya VSA integration options at a glance
Kaseya VSA integrations are primarily implemented through its REST API, whose resources, authentication flow, and permissions vary by release, edition, and deployment model. Martini can retrieve and update supported Organizations, Machines, Agents, Machine Groups, Agent Procedures, and Tickets, while orchestrating pagination, incremental synchronization, validation, and downstream writes. VSA alerts and notifications may support selected event-driven scenarios, but a general-purpose webhook for every resource change was not confirmed. Where callbacks are unavailable, Martini can poll the REST API on a schedule with checkpoints and overlap windows. Credentials, session tokens, tenant context, and permissions are managed through secure environment configuration.
Common Kaseya VSA integration patterns
Common Kaseya VSA data objects used in integrations
Authentication and security considerations
Version-dependent authentication
VSA authentication varies by generation, edition, hosting model, and deployment configuration. Confirm whether the target API uses user credentials, API credentials, an authenticated session, a bearer-style token, or tenant-specific context. Do not assume OAuth 2.0 or API-key support.
Least-privilege access
Use a dedicated VSA integration account with permissions limited to the required Organizations, Machines, procedures, Tickets, and administrative operations. Read-only synchronization should not receive procedure-execution privileges.
Secure configuration
- Store credentials, tokens, endpoint settings, and tenant context in Martini environment configuration or secrets management.
- Do not embed secrets in mappings or write tokens to workflow logs.
- Protect endpoint-changing workflows with authorization, allow-listed procedures, scope restrictions, and audit correlation identifiers.
Operational considerations for Kaseya VSA integrations
Pagination and checkpoints
Machine and Ticket collections can be large. Follow the documented pagination model, persist page or high-water-mark state, and commit checkpoints only after successful processing.
Incremental synchronization
Use update-time filters where available with an overlap interval to account for clock skew and delayed indexing. Store the timestamp, object identifier, query parameters, and execution result.
Retries and idempotency
Rate limits were not confirmed, so use conservative concurrency and configurable delays. Retry transient timeouts and server errors with backoff, but do not blindly retry authentication, authorization, invalid-parameter, or endpoint-changing failures.
Schema and version changes
VSA resources and fields vary by release and enabled modules. Validate required fields, isolate VSA-specific mappings, and monitor changes to status values, nested structures, null handling, and identifier formats.
- Use stable VSA identifiers instead of display names.
- Prefer idempotent target upserts.
- Log enough context to replay failed pages safely without exposing credentials.
Why use Martini instead of scripts or point-to-point integrations?
More than a point-to-point script
Martini separates VSA API consumption from transformation, routing, target writes, and operational controls. This makes version-specific mappings and business rules easier to maintain than duplicated scripts or tightly coupled integrations.
Controlled orchestration
Workflows can combine scheduled polling, supported notifications, pagination, checkpoints, validation, enrichment, and downstream API calls while distinguishing retryable failures from business and authorization errors.
Reusable integration assets
Martini can expose normalized APIs and reuse workflow logic for multiple consumers. Teams can centralize authentication, mappings, deduplication, monitoring, and deployment configuration instead of rebuilding VSA-specific behavior in every application.