Helpdesk migration

Migrate from Kaseya VSA to Salesforce Service Cloud

Field-level mapping, validation, and rollback between Kaseya VSA and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.

Kaseya VSA logo

Kaseya VSA

Source

Salesforce Service Cloud

Destination

Salesforce Service Cloud logo

Compatibility

58%

7 of 12

objects map 1:1 between Kaseya VSA and Salesforce Service Cloud.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Kaseya VSA and Salesforce Service Cloud serve different operational roles: VSA is an RMM platform where Service Desk Tickets track IT incidents against managed endpoints, while Service Cloud is a customer service platform where Cases manage support requests against Accounts and Contacts. The migration is fundamentally a schema remapping, not a record copy. VSA Organizations map to Salesforce Accounts (preserving the multi-tenant hierarchy), VSA Sites map to child Account records or a custom Location object depending on the customer's preferred structure, and VSA Service Desk Tickets map to Salesforce Cases with custom fields translated to Salesforce custom fields on the Case object. We do not migrate Agent Procedures, Monitor Sets, Patch Policies, Event Sets, or Machine ID Templates because they are RMM automation objects with no equivalent in Salesforce Service Cloud. We deliver a written inventory of these automation assets for the customer's IT admin to rebuild. ISO-8859-1 XML encoding on VSA export files is detected and transcoded during ingestion to prevent silent data loss.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Kaseya VSA logo

Kaseya VSA

What's pushing teams away

  • Interface is widely described as complex and unintuitive, requiring significant training time before technicians can work efficiently in the platform.
  • Customer support quality is inconsistent, with long response times and difficulty reaching knowledgeable engineers when critical issues arise.
  • Connectivity and remote access reliability issues are persistent, with agents failing to connect or sessions dropping during active troubleshooting.
  • Frequent connection drops and unreliable remote access sessions force technicians to use workarounds or supplemental tools for basic support tasks.
  • Confusing SKU and billing structures create unexpected charges, with aggressive sales practices around bundled hardware creating billing disputes.

Choosing

Salesforce Service Cloud logo

Salesforce Service Cloud

What's pulling them in

  • Deep Salesforce ecosystem integration with Sales Cloud, Marketing Cloud, and custom Apex apps creates a single pane of glass for enterprise customer data and cross-functional workflows.
  • Omnichannel case routing — email, chat, phone, social, and messaging — unified under one case object means agents do not lose context when customers switch channels mid-interaction.
  • AI for customer service (Einstein AI / Agentforce) offers automated case classification, suggested replies, and chatbot routing that reduces Tier-1 ticket volume without manual rule authoring.
  • Entitlement and milestone tracking enforces SLA compliance natively, automatically calculating breach windows and surfacing violations to supervisors in dashboards.
  • Salesforce's massive AppExchange ecosystem provides pre-built connectors, industry-specific managed packages, and third-party tools that extend Service Cloud beyond its out-of-box capabilities.

Object mapping

How Kaseya VSA objects map to Salesforce Service Cloud

Each row shows how a Kaseya VSA object lands in Salesforce Service Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Kaseya VSA

Service Desk Ticket

maps to

Salesforce Service Cloud

Case

1:1
Fully supported

VSA Service Desk Tickets map to Salesforce Cases. The VSA ticket ID (used internally in Kaseya) maps to Case CaseNumber or a custom field vsd_ticket_id__c depending on whether the customer wants the original VSA ID visible alongside the Salesforce-generated case number. Ticket Subject maps to Case Subject, Description maps to Case Description, and Status maps to Case Status with a status value mapping table built during scoping. Priority maps to Case Priority. The VSA Assignee (agent or technician) maps to Case OwnerId via User lookup resolved by email match.

Kaseya VSA

Service Desk Custom Fields

maps to

Salesforce Service Cloud

Case Custom Fields

lossy
Fully supported

VSA custom fields defined on Service Desk Tickets are read from the Data Warehouse API endpoint /api/odata/1.0/ServiceDeskCustomFieldDetails and translated to Salesforce custom fields on the Case object. Each VSA custom field type (string, integer, date, picklist, checkbox) maps to the equivalent Salesforce field type. Fields with Organization or Site context are preserved as custom fields on Case with values carried through from the parent Organization record during import. The 40-field cap that VSA applies to custom reports does not apply in Salesforce, but any picklist whitelists defined in VSA must be replicated as Salesforce picklist values during schema setup.

Kaseya VSA

Ticket Conversation / Thread

maps to

Salesforce Service Cloud

CaseComments or EmailMessage

1:1
Fully supported

VSA ticket conversation history (internal notes, customer replies, public comments) migrates as Salesforce CaseComment records or as EmailMessage records linked to the Case depending on the migration scope. We preserve the author, timestamp, and message body. Conversation ordering is maintained by setting the CreatedDate on CaseComment to the original VSA timestamp. Email-based ticket channels migrate to EmailMessage with the incoming email preserved as Body and the customer email address as FromAddress.

Kaseya VSA

Organization

maps to

Salesforce Service Cloud

Account

1:1
Fully supported

VSA Organizations (the top-level tenant container, especially relevant for MSPs managing multiple customer environments) map to Salesforce Account records. The Organization name becomes the Account Name, and Organization-level custom fields become Account custom fields. For MSPs, the Organization is the client container; for internal IT teams, it is the company division. We preserve the Organization hierarchy as a parent Account tree in Salesforce so that reporting by client or division is available in Salesforce native reports without a custom object.

Kaseya VSA

Site

maps to

Salesforce Service Cloud

Account (child) or Location

1:many
Fully supported

VSA Sites are sub-containers within an Organization, typically representing physical locations or client sub-divisions. We map each Site to a child Account record under the parent Organization Account, or to a Salesforce Location record (available with Field Service Starter or as a standalone object) if the customer uses Field Service for asset tracking. Site assignments on agents carry forward as the Account hierarchy under which the managed endpoint record lives. The customer's choice is confirmed during scoping based on whether they use Field Service licensing.

Kaseya VSA

Agent (managed endpoint)

maps to

Salesforce Service Cloud

Asset or Custom Object

lossy
Fully supported

VSA Agents (managed endpoints) are the most structurally different object in this migration. Service Cloud does not have a native managed-endpoint object. We offer two migration strategies: (1) Map agents to Salesforce Asset (standard object from Field Service Starter), which supports Asset Name, SerialNumber, Status, InstallDate, and a link to Account; (2) Create a custom object (VSA_Endpoint__c) with fields mirroring the VSA agent configuration including hostname, OS, last check-in, and status. The choice depends on whether the customer has or will add Field Service licensing. Agent Procedures and Machine ID Templates do not migrate; they are documented in the automation inventory for rebuild.

Kaseya VSA

Organization Custom Fields

maps to

Salesforce Service Cloud

Account Custom Fields

lossy
Fully supported

VSA custom fields scoped at the Organization level migrate to custom fields on the Salesforce Account object. Any picklist values, default values, or required-field configurations defined in VSA are replicated in Salesforce during schema setup. The Organization-level custom fields typically capture client contract tier, SLA level, billing contact, or account manager assignment.

Kaseya VSA

Site Custom Fields

maps to

Salesforce Service Cloud

Account Custom Fields (child) or Location Custom Fields

lossy
Fully supported

VSA custom fields scoped at the Site level migrate to custom fields on the child Account record (or Location custom fields if Field Service is used). Site-level fields typically capture location address, site contact, support tier for that location, or site-specific SLA terms.

Kaseya VSA

Monitor Sets

maps to

Salesforce Service Cloud

Not migrated — documented separately

1:1
Fully supported

Monitor Sets define alerting and threshold configuration for VSA Agents. They are RMM-specific objects with no equivalent in Salesforce Service Cloud. We do not migrate them. We extract the Monitor Set configuration from the VSA Import Center XML and deliver it as a written inventory (Monitor Set name, threshold definitions, agent assignments, and alert contacts) for the customer's IT admin to evaluate against Salesforce Monitoring integrations or a third-party monitoring tool of their choice.

Kaseya VSA

Agent Procedures

maps to

Salesforce Service Cloud

Not migrated — documented separately

1:1
Fully supported

Agent Procedures are CMD, PowerShell, and VSA-specific automation scripts attached to agents. They are the most technically complex object in the VSA stack and have no equivalent in Salesforce Service Cloud. We extract procedure folders and individual procedure definitions from the Import Center XML export and deliver a written automation inventory (procedure name, folder path, trigger conditions, script content, and assigned agents) for the customer's IT admin to migrate to a dedicated automation platform (Power Automate, Runbook, ServiceNow Orchestration, or equivalent) post-migration.

Kaseya VSA

Ticket Attachments

maps to

Salesforce Service Cloud

ContentDocument / ContentVersion

1:1
Fully supported

VSA ticket attachments are exported as part of the Import Center XML bundle and stored in the VSA file store. They migrate to Salesforce Files (ContentVersion for file binary, ContentDocument for metadata) and are linked to the target Case via ContentDocumentLink. File type, original filename, and upload date are preserved. Files above Salesforce's 25 MB per file limit are flagged for the customer to evaluate whether they should be stored in an external document store (SharePoint, Google Drive, AWS S3) with a ContentDocumentLink reference only.

Kaseya VSA

User / Technician (VSA roles)

maps to

Salesforce Service Cloud

User

1:1
Fully supported

VSA technician accounts and their role assignments (Admin, IT Technician, IT User) migrate to Salesforce User records. We match VSA users by email address against the Salesforce destination org's User table. Role assignments from VSA are preserved as a custom field vsa_role__c on the User record since Salesforce roles serve a different org-wide hierarchy purpose. Any VSA user without a matching Salesforce User is placed in a reconciliation queue for the customer's admin to provision before the migration proceeds.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Kaseya VSA logo

Kaseya VSA gotchas

Medium

ISO-8859-1 XML encoding requirement on Import/Export

High

VSA 9 to VSA 10 migration requires a full architectural reassessment

High

Machine ID reassignment during VSA-to-VSA transfer

Medium

Confusing SKU billing model with no published pricing

Low

Custom reports capped at 40 custom fields

Salesforce Service Cloud logo

Salesforce Service Cloud gotchas

High

Data Export 512MB file size cap breaks large org exports

High

API Daily Request Limits vary by license edition

High

No automatic data backup in base Salesforce

Medium

Picklist dependencies silently break records when unmapped

Medium

Workflow rules fire unexpectedly during data load

Pair-specific challenges

  • VSA Service Desk Tickets do not natively become Salesforce Cases without schema design

    VSA tickets are linked to Agents (endpoints), not to Contacts or Accounts. Salesforce Cases are designed to be linked to Contacts via Account. Before any record moves, we must establish the mapping rule: which VSA Organization maps to which Salesforce Account, and whether the VSA ticket requester maps to a Salesforce Contact, an Account contact, or a User. Without this design step, Cases land without a WhoId (Contact) or WhatId (Account), breaking Salesforce's case escalation, entitlement, and SLA logic. We define the Account-Contact resolution rule during scoping and apply it as the first transform during data extraction.

  • ISO-8859-1 XML encoding requirement silently corrupts data if not handled

    Kaseya VSA's Import Center XML export requires ISO-8859-1 encoding specifically. If the export tooling produces UTF-8 or another encoding, the XML import silently fails or truncates field values containing non-ASCII characters (accented characters, special symbols in ticket descriptions). We detect source file encoding during ingestion and transcode to ISO-8859-1 before parsing the Import Center XML. This is a silent data-loss risk that we prevent proactively; it is not caught by standard CSV reconciliation.

  • VSA custom fields require Salesforce schema replication before migration

    VSA custom fields are defined at Global, Organization, Site, Agent Group, and System contexts. They do not export as a portable schema definition. We read custom field metadata from the Data Warehouse API ServiceDeskCustomFieldDetails endpoint to enumerate every custom field in use, but the destination Salesforce schema (custom field name, type, picklist values, required flag) must be built manually in Salesforce Setup before migration begins. We provide a custom field design document listing every VSA custom field with its recommended Salesforce equivalent, and the customer's Salesforce admin creates them before we begin record migration.

  • Ticket attachments exceed Salesforce file size limits without pre-planning

    VSA ticket attachments can include diagnostic logs, screenshots, and exported documents that individually exceed Salesforce's 25 MB per file limit (or the smaller limit set by the customer's Salesforce org). We scan attachment file sizes during discovery and flag any file exceeding the destination org's limit. Options include splitting large files, storing them externally with a ContentDocumentLink reference, or increasing the Salesforce org's file upload limit if the Edition supports it. This step adds one to two days to scoping and must be resolved before the migration phase.

  • Monitor Sets and Agent Procedures have no Salesforce Service Cloud equivalent

    Monitor Sets, Patch Policies, Event Sets, and Agent Procedures are RMM automation objects that define how VSA manages endpoints. They have no structural equivalent in Salesforce Service Cloud, which manages support cases, not endpoint configurations. We do not migrate these objects. We extract the full automation configuration from the VSA Import Center XML export and deliver a written automation inventory for the customer's IT admin to use when rebuilding equivalent monitoring and remediation logic in their chosen automation platform post-migration.

Migration approach

Six steps for a successful Kaseya VSA to Salesforce Service Cloud data migration

  1. Discovery and scoping

    We audit the source VSA environment across Organization count, Site count, Service Desk Ticket volume, custom field definitions (enumerated via Data Warehouse API), attachment volume and average file size, technician count, and any VSA user role assignments. We pair this with a Salesforce Service Cloud readiness review: confirming the destination org's edition (Starter $25, Pro $100, Enterprise $175 per user per month), whether Field Service licensing is in scope for Asset tracking, existing Salesforce validation rules and required field configurations that could block import, and whether the customer has a designated Salesforce admin to create custom fields before migration begins. The discovery output is a written migration scope with record counts per object, a custom field design document, and a Salesforce schema preparation checklist.

  2. Account-Contact resolution and case parent design

    We define the data model rule that maps VSA Organizations to Salesforce Accounts, VSA Sites to child Accounts or Location records, and VSA ticket requesters to Salesforce Contacts. If the VSA ticket requester is a managed-endpoint user (the person whose machine had the issue) rather than a CRM contact, we map them to a Contact on the Account or create a Contact if one does not exist. This is the highest-impact design decision in the migration because it determines whether Salesforce's entitlement, SLA, and escalation features work immediately on migrated Cases. We validate the design in a Salesforce Sandbox before committing to production mapping.

  3. Sandbox migration and reconciliation

    We run a full migration into a Salesforce Sandbox (Developer Pro or Full Copy) using production-representative data volume. The customer's IT admin and Salesforce admin reconcile record counts (Accounts in, Cases in, Contacts in, Files in), spot-check 25-50 migrated Cases against the VSA source for field accuracy, and validate that the Account-Case hierarchy is correct. Custom field corrections, picklist value additions, and any validation rule adjustments happen here before production migration begins.

  4. Salesforce schema preparation

    The customer's Salesforce admin creates the custom Case fields listed in the custom field design document, adds any required picklist values, and configures Account-Contact relationships. We provide the exact field names, types, and picklist values to reduce back-and-forth. We also coordinate disabling or extending validation rules that would reject incoming Case records during migration (for example, required Contact lookups or required Account fields). This step requires admin access and typically takes one to two days of setup work.

  5. VSA data extraction and encoding normalization

    We extract data from VSA using the Import Center XML export for Service Desk Tickets and the Data Warehouse OData API for custom field values and ticket attachments. We detect and handle ISO-8859-1 encoding during XML ingestion. For attachments, we download files from the VSA file store and prepare them for Salesforce ContentVersion upload, flagging any file exceeding 25 MB. The extraction phase outputs a structured staging dataset organized by object (Organizations, Sites, Tickets, Attachments) with a cross-reference table mapping each VSA record ID to its destination Salesforce record ID.

  6. Production migration in dependency order

    We run production migration in record-dependency order: Salesforce Users (validated against the provisioning queue from Step 1), Accounts (from VSA Organizations), child Accounts (from VSA Sites), Contacts (ticket requesters resolved against the Account-Contact rule), Cases (with AccountId and ContactId resolved from the parent records and custom fields populated from the Data Warehouse API), and ContentDocument/ContentVersion (ticket attachments linked via ContentDocumentLink). Each phase emits a row-count reconciliation report before the next phase begins. We use the Salesforce Bulk API 2.0 for Cases and ContentVersion with batch chunking and exponential backoff on rate limit responses.

  7. Cutover, final validation, and automation handoff

    We freeze VSA writes during cutover, run a final delta migration of any tickets modified during the migration window, and enable Salesforce Service Cloud as the system of record. We validate Case record counts, custom field population rates, and attachment linkage rates. We deliver the automation inventory (Monitor Sets, Agent Procedures, Patch Policies, Event Sets) as a written document for the customer's IT admin to rebuild in their chosen automation platform. We provide a one-week hypercare window for reconciliation issues. We do not rebuild VSA automation objects in Salesforce Flow as part of the migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

Kaseya VSA logo

Kaseya VSA

Source

Strengths

  • Native CMD and PowerShell scripting without proprietary abstractions makes automation logic portable and transparent.
  • Agent-based remote access supports unattended sessions without end-user permission prompts.
  • Multi-tenant Organizations and Sites structure maps cleanly to MSP client hierarchies.
  • Import Center XML export covers the full automation stack in a single bundled file including procedures, policies, and tickets.
  • Data Warehouse API exposes Info Center datasets via OData for reporting integrations with PowerBI and Tableau.

Weaknesses

  • Interface complexity and inconsistent UX require substantial technician training overhead.
  • Customer support reliability is a persistent pain point across G2, Capterra, and TrustRadius reviews.
  • Agent connectivity and remote session stability issues force many teams to maintain backup access tools.
  • No publicly documented API rate limits means bulk operations can behave unpredictably on large estates.
  • The 2021 ransomware supply-chain attack remains a documented risk event in the platform's history.
Salesforce Service Cloud logo

Salesforce Service Cloud

Destination

Strengths

  • Enterprise-grade security, compliance certifications, and audit logging available across all paid editions with Shield offering enhanced event monitoring.
  • Scalable multi-tenant cloud architecture supporting orgs from 5 users to 150,000+ seat enterprises without infrastructure management overhead.
  • Omnichannel contact center unifying email, live chat, phone, messaging, and social into a single Case timeline per customer interaction.
  • Rich workflow automation via Salesforce Flow, Process Builder, and Apex triggers enabling complex case escalation, routing, and field updates.
  • Native AI capabilities (Agentforce / Einstein) for case auto-routing, classification, suggested responses, and chatbot escalation without third-party add-ons.

Weaknesses

  • Per-seat pricing model with no contact limits creates unpredictable cost scaling for large organizations adding many agents over time.
  • No automatic data backup — organizations must purchase a third-party backup solution or build manual Data Loader exports to protect against data loss from human error, failed deployments, or integrations overwriting records.
  • Steep learning curve for non-technical users requiring dedicated admin resources and formal training investment before teams reach productive velocity.
  • Annual contract requirements and limited pro-ration on exit create significant switching cost friction, especially for organizations evaluating alternatives mid-cycle.
  • Add-on licensing (CPQ, Einstein Activity Capture, Shield, Data Cloud) can double effective per-seat cost without clear documentation of which features are included in base tiers.

Complexity grading

How hard is this migration?

Standard Helpdesk migration. 1 of 7 objects need a manual workaround.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Kaseya VSA and Salesforce Service Cloud.

  • Object compatibility

    B

    1 of 7 objects need a manual workaround.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    7-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Kaseya VSA: Not publicly documented.

  • Data volume sensitivity

    B

    Kaseya VSA doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Kaseya VSA to Salesforce Service Cloud migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Kaseya VSA to Salesforce Service Cloud data migrations

Answers to the questions buyers ask most during Kaseya VSA to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Kaseya VSA to Salesforce Service Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between three and five weeks for environments under 10,000 Service Desk Tickets with no custom object schema for agents and clean Account-Contact resolution rules. Migrations with large attachment volumes, complex Organization hierarchies exceeding 50 nodes, or custom Asset object requirements move to seven to twelve weeks because of ContentDocument migration time, custom object field design, and Account-Case hierarchy reconciliation. The Salesforce admin schema preparation step (Step 3 in our approach) adds one to two days of admin effort before data migration begins.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Kaseya VSA.
Land in Salesforce Service Cloud, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day