Helpdesk migration
Field-level mapping, validation, and rollback between Insightly Service and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.
Insightly Service
Source
Salesforce Service Cloud
Destination
Compatibility
10 of 12
objects map 1:1 between Insightly Service and Salesforce Service Cloud.
Complexity
CModerate
Timeline
4-8 weeks
Overview
Moving from Insightly Service to Salesforce Service Cloud is a service-desk upgrade with structural schema differences. Insightly uses Tickets as the primary support object with Organizations and Contacts as linked entities; Salesforce Service Cloud uses Cases with entitlements, multi-channel routing queues, and a separate Account-Contact hierarchy that must be resolved at import time. We extract ticket conversations, file attachments, and SLA timer values from Insightly and load them via the Salesforce Bulk API 2.0 to preserve the full support history. Custom field groups in Insightly use FIELD_NAME identifiers that must be looked up via the Insightly API before import; we enumerate every custom field definition per object before writing begins. Workflows, automations, and SLA policies do not migrate as code; we deliver a written inventory of every active workflow and SLA policy for the customer's admin to rebuild in Salesforce Flow and Entitlement Processes post-migration.
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
Insightly Service platform overview
Scorecard, SWOT, gotchas, and pricing for Insightly Service.
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 Insightly Service 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.
Insightly Service
Ticket
Salesforce Service Cloud
Case
1:1Insightly Tickets map directly to Salesforce Cases. Ticket status maps to Case Status using a status mapping table defined during scoping (Insightly OPEN/CLOSED/PENDING to Salesforce Case Status picklist values the customer selects). Ticket priority maps to Case Priority. We preserve the original Insightly ticket number as a custom field ins_ticket_number__c for cross-reference. SLA timer values from Insightly transfer to Salesforce Entitlement Processes and Milestones if the destination org has Service Cloud with Entitlements enabled; if not, SLA elapsed time is stored as a custom field sla_elapsed_hours__c for manual entitlement setup post-migration.
Insightly Service
Ticket Conversation
Salesforce Service Cloud
EmailMessage
1:1Ticket conversations (comments on Insightly Tickets) migrate to Salesforce EmailMessage records linked to the Case. Each comment becomes an EmailMessage with the author name, timestamp, and HTML body preserved. Inbound and outbound direction is inferred from the comment author (agent vs customer) using the contact lookup. EmailMessage records appear in the Salesforce Case's activity timeline, preserving the chronological conversation view that support agents rely on during case review.
Insightly Service
Organization
Salesforce Service Cloud
Account
1:1Insightly Organizations map to Salesforce Accounts. The Organization name becomes Account Name, and industry classification maps to the Industry picklist. Address data transfers to the Account's billing address fields. We preserve the ORGANISATION_ID as ins_organisation_id__c for cross-reference and use it as the dedupe key during import. Account is created before any Ticket or Case import so that the AccountId lookup is satisfied at the moment of Case insert.
Insightly Service
Contact
Salesforce Service Cloud
Contact
1:1Insightly Contacts map to Salesforce Contacts with name, email, phone, and address fields transferred directly. The CONTACT_ID is preserved as ins_contact_id__c for cross-reference. If the destination Salesforce org uses Account hierarchy, we link each Contact to the Account derived from the Insightly Organization during import. Custom fields on Contact use the FIELD_NAME lookup from Insightly's /CustomFields/Contacts endpoint before import to avoid silent drops.
Insightly Service
Agent
Salesforce Service Cloud
User
1:1Insightly Agents (users who handle tickets) map to Salesforce Users. We resolve agents by email match against the Salesforce destination org's User table. Any Insightly Agent without a matching Salesforce User is held in a reconciliation queue for the customer's admin to provision before case import resumes. Active and inactive status is preserved via a custom field ins_agent_active__c.
Insightly Service
Team
Salesforce Service Cloud
Group or Queue
lossyInsightly Teams migrate to Salesforce Public Groups if the use case is visibility-based sharing, or to Omni-Channel Routing Queues if the destination org uses Omni-Channel for case distribution. The choice is made during scoping based on whether the customer wants queue-based routing. Team member assignments are preserved as GroupMember records linking Users to the destination Group or Queue. If Salesforce Service Cloud Omni-Channel is not enabled, we default to Public Groups.
Insightly Service
Custom Field
Salesforce Service Cloud
Custom Field
1:1Insightly custom field groups use FIELD_NAME identifiers (not display labels) that must be retrieved via GET /v3.2/CustomFields/{objectName} before any data is written. We enumerate every custom field definition for Tickets, Contacts, Organizations, and Projects during discovery, map the FIELD_NAME to the equivalent Salesforce API field name (with __c suffix for custom fields), and verify the field type compatibility. Type mismatches (Insightly date field vs Salesforce datetime field, for example) are flagged and corrected before migration begins. Insightly's custom field limits are Plus 50, Professional 100, Enterprise 200 per object; we validate that the destination Salesforce edition supports the migrated field count.
Insightly Service
Attachment
Salesforce Service Cloud
ContentVersion + ContentDocumentLink
1:1File attachments on Insightly Tickets and Organizations are exported as metadata (filename, URL, MIME type, size) via the Insightly attachments API. Files are downloaded to a staging environment and re-uploaded to Salesforce as ContentVersion records. Each ContentVersion is linked to the parent Case or Account via a ContentDocumentLink record with the ShareType set to I (Inferred) for the case-specific view. Attachments are imported after Cases and Accounts so the parent record IDs are available for linking.
Insightly Service
Note
Salesforce Service Cloud
Note
1:1Insightly Notes (standalone objects linked to Contacts, Organizations, Opportunities, or Projects) migrate to Salesforce Note records. We preserve the note body, author, and created date, and link via ContentDocumentLink to the parent Contact, Account, or Opportunity using the resolved ID from the import phase. If the destination org uses Salesforce Lightning, we map to ContentNote as well depending on the customer's preference for rich text vs classic notes.
Insightly Service
Project
Salesforce Service Cloud
Task (or Custom Object)
lossyInsightly Projects are CRM-level objects linked to Opportunities or Organizations. If the destination Salesforce org does not have a native project management object, Projects migrate to a custom Project__c object that we pre-create in the destination schema with the required fields (Name, Status, StartDate, EndDate, related Account, related Opportunity). If the customer uses Salesforce Field Service or a project management AppExchange package (Monday.com, Asana), we create the mapping to the appropriate destination during scoping. Project task sets migrate as related Salesforce Tasks linked to the Project record.
Insightly Service
Knowledge Base Article
Salesforce Service Cloud
Article (Knowledge Article)
1:1Insightly KB Articles (titles, body content, category assignments, and publish status) migrate to Salesforce Knowledge Articles. Category structure from Insightly maps to Salesforce Article Type and Data Category Groups. We migrate article titles, body HTML, and publish status; article view counts and feedback ratings are stored as custom fields on the Knowledge Article because they do not map to standard Salesforce Knowledge fields. KB article migration requires the Salesforce Knowledge feature to be enabled in the destination org before import.
Insightly Service
Opportunity (linked)
Salesforce Service Cloud
Opportunity
1:1Insightly Opportunities linked to Organizations migrate to Salesforce Opportunities with AccountId resolved from the Organization-to-Account mapping. Pipeline stage, deal value, probability, and close date transfer directly. Opportunity Categories use FIELD_NAME identifiers in Insightly; we map these to Salesforce Opportunity StageName using a stage mapping table. Closed-Lost and Closed-Won reasons from Insightly become Salesforce Loss Reason and custom win/loss fields. If the destination org uses multiple Sales Processes, we assign the appropriate Record Type per Opportunity during import.
| Insightly Service | Salesforce Service Cloud | Compatibility | |
|---|---|---|---|
| Ticket | Case1:1 | Fully supported | |
| Ticket Conversation | EmailMessage1:1 | Fully supported | |
| Organization | Account1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Agent | User1:1 | Fully supported | |
| Team | Group or Queuelossy | Fully supported | |
| Custom Field | Custom Field1:1 | Fully supported | |
| Attachment | ContentVersion + ContentDocumentLink1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
| Project | Task (or Custom Object)lossy | Fully supported | |
| Knowledge Base Article | Article (Knowledge Article)1:1 | Fully supported | |
| Opportunity (linked) | Opportunity1: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.
Insightly Service gotchas
Annual billing only — no monthly option available
Email sequencing absent across all plan tiers
AppConnect integration add-on has a $3,000 setup fee
Custom field FIELD_NAME lookups required for API writes
Performance timeouts on large data volume operations
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 scope definition
We audit the source Insightly Service environment across plan tier (Plus/Professional/Enterprise), ticket volume, custom field groups per object, team structure, SLA configuration, linked CRM objects (Organizations, Opportunities, Projects), attachment count, and KB article count. We pair this with a Salesforce Service Cloud edition review: Essential ($25/user) covers basic case management; Professional ($75/user) adds email-to-case, web-to-case, and Salesforce mobile app; Enterprise ($150/user) adds Omni-Channel, Entitlements, and Milestones; Unlimited ($300/user) adds 24x7 support and unlimited custom apps. The discovery output is a written migration scope with object counts, custom field inventory, and Salesforce edition recommendation.
Custom field enumeration and schema pre-creation
We query the Insightly API for all FIELD_NAME identifiers across Ticket, Contact, Organization, and Project objects before any data extraction. We pre-create the Salesforce destination schema in a Sandbox org, including all custom fields (with __c API names), custom field sets, Case Record Types, Case Status picklist values, Entitlement Processes, Milestone Types, and Public Groups or Queues. Custom field type compatibility is validated at this stage — Insightly date fields mapped to Salesforce datetime fields, Insightly dropdown fields mapped to Salesforce picklists, and multi-select fields mapped to multi-select picklists.
Sandbox migration and reconciliation
We run a full migration into a Salesforce Sandbox (Full Copy or Partial Copy) using production-like data volume. The customer's Service Cloud admin reconciles record counts (Tickets in vs Cases in, Contacts in vs Contacts in, Organizations in vs Accounts in), spot-checks 25-50 random Cases against the Insightly source for field accuracy and conversation completeness, and validates that SLA timer values and attachments are intact. Status mapping and custom field mapping corrections happen here, not in production. The admin signs off the sandbox validation before production migration begins.
Agent and team reconciliation
We extract every distinct Insightly Agent (user email) referenced on Ticket, Note, and Attachment records and match by email against the Salesforce destination org's User table. Any Insightly Agent without a matching Salesforce User is placed in a reconciliation queue. The customer's Salesforce admin provisions any missing Users (active or inactive depending on whether the original agent is still active). Team-to-Group or Team-to-Queue mapping is finalized at this stage, including the decision to use Omni-Channel Queues vs Public Groups. Migration cannot proceed past this step because OwnerId and Queue references are required on Case records.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Insightly Organizations), Contacts (with AccountId resolved), Cases (with AccountId, ContactId, OwnerId, and RecordTypeId resolved), Custom Fields (field-level writes after schema validation), Ticket Conversations (EmailMessage via Bulk API 2.0), Attachments (ContentVersion + ContentDocumentLink), Notes (Note or ContentNote), Knowledge Base Articles (Salesforce Knowledge with Data Category mapping), Opportunities (from linked CRM records), Projects (custom Project__c object if applicable). Each phase emits a row-count reconciliation report before the next phase begins. Bulk API 2.0 handles chunking and exponential backoff for large conversation histories.
Cutover, validation, and handoff
We freeze Insightly Service writes during cutover, run a final delta migration of any Cases or Comments modified during the migration window, then enable Salesforce Service Cloud as the system of record. We deliver the Workflow and SLA Policy inventory document to the customer's admin team, including each active Insightly workflow trigger, conditions, and actions with a recommended Salesforce Flow equivalent. We support a one-week hypercare window where we resolve any reconciliation issues raised by the service team. We do not rebuild Insightly workflows as Salesforce Flow or configure Omni-Channel inside the migration scope; those are separate engagements or internal admin tasks.
Platform deep dives
Insightly Service
Source
Strengths
Weaknesses
Salesforce Service Cloud
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 1 of 7 objects need a manual workaround.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Insightly Service 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
Insightly Service: Not publicly documented; varies by plan tier.
Data volume sensitivity
Insightly Service 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 Insightly Service to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Insightly Service 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 Insightly Service
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.