Helpdesk migration
Field-level mapping, validation, and rollback between Fernand and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.
Fernand
Source
Salesforce Service Cloud
Destination
Compatibility
7 of 10
objects map 1:1 between Fernand and Salesforce Service Cloud.
Complexity
CModerate
Timeline
3-5 weeks
Overview
Moving from Fernand to Salesforce Service Cloud is a structural migration from a compact, keyboard-first helpdesk into a full CRM-powered service platform. Fernand organizes support around Conversations with threaded Replies and attaches Customers as contacts; Salesforce Service Cloud maps these to the Case object with EmailMessage threading and Contact lookups. We extract conversation history via Fernand's REST API using Bearer token authentication in paginated batches, resolve the absence of a bulk export endpoint during discovery, and preserve Custom Data payloads as static conversation fields since the endpoint configuration (URLs, headers, refresh logic) cannot replicate across platforms. GitHub and Linear integration links migrate as text fields but the auto-reopen sync behavior does not transfer. We do not migrate automations, macros, or reporting configurations as code; we deliver a written inventory of these for the customer's admin to rebuild in Salesforce Flow or Omni-Channel.
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
Fernand platform overview
Scorecard, SWOT, gotchas, and pricing for Fernand.
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 Fernand 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.
Fernand
Conversation
Salesforce Service Cloud
Case
1:1Fernand Conversations map directly to Salesforce Case records. Status (open, pending, resolved, archived) maps to Case Status with a custom picklist that mirrors Fernand's state machine. Priority and assignee migrate to Case Priority and OwnerId respectively, with the OwnerId resolved via email match against Salesforce Users. The Fernand conversation ID is stored in a custom field fernand_conversation_id__c for audit and cross-reference. CreatedAt and UpdatedAt timestamps migrate as Case CreatedDate and LastModifiedDate.
Fernand
Reply
Salesforce Service Cloud
EmailMessage
1:1Fernand Replies within a Conversation map to Salesforce EmailMessage records attached to the parent Case. We preserve reply body, author email (mapped to the WhoId Contact or User), creation timestamp, and the internal/external flag. External customer replies map to EmailMessageDirection = Incoming; agent replies map to EmailMessageDirection = Outgoing. AI-generated draft history from Fernand migrates as additional EmailMessage records with a custom draft flag if available from the source export.
Fernand
Customer
Salesforce Service Cloud
Contact
1:1Fernand Customers map to Salesforce Contact. Name and email are required fields; email address is used as the primary deduplication key during import. Any Fernand-specific customer properties migrate to custom Contact fields prefixed fernand_ (e.g., fernand_customer_type__c). The Contact is linked to the Case via the Case WhoId field. If the customer has an associated Account in Salesforce, we resolve the AccountId by email domain match; otherwise the Contact is created without an Account link for the admin to reassign post-migration.
Fernand
Custom Data
Salesforce Service Cloud
Custom Case Fields
lossyFernand Custom Data payloads (external API responses fetched per conversation) migrate as static custom fields on the Case record. We export the fetched payload JSON or text as a long-textarea field fernand_custom_data__c. The original Custom Data configuration (API endpoint URL, header names, auth tokens, refresh logic) is documented separately and cannot be transferred; the customer's admin rebuilds the integration using Salesforce Flow Call Apex, MuleSoft, or an AppExchange middleware solution. We include the original endpoint configuration in the written inventory deliverable.
Fernand
User / Agent
Salesforce Service Cloud
User
1:1Fernand active users (those who can reply to customers) and passive users (collaborators) map to Salesforce User records. We export user name, email, and active/passive status. Active users are resolved by email match against the destination Salesforce org's User table. Passive users without a destination equivalent are documented in a User reconciliation report; the customer's admin provisions any missing Users before the migration run begins. Inactive Fernand users are not provisioned but their reply authorship is preserved on the EmailMessage records.
Fernand
Tag
Salesforce Service Cloud
CaseTag / Label
lossyFernand conversation tags migrate to Salesforce Case Tags or Labels depending on the destination org's tagging configuration. Tag names and usage frequency are preserved. If the destination uses a multi-select picklist custom field for categorization, we migrate tags into that field. The customer chooses the tag strategy during scoping; we support both the native tagging model and a custom field approach.
Fernand
Attachment
Salesforce Service Cloud
ContentDocument / ContentVersion
1:1File attachments on Fernand Conversations and Replies are downloaded from the source, re-uploaded to Salesforce as ContentVersion records, and linked to the parent Case via ContentDocumentLink. Original filenames and MIME types are preserved. Image attachments sent via the customer widget are included. If the destination org uses Salesforce Files (rather than Attachments), we use the ContentDocument model with appropriate SharingPrivacy settings. Large file handling uses Salesforce's chunked upload approach with retry logic on transient failures.
Fernand
Channel (email/chat)
Salesforce Service Cloud
Case Origin
lossyFernand supports email and chat channels. These map to Salesforce Case Origin picklist values (Email, Chat). If the destination uses Omni-Channel with additional channel types, we configure the Case Origin picklist during schema setup to match the source channel inventory. Channel information is stored as a custom field fernand_channel__c to preserve the original source channel even if the destination does not natively support it.
Fernand
GitHub Link
Salesforce Service Cloud
Custom Text Field
1:1Fernand GitHub integration links (URLs to linked GitHub issues) migrate as a text field fernand_github_issue_url__c on the Case record. The issue status at migration time is captured as fernand_github_status__c. The live sync behavior that auto-reopens conversations when GitHub issue state changes does not transfer because Salesforce does not have a native GitHub webhook-to-Case integration. We document the original automation logic in the written inventory so the customer's admin can rebuild it using a GitHub Actions webhook and Salesforce Flow if needed.
Fernand
Linear Link
Salesforce Service Cloud
Custom Text Field
1:1Fernand Linear integration links migrate similarly to GitHub links, as a text field fernand_linear_issue_ref__c on the Case. The Linear issue reference and state at migration time are preserved. The auto-reopen automation from Fernand does not carry over; we document the original behavior for the admin to rebuild using Linear webhooks and Salesforce Flow or an AppExchange integration.
| Fernand | Salesforce Service Cloud | Compatibility | |
|---|---|---|---|
| Conversation | Case1:1 | Fully supported | |
| Reply | EmailMessage1:1 | Fully supported | |
| Customer | Contact1:1 | Fully supported | |
| Custom Data | Custom Case Fieldslossy | Mapping required | |
| User / Agent | User1:1 | Fully supported | |
| Tag | CaseTag / Labellossy | Fully supported | |
| Attachment | ContentDocument / ContentVersion1:1 | Fully supported | |
| Channel (email/chat) | Case Originlossy | Fully supported | |
| GitHub Link | Custom Text Field1:1 | Fully supported | |
| Linear Link | Custom Text Field1: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.
Fernand gotchas
Fernand has no documented bulk export endpoint
Custom Data configuration does not migrate as code
GitHub and Linear sync state does not carry over
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 API capability confirmation
We audit the Fernand account across conversation volume, reply count, customer record count, Custom Data usage (payload frequency and size), attachment library size, and user/agent count. We also confirm Fernand API capabilities via Bearer token authentication testing, including pagination limits and rate behavior. This phase outputs a written migration scope document, a Fernand API capability report, and a Salesforce edition recommendation based on expected record volumes and Omni-Channel requirements.
Schema design and Salesforce configuration
We design the destination schema in Salesforce Service Cloud. This includes configuring the Case object with the Fernand conversation field mappings (priority, status, origin, assignee), custom fields for fernand_conversation_id__c, fernand_custom_data__c, fernand_github_issue_url__c, and fernand_linear_issue_ref__c, Case Origin picklist values for email and chat channels, and Salesforce Knowledge article types if a knowledge base migration is in scope. We also configure the Case page layout and any Omni-Channel presence configuration required for chat routing. Schema is deployed into a Salesforce Sandbox first for validation.
Sandbox migration and reconciliation
We run a full migration into a Salesforce Sandbox using production-like data volumes from Fernand. The customer's service operations lead reconciles record counts (Cases in, Contacts in, EmailMessages in, Attachments in), spot-checks 20-40 random Cases against the Fernand source for field accuracy, and validates attachment integrity (filename, MIME type, file size). Any mapping corrections happen in this phase. The sandbox sign-off gates production migration.
User reconciliation and Salesforce User provisioning
We extract every distinct Fernand user referenced on Conversations and Replies and match by email against the Salesforce destination org's User table. Users without a matching Salesforce User go to a reconciliation queue. The customer's Salesforce admin provisions any missing Users (active or inactive based on whether the original Fernand user is still active). Email address resolution on EmailMessage records cannot proceed without confirmed User and Contact matches.
Production migration in dependency order
We run production migration in record-dependency order: Salesforce Users (provisioned and validated), Contacts (from Fernand Customers with email dedup), Cases (with fernand_conversation_id__c, priority, and owner resolved), EmailMessage records (threaded under Cases by conversation grouping), Custom Data payloads (as static fields on Cases), Attachments (ContentDocument/ContentVersion via chunked upload with retry), GitHub and Linear link fields (static text), and Tags (Labels or custom picklist). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation rebuild handoff
We freeze Fernand writes during cutover, run a final delta migration of any records modified during the migration window, then enable Salesforce Service Cloud as the system of record. We deliver the written inventory of Fernand automations (GitHub and Linear sync rules, Custom Data endpoint configurations, any Fernand macros) with recommended Salesforce equivalents. We do not rebuild automations as Salesforce Flow inside the migration scope. We support a five-business-day hypercare window where we resolve reconciliation issues raised by the customer's service team.
Platform deep dives
Fernand
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 Fernand 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
Fernand: Not publicly documented.
Data volume sensitivity
Fernand 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 Fernand to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Fernand 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 Fernand
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.