CRM migration

Migrate from Sensei Cloud to Salesforce Sales Cloud

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

Sensei Cloud logo

Sensei Cloud

Source

Salesforce Sales Cloud

Destination

Salesforce Sales Cloud logo

Compatibility

90%

9 of 10

objects map 1:1 between Sensei Cloud and Salesforce Sales Cloud.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Sensei Cloud stores dental practice data — patients, appointments, treatment plans, providers, insurance coverage records, and location information — in a schema optimized for clinical workflows. Salesforce Sales Cloud is a general CRM that stores Leads and Contacts in separate objects, uses Account records for organizations, and stores appointments as Tasks or Events. The fundamental challenge of this migration is translating a clinical data model into a sales-and-service data model without losing the patient record integrity that your practice depends on. FlitStack AI accesses Sensei Cloud through the Carestream Dental REST API to extract patient records, appointment histories, treatment plans, provider data, insurance information, and practice location records. We map each Sensei object to the closest Salesforce equivalent — patients to Contact, treatment plans to a custom Treatment_Plan__c object, appointments to Tasks — and flag any field that requires a custom Salesforce field or custom object before migration begins. Insurance coverage records have no direct Salesforce equivalent; we build a custom Insurance_Coverage__c object to preserve plan type, subscriber ID, group number, and coverage percentages. Imaging files in DICOM format cannot be stored in Salesforce Files natively and must be handled as an external reference or separate medical-image storage system. All workflows, automation rules, and clinical alerts in Sensei Cloud do not migrate; they must be rebuilt using Salesforce Flow or documented for your implementation team. A delta-pickup window captures any records modified in Sensei Cloud during the cutover so your Salesforce org reflects the final state at go-live.

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

Sensei Cloud logo

Sensei Cloud

What's pushing teams away

  • Conversion from SoftDent and other legacy systems is messy, generating duplicate charts, inconsistent ledger entries, and billing records that do not reconcile cleanly in the new environment.
  • Cloud performance issues including slowness, login problems, and unreliable data syncing frustrate high-volume practices that depend on constant uptime throughout the clinical day.
  • Surgical workflows for oral surgeons feel adapted rather than native, with gaps in medical billing, cross-coding, and referral management that require persistent workarounds.
  • Radiograph visualization is not natively built into the core software, forcing practices to purchase and integrate the separate Sensei Imaging addon to view digital images within the platform.
  • Billing ledger bugs cause completed and paid accounts to show outstanding balances, making collections tracking unreliable and creating reconciliation headaches for front-office staff.

Choosing

Salesforce Sales Cloud logo

Salesforce Sales Cloud

What's pulling them in

  • The AppExchange marketplace with 5,000+ prebuilt apps gives enterprises integrations for nearly every business workflow without custom development.
  • Native Einstein AI for lead scoring, opportunity insights, and predictive forecasting adds intelligence without a separate platform purchase.
  • Territory management, multi-currency support, and advanced forecasting satisfy the needs of complex B2B sales organizations with structured revenue teams.
  • Slack, Tableau, and CPQ are deeply integrated into the core platform, keeping the sales stack unified for teams already in the Salesforce ecosystem.
  • Organizations with a large, established Salesforce implementation choose it because switching costs — integrations, custom code, trained admins — are prohibitive.

Object mapping

How Sensei Cloud objects map to Salesforce Sales Cloud

Each row shows how a Sensei Cloud 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.

Sensei Cloud

Patient

maps to

Salesforce Sales Cloud

Contact / Lead (split by status)

1:many
Fully supported

Active patient records in Sensei Cloud map to Salesforce Contact. If a patient record has no treatment history and a 'Lead' status flag, it routes to Salesforce Lead. The split rule is applied based on whether a patient has at least one completed treatment plan in Sensei — clinical activity determines the Salesforce object type. Unmatched person-type records without patient IDs are flagged in the pre-flight report before migration begins.

Sensei Cloud

Appointment

maps to

Salesforce Sales Cloud

Task

1:1
Fully supported

Each Sensei appointment record becomes a Salesforce Task with Type='Appointment'. The appointment date and time migrate to Task.ActivityDate and Task.ActivityDatetime respectively. Provider assignment migrates as Task.OwnerId via email matching to a Salesforce user. Procedure codes (CDT codes) are preserved in a custom Procedure_Code__c text field on the Task. Appointment status maps to Task.Status (Open / Completed / Cancelled).

Sensei Cloud

Treatment Plan

maps to

Salesforce Sales Cloud

Custom Object: Treatment_Plan__c

1:1
Fully supported

Sensei Cloud stores treatment plans as a structured clinical record — procedure code, tooth number, surface, estimated cost, and clinical notes. Salesforce has no native treatment-plan object. We create a custom Treatment_Plan__c object with lookup to Contact and fields for Procedure_Code__c (Text), Tooth_Number__c (Text), Surface__c (Text), Estimated_Cost__c (Currency), Clinical_Notes__c (Long Text Area), and Plan_Status__c (Picklist). Clinical notes longer than 32,768 characters are split across multiple Long Text Area fields.

Sensei Cloud

Provider / Dentist

maps to

Salesforce Sales Cloud

Contact

1:1
Fully supported

Each provider (dentist, oral surgeon, hygienist) in Sensei Cloud migrates as a Salesforce Contact record. We map Provider_Specialty__c (a custom pick-list capturing dentist, oral surgeon, periodontist, endodontist, hygienist, orthodonist) and NPI__c (National Provider Identifier as a text field). Provider-to-Salesforce-user linking uses email match so the provider's Salesforce Contact and Salesforce User records are associated by email address. Unmatched provider emails are flagged before migration.

Sensei Cloud

Insurance Coverage

maps to

Salesforce Sales Cloud

Custom Object: Insurance_Coverage__c

1:1
Fully supported

Dental insurance coverage records — plan type (PPO, HMO, Medicaid, Fee-for-Service), subscriber ID, group number, employer name, and coverage percentages per procedure category — have no Salesforce standard object equivalent. We create an Insurance_Coverage__c custom object with a lookup to Contact. Custom fields include Plan_Type__c (Picklist), Subscriber_ID__c (Text), Group_Number__c (Text), Employer__c (Text), Coverage_Percentage__c (Percent), and Max_Annual_Benefit__c (Currency). Coverage percentage logic per procedure type requires a custom formula field in Salesforce.

Sensei Cloud

Document / Attachment

maps to

Salesforce Sales Cloud

Salesforce Files

1:1
Fully supported

Sensei Cloud file attachments (PDFs, JPEG images, Word documents) on patient records are downloaded and re-uploaded to Salesforce Files linked to the corresponding Contact record. Salesforce Files enforce a 25MB per-file size limit. Any file exceeding this limit is flagged in the pre-flight report with the patient record ID and file name so your team can split the file or store it externally. Inline images in clinical notes are extracted and re-hosted as Salesforce Files with a reference link in the Notes field.

Sensei Cloud

Recall / Hygiene Schedule

maps to

Salesforce Sales Cloud

Task

1:1
Fully supported

Sensei Cloud recall records — next hygiene appointment date, recall type (6-month, annual, perio maintenance), and provider preference — migrate as Salesforce Tasks with a custom Recall_Type__c pick-list field. The Task.ActivityDate is set to the recall due date. A Salesforce Flow or formula field can then generate an outreach reminder based on this date. Original recall frequency (e.g., every 6 months) is preserved in a custom Original_Recall_Frequency__c text field for future Flow logic.

Sensei Cloud

Location / Practice Site

maps to

Salesforce Sales Cloud

Account

1:1
Fully supported

Each physical practice location in Sensei Cloud becomes a Salesforce Account record representing the practice site. Address fields (street, city, state, zip, country) map directly to Account.BillingStreet, Account.BillingCity, Account.BillingState, Account.BillingPostalCode, and Account.BillingCountry. The practice site name maps to Account.Name. For multi-location DSOs, the parent Account relationship (ParentId) is used to model the DSO hierarchy if the source Sensei data includes a parent-organization identifier.

Sensei Cloud

Ledger Entry / Payment

maps to

Salesforce Sales Cloud

Task + Custom Field (audit reference)

1:1
Fully supported

Sensei Cloud ledger entries and payment records do not map to a native Salesforce billing object — Salesforce Sales Cloud does not include a dental ledger. We create an audit record as a custom Task with Type='Ledger' and a Ledger_Reference__c custom text field holding the Sensei ledger entry ID, payment date, amount, and adjustment reason. Full financial reporting requires a separate billing system integration. The audit reference Task preserves the original payment history for compliance and reconciliation.

Sensei Cloud

Clinical Note

maps to

Salesforce Sales Cloud

Note (Salesforce Classic) / ContentNote (Lightning)

1:1
Fully supported

Free-text clinical notes attached to patient records in Sensei Cloud migrate as Salesforce Notes (ContentNote in Lightning Experience). The Note.Title is set to 'Clinical Note — [Date]' and the Note.Body contains the full note text. Rich-text formatting is preserved where the source supports it. If a clinical note exceeds 32,000 characters, we split it into two Note records with a sequential suffix in the title to indicate continuation.

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.

Sensei Cloud logo

Sensei Cloud gotchas

High

Legacy conversion leaves messy patient and chart duplicates

Medium

Chrome-only browser support affects migration workstation compatibility

Medium

Imaging data requires separate Carestream-format conversion pipeline

Low

Billing ledger errors cannot be corrected post-creation

Low

Provider assignments sometimes stored as text rather than foreign key

Salesforce Sales Cloud logo

Salesforce Sales Cloud gotchas

High

Workflow Rules and Process Builder are retired

High

Bulk API batch quota exhaustion during large imports

Medium

Storage overage billing is non-obvious

Medium

Account-Contact many-to-many relationship mapping

Low

Territory and team member import ordering dependencies

Pair-specific challenges

  • DICOM imaging files cannot be stored natively in Salesforce Files

    Sensei Cloud's imaging module stores intraoral photos, X-rays, and CBCT scans in DICOM format — a medical imaging standard that Salesforce Files do not support. JPEG and PNG exports are available from Sensei Imaging, but DICOM files must be migrated to an external PACS (Picture Archiving and Communication System) or a specialized medical imaging platform such as a Health Cloud-compatible imaging connector. FlitStack flags every DICOM attachment in the pre-flight report with the patient record ID, file name, and file size so your team can plan the external storage strategy before migration day. Failure to address this results in orphaned imaging files that cannot be attached to Salesforce records.

  • Patient-to-Contact split requires a pre-migration status flag

    Sensei Cloud stores all person records — active patients, inactive patients, guarantors, and emergency contacts — in a single Patient object. Salesforce splits this population into Contact and Lead based on qualification status. We apply a routing rule: any patient with at least one completed treatment plan or a status of 'Active' maps to Contact; any patient with no treatment history and a 'Prospect' or 'Inquiry' flag routes to Lead. If your Sensei data does not encode a status flag, all records land as Contacts and your Salesforce admin must manually convert unqualified records to Leads post-migration. We flag record counts per bucket in the pre-flight report before the migration runs.

  • Billing ledger entries have no native Salesforce home — audit reference required

    Sensei Cloud's financial ledger records payments, adjustments, and outstanding balances per patient. Salesforce Sales Cloud does not include a dental billing ledger — there is no native equivalent to the Sensei payment register. FlitStack migrates ledger entries as Salesforce Tasks with Type='Ledger' and a Ledger_Reference__c custom field holding the Sensei entry ID, date, amount, and description. Full financial reporting requires a separate dental billing system (such as Ledger Dental, Open Dental, or a custom ERP integration). Practices relying on Sensei's ledger for collections reporting should plan this gap before go-live.

  • Insurance coverage value mappings require a custom pick-list setup

    Sensei Cloud stores insurance plan types as free-text values (PPO, HMO, Medicaid, Indemnity, etc.) that vary by practice configuration. Salesforce custom pick-lists require exact value-by-value mapping before data loads. If your Sensei data contains plan type values not yet defined in the Salesforce pick-list, the load will fail for those records. FlitStack generates the full value inventory from your Sensei export before migration and delivers a pick-list setup checklist to your Salesforce admin at the start of the engagement so the schema is ready before data lands.

  • Multi-location DSO hierarchy requires explicit parent-Account mapping

    DSOs running Sensei Cloud across multiple locations have parent-organization records in Sensei that represent the enterprise entity. Salesforce Accounts model this hierarchy through ParentId — a self-lookup on Account. If your Sensei export does not include a parent-organization identifier, all locations land as sibling Accounts with no hierarchy. FlitStack maps the parent DSO Account first, then links child practice Accounts to it via ParentId. We surface the hierarchy depth in the pre-flight report so your Salesforce admin can validate the structure before the full load.

Migration approach

Six steps for a successful Sensei Cloud to Salesforce Sales Cloud data migration

  1. Pull Sensei Cloud data via the Carestream Dental REST API

    FlitStack AI authenticates against the Sensei Cloud API using scoped read access to extract patient records, appointments, treatment plans, providers, insurance coverage, recall schedules, ledger entries, and document metadata. We pull all standard and custom fields visible in the Sensei schema. The data is staged in our secure migration workspace and a record-count summary is generated for your review before any Salesforce write operations begin. Any API rate-limit responses from Sensei Cloud are handled with exponential back-off and logged in the audit trail.

  2. Map the dental data model to Salesforce objects and custom fields

    We transform the Sensei data model into Salesforce's object structure: patients to Contact (or Lead), locations to Account, appointments to Task, treatment plans to the custom Treatment_Plan__c object, and insurance coverage to the custom Insurance_Coverage__c object. Custom fields are created in your Salesforce sandbox org first using the Metadata API — FlitStack delivers the custom field manifest (field label, API name, type, pick-list values) before any data is written. The mapping plan is reviewed with your Salesforce admin to confirm routing rules for the patient-to-Contact split.

  3. Run a sample migration with field-level diff

    A representative slice of 100–500 records — spanning patients across active/inactive statuses, appointments in multiple states, treatment plans, and insurance coverage records — is migrated to your Salesforce sandbox first. We generate a field-level diff report comparing every source field value against the destination Salesforce field value so you can verify routing rules, pick-list mappings, owner assignments, and custom object relationships before the full run commits. Discrepancies are resolved in the mapping plan and a corrected sample is re-run until the diff passes your acceptance criteria.

  4. Execute the full migration with delta-pickup window

    The full record set is migrated to your Salesforce production org. During the cutover window — typically 24–48 hours — your team continues working in Sensei Cloud. A delta-pickup captures any records created or modified in Sensei Cloud after the initial migration run. All operations are logged in the FlitStack audit trail (record count per object, API calls made, field values written, any errors or skipped records). If reconciliation reveals missing or mismatched records, one-click rollback reverses the Salesforce load so the migration can be re-run with corrected mapping logic.

Platform deep dives

Context on both ends of the pair

Sensei Cloud logo

Sensei Cloud

Source

Strengths

  • Cloud-native access means teams schedule, chart, and collect payments from any location or device with a browser login.
  • Carestream imaging integration brings digital radiography, CBCT, and intraoral scans directly into the patient record within the same platform.
  • Centralized multi-location management gives group practices and DSOs a single dashboard for operations and performance across every office.
  • Practice management data including scheduling, treatment planning, billing, and EHR lives in one platform rather than across disconnected legacy systems.

Weaknesses

  • Conversion from legacy Carestream products like SoftDent and Windent consistently generates messy data with duplicate records and reconciliation gaps.
  • Radiograph visualization requires the separate Sensei Imaging addon; the core platform does not display digital images natively.
  • Duplicate charts cannot be merged or deleted within the software, forcing staff to work around or ignore redundant patient records.
  • Ledger entries are difficult to delete or alter after creation, making it hard to correct billing errors post-commitment.
Salesforce Sales Cloud logo

Salesforce Sales Cloud

Destination

Strengths

  • Largest enterprise app ecosystem in CRM with 5,000+ AppExchange integrations covering nearly every vertical workflow.
  • Native Einstein AI delivers lead scoring, opportunity insights, and predictive forecasting without a third-party layer.
  • Advanced territory management, multi-currency, and flexible forecasting satisfy complex B2B revenue structures.
  • Deep platform extensibility: Custom Objects, Apex, Flow, and the Metadata API allow full schema customization.
  • Well-documented REST API, Bulk API, and Composite API with published rate limits for programmatic migration.

Weaknesses

  • Pricing model is layered and opaque in practice: per-seat fees plus storage overages, add-on subscriptions, and annual uplifts compound to 30–40% above sticker price.
  • Workflow Rules and Process Builder are deprecated, forcing all orgs onto Salesforce Flow — a migration task that catches many teams by surprise.
  • Steep administrative complexity: meaningful configuration requires a dedicated Salesforce admin or consultant.
  • API rate limits are edition-gated (100k/day base for Enterprise) and easily exhausted by large historical imports without throttling.
  • Data export is exportable via Data Loader but preserving relationship integrity across 30+ objects requires careful ETL sequencing.

Complexity grading

How hard is this migration?

Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Sensei Cloud and Salesforce Sales Cloud.

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

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

  • Timeline complexity

    B

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

  • API constraints

    B

    Sensei Cloud: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Sensei Cloud to Salesforce Sales 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 Sensei Cloud to Salesforce Sales Cloud data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Sensei Cloud to Salesforce migrations complete in 48–72 hours of clock time for practices with under 5,000 patient records and standard fields. Larger DSO setups with 25,000+ records, multiple locations, custom treatment-plan objects, and insurance coverage records extend to 5–10 business days. The longest planning step is setting up the Salesforce custom objects (Treatment_Plan__c, Insurance_Coverage__c) and pick-list values for plan types before data can be written. We deliver the custom field manifest upfront so your Salesforce admin can create the schema in parallel while we prepare the data export.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Sensei Cloud.
Land in Salesforce Sales 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