Helpdesk migration
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
Source
Salesforce Service Cloud
Destination
Compatibility
7 of 12
objects map 1:1 between Kaseya VSA and Salesforce Service Cloud.
Complexity
BStandard
Timeline
3-5 weeks
Overview
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.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Source platform
Kaseya VSA platform overview
Scorecard, SWOT, gotchas, and pricing for Kaseya VSA.
Destination platform
Salesforce Service Cloud platform overview
Scorecard, SWOT, gotchas, and pricing for Salesforce Service Cloud.
Data migration guide
The complete Salesforce Service Cloud migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Salesforce Service Cloud migration checklist
Pre- and post-cutover tasks for moving onto Salesforce Service Cloud.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
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
Salesforce Service Cloud
Case
1:1VSA 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
Salesforce Service Cloud
Case Custom Fields
lossyVSA 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
Salesforce Service Cloud
CaseComments or EmailMessage
1:1VSA 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
Salesforce Service Cloud
Account
1:1VSA 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
Salesforce Service Cloud
Account (child) or Location
1:manyVSA 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)
Salesforce Service Cloud
Asset or Custom Object
lossyVSA 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
Salesforce Service Cloud
Account Custom Fields
lossyVSA 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
Salesforce Service Cloud
Account Custom Fields (child) or Location Custom Fields
lossyVSA 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
Salesforce Service Cloud
Not migrated — documented separately
1:1Monitor 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
Salesforce Service Cloud
Not migrated — documented separately
1:1Agent 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
Salesforce Service Cloud
ContentDocument / ContentVersion
1:1VSA 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)
Salesforce Service Cloud
User
1:1VSA 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.
| Kaseya VSA | Salesforce Service Cloud | Compatibility | |
|---|---|---|---|
| Service Desk Ticket | Case1:1 | Fully supported | |
| Service Desk Custom Fields | Case Custom Fieldslossy | Fully supported | |
| Ticket Conversation / Thread | CaseComments or EmailMessage1:1 | Fully supported | |
| Organization | Account1:1 | Fully supported | |
| Site | Account (child) or Location1:many | Fully supported | |
| Agent (managed endpoint) | Asset or Custom Objectlossy | Fully supported | |
| Organization Custom Fields | Account Custom Fieldslossy | Fully supported | |
| Site Custom Fields | Account Custom Fields (child) or Location Custom Fieldslossy | Fully supported | |
| Monitor Sets | Not migrated — documented separately1:1 | Fully supported | |
| Agent Procedures | Not migrated — documented separately1:1 | Fully supported | |
| Ticket Attachments | ContentDocument / ContentVersion1:1 | Fully supported | |
| User / Technician (VSA roles) | User1:1 | Fully supported |
Gotchas + challenges
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 gotchas
ISO-8859-1 XML encoding requirement on Import/Export
VSA 9 to VSA 10 migration requires a full architectural reassessment
Machine ID reassignment during VSA-to-VSA transfer
Confusing SKU billing model with no published pricing
Custom reports capped at 40 custom fields
Salesforce Service Cloud gotchas
Data Export 512MB file size cap breaks large org exports
API Daily Request Limits vary by license edition
No automatic data backup in base Salesforce
Picklist dependencies silently break records when unmapped
Workflow rules fire unexpectedly during data load
Pair-specific challenges
Migration approach
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.
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.
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.
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.
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.
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.
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
Kaseya VSA
Source
Strengths
Weaknesses
Salesforce Service Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. 1 of 7 objects need a manual workaround.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Kaseya VSA and Salesforce Service Cloud.
Object compatibility
1 of 7 objects need a manual workaround.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Kaseya VSA: Not publicly documented.
Data volume sensitivity
Kaseya VSA doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Kaseya VSA to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave Kaseya VSA
Other ways to arrive at Salesforce Service Cloud
Same-Helpdesk migrations
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.