CRM migration
Field-level mapping, validation, and rollback between Soffront and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Soffront
Source
Salesforce Sales Cloud
Destination
Compatibility
8 of 12
objects map 1:1 between Soffront and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
5-8 weeks
Overview
Moving from Soffront to Salesforce Sales Cloud is a migration from a highly customized, Main Object-centric architecture to a Lead-Contact-Account model with standard objects and configurable automation. Soffront's browser-based flexibility means that no two Soffront instances share identical field names or picklist values; we begin every engagement with a field inventory that pairs each source custom field to a typed Salesforce field before extraction begins. The Soffront API defaults to 500 records per call, requiring cursor-based pagination for large datasets, and on-premise customers may need Power Export routed through the admin console rather than the cloud Import/Export interface. We do not migrate workflow definitions as code; we export them as structured records during discovery and deliver a written automation rebuild guide for the customer's Salesforce admin. Knowledge Base articles migrate with their category assignments preserved, and we create the equivalent category structure in Salesforce Knowledge before article import. Attachments, Group memberships, and historical timestamps transfer intact with parent-record lookups resolved at migration time.
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.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Soffront object lands in Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Soffront
Contact
Salesforce Sales Cloud
Lead or Contact (split required)
1:manySoffront Contacts represent both unqualified prospects and qualified buyers in a single object with lifecycle stage tracked via custom properties. We define the split rule during discovery: contacts with prospect-type lifecycle values map to Salesforce Lead; contacts with customer-type lifecycle values map to Salesforce Contact linked to an Account. The original Soffront lifecycle stage property migrates to a custom field hs_original_lifecycle__c on both Lead and Contact for historical audit. Any Group assignments on Contact migrate to Salesforce Group membership or a custom sharing field.
Soffront
Account
Salesforce Sales Cloud
Account
1:1Soffront Accounts map directly to Salesforce Account. Account-Contact relationships are preserved via the AccountId lookup on Contact after Account is created first in the dependency chain. Industry, size, and custom properties map to typed Salesforce fields. The Account Name becomes the Name field and is used as the dedupe key during import.
Soffront
Deal
Salesforce Sales Cloud
Opportunity
1:1Soffront Deals map to Salesforce Opportunity. The custom pipeline stages in Soffront map to Salesforce StageName, and each Soffront pipeline maps to a Salesforce Record Type with a corresponding Sales Process that whitelists the relevant stage values. Deal amount, close date, owner, and custom fields migrate directly. Stage probability percentages transfer from Soffront to Salesforce StageProbability, rounded to the nearest integer.
Soffront
Activity (Call, Email, Meeting, Task)
Salesforce Sales Cloud
Task, Event, EmailMessage
1:1Soffront Activities link to Contacts or Deals. Call activities map to Salesforce Task with TaskSubtype=Call and CallDurationInSeconds preserved. Email activities map to Salesforce EmailMessage records linked to Tasks. Meeting activities map to Salesforce Event with StartDateTime, EndDateTime, and Location preserved. Tasks map directly to Salesforce Task with Status, Priority, and ActivityDate. Activity timestamps preserve the original Soffront created date for historical timeline ordering.
Soffront
Ticket
Salesforce Sales Cloud
Case
1:1Soffront Tickets migrate to Salesforce Case if the destination org includes Service Cloud. Ticket status, priority, assignee, and conversation history migrate as Case Status, Priority, Owner, and EmailMessage records linked to the Case. Ticket type from Soffront maps to Case Record Type or a custom ticket_type__c field depending on the destination org's configuration.
Soffront
Project
Salesforce Sales Cloud
Custom Object or Project
lossySoffront Projects include status, milestones, assigned managers, resources, and due dates. Salesforce does not have a native Project object in Sales Cloud; projects migrate to a custom Project__c object that we provision in the destination org before import, including all custom fields for status, milestone, manager, resource, and due date. The customer chooses whether to use a custom object or the Project Management app from the AppExchange during scoping.
Soffront
Knowledge Base
Salesforce Sales Cloud
Salesforce Knowledge
1:1Soffront Knowledge Base articles store solutions by category and link to ticket types. We export articles with their category assignments, create the equivalent category structure in Salesforce Knowledge (Data Category Groups and Categories) before article import, then import articles linked to the matching categories. If the destination uses a flat KB structure, articles map to existing categories or new ones are created. Article body, title, and url_name migrate directly.
Soffront
Custom Object
Salesforce Sales Cloud
Custom Object
1:1Soffront supports custom object types beyond the standard data model. We inspect the custom object schema at the start of each migration and provision equivalent custom objects in Salesforce with __c API names. All custom fields, data types, picklist values, and lookup relationships are pre-created in the destination sandbox before any data moves. Schema validation happens in sandbox before production migration.
Soffront
Custom Fields
Salesforce Sales Cloud
Custom Fields
lossySoffront's customization-first design means two organizations on the same platform may have entirely different custom field names and picklist values for the same object. We perform a field inventory during discovery that pairs each source custom field name to its destination equivalent, including data type mapping (text to text, number to number, picklist to picklist). Picklist values undergo a separate value-mapping exercise to align with the destination picklist options.
Soffront
Group
Salesforce Sales Cloud
Group or Custom Sharing Field
lossySoffront Groups organize records for access control and segmentation. We map group memberships to Salesforce Groups and replicate group-based permissions using the destination's sharing model. If the customer's Soffront groups map to territory or team structures, we create equivalent Group records and assign Account and Contact sharing rules during the migration. Group membership is preserved as a custom field if a Salesforce-native sharing model does not apply.
Soffront
Attachment
Salesforce Sales Cloud
ContentDocument or Attachment
1:1Attachments linked to Contacts, Deals, Tickets, and Projects are exported from Soffront and re-uploaded to Salesforce as ContentDocument (Salesforce Files) or Attachment records depending on the destination org's file storage strategy. File size limits are respected during extraction. ContentDocumentLink records are created to attach files to the parent record (Contact, Opportunity, Case, or custom Project object). File metadata (name, created date, owner) is preserved.
Soffront
Workflow (definition export)
Salesforce Sales Cloud
Flow (documentation)
1:1Soffront workflows are anchored to a Main Object and generate dependent Tasks with IF-THEN-ELSE conditions. We export workflow definitions as structured records during discovery, documenting the trigger object, conditions, actions (field updates, email alerts, task generation), and sequence. This export becomes the handoff document for the customer's Salesforce admin to rebuild in Flow. Workflow recreation is not a 1:1 import because Salesforce Flow uses a different action model and trigger architecture than Soffront's Main Object workflow engine.
| Soffront | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Contact | Lead or Contact (split required)1:many | Fully supported | |
| Account | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Activity (Call, Email, Meeting, Task) | Task, Event, EmailMessage1:1 | Fully supported | |
| Ticket | Case1:1 | Fully supported | |
| Project | Custom Object or Projectlossy | Fully supported | |
| Knowledge Base | Salesforce Knowledge1:1 | Fully supported | |
| Custom Object | Custom Object1:1 | Fully supported | |
| Custom Fields | Custom Fieldslossy | Mapping required | |
| Group | Group or Custom Sharing Fieldlossy | Fully supported | |
| Attachment | ContentDocument or Attachment1:1 | Fully supported | |
| Workflow (definition export) | Flow (documentation)1: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.
Soffront gotchas
API rowcount defaults to 500 records per call
Workflow definitions tied to Main Objects require recreation
Knowledge Base articles must be mapped to destination KB categories
Custom field names vary between Soffront instances
On-premise and cloud editions have different import/export paths
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Discovery and edition scoping
We audit the source Soffront instance across edition (Online or On-Premise), custom objects, custom fields, pipeline count, workflow definitions, Knowledge Base categories, engagement volumes, and Group structure. We determine the export interface (Power Export for On-Premise, Import/Export for Online) and calculate pagination requirements for each object based on API rowcount limits. We pair this with a Salesforce edition decision: Professional ($80/user) covers most standard-object migrations; Enterprise ($165/user) is required for advanced Flow at scale, custom report types, or territory management; Unlimited ($330/user) only if 24x7 support and custom app limits are required. The discovery output is a written migration scope, a field inventory document, and a Salesforce edition recommendation.
Schema design and sandbox provisioning
We design the destination schema in Salesforce. This includes provisioning custom objects (with __c API names), custom fields with type-mapped Salesforce field types, Record Types and Sales Processes for pipeline stages, Page Layouts per Record Type, and the Knowledge Base category structure if not already configured. We also create the custom fields required for preserving Soffront metadata (lifecycle stage, group membership, original field values). Schema is deployed via Salesforce metadata API into a Sandbox (Full Copy or Partial Copy) for validation before any production migration begins.
Field inventory and mapping document
We produce a field-level mapping document that pairs every Soffront custom field to its Salesforce equivalent, including data type, picklist value mapping, and whether the field is required or optional in the destination. This document is the authoritative reference for all transform logic. The customer's admin reviews and approves the mapping before extraction begins. Any picklist value mismatches are resolved in this step so that imports do not fail validation rules post-migration.
Sandbox migration and reconciliation
We run a full migration into the Salesforce Sandbox using production-like data volume. The customer's admin reconciles record counts (Accounts in, Contacts in, Opportunities in, Activities in, Tickets in, Knowledge Base articles in), spot-checks 25-50 random records against the Soffront source, and validates that custom field values transferred correctly. Any mapping corrections happen in the sandbox before production migration begins. The customer signs off on the sandbox validation before we proceed.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Soffront Companies) first, then Contacts (with AccountId resolved and Lifecycle Stage split applied), then Opportunities (with AccountId, OwnerId, and RecordTypeId resolved), then Activities (Tasks, Events, EmailMessages via Bulk API with pagination for large volumes), then Tickets (as Cases), then Knowledge Base articles (with categories pre-created), then Projects (as custom Project__c records), then Custom Objects (last because they often have lookups to standard objects), then Attachments (as ContentDocument records). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and workflow rebuild handoff
We freeze Soffront writes during the cutover window, run a final delta migration of any records modified during the migration period, then enable Salesforce as the system of record. We deliver the workflow definition export and the automation rebuild guide to the customer's admin team. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team. We do not rebuild Soffront workflows as Salesforce Flow inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Soffront
Source
Strengths
Weaknesses
Salesforce Sales Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 4 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Soffront and Salesforce Sales Cloud.
Object compatibility
4 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Soffront: Not publicly documented; rowcount parameter caps results at 500 records per call by default.
Data volume sensitivity
Soffront exposes a bulk API — large-volume migrations stream efficiently.
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 Soffront to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Soffront to Salesforce Sales 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 Soffront
Other ways to arrive at Salesforce Sales Cloud
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.